Você está na página 1de 3

Self-balanced

Ezequiel G. Debada
June 24, 2015
Turns out that my master thesis has tied my hands
for the last month but thanks God, it seems that I
am free again. Motivated by an article recently published in Pattern recognition [1], I have some curiosity about circle detection algorithms on images and I
came today with the intention of present some basics,
problems and some simple examples about it.
The most widely used method for circle detecting
is based on Circle Hough Transform (CHT) which
seems to work really well although it presents some
computation-efficiency problems. Those problems
motivates a widely set of possibilities of enhancement
which results in different algorithms. Concretely the
article mentioned before use something known as circle power theorem and power histogram, but this is
something to test after learning some basics. The
idea of this post is to understand the CHT method
and see how it works.
A circle can by:
(x a)2 + (y b)2 = r2

(1)

where (a, b) is the center of the circle and r is its


radius. Given an image it is wanted to figure out
the triplets (a, b, r) which corresponds with the circles presented in the image and the idea is, for each
pixel in the edge-imagen, register in an accumulation
matrix, the parameters of all those circles passing
through the pixel.
Something very typical to explain that technique is
assuming first that we are looking for circles of known
radius and then generalizing the result.
Considering that the radius is known is equivalent
to reduce the subspace (a, b, r) to (a, b) and thus, to
make possible its 2-D representation. When a circle
of a given Radios is being searched in an image, the
accumulation matrix updating process is represented
in the next gif. As it can be seen, the aforementioned
process results in a subspace where the peak value
shows the center of the circle found.
When the radius is unknown, the process below has
to be repeated for different radius values turning the
accumulating subspace in a 3-d subspace. A possible
representation for that is the idea of generate a cone
for each 1-pixel in the binary image where each level of
the cone corresponds to a radius evaluated. The next
figure attempts to represent that searching process.
Finally, I have applied that idea over a synthetic
image generated (Code available HERE). The next

Figure 1: KnownR
picture shows a dynamic representation of the subspace where you can see how, when the target radius
are considered, the maximum accumulation are registered.
When one represents the maximum values registered in each radios-iteration, and a threshold is applied to discern between what is considered a positive/negative detection, the next figure is generated.
Finally, If that information is interpreted an the
detected circles are drawn, the next results:
It is obvious that the SubSpace represented in the
previous example has a simple to locate peak since
the source image is ideal. Now, lets apply the same
technique to a real image. Now, when the subspace
1

Figure 3: Foto

Figure 4: Peaks

Figure 2: Unknown Radios

of this approach.
representation is observed, it is clear that there is
not a differentiable peak. However, when the values
Once the accumulation SubSpace has been obobtained at each subspace level are post-processed
tained, the task of deciding what is considered a
with the normalization commented above, the next
positive/negative detection is not trivial.
results. And finally, after applying a (subjective) suitable threshold, the main circle is detected together
During this brief overview about circle detection,
with other potential candidates that, in this particu- I have experienced the computational time issue enlar case, could be considered false positive- The con- tailed for this method. To generate the result shown
clusions I extract from this piece of work are:
below, with an image 400x400, it took around 1.5
What I knew as Hough Transform for detect- hours, a duration absolutely out of range for the vast
ing lines, can be generalized to detect different number of practical situations. That strongly motivates the development of fast implementations or
shapes.
event different approach less computational expen The computational time is an obvious drawback sive. A wide set of alternative approach can be seen
2

Figure 8: Boat Detected


because of some master-thesis-requests, I hope to
recover the publishing-rate.

References

Figure 5: Test

[1] B. Yuan and M. Liu. Power histogram for circle


detection on images. Pattern Recognition, 2015.

Figure 6: Boat SubSpace

Figure 7: Boat Peaks


in Literature.
After having been out from the blog the last month
3

Você também pode gostar