An Incremental Hough Transform for Detecting Ellipses in Image

An Incremental Hough Transform
for Detecting Ellipses in Image Data
Streams
Sofiane Sellah and Olfa Nasraoui
Knowledge Discovery & Web Mining Lab
Dept. of Computer Engineering & Computer
Science
University of Louisville
This work is supported by NASA Grant No. AISR-03-0077-0139 issued
through the Office of Space Sciences and by NSF Grant IIS-0431128
Outline
Motivation
Background
Proposed approach
Randomized Hough Transform
TRAC-Streams clustering algorithm
Preprocessing
Incremental processing
Post processing
Experiments and results
Conclusions
Motivation
Automatically detecting coronal loops on the solar corona
by finding elliptical shapes in noisy images
Detecting (possibly multiple) elliptical shapes in the same
image, even
when they are possibly incomplete and
in the presence of noise and clutter.
Minimize the memory used and the computation time.
Background
Hough transform (HT): technique used to find curves that can be
parameterized, such as straight lines and circles.
Image source : Wikipedia
Randomized Hough Transform (RHT): Rather than taking a single point
and computing all the possible shapes that could result from that point, the
RHT takes a set of points sampled randomly from the input set, and
computes a single parameter-space mapping.
Stream Clustering Algorithms: are used to achieve scalability, by
processing the data records in an incremental manner or by processing
small batches of data in one single pass.
Proposed approach
Preprocessing
Incremental processing
Use data sampling to choose meaningful data
points from the image.
Compute the ellipse parameters using the RHT.
Use incremental clustering to find the dense
areas (potential ellipses) in the Hough space.
Post processing
Delete weak and redundant ellipses by using
density and similarity tests.
The Random Hough Transform
Find the ellipse’s center coordinates from three randomly
selected points P1, P2, and P3
Solve a system of 3 equations for each point.
 x1 2
 2
 x2
x 2
 3
2 x1 y1
2 x2 y 2
2 x3 y 3
2
y1  a  1
2
y 2  b  = 1
2
y3   c  1
Find the ellipse major axis r1 , minor axis r2 , and orientation θ :
r=
1
22
2 2
(a+c)− (a−c) +4b
;
r2=
22
2 2
(a+c)+ (a−c) +4b
;
−1
θ =tan
2b
2 2
a−c+ (a−c) +4b
TRAC-Streams Clustering Algorithm
For each new input data, incrementally update the best matching
cluster’s center and scale via adaptive robust weights that resist
outliers
Outlier Detection based on Chebyshev test: if new data does not
match existing clusters, then create new cluster
Weak clusters (generated from noise) do not survive
Merge compatible clusters based on Chebyshev test
Robust weight
w
ij , J
= w
(d 2 ) = e
i , J ij
d 2
ij
−(
2σ 2 i , J
+
( J − j)
τ
−1
)
=e τ w
ij , ( J − 1)
Incremental updates of cluster center and scale (gradient-based
optimization)
J −1
ciJ
w x
∑
=
∑ w
j =1 i j , J j
J −1
j =1 i j , J
+ wi J , J xJ
+ wi J , J
−1
=
e ci ( J −1)Wi ( J −1) + wi J , J xJ
−1
τ
−1
e Wi ( J −1) + wi J , J
τ
σ 2 i, J =
(2 + α )e τ σ 2 i , J −1WDi , J −1 + wij , J d 4 ij
−1
(2 + α )(e τ WDi , J −1 + wiJ , J d 2 iJ )
The Standard RHT algorithm
The Incremental RHT algorithm
Post-Processing
Delete weak ellipses
The ellipses with very low density are
automatically deleted
Delete redundant ellipses
We use a similarity matrix to keep track of the
similarity between ellipses and we use the
Jaccard similarity coefficient to detect similar
ellipses
Experiments with synthetic images
(a) original
image
(b) ellipse
found by IRHT
(c) ellipse
found by
RHT
Ellipses densities
Experiments with synthetic images
(a) original
image
(b) ellipses
found by IRHT
(c) ellipses
found by
RHT
Ellipses densities
Experiments with noisy images
(a) original
image
(b) ellipses
found by IRHT
(c) ellipses
found by
RHT
Test on images with noise
Scalability
computation time Vs. Image size
IRHT
RHT
70
Execution time in sec.
60
50
40
30
20
10
0
100x100
200x200
500x500
Image size(in pixels)
1000x1000
2000x2000
Improving results by using new data
sampling scheme (limit the distance
between the 3 selected points).
A)
B)
Experiments with TRACE solar images
Additional preprocessing
1.
2.
3.
Apply edge detection
Split the image into
blocks
For each block, apply
processing shown in
figure 1.
Figure 1.
Additional pre-processing for TRACE images
Results on TRACE images
Density= 26.4586
Density= 20.3699
Density= 20.2381
Density= 20.0976
Density= 20.049
Density= 20.039
TRACE image
Ellipse densities
Conclusions
We proposed an incremental approach for
elliptical shape detection in TRACE images to
detect coronal loops automatically.
The data points are processed in one pass, and
only the model (i.e. cluster parameters) is kept in
memory.
The ellipses are validated based on their density
and similarity to other clusters.
We implemented and tested different variants of
the incremental RHT by using different
parameters spaces.