Edge Detection Using ICA

advertisement
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
ab
.
k 1
bt
, 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
Download