220 likes | 354 Views
REAL-TIME INDEPENDENT COMPONENT ANALYSIS IMPLEMENTATION AND APPLICATIONS By MARCOS DE AZAMBUJA TURQUETI turqueti@fnal.gov FERMILAB May 2010. What is it?.
E N D
REAL-TIME INDEPENDENT COMPONENT ANALYSIS IMPLEMENTATION AND APPLICATIONS By MARCOS DE AZAMBUJA TURQUETI turqueti@fnal.gov FERMILAB May 2010 RTC 2010
What is it? • Independent component analysis or ICA is a mathematical technique used for extracting hidden parameters that underlie in sets of random variables or signals. • ICA is a type of blind source separation method and common inputs sources are signals originated from audio, images or telecommunications. RTC 2010
ICA Applications • A wide variety of systems can make use of ICA algorithms; RADAR CCD signal processing SONAR PIXEL detectors Medical ultrasonography Positron Emissions Scan machines RTC 2010
Assumptions • This technique is based on the assumption that signals from different sources are statistically independent and non-Gaussian. • At most one signal can be Gaussian otherwise this technique does not work. • Information about magnitude of the signal is lost. • ICA can provide redundant outputs. RTC 2010
Algorithm implementation Application Preprocessing High pass filter make input variables zero mean Centering cov( X Y )= I Whitening ICA Preprocessing Compute weight vector X= WTY ICA Algorithm J (Y) = H(Ygauss) - H(Y) Measure Gaussianity differential entropy (negentropy) Converged? No Dn= J(yn)-J(yn-1) Yes population correlation coefficient Correlation filter Post Processing Algorithm Redundancy Elimination sample correlation coefficient RTC 2010
Algorithm simulation M1 M2 A B Linear combination RTC 2010
Whitening of the signal (decorrelating) Joint probability distribution of the mix signals before and after whitening. Mix signals cov( X Y )= I RTC 2010
CAPTAN Network Compatible Hardware Joint probability distribution of the whiten signal and ICA output. X= WTY J (Y) = H(Ygauss) - H(Y) Minimizing Gaussianity by rotating the axis and using Negentrophy to have a indication of Gaussianity. RTC 2010
Recovered signal Original signal Recovered signal RTC 2010
Hardware platform for ICA implementation • Due to the large number of operations involving arrays this algorithm is proper to be implemented by multi-core vectorial processors. • FPGA’s are also specially suitable due to flexibility and parallelism capabilities. • On this work parallel FPGA’s are being used as hardware platform for the algorithm implementation. CAPTAN System (FERMILAB) Sensor Array RTC 2010
Implementation constrains • In order for the algorithm to converge fast a maximum number of interactions to maximize the non-Gaussianity is allowed; • This maximum number of interactions depends on several factors such as: • The system speed; • Type of signals being input into the algorithm; • Number of mixed sources; • Amount of noise on the system; (Gaussian source) RTC 2010
Real-time application example • Source separation can be used in many different applications such as: • Video conference • Cell phones • Sonar • Medical RTC 2010
Test I - Four Sine Waves Test RTC 2010
Test I - Results Two microphones fastICA results: Four microphones fastICA/ AIIA results: Four microphones fastICA results: RTC 2010
Test I - Results Fast ICA algorithm results: AIIA algorithm results: RTC 2010
Test II – Pelican x Chicken RTC 2010
Test II - Results Signals after fastICA (8 microphones): Signals after fastICA (12 microphones): Mix signals before fastICA: Signals after fastICA: RTC 2010
Test III – AK47 x Turbine Red – configuration 1 Green – configuration 2 (0.5 s delay) (A) (B) (A) (B) RTC 2010
Test III – Recovered Signals AK47 fastICA/AIIA Configuration 1 Turbine AK47 fastICA/AIIA Configuration 2 Turbine RTC 2010
Conclusion • This work shows that it is possible to use the ICA algorithm on real-time applications; • It also demonstrates the capabilities of the algorithm as well as its limitations; • Currently the algorithm is being implemented for applications that demand faster convergence time. RTC 2010
Thank you! RTC 2010