Independent Component Analysis on Images Instructor: Dr. Longin Jan Latecki Presented by: Bo Han
Motivation Decomposing a mixed signal into independent sources Ex. Given: Mixed SignalMixed Signal Our Objective is to gain: Source1 NewsNews Source2 SongSong ICA (Independent Component Analysis) is a quite powerful technique to separate independent sources
What is ICA (From Math View) Given h measured mixture signals x 1 (k), x 2 (k), …, x h (k) k is the discrete time index or pixels in images Assume a linear combination matrix form of q source signals: X(k) = As(k) = Σs i (k)a i A: mixing matrix q source signals s 1 (k), s 2 (k), …, s q (k)
Assumptions Easy from A,S to compute X=AS Difficult to compute A, S from X Assumptions 1. Statistical independence for source signals p[s 1 (k), s 2 (k), …, s q (k)] = П p[s i (k)] 2. Each source signal has nongauss distribution
Important Properties of Independent Variables E[h 1 (y 1 ) h 2 (y 2 )] = E[h 1 (y 1 )]E[h 2 (y 2 )] h1, h2 are two functions Prove:
Uncorrelated: Partly Independent Uncorrelated: E[ y 1 y 2 ] = E[y 1 ]E[y 2 ] Let h(y)=y, Independent Uncorrelated y1 y2 4 points (0, 1) (0, -1) (-1, 0) (1, 0) with equal possibility ¼ E[ y 1 y 2 ] = E[y 1 ]E[y 2 ] But E[ y 1 2 y 2 2 ]=0 E[y 1 2 ]E[y 2 2 ]=1/4
How ICA Compute Basic idea: X(k)=AS(k) Solution S(k)=A -1 X(k)=WX(k) 1. Centering: resulting a variable with 0- mean value 2. Whiten the data Remove any correlations in the data and make variance equal unity Advantage: reduce the dimensionality
How ICA Compute (cont) 3. The appropriate rotation is sought by maximizing the nongaussianity How to measure nongaussianity Kurtosis: Kurt(y)=E[y 4 ]-3(E[y 2 ]) 2 (approach 0 for a Gaussian random var) Negentropy: Neg(y)=H(y gauss )-H(y) (H is entropy) Approximations of negentropy: J(y)=E[y 3 ] 2 /12 + Kurt(y) 2 /48
Different ICA Algorithms With different measures on nongaussianity FAST ICA based on some nonquadratic functions g(u)=tanh(a 1 u) g(u)=uexp(-u 2 /2)
Fast ICA Steps Iteration procedure for maximizing nongaussianity Step1: choose an initial weight vector w Step2: Let w + =E[xg(w T x)]-E[g’(w T x)]w (g: a non-quadratic function) Step3: Let w=w + /||w + || Step4: if not converged, go back to Step2
How ICA compute (example) Running an example in matlab
Compare ICA and PCA PCA: Finds directions of maximal variance in gaussian data ICA: Finds directions of maximal independence in nongaussian data
Ambiguities with ICA The ICA expansion X(k) = AS(k) Amplitudes of separated signals cannot be determined. There is a sign ambiguity associated with separated signals. The order of separated signals cannot be determined.
Apply ICA On Images Objective: Gain independent information from images 1. To get X, change each image into a vector 2. Generate a series of images which share some common information but changing other fixed parts 3. Apply ICA 4. Convert the ICs to images 5. Sensitive to the position change
Apply ICA On Images Running MATLAB CODE
Apply ICA on Video Video is a good application of ICA 1) Little information change between neighborhood frames Easy to detect independent parts in images 2) Time series data
Apply ICA on Video Source images
Apply ICA on Video ICs
Apply ICA on Video Source images
Apply ICA on Video ICs
Conclusions ICA can be used to detect independent changing/moving parts in images and videos But ICA is very sensitive to the position change ICA simplify the work of motion detection
References Aapo Hyvärinen and Erkki Oja, Independent Component Analysis: Algorithms and Applications. Neural Networks, 13(4-5): , 2000 Alphan Altinok, Independent Component Analysis.Independent Component Analysis Aapo Hyvärinen – Survey on ICA D. Pokrajac and L. J. Latecki: Spatiotemporal Blocks- Based Moving Objects Identification and Tracking, IEEE Visual Surveillance and Performance Evaluation of Tracking and Surveillance (VS-PETS), October 2003.