250 likes | 369 Views
Edge Detection Using ICA. Supervisor: Dr. Longin Jan Latecki Presenter: Guoqiang Shan Class: CIS 601 Computer Graphics and Image Processing Date: December 6, 2004. Basic Idea. Consider the difference of the corresponding pixels between images A pixel is independent from each other
E N D
Edge Detection Using ICA Supervisor: Dr. Longin Jan Latecki Presenter: Guoqiang Shan Class: CIS 601 Computer Graphics and Image Processing Date: December 6, 2004
Basic Idea • Consider the difference of the corresponding pixels between images • A pixel is independent from each other • Pros: Limit the scope of any condition • Cons: No relation among neighbor pixels • Similar as letter detection & motion detection • Representing locality is important • Locality: neighbor pixels tend same value
Quick Tip of ICA • X(k) = A*S(k) • S: m*n, m independent signals length n • X: m*n, m mixed signals length n • A: m*m, each column of A is a basic vector • S(k) = W*X(k) • W: m*m, separating independent signals from mixed signals
S (j,:) = average image? • a: Frame 50 • b: Frame 55 • c: 1 Component of ICA • d: Average Image
Why? • 2 images: • W = [-0.0549 0.0553; 0.00830.0102]; • => c = 0.45a+0.55b • Diff (c, d) < 0.19% • 4 images: • Diff (c, d) < 0.25%
Basic Vector(1) Basic Vector is the main directions of the data.
Basic Vector(2) • A = • [9.988 54.280 -8.166 53.940]; Conclusion: One of basic vector is approximately the diagonal.
Basic Vector (3) • K = (b-t)/(a-t) => t = a+(a-b)/(k-1), when k=-1, t = (a+b)/2 t is coordinate T(t,t) (a, b) O
Sense on ICA • One basic vector of ICA is the diagonal, or say, one component shows the common feature among images, if: • the mixed images are similar enough • # of images is not large • Other components of ICA show the difference among images
Average Image as substitute? • No! • For the points changing a lot among images, average image can not give a good result. The points are just the points we need care more about. • My proof is to obtain sense, not for simplifying the calculation. • ICA calculation is still necessary.
Locality of Image • Locality is the similarity of neighbor pixels • Edge is where locality is low. • Locality can be represented by m*n matrix
Locality vs. one component of ICA • Locality is similarity • One component shows common features among corresponding pixels • They can be connected!
One image => Several Images • To connect locality with ICA component, consider the reshaped vector as column of X • If the size of the image is X*Y, we have (X-m+1)*(Y-n+1) vectors. They consist of X. • X is the overlap of the original image. Each image starts at (1..m, 1..n). Different image starts differently.
Remove component Sj • X is ready, run ICA. • Sj = locality, thus remove Sj and the corresponding basic vector Aj. • Reconstruct one of the overlapped images by other signals and other basic vectors. • The image will show only low locality, edges.
This method vs. 3*3 Operators (1) • 3*3 operators have pre-defined coefficients. • This method has self-adaptive coefficients. • What is the coefficient matrix? • Let A’ = A after removing Aj, A’*W is matrix. • They’re the optimal coefficients for a particular image.
This method vs. 3*3 Operators (2) • 3*3 operators have pre-defined number of coefficients. • This method has a flexible number of coefficients. • The flexibility provides a better choice if the edges are mainly vertical or horizontal.
Experiments (1) • Original Images
Experiments (2) • Edge detection by 3*3 operator and ICA
Experiments (3) • Edge detection by 3*3 operator and ICA
Experiments (4) Original Image By most of 3*3 operator By this method
Experiments (5) • Original Image I plane after RGB2YIQ • 3*3 Operator This method
Conclusion • ICA provides a solution for edge detection. • The solution provides the more accurate coefficients, compared to 3*3 operators. • It configures the locality window size flexibly. • It can recognize some edges, unable to be done by 3*3 operators.
Future work • Pre-processing on the image for edge detection • Post- processing on result by this method • Find the best locality window not by try • Find what kind of images it is proper to use and what kind is improper. • How to use ICA more efficiently?
Reference • Roberts and Everson, Independent Component Analysis – Principles and Practice, Cambridge University Press, 2001 • Paper and software on http://www.cis.hut.fi/projects/ica/ • Comparison of edge detection methods on http://robotics.eecs.berkeley.edu/~mayi/imgproc/ • Video Analysis using Principal Component Analysis http://knight.cis.temple.edu/~video/VA/