IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008
1059
Robust Image Corner Detection Based on the
Chord-to-Point Distance Accumulation Technique
Mohammad Awrangjeb, Member, IEEE, and Guojun Lu, Senior Member, IEEE
Abstract—Many contour-based image corner detectors are
based on the curvature scale-space (CSS). We identify the weak-
nesses of the CSS-based detectors. First, the “curvature” itself by
its “definition” is very much sensitive to the local variation and
noise on the curve, unless an appropriate smoothing is carried
out beforehand. In addition, the calculation of curvature involves
derivatives of up to second order, which may cause instability
and errors in the result. Second, the Gaussian smoothing causes
changes to the curve and it is difficult to select an appropriate
smoothing-scale, resulting in poor performance of the CSS corner
detection technique. We propose a complete corner detection tech-
nique based on the chord-to-point distance accumulation (CPDA)
for the discrete curvature estimation. The CPDA discrete curva-
ture estimation technique is less sensitive to the local variation
and noise on the curve. Moreover, it does not have the undesirable
effect of the Gaussian smoothing. We provide a comprehensive
performance study. Our experiments showed that the proposed
technique performs better than the existing CSS-based and other
related methods in terms of both average repeatability and local-
ization error.
Index Terms—Chord-to-point distance accumulation, corner de-
tection, curvature scale-space.
I. INTRODUCTION
I MAGE feature detection and matching are two funda-
mental problems of computer vision and image processing
research. For example, in image copyright protection, some
pixels in the original image are used either to calculate the
signature [1] or to embed the watermark [2]. However, geo-
metric transformations change the location of those pixels.
Consequently, the copyright verifier fails to track the copyright
information in the transformed image. In such cases, if the
locations of those pixels are defined with respect to the salient
features of the image, e.g., corners, the verifier will be able to
locate those pixels easily.
In feature detection problem, a set of representative features,
most often corners, are detected for all images [3]. In feature
matching problem, the representative features of the test image
and the stored images are compared to identify the transformed
images of the test image [4]. We will focus on the corner detec-
tion problem in this paper.
The contour-based corner detectors [3], [5]–[11] are mainly
based on the curvature scale-space (CSS) (contours can be open
Manuscript received June 01, 2007; revised May 12, 2008. Current version
published October 24, 2008. The associate editor coordinating the review of this
manuscript and approving it for publication was Dr. Daniel Gatica-Perez.
The authors are with the Gippsland School of Information Technology,
Monash University, Churchill, Vic 3842, Australia (e-mail: Mohammad.
Awrangjeb@infotech.monash.edu.au; Guojun.Lu@infotech.monash.edu.au).
Digital Object Identifier 10.1109/TMM.2008.2001384
or close). They smooth the planar-curves with the Gaussian
function at different smoothing-scales. Then they estimate the
curvature on each point of the smoothed curves. The absolute
curvature maxima points are gathered in the candidate corner
set, from which the weak (also called “round” corners in the lit-
erature [8]) and false corners (see Section III-D for their charac-
teristics) are eliminated using thresholds. Some CSS corner de-
tectors [3], [8], [9], which detect corners using one or more high
smoothing-scales, also follow a corner tracking step in order to
improve localization.
The existing CSS corner detectors suffer from two main prob-
lems. First, the CSS curvature estimation technique adopted
by the existing detectors is highly sensitive to the local vari-
ation and noise on the curve. In addition, the curvature esti-
mation involves higher order derivatives of curve point-loca-
tions up to second order which cause errors and instability in
results. Second, the CSS corner detection technique requires ap-
propriate Gaussian smoothing-scale selection which is a diffi-
cult task. Consequently, smoothing with inappropriate Gaussian
scales by the existing CSS detectors results in poor corner de-
tection performance.
The purpose of this paper is to propose a new corner detection
technique which overcomes the aforementioned problems asso-
ciated with the existing CSS corner detectors. We present a com-
plete corner detection technique based on the chord-to-point
distance accumulation (CPDA) for the discrete curvature es-
timation [12]. The CPDA discrete curvature estimation tech-
nique is less sensitive to the local variation and noise on the
curve. It does not use any derivative of the curve-point loca-
tions at all. Moreover, it does not have the undesirable effect of
the Gaussian smoothing. As a result, the proposed CPDA corner
detector greatly overcomes the problems associated with the ex-
isting CSS corner detectors and offers better performance.
The contribution and organization of this paper are summa-
rized as follows.
• First, we identify and analyze the problems with the ex-
isting CSS corner detetcors (Section II-B).
• Second, we propose a complete corner detector based on
the CPDA discrete curvature estimation [12]. The perfor-
mance of the proposed detector is improved not only by
the use of CPDA discrete curvature estimation, but also by
introducing some techniques to make the detector more ro-
bust (Section III).
• Third, we carried out a comprehensive performance study.
The proposed CPDA corner detector outperformed the
existing most promising detectors [3], [8], [10], [11] in
terms of both average repeatability and localization error
(Section IV-C).
1520-9210/$25.00 © 2008 IEEE
1060
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008
Fig. 2. Local variation of a curve.
the CSS curvature estimation technique considers a very small
neighborhood (2
2) on both sides of each point to evaluate the
curvature at that point. This makes the technique very much sus-
ceptible to the local variation of the curve and to the noise, as
we discuss shortly in the next section.
Fig. 1.
Intrinsic definition of curvature.
• Finally, we discuss and analyze why the proposed CPDA
detector performs better than the existing CSS-based de-
tectors (Section IV-D).
II. RELATED WORK
In this section, we first briefly present the CSS curvature es-
timation technique and then identify and analyze the problems
associated with the existing CSS corner detectors that adopted
the CSS curvature estimation technique. Finally, we present the
CPDA discrete curvature estimation technique that will be used
by the proposed CPDA corner detector to overcome the prob-
lems with the existing CSS-based detectors.
The curvature
A. CSS Curvature Estimation
of a curve is defined as the in-
at a point
, which is the angle subtended by
stantaneous rate of change of
the tangent at with the -axis, with respect to the arc-length
[5] (see Fig. 1),
(1)
be a curve of length pixels, where
denote the
Let
and
with respect to the arbitrary parameter
ture defined in (1) becomes [3], [5]–[11]
and positions of each point on the curve
. The curva-
(2)
and
where
are second order
derivatives with respect to . The first order and second order
derivatives at a point
on a curve are defined as
are first and
and
(3)
We see that only one neighbor point on each side of point
is considered to estimate the first order derivative on
and
only two neighbor points on each side of that point are consid-
ered to estimate the second order derivatives. This means that
Curve smoothing prior to curvature measurement reduces
the effect of the local variation and noise. To do that each
of the curve are con-
coordinate functions
volved with the Gaussian function
denotes
the smoothing-scale. The curvature on the smoothed curve
, where
and
where
, becomes [3], [5]–[11]
(4)
(5)
where
denotes the convolution operation. As the convolution
operation is associative under differentiation, derivatives of the
convolved curve can be calculated using (5) [8].
B. Problems With the Existing CSS Corner Detectors
In this section, we will first analyze the problems with the
CSS corner detection technique and then discuss how the ex-
isting CSS-based detectors suffer from these problems.
1) Problems: There are two key problems associated with the
CSS corner detection technique. The first problem is directly
related to the curvature itself defined in (1) and can be under-
stood using (2) and (3). Since the curvature, by definition, means
[see (1)], it is very
the instantaneous rate of change of angle
much sensitive to the local variation and noise on the curve. In a
changes significantly from point
high local variation region,
to point within a short curve segment. As depicted in Fig. 2,
in such a small but highly variable curve-region the derivatives
of curve point-locations may lead to the high curvature estima-
tion. As a result, the existing CSS-based detectors may detect
many weak and false corners, if such local variation or noise is
not smoothed away using a high smoothing-scale beforehand.
However, smoothing has its own problem as discussed shortly
(the second problem).
Though the Gaussian convolution is used to calculate the
derivatives of curve point-locations as shown in (5), the precise
approximation of the higher order derivatives is still a difficult
task and often causes instability and introduces errors [13]. The
problem becomes more severe under geometric transformations
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE
1061
rest of this section, we will discuss how the existing CSS-based
detectors suffer from the second problem.
The earliest CSS corner detector by Rattarangsi and Chin [5]
and its improved version [6] detected corners in the complete
scale-space by considering all possible smoothing-scales so as
to overcome the second problem. However, the tree construc-
tion and parsing using the complete scale-space resulted in high
computational complexity. The adaptive smoothing technique
in [7] reduced the computational complexity by eliminating the
construction of the complete scale-space map and by avoiding
the tree representation of the scale-space. However, the adaptive
smoothing technique itself incurred additional computational
cost which was supposed to be compensated by the slightly im-
proved robustness.
Mokhtarian and Suomela [8] detected corners at a high scale
and tracked them through multiple lower scales to the lowest
scale in order to improve localization. On the one hand, when
corners were detected in a very high scale, this detector showed
high robustness but lost many strong corners which might re-
quire lower smoothing-scales to be detected. On the other hand,
if corners were detected in a low scale it introduced many weak
corners which might require higher smoothing-scales to be re-
moved. As a result, this detector also suffered from the second
problem. Many of its improved versions (e.g., [3], [9]), which
selected the smoothing-scales based on the curve-length, also
failed to overcome this problem. Because even curves of the
same length may require different smoothing-scales depending
on the level of local variation and noise as discussed above.
The multi-scale curvature product (MSCP) detector [10]
and the single-scale detector [11] tried to overcome the second
problem to a great extent. They compensated the risk asso-
ciated with possible inappropriate smoothing-scale selection
by adopting different strategies. The MSCP detector used the
curvature product of three estimated curvature values at each
point using three smoothing-scales. As a result, in terms of cur-
vature product, the strong corners became more distinguishable
from the weak corners. He and Yung [11] used the adaptive
curvature-threshold and the dynamic region-of-support on both
sides of each curvature extremum point. Consequently, both of
them offered better corner detection performance than many of
the aforementioned detectors. In this paper, we will compare
most promising detectors [3], [8], [10], [11] with our proposed
corner detector (see Section IV).
C. CPDA Discrete Curvature Estimation
The previously proposed single chord-to-point distance mea-
surement technique [14] was not reliable, since such distance
depends upon the location of the chord [12]. In order to increase
the reliability, Han and Poston [12] proposed the chord-to-point
distance accumulation (CPDA) technique for measuring the dis-
crete curvature. A chord is moved along a curve and the perpen-
dicular distances from each point on the curve to the chord are
summed to represent the curvature. In contrast to the conven-
tional CSS curvature estimation technique adopted by the ex-
isting CSS corner detectors, the CPDA technique is completely
based on the Euclidean distance and does not involve any deriva-
tive of the curve-point locations at all.
Fig. 3. Effect of curve smoothing using Gaussian function with different
smoothing-scale . The original curve as shown above is a high resolution
version of “curve 7” in Fig. 5(b).
when the curve point-locations are always approximated and,
therefore, may not be stable. Consequently, the derivative-based
curvature value defined in (4) may change considerably between
original and transformed curves. Such unstable and erroneous
estimated curvature not only affects the corner detection perfor-
mance under geometric transformations, but also may result in
poor corner matching performance in any of their later applica-
tions [4].
The second problem is related to the curve smoothing using
the Gaussian function. The aim of the smoothing is to reduce
the effect of local variation and noise so as to remove weak
and false corners. However, two direct effects of the Gaussian
smoothing are: first, it shrinks the curve and second, it smoothes
out the details if the smoothing-scale is high. On a smoothed
curve, corners are usually detected at those points where the
absolute curvature maxima values become higher than the
threshold. However, the estimated curvature value at a corner
point may decrease below the threshold with smoothing using
high . The sharp (strong) corners are easily identifiable with
smoothing using large , their estimated curvature is less accu-
rate and localization is worse than with smoothing using small
. However, using small may detect many weak and false
corners. Moreover, one smoothing-scale may not be suitable
for all curves. Since the local variation and noise on the curve
are unknown, curves of the same length may require different
smoothing-scales, even different segments of the same curve
may require different smoothing-scales. Therefore, choosing
an appropriate Gaussian smoothing-scale for a given curve is
a very difficult task.
This above problem is depicted in Fig. 3. The original curve
in Fig. 3 is a high resolution version of “curve 7” in Fig. 5(b),
where we see three strong corners (points 2, 3, and 4 in Fig. 3). In
the high resolution version of the curve (original curve in Fig. 3),
we see many weak corners and we choose points 1, 5, and 6
and 4 can detect all
for illustration. Smoothing with both
three strong corners; but while smoothing with
detects
misses two weak
all the weak corners, smoothing with
corners (points 1 and 5). However, corner localization is better
with lower smoothing-scale (see locations of point 3 in original
and smoothed curves in Fig. 3). Note that the detected corners
are shown with solid arrows and the missed corners are shown
with dotted arrows.
2) Existing CSS-Based Detectors: The first problem dis-
cussed above was an inherent problem with all the existing CSS
corner detectors [3], [5]–[11], since they used the same CSS
curvature estimation technique discussed in Section II-A. In the
1062
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008
Fig. 4. Chord-to-point distance accumulation technique for a chord C of
length L. In the literature [12], here chord-length L denotes the arc-length of
the interior curve-segment. For example, in this Fig. L = 5.
The
vature
formal definition of
estimation
technique
be the
is
as
the CPDA discrete
follows.
cur-
Let
the parameterized
, as shown in Fig. 4. To
points of
at a point
using a chord
curve
measure the curvature
of length
and
points while keeping
, we move the chord on each side of
at most
as an interior point. Note that
denotes the arc-length
according to [12], the chord-length
of the interior curve-segment as shown in Fig. 4. Starting the
when the two ends of the chord
movement from the point
respectively, we measure the perpendicular
are at
to the chord. Then we move the
distance
chord one point ahead when its two ends are at
and
respectively and measure the perpendicular distance
. The procedure continues by moving the chord one
point at a time and stops when the both ends of the chord move
respectively. Then we accumulate
to the points
all distances to calculate the CPDA discrete curvature at the
point
from
and
as
(6)
Since
, the above formula is simplified to
(7)
In general, the above CPDA function has the following ad-
vantages over the CSS [12]. First, it does not shrink the curve
and smooth out the details. Second, the estimated CPDA curva-
and the detected features
ture increases with the increase of
(curvature zeros and extrema) are quite stable for a wide range
. Since the chord smoothing does not change the curve-point
of
locations, the details of the curve are not physically smoothed
values are not
out when
good, still a selection of medium values helps detecting the
strong corners.
increases. Though small and large
The proposed CPDA corner detector based on the above dis-
crete curvature estimation technique does not suffer from the
key problems associated with the existing CSS corner detec-
tors, because the CPDA discrete curvature estimation does not
directly implement the “curvature definition” and it does not re-
value selection. We will detail this effect
quire the appropriate
later in Section IV-D.
III. PROPOSED CPDA CORNER DETECTOR
The proposed corner detector first extracts planar curves from
the edge image detected by the Canny edge detector [15]. Each
curve is then smoothed with a small width Gaussian kernel in
order to remove quantization noise and trivial details. Please
note that this smoothing is done only once as a preprocessing.
We use the CPDA technique [12] to estimate the curvature on
the smoothed curves. In order to make strong and weak cor-
ners more distinguishable, we first use three chords of different
lengths to estimate three normalized discrete curvature values
on each point of the smoothed curve. Then we multiply the nor-
malized curvatures to obtain the curvature product (a single es-
timated curvature) at each point. The maxima of the absolute
curvature products along the smoothed curve are then obtained
as candidate corners. Finally, it follows a two-step refinement
process that uses a curvature-threshold and an angle-threshold
to remove weak and false corners, respectively.
The outline of the proposed corner detector is as follows.
• Find the edge image using the Canny edge detector.
• Extract edges (curves) from the edge image:
— fill gaps if they are within a range and select long edges,
— find T-junctions and mark them as T-corners.
— obtain the “status” of each selected edge
as either
“loop” or “line.”
• Smooth
using a small width Gaussian kernel in order to
remove quantization noises and trivial details. This small
scale Gaussian smoothing also offers good localization of
corners.
• At each point of the smoothed curve
, compute three
discrete curvatures following the CPDA technique using
three chords of different lengths.
• Find three normalized curvatures at each point of
then multiply them to obtain the curvature product.
and
• Find the local maxima of the absolute curvature products as
candidate corners and remove weak corners by comparing
with the curvature-threshold
.
• Calculate angles at each candidate corners obtained from
the previous step and compare with the angle-threshold
to remove false corners.
• Find corners, if any, between the ends of smoothed “loop”
curves and add those corners which are far away from the
detected corners.
• Compare T-corners with the detected corners and add those
T-corners which are far away from the detected corners.
We will detail the proposed CPDA corner detection technique
in the following subsections. All the chosen parameter values
that we will present below were decided either from the existing
work or based on our empirical study (see Section IV-C1 for
detail).
A. Edge Extraction and Selection
In the Canny edge detector [15], too many weak and noisy
edges will be detected when the edge strength threshold is set
too low. Conversely, many legitimate edges will be missed when
the threshold is set too high. In addition, the edge strength may
be changed due to geometric transformations. Therefore, in our
implementation, we choose the Canny edge detection thresholds
as
, after experimentation.
and
Some of the edges detected as above may be quite short and
may result from strong noises. It is difficult to smooth short
edges due to the restriction of the smoothing window size
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE
1063
Fig. 5. Edge detection and smoothing: (a) original “Lena” image (512 512); (b) edge image from (a) using Canny edge detector with thresholds low = 0:2 and
high = 0:7, total 12 edges were detected and are shown here where both ends of each edge is numbered for easy identification; (c) Gaussian smoothed curves
with small ’s to reduce the effect of noise; and (d) superposition of (b) and (c) to show small scale Gaussian smoothing does not affect localization much.
(window size should be smaller than the edge length). Thus in
our implementation, edges are selected only when their lengths
meet the following condition:
(8)
is a length control parameter. If
are selected; if
experiments, we set
size 512
where width and height are width and height of the image and
is small, only long edges
is large, short edges are also selected. In our
[11]. Therefore, for an image of
512, the minimum length of the selected curves is
. The above edge extraction setup avoids selecting
large number of weak and very short edges which may not con-
tain strong corners, thereby helps speeding up the later steps.
If an edge runs through any point which is within 2 pixels
away from an end of another edge [8], we select that end as a
T-junction and add to the set T-corners. See Fig. 5(b) for the ex-
tracted edges from “Lena” image using the above setup, where
a T-corner is detected in the intersection of curves 6 and 12.
We also obtain the “status” of each selected edge
as either
“loop” or “line.” If both ends of a curve are within 5 pixels away
[11], the curve is a “loop” curve, otherwise it is a “line” curve.
This curve status definition will help determining the corner, if
any, between the ends of a loop curve (see Section III-E).
B. Curve Smoothing
and long edges should be smoothed with large
The purpose of curve smoothing before curvature estimation
is to reduce the effect of noise which may affect the curvature
estimation severely. Noise may also be introduced by the edge
detector. In general, short edges should be smoothed with small
[9], because
smoothing a short edge with a large may smooth out important
features and smoothing a long edge with a small may leave a
value depends on the amount of
lot of noises on it. However,
noise which is unknown. Therefore, determining appropriate
for a given curve of any length is a difficult task.
; and for
we select
we select scale
Since we do not follow any corner tracking step after their de-
tection and large scale smoothing may smooth out many impor-
tant features, we use small scale Gaussian smoothing to keep the
effect of localization problem minimum. For curves of length
we select
. Fig. 5(c)–(d) show that
using such small scale smoothing functions does not change the
corner location much. However, this small scale smoothing may
not remove all weak and false corners which we will remove by
following a two-step refinement process later in Section III-D.
After smoothing, we extend the both ends of the smoothed
curve. In the case of a “loop curve,” we extend each end by
; for
1064
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008
Let
, and
, where
, be three cur-
, and
, where
vature function using three chords of lengths
respectively. The absolute values of
,
may range from zero to a long integer number depending on the
types of corners on the curve. Moreover, the estimated curvature
value of the same type of corner (for example, a corner with 60
angle) using any of the three chords may be different on different
curves. Consequently, a single curvature threshold setting to re-
move the weak corners from all types of curves becomes prob-
lematic (see first refinement step in Section III-D1). To over-
using (9),
come this problem, we normalize the function
so that the discrete curvature values are in the range [0,1].
(9)
However, this normalization has an undesirable effect. On
straight-line like curve, where there may be no prominent
corner, some of the absolute curvature maxima become larger
than the curvature-threshold. These maxima points are de-
tected as false corners and may not be removed by the first
refinement step. We will use the second refinement step (see
Section III-D2) to remove such false corners.
As three normalized curvature values are computed at each
point of a curve, we need to find a single feature value to detect
corner by comparing with a single curvature threshold. To find
it we simply use the following curvature product as the single
feature value:
(10)
The use of above curvature product has an additional ad-
vantage. As the normalized curvature value of a strong corner
should be higher than that of a weak corner on the same curve,
by multiplying three estimated curvatures at each point, the
strong corners become more distinguishable than the weak
corners.
For example, let three normalized curvature values on a
strong corner be 0.6, 0.75, and 0.8 respectively and those on
a weak corner be 0.1, 0.15, and 0.2 respectively. So the ratios
of curvature values of strong and weak corners are 6, 5, and
4 respectively. However, the curvature products of strong and
weak corners are 0.036 and 0.003 whose ratio is 120. Fig. 7
shows the curvature functions for “curve 4” of “Lena” (see
Fig. 5) for different chord-lengths. It is evident from Fig. 7
that the strong corner-points are more distinguishable in the
curvature product function than in the individual curvature
functions with different chord-lengths.
A direct impact of curve smoothing before the curvature esti-
mation using (10) is also shown in Fig. 7(d). We see that though
the curvature product function may contain a lot of local small
peaks without smoothing [see the thin curve in Fig. 7(d)], the
effect of noise is reduced if the curve is smoothed prior to the
curvature estimation [see thick curve in Fig. 7(d)]. This will help
distinguishing the curvature extrema points corresponding to the
strong corners unambiguously.
D. Candidate Corner Set Refinement
We gather the local maxima points on the absolute function
from all curves in the candidate corner set. A local
of
Fig. 6. Distance accumulation technique: (a) original shape (a dot represents
start point and arrow represents the direction); (b)–(f) estimated curvature func-
tions using different chord-lengths L.
taking into account of the points of the other end. And in the
case of a “line curve,” we extend each end by taking into account
of the points of the same end. This curve extension prevents
missing any prominent corners near to the ends of the curve. The
reason is, on points near to the ends, the number of chord move-
ments becomes very low (zero at the ends) during the CPDA
discrete curvature calculation using (7). This phenomena results
in low curvature estimation for a prominent corner near to any
end of the curve. The above curve extension reduces this effect.
Note that in the following section we do not calculate curva-
tures on the points of the extended parts, but we use the points
on the extended parts to calculate the discrete curvature values
on points near to the ends of the original smoothed curve.
C. Curvature Estimation
We use (7) in Section II-C to calculate the CPDA discrete
curvature value on each point of the smoothed curve. One im-
portant property of the CPDA discrete curvature estimation is
that the curvature value on a point increases with the increase
. However, it may be difficult to distinguish
of chord-length
. For example, Fig. 6
different important features with a large
is medium
shows the curvature estimation using (7). When
say 10 [see Fig. 6(c)], the corners (curvature extrema points)
increases, say 30 or 40 [see
are easily identifiable. But when
Fig. 6(e)–(f)], many corners become flatter and more indistin-
guishable.
’s for long curves and small
In general, we need to use large
’s for short curves. However, choosing a single chord-length
for a given curve is difficult, because curves of the same length
may contain different types of corners. For instance, when a
single chord is used, the corner detector will be sensitive to noise
if the chord-length is set too small, but it will smooth out the
details of the curve if the chord-length is set too high. There-
fore, we calculate three discrete curvature values at each point
using three chords of different lengths for the following reasons.
First, it is difficult to decide one single chord-length for different
curves. Second, we use the product of three estimated curvatures
to make the strong corners more distinguishable than the weak
and false corners.
We
choose
,
chords
three
and
of medium lengths
the
curve-length to measure the CPDA discrete curvature using (7).
Note that the above setting of chord-lengths is suitable with the
discussed in Section III-A.
minimum curve-length
irrespective
of
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE
1065
Fig. 8. Absolute curvature function of “curve 8” of “Lena” image [see
Fig. 5(b)], where there is no prominent corners. However, all four curvature
maxima points above the curvature-threshold are in the candidate corner set
after the first refinement step in Section III-D1. We want to remove them using
the second refinement step in Section III-D2.
Their localization is very good and curvature values are usually
very high. In contrast, the weak corners are flat in nature and
visually less significant features on curves. Their localization is
very poor since it may be very difficult to point out their exact lo-
cations. Furthermore, their curvature values are usually smaller
than the strong corners. The false corners are due to noise and
and the nor-
the local variation on the curve. As we use small
malized discrete curvature values using (9) may be higher than
the thresholds, some false corners may be detected. They are
usually detected on the straight-line like curves (see curves 8
and 11 on “Lena” image in Fig. 5(b)) where there is no visually
prominent corners. However, the curvature function of curve 8
of “Lena” image shown in Fig. 8 depicts that four false cor-
ners (four maxima points) are detected. The reason is that on a
straight-line like curve the denominator of (9) will be relatively
very small leading to high normalized curvature on some points.
We follow a two-step refinement process to obtain the final
corner set by filtering out the weak and false corners. The first
refinement step uses a curvature-threshold mainly to remove
the weak corners and the second refinement step uses an angle-
threshold mainly to remove the false corners.
1) Using Curvature-Threshold: The absolute curvature of
a strong corner should be greater than that of a weak corner.
The existing CSS-based detectors either used one [8], [10] or
three [3], [9] predefined thresholds or adaptive (curve depen-
dant) thresholds [11] to remove weak corners.
In our case, the absolute curvature on each point becomes
within the range [0,1] due to normalization. Consequently, a
single curvature-threshold
is sufficient to remove the weak
works fine. If
corners. By experiments, we found that
, this maximum point is declared
a local maximum is less than
as a weak corner and removed from the candidate corner set.
2) Using Angle-Threshold: Fig. 8 shows that the false cor-
ners detected on a straight-line like curve may not be removed
using the first refinement step discussed above, because their
. In the second
curvature values are higher than the threshold
refinement step, we estimate the angle at each candidate corner
point using two curve-segments between this candidate and two
of its nearest neighbor candidates on its both sides. If the es-
timated angle is larger than the angle-threshold, the candidate
Fig. 7. Normalized CPDA discrete curvature functions for “curve 4” of
‘Lena’ (see Fig. 5) with different chord-lengths: (a) L = 10; (b) L = 20;
(c) L = 30; and (d) the curvature product function with L = 10; 20, and
30, where “after smoothing” and “before smoothing” depict H(k) with and
without Gaussian smoothing ( = 3), respectively, to show the importance of
Gaussian smoothing prior to curvature estimation.
maximum is either a strong corner or a weak corner (also called
“round” corners in the literature [8]) or a false corner. The later
two should not be detected as corners. The strong corners are
very sharp in nature and visually prominent features on curves.
1066
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008
where is the maximum angle below which the estimated corner
angles are considered as sharp angles. In our experiments the
angle-threshold was set 157 .
E. Final Corner Set
The candidate corner set after removing weak and false cor-
ners is obtained as the final corner set. There may be a corner
between the ends of a loop curve and such corner may be missed
in spite of the curve extension. To detect such corner, we esti-
mate the angle at any end point of the smoothed loop curve
using the technique shown in Fig. 9, where
are two
already detected corners nearest to both ends. We add such end
point of a loop curve to the final corner set if the estimated angle
does not satisfy (13) and the end is far away from the detected
corners. At last, a T-corner is added to the final corner set if it
is far away from the already detected corners. In both the above
5 neighborhood [8]. Fig. 12(d) shows
cases, we consider a 5
the detected corners by the proposed CPDA detector in original
“Lena” image.
and
IV. PERFORMANCE STUDY
In this section, we present the outcome of two main perfor-
mance studies. First, we summarize the experimental results
of the parameter setting for the proposed CPDA detector
(Section IV-C1). Second, we compare the performance of the
proposed CPDA corner detector (Section IV-C2) with four
existing most promising CSS corner detectors namely i) CSS
detector [8], ii) ARCSS detector [3], iii) MSCP detector [10],
and iv) He and Yung detector [11]. We also compare the pro-
posed detector with the well known k-cosine technique [16]
(RJ73). The performance of the other existing detectors (e.g.,
ECSS detector [9]) has already been proven to be inferior to
some of the above detectors (e.g., CSS [8] and ARCSS [3]
detectors) in [3]. In the comparative study, all the detectors
were set with their default parameter values.
In our experiments, all detectors were executed using
the same edge extraction and selection step, discussed in
Section III-A, for fair comparisons. Moreover, for the RJ73
detector [16] the edges were smoothed using small Gaussian
smoothing scales before corner detection (like we do for the
proposed CPDA detector). In fact, the RJ73 did not discuss
about smoothing to eliminate noise and we observed that the
pre-smoothing increased the performance of this detector.
We detected corners both in the original images and their
attacked (geometric transformed and signal processed) images.
Then we obtained the number of repeated corners between
original and attacked (test) images. In the case of geometric
transformations, we transformed the original corners using the
transformation parameters prior to finding their repetitions in
the test (transformed) corner set. This technique of performance
study is automated and was proposed in [3]. Thus we avoid
the traditional evaluation technique based on the human judge-
ment which is hard to implement for a large database having
thousands of test images [3]. Instead, we evaluated the robust-
ness of the detected corners by using two metrics—average
repeatability and localization error [3].
Fig. 9. Angle detection on the candidate corner C.
corner is removed from the candidate corner set. Note that this
corner detection is different from the original definition of the
curvature (see (1) in Section II-A), which estimates the rate of
local angle change at each point with respect to the arc-length.
Since we consider the curve-segments for each candidate corner
point while estimating the angle, this makes a global sense of the
estimated angle on the curve.
We know that a well defined corner should have a relatively
sharp angle [11]. If we know the angle of each corner on a curve,
it would be easy to differentiate between strong and false cor-
ners [16]. We follow the angle calculation technique similar to
a technique in [11] as shown in Fig. 9.
The angle
on both sides of
.
and
on both sides of
, at a candidate corner
is es-
and
.
timated using the two tangents
The region-of-support (RoS) for
is defined using two nearest
and
could be
candidate corners
if no neighbor candidate corners are found
the end points of
on the same curve. In order to determine the left tangent angle
, a simple three-point method is employed to
fit a circle approximately on the left “arm” CD of the RoS. The
of
two points on the left arm CD are two end points
the arm and the third point is their midpoint
. If these three
points are collinear then the tangent direction on the left side
of the circle,
of
,
which goes through points
. Otherwise, the center
, be the angle representing the direction of
, is calculated. Let
to
, be the angle representing the angle from
, and
is from to
and
and
to
as
. Then we have the left tangent angle
on the left arm of
(11)
where the function
ilarly, the right tangent angle
returns the sign of its argument. Sim-
, on the right arm
can be obtained as
is calculated. Therefore, the angle
Finally,
isfies the following condition
is removed from the candidate corner set if
(12)
sat-
(13)