
Corners and junctions are essential 2D features of an image. The
certain identification of these points provides important information
in numerous Computer Vision applications such as stereo-vision, motion
detection and scene analysis. They indicate the presence and position
of objects, narrowing down the search problem and making high-level
interpretation of images easier. To this end, it is also important
to evaluate the orientation of the arms, i.e., the edges which
intersect as corners or junctions.
Most corner detectors are based on second order derivative schemes. Kitchen and Rosenfeld [6]compute the rate of change of gradient direction along an edge, multiplied by the gradient magnitude, as an estimation of the strength of a corner by using the following expression:
where x = (x, y), I(x) is the original image,
,
,
,
and
. Dreschler and Nagel [5], Zuniga and Haralick
[7] adopted nearly equivalent approaches, all of them
being sensitive to noise, because of the fact that derivatives amplify
noise. It has been suggested that median corner detectors - that rely
on the difference between an image and its median-filtered version -
give better results than that of the Kitchen-Rosenfeld technique
[1]. Other methods for corner detection include template matching (but a
large set of templates is often necessary, making the search
practically infeasible), generalised Hough transform (adapted to
curved or chipped corners but with sensitivity and accuracy problems
requiring a fine tuning) [2] and dissimilarity
corner detectors (a fast and robust method that does not require image
derivation, and therefore cannot provide edge information)
[4].
Traditional corner detection does not tackle the problem of corner
orientation. A common solution is to find the mean gradient
orientation over a small neighbourhood of each estimated corner. This
provides only the averaged orientation of the arms of the corner, with
an accuracy less than 20 degrees
[1]. These techniques are not well adapted to handling
junctions.
In this paper we introduce a corner detector based on the analysis of local anisotropism [3] and identify corners as points of strong gradient intensity without a single dominant orientation. We then calculate the orientation of the arms of the corner or junction by measuring the likelihood of surrounding pixels being part of the corner structure.