CIS 601 Computer Graphics and Image Processing Project Report Edge Detection Using ICA Professor: Dr. Longin Jan Latecki Student: Guoqiang Shan Abstract This project is an exploration for potential usage of ICA on image processing. The author proposes a new method using ICA to detect edges. The intuition is to utilize the nearly optimal linear decomposition of ICA to improve the results of edge detection. The author firstly analyzes the characteristic of ICA, which independently deals with the signals on different time t. Then the author conjectures that one component with largest entropy shows common features among images. The conjecture is proved under a certain situation. The author uses the conjecture to construct the solution to detect edges. The procedure of edge detection is described. Finally, some experiments are conducted to show the effectiveness and the improvement compared to the old algorithms. 1. Ideas on ICA The part will describe some basic ideas behind ICA. The following formula is the basic form of ICA: X (k ) A * S (k ) Where S(k) is an m’*n matrix, each of whose rows is an independent signal with length n, X(k) is the mixed signals of length n. It is an m*n matrix. A is an m’*m matrix. It is the mixture matrix, each of whose columns is a basic vector. ICA can also be represented by the following formula: S (k ) W * X (k ) Where W is an m*m’ matrix. It can whiten the mixed matrix to separate the independent signals. Each row of W represents the weights of the linear combination to construct the independent signals. Here, I just assume m=m’ to make my discussion easier. The first point is that ICA considers different columns of X(k) independently. As the figure below, column I and column J is independently analyzed. The elements x(p,I) and x(q,J) are unrelated, whether or not p=q. This can explain the position sensitivity of the letter detection mentioned last class. Matrix X I i J i CIS 601 Computer Graphics and Image Processing Project Report When applying it to image processing, there are both advantage and disadvantage for this independence. It limits the scope of any conditions that may apply. The limitation will make the problem easier. It makes sense to consider the pixels of different parts separately. The disadvantage is there is no relationship even between the neighborhood pixels. So ICA itself can’t express any locality of an image. For any single image, locality is important since we often need analyze the change between the neighborhood pixels. 2. Components Feature of ICA on Image My observation gives me thinking of the one component with the largest entropy as the mean image of a series of images. Let’s take look at the following pictures: a) frame 50 c) ICA component with largest entropy b) frame 55 d) average image Can you see the difference between the image c) and d)? They look same. Let us take a further look at it. 0.0549 0.0553 The W matrix when do ICA calculation is W . That means c = 0.0083 0.0102 0.45a+0.55b. Thus the image c roughly equals to the mean image. We can also calculate the difference between c and d as Diff(c, d)<0.19% I will try to prove the conjecture as follows. CIS 601 Computer Graphics and Image Processing Project Report We have looked at the two pictures last week. That shows the difference between PCA and ICA. From the right picture, we can conclude that the components of ICA are on the main directions of data points. Take look at the example in last page again. If the size of the picture is p*q, then we will have p*q 2-D vectors, whose values in the first dimension are the value in the frame 50, and the value in second one is in frame 55. X is the matrix consisting of those vectors. Since the vectors are independent from each other, I draw a picture for showing the distribution of the vectors. I also draw the basic vectors on that using red arrows. The basic vectors can be drawn by matrix A. 9.988 54.280 A 8.166 53.940 CIS 601 Computer Graphics and Image Processing Project Report I can calculate the new coordinates for each point in the picture like the following. Attention that the angel OTP is not 90 degrees. T (a, b) P O The coordinate of P on OT direction is t, which can be written as k t a ab . k 1 bt , so a t If a~=b, then t = a. In this case, most of the points satisfy the condition, so the ICA component looks the image a), which is actually similar with mean image. This is the reason why c) looks same as d). If k=-1, then t=(a+b)/2, that is the mean value. What I prove is a very special situation, but we can obtain some sense by that. 1. One basic vector of ICA is the diagonal, or say, the independent component with the largest entropy is roughly the average image if the mixed images are similar enough and the number of images is not large. 2. Other components of ICA are some difference among images. Can we use the average image as a substitute of the component mentioned above? No. The reason is that the mean image is not accurate enough for such points much different in the two images. That depends on k. Moreover, we will probably have more than 2 images and the similar derivation may apply. Thus, ICA calculation is still necessary. 3. Edge Detection using ICA What is the Locality of an Image? That means the similarity of neighborhood pixels. The edge is where the locality is low. Also, some noise is that, so noise is the interference of edge detection. We use a local matrix to represent the locality, which is m*n. CIS 601 Computer Graphics and Image Processing Project Report What is the relationship between the locality of one image and its ICA component with largest entropy? We know that locality means similarity, and that component shows common characteristic of the images. They can connect with each other. Let us reshape the matrix. For each local region, we have one vector, so we have totally (X-m+1)*(Y-n+1) vectors if X and Y is the size of the original image. That means changing one image into several images using overlap. CIS 601 Computer Graphics and Image Processing Project Report Now the matrix X is ready. Do ICA calculation to obtain A and S. We are able to know which independent component holds the most information, let us remove it from S. By that, we will remove the common information between the images. Using the arrangement by that, what I am removing is actually the locality. Thus, the rest thing is the region with low locality, that is, the edges. By the way, to reconstruct the image, we must also remove a column from A, which is the most significant basic vector. Let us call the changed S and A as S’ and A’. (By removing one row or column, we just put the values as zeros). Let us compare the method and 3*3 operators. First, 3*3 operators have pre-defined coefficients, while this method has self-adaptive coefficients. The coefficient is Aj’*W, where Aj’ is the middle row of A’. In fact, I prefer to use the middle row to reconstruct the image. The calculation can statistically optimize the coefficients. Another difference between the two methods is that 3*3 operators have pre-defined number of coefficients, while this method has a flexible number of coefficients. The flexibility provides better choice if the edges are mainly vertical or horizontal. 4. Experiments Original by 3*3 Operator By this method Original CIS 601 Computer Graphics and Image Processing Project Report By 3*3 operator By this method Original by 3*3 Operator By this method CIS 601 Computer Graphics and Image Processing Project Report Original By 3*3 operator I plane after HIQ By this method In those 4 experiments, 3 of the results look similar with 3*3 operator. One of them is better than the 3*3 operator. Conclusion 1. ICA provides a solution for edge detection. 2. The solution provides the more accurate coefficients, compared to 3*3 operators. 3. It configures the locality window size flexibly. 4. It can recognize some edges, unable to be done by 3*3 operators. 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/ A. Hyvärinen and E. Oja. Independent Component Analysis: Algorithms and applications. Neural Networks, 13(4-5):411-430, 2000. 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. L. J. Latecki and D. Pokrajac. Entropy-Based Approach for Detecting Feature Reliability. Invited Paper, 48th Annual Conf. FOR ELECTRONICS, TELECOMMUNICATIONS, CIS 601 Computer Graphics and Image Processing Project Report COMPUTERS, AUTOMATION, AND NUCLEAR ENGINEERING (ETRAN). Cacak, Serbia, 2004. P.O. Hoyer and A. Hyvärinen. Independent Component Analysis Applied to Feature Extraction from Colour and Stereo Images. Network: Computation in Neural Systems, 11(3):191-210, 2000. Longin Jan Latecki, Roland Miezianko, Dragoljub Pokrajac. Motion Detection Based on Local Variation of Spatiotemporal Texture Longin Jan Latecki, Dragoljub Pokrajac , Roland Miezianko. Instantaneous Reliability Assessment of Motion Features in Surveillance Videos