Tag

ICA

Browsing

1. What is ICA ? Independent Component Analysis is a technique of separating signals from their linear mixes. We could assume two signals $ x_1(t) $ and $ x_2(t) $ that are a linear combination of two signals source $ s_1(t) $ and $ s_2(t) $, the relationships of $ x_n $ and $ s_n $ are shown in the following system of linear equations where $ a_{11} $, $ a_{12} $, $ a_{21} $ and…

Image separation of mixed and overlapped images is a frequent problem in computer vision (image processing). The following Matlab source code is a demonstration of image separation using FastICA algorithm based on kurtosis. clc;clear all;close all; original_image1=imread (‘input1.jpg’); original_image2=imread (‘input2.jpg’); figure() subplot(3,3,1),imshow(original_image1),title(‘Original Source 1’), subplot(3,3,2),imshow(original_image2),title(‘Original Source 2’), [x1,y1,z1]=size(original_image1); [x2,y2,z2]=size(original_image2); s1=[reshape(original_image1,[1,x1*y1*z1])]; s2=[reshape(original_image2,[1,x2*y2*z2])]; mixtures=((0.99-0.4).*rand(2,2) + 0.4 )*double([s1;s2]); mixture_1=uint8(round(reshape(mixtures(1,:),[x1,y1,z1]))); mixture_2=uint8(round(reshape(mixtures(2,:),[x2,y2,z2]))); subplot(3,3,4),imshow(mixture_1),title(‘Mixture 1’), subplot(3,3,5),imshow(mixture_2),title(‘Mixture 2′), mixtures_origin=mixtures; mixtures_mean=zeros(2,1); for i=1:2 mixtures_mean(i)=mean(mixtures(i,:)); end for i=1:2 for j=1:size(mixtures,2) mixtures(i,j)=mixtures(i,j)-mixtures_mean(i); end end mixtures_cov=cov(mixtures’);…