Ghosal and Mehrotra [ 4 ] showed how Zernicke moments could be employed to recover many properties of corners and edges. Here use the simpler standard moments to determine corner properties in a similar manner to Tsai's [ 17 ] image thresholding scheme. We define the moments of the image intensities I ( x , y ) as
which we calculate within a circular window about the corner. Disregarding spatial information we model the corner in one dimension by two constant populations of gray levels b and d (bright and dark) containing m and n - m elements respectively. The model's moments are
where n is the number of pixels in the window. The required parameters are obtained using the method of moments. Taking the first three moments the resulting set of simultaneous equations can be solved to determine the values of the background and foreground intensities:
where
Since b > d the contrast is
To find the subtended angle we use the fractions of the foreground and
background populations within the window:
and
. This is the same approach that we previously described for the
thresholding method [
13
] (although we determined contrast differently by thresholding first and
then applying some post-processing). Using the first moment we solve for
m
giving:
Assuming that the subtended angle lies in [0,180) it is simply calculated as
Using geometric moments it is straightforward to determine the corner orientation (without having to use the method of moments). Defining the moments are as:
the centroid is then determined as:
Assuming the co-ordinate frame has been set so that the image window
containing the corner is centred at the origin
, the corner orientation is the angle of the vector
with a
correction to cater for corners which are darker than their background:
Rather than use the moments of the image intensities it is possible to use the moments of the intensity gradient magnitude G ( x , y ) instead:
Although this requires the additional stage of edge detection (we use the Sobel operator to calculate G ( x , y )) it has the advantage that unlike the intensity centroid method no special care needs be made concerning bright and dark corners, eliminating the need to predetermine corner colour.
Another method for determining corner orientation is based on the
symmetry of simple corners. This implies that the orientation maximising
symmetry will coincide with the corner orientation. In a similar vein,
Ogawa [
9
] detected corners (i.e. dominant points) of curves by measuring local
symmetry. We measure corner symmetry by requiring that intensities on
either side of the corner bisector should be equal. This is implemented
by rotating the image window by the hypothesised orientation
using bilinear interpolation to obtain
. Corner orientation can then be found as the rotation angle that
minimises the summed absolute differences in corresponding intensity
values:
Since noise, quantisation, and the process of image rotation will
introduce local errors we also consider differencing not individual
pixel values but sums of row intensities or the two sums of all
intensities on either side of the bisector. Of course, both
and
will give the same symmetry value. Therefore we only search over a small
range of orientations (e.g.
) centred at an initial estimate obtained using another technique such
as those above. Note that unlike the methods above we can use a square
rather than circular window for convenience.
Corner detectors usually assume that the corners are perfectly sharp (i.e. pointed). Not only is this invalidated by noise, blurring, and quantisation, but objects - both natural and man-made - often have rounded corners. Few detectors explicitly cater for this (but see Davies [ 3 ]) and none measure the degree of rounding or bluntness of the corner.
One possible way to measure bluntness is to use the statistical measure of kurtosis which quantifies the ``peakness'' of a distribution. It is defined using central moments as
Assuming the corner orientation has already been found using one of the
previously described techniques we generate the projection of the image
window along the direction of the corner orientation see figure
1
. We first rotate the image window by
using bilinear interpolation as before to align the corner along the X
axis, and the projection is then given by
Before calculating kurtosis the projection function is shifted so as to zero the tails
Furthermore, because high order moments are being used, kurtosis is very
sensitive to noise. As a precaution small values of
are zeroed:
where
is a threshold we have set to 0.1.
Figure 1:
Projection of image window along corner orientation
We can analytically determine expected values of kurtosis for simple
distributions [
15
]. For example, a triangular function, a parabola, and a semicircle
produce values of
, 2.143, and 2, respectively. Thus it can be seen that rounding the
corner decreases the value of the measured kurtosis. For convenience we
normalise the measure as
to return an expected value in the range [0,1].
Figure 3:
Circular arc model
Figure 2:
Hyperbola model
A more direct way to measure corner bluntness is to fit a parametric model to the pixels in the image window. Rather than perform multivariate fitting we assume that most of the corner properties have already been determined by other simpler methods such as those we have already described. This allows a one-dimensional fit for bluntness to be carried out that is both efficient and robust. In particular, we require orientation, subtended angle, and foreground and background intensities to be known. This enables the image window to be rotated to align the corner with the X axis, and the model is then fitted using Brent's method [ 10 ] to minimise
to obtain the value of the parameter p .
We model a rounded corner by a hyperbola aligned along the X axis.
Knowing the subtended angle
means that the locations of the expected boundaries of the perfect sharp
corner are known. We constrain the model hyperbola to pass though the
intersection of the image window and the corner boundaries. These two
points are found as
so that the implicit equation of the hyperbola is
The free parameter a specifies the distance of the rounded apex from the ideal sharp point of the corner, and increasing values of a imply increased rounding. The complete model for a blunt model is then
Another corner model we have experimented with uses the perfect wedge
and replaces the apex by a circular section. For a circle of radius
r
we wish to locate it so that it smoothly joins the straight sections of
the corner. This is obtained if the circle is positioned at
, and so the tangent point can be determined:
where
is the subtended angle and
. The model is then
So far we have assumed that corners have straight sides (although
possibly a rounded apex). Now we consider curved sides, and distinguish
between concave and convex, although the following approach is
restricted to symmetric corners, i.e. both sides are either concave or
convex. We work with the projection along the corner orientation again.
Since the precise shape of the corner boundary is unknown we do not fit
a parametric model. Instead we look to see how much the boundary is
indented into or out of the foreground. Each half of the projection
along the spatial axis should correspond to one side of the corner. The
indentation of each side is measured by dividing the non-zero elements
into two halves and fitting straight lines to each. The angle
between the lines then indicates the degree of concavity or convexity.
If positive angles are calculated in the counterclockwise direction then
the measures are simply
where large values imply greater curvature. Even though the projection is obtained by integrating the image it may still be noisy. We therefore require the line fitting to be robust, and use the least median of squares (LMedS) method [ 16 ].
Paul L Rosin