Corner Detection and Classification Using Anisotropic Directional Derivative Representations PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

3204

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Corner Detection and Classification Using


Anisotropic Directional Derivative Representations
Peng-Lang Shui, Member, IEEE, and Wei-Chuan Zhang

Abstract This paper proposes a corner detector and classifier


using anisotropic directional derivative (ANDD) representations.
The ANDD representation at a pixel is a function of the oriented
angle and characterizes the local directional grayscale variation
around the pixel. The proposed corner detector fuses the ideas
of the contour- and intensity-based detection. It consists of three
cascaded blocks. First, the edge map of an image is obtained by
the Canny detector and from which contours are extracted and
patched. Next, the ANDD representation at each pixel on contours
is calculated and normalized by its maximal magnitude. The
area surrounded by the normalized ANDD representation forms
a new corner measure. Finally, the nonmaximum suppression
and thresholding are operated on each contour to find corners
in terms of the corner measure. Moreover, a corner classifier
based on the peak number of the ANDD representation is given.
Experiments are made to evaluate the proposed detector and
classifier. The proposed detector is competitive with the two
recent state-of-the-art corner detectors, the He & Yung detector
and CPDA detector, in detection capability and attains higher
repeatability under affine transforms. The proposed classifier
can discriminate effectively simple corners, Y-type corners, and
higher order corners.
Index Terms Anisotropic Gaussian directional derivative,
corner detection.

L IST OF ACRONYMS
ANDD
CSS
CPDA
UCM
BCF
GT
ROC

Anisotropic directional derivative.


Curvature scale space.
Chord to point distance accumulation.
Universal corner model.
Basic corner function.
Ground truth.
Receiver operating characteristic.

I. I NTRODUCTION

ORNER detection, as a front-end processing in a featurebased image understanding system, is rather important
in computer vision and image processing. Corner detection
yields great effect on sequent tasks, such as object tracking
and recognition in images, image registration, etc. There have
existed considerable corner detectors and these can be broadly
classified into three groups: intensity-based detectors [1][8],
contour-based detectors [9][15], and model-based detectors

Manuscript received March 8, 2012; revised April 9, 2013; accepted April


16, 2013. Date of publication April 24, 2013; date of current version
June 4, 2013. This work was supported by the National Natural Science
foundation of China under Grant 61271295. The associate editor coordinating the review of this manuscript and approving it for publication was
Prof. Marios S. Pattichis.
The authors are with the National Lab of Radar Signal Processing,
Xidian University, Xin 710071, China (e-mail: plshui@xidian.edu.cn;
zuc2003@163.com).
Digital Object Identifier 10.1109/TIP.2013.2259834

[16], [17]. Different types of detectors have individual merits and defects. The model-based detectors find corners by
matching image patches to the predefined models. Often, the
predefined models are difficult to cover all corners in real
images, limiting their performance in applications. Contourbased and intensity-based detectors attract more attention.
Intensity-based detectors use the first-order or second-order
derivatives of images for corner detection. Early detectors
using the second-order derivatives are found to be noisesensitive and are seldom used later. By developing the
Moravecs idea [1], Harris and Stephens proposed the famous
Harris detector [2] and the corner measure is constructed
from the local autocorrelation matrix of the gradients, which
is the base of many later studies. The local autocorrelation
matrix of the gradients is not enough to characterize high-order
corners. Harris corner detector can only detect L-type corners
(simple corners) and lacks the capability to classify high-order
corners or junctions [3]. The steerable-scalable kernels that
are generated by linear interpolation and finite combination
of several basic kernels were presented for edge detection
and junction analysis [4]. The Harris-Laplace corner detector
invariant to scale and the Harris-affine corner detector invariant
to affine transforms were established in [5], [6]. Multiscale
intensity variations improve corner detection, localization, and
repeatability but are insufficient in corner classification. Later,
multiscale and multidirectional intensity variations were used
in corner detection. The steerable filters were designed to
capture multidirectional intensity variations [7]. Multiscale and
multidirectional transforms, such as the Log-Gabor wavelet
[8], the shearlet [18], and the simplified Gabor wavelet [19],
were used to extract fine local intensity variations for edge
and corner detection. Fine directional intensity variations are
rather important in feature detection and classification and
have been utilized to successfully classify pixels into four
groups: regular pixels, edge pixels, pixels near edges, and
corners [18].
The contour-based corner detectors consist of three cascaded
basic blocks: edge detection, contour extraction, and corner
decision on contours [9][15]. The curvature scale space (CSS)
method is widely used in the third block. Each contour is
represented as a planar curve parameterized by arc-length.
It is smoothed by a set of multiscale Gaussian functions to
calculate multiscale local curvatures. The absolute curvature
maximum points constitute the candidate corners and from
which weak and false corners are removed by thresholding.
Also, some detectors use the multiscale tracking [10] and
multiscale curvature product [11]. The CSS corner detectors

1057-7149/$31.00 2013 IEEE

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

were mentioned to suffer from two defects at least [11], [14].


The curvature estimator is sensitive to the local variation or
noise on contours. Large-scale Gaussian functions suppress
noise but degrade corner localization while small-scale ones
preserve high precision in localization but are noise-sensitive.
Scale selection is in a dilemma. In order to mend the two
defects, the detector using the chord to point distance accumulation (CPDA) [11], [14] and the adaptive threshold method
[13] are developed. In fact, except for these two defects,
the another defect in the contour-based corner detectors is
that intensity variation information is ineffective in the corner
decision and corner classification cannot but depend upon
finding junctions of contours.
In this paper, the anisotropic Gaussian directional derivative
kernels [20], [21] are used to extract fine multidirectional
intensity variations of a grayscale image for corner detection
and classification. A universal corner model (UCM) is used
to describe simple (L-type) corners and composite or highorder corners, including Y-type, X-type, and star-like corners.
The anisotropic directional derivative (ANDD) representation
of the UCM is derived analytically. It is shown that the ANDD
representation of a corner is expressed as the sum of several
basic components and whose number indicates the type of the
corner. Each ANDD filter is an anisotropic Gaussian convolution kernel followed by a directional derivative operator, which
can conciliate the conflict between noise robustness and detail
preservation [21]. Moreover, the analytic expression of the
ANDD representation makes it easier to analyze its properties
such as noise-robustness and corner resolution, to construct
corner measure for detection, and to design corner classifier.
From the difference between the ANDD representations of
corners and smooth edge pixels, a new corner measure is
constructed to pick out corners from contours. The new corner
measure is embedded into the routine of the contour -based
corner detection. A new corner detector is developed, which
consists of edge detection, extraction and patching of contours,
and corner decision on contours via the corner measure.
Different from the existing contour-based corner detectors,
corner decision on contours uses the directional intensity
variations around an edge pixel rather than the local curvature
or other geometric feature of the planar contours, which
brings improvement in corner detection. The proposed detector
embeds the directional intensity variations into the framework
of the contour-based detection and fuses the merits of contourbased detection and intensity-based detection. Moreover, a
simple but efficient corner classifier is presented by counting
the peak number of the ANDD representation of a corner.
This paper is organized as follows. In Section II, anisotropic
directional derivatives and the UCM are introduced. The
analytic ANDD representation of the UCM is presented and its
properties are analyzed. A new corner measure on contours is
constructed. In Section III, the discrete ANDD representations
and the computation of the corner measure in the discrete case
are given. Moreover, the empirical cumulative distributions
of the corner measure on non-ideal edges are discussed. The
new corner detector and classifier are proposed in Section IV.
Experiments and performance comparison are reported in
Section V. Finally, we conclude our paper in Section VI.

3205

II. A NISTROPIC D IRECTIONAL D ERIVATIVE


R EPRESENTATIONS OF C ORNERS
In this section, the ANDD filters based on the anisotropic
Gaussian kernels are introduced. The UCM and its ANDD
representation are presented. The corner resolution of the
ANDD representation is analyzed and its relation with the
anisotropic factor is discussed. Moreover, a new corner measure on contours is constructed.
A. Anisotropic Directional Derivative Filters
A two-variable elongated Gaussian function is written as
[20], [21]


 
1
1 T 2 0
exp

x
x ,
g, (x) =
0 2
2 2
2 2
1, > 0, x = [x, y]T

(1)

where the superscript T denotes the transpose, is the scale,


1 is the anisotropic factor, and x = [x, y]T stands for
the planar coordinate. Its partial derivative with respect to the
second variable is
2 y
g,
(x) = 2 g, (x)
y

(2)

Rotating the argument in (1) at an angle yields an anisotropic


Gaussian kernel


cos sin
,, (x) = g, (R x), R =
(3)
sin cos
where is the rotation angle and R is the rotation matrix.
In the same way, an ANDD filter at the orientation /2 +
is derived as follows:
g,
(R x).
(4)
,, (x) =
y
The ANDD of an image I (x) at the orientation /2 + is


I ,, (x) = I ,, (x) (5)

The function I, (x; ), [0, 2] characterizes the intensity variations around a pixel x. Fig. 1 plots the anisotropic
Gaussian kernels and ANDD filters at eight orientations.
Some intensity-based corner detectors use the gradient operator and the gradients are calculated from smoothed image by
an isotropic Gaussian kernel. Isotropic Gaussian smoothing
assures that the image is differentiable at edges and corners
that are often singularities of an image function. However, the
smoothing also blurs local fine structures on edges and at corners. As a result, the directional derivatives at all orientations
are determined by two partial derivatives and two partial derivatives are difficult to distinguish different types of corners. The
recent edge or corner detectors use the multiscale directional
filter banks, such as the steerable filters [7], Log-Gabor wavelet
[8], shearlet [18], and simplified Gabor wavelet [19], instead of
the gradient operator, to characterize anisotropic local structures at edges and corners. Similarly, the ANND filters can
also be interpreted as a directional filter bank and can extract
anisotropic intensity variations around edge pixels and corners.
I, (x; )

3206

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Fig. 2. Illustrative diagram of a BCF and it takes the value of one inside
the gray region and takes the value of zero outside the gray region.

Fig. 1. (a) Illustration of anisotropic Gaussian kernels at eight orientations.


(b) Illustration of ANDD filters at eight orientations.

The ANDD representations possess several additional merits. First, each orientation uses individual smoothing kernel.
The anisotropic smoothing suppresses noise but also preserves
anisotropic structures of corners and edges well. Second, the
analytic ANDD filters bring convenient in analysis. Third, the
adjustable scale of the ANDDs allows multiscale and multidirectional intensity variation descriptions as the Log-Gabor
wavelet [8], shearlet [18], and simplified Gabor wavelet [19].
B. Universal Corner Model and ANDD Representation
A grayscale image can be interpreted as a two-variable
piecewise smooth function. The boundaries of smooth regions
form edges of the image. A simple corner can be informally
characterized as a point at which only two smooth regions
meet, with one region subtending a smaller angle than the
other [22], [23]. A high-order corner or junction is a point
at which three or more smooth regions meet. A junction at
which three regions meet is a Y(T)-type corner, a junction at
which four regions meet is an X-type corner, and a junction
at which more than four regions meet is a star-like corner.
A universal corner model (UCM) is used to describe different types of corners and it consists of several disjoint
wedge-shaped regions sharing a vertex. In the polar coordinate
system, a basic corner function (BCF) is defined by
(r, )
BCF
 1 ,2
1, 0 r < +, 1 2 , 2 1 =
=
0, otherwise

(6)

where r is the radius, is the polar angle, 1 is the lower


bound of the polar angle, and 2 is the upper bound of the

polar angle. As shown in Fig. 2, the BCF takes the value of


one in the gray region and the value of zero outside the gray
region.
For convenience in analysis, a corner is always put at
the origin. Simple corners and high-order corners such as
the Y-junctions, X-junctions and star-like junctions, can be
represented as a sum of several BCFs. A UCM is defined as
follows:
UCM(Ti ,i ),i=1,...,s (r, )
s

Ti BCF i ,i+1 (r, )(Note: s+1 = 1 )
=

(7)

i=1

where Ti is the gray value at individual wedge-shaped


regions and is referred as the intensity of the component
BCFi ,i+1 (r, ). The similar model also appears in the modelbased junction detection [17].
Fig. 3(a) illustrates a step edge, a simple corner, a
Y-type corner, an X-type corner, and a star-like corner. Each
corresponds to individual parameter setting in the UCM.
A step edge corresponds to s = 2 and 2 1 = , a
simple corner to s = 2 and 2 1 = , a Y-type corner
to s = 3, an X-type corner to s = 4, and a star-like to
s 5. Fig. 3(b) shows the magnitudes of their ANDD representations. As comparison, Fig. 3(c) exhibits the magnitudes
of their isotropic directional derivatives, corresponding to the
ANDD representations with = = 1. It can be seen that
the step edge and four corners have quite different ANDD
representations. However, the isotropic directional derivatives
of the step edge and four corners have a same shape, meaning
that the isotropic directional derivatives are difficult to tell
corners from edge pixels.
The ANDD representation of the UCM is the sum of the
ANDD representations of several BCFs. To obtain the analytic
expression of the ANDD representation of the UCM, we need
to derive the ANDD representation of a BCF. Transferring the
ANDD filters in (4) to the polar coordinate system, the ANDD

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

3207

Fig. 3. (a) Illustration of a step edge model, a simple corner model, a Y-type corner model, an X-type corner model, and a star-like corner model. (b) ANDD
representations of the five models. (c) Isotropic directional derivatives of the five models.

representation of a BCF has an analytic expression (8).

BCF
( ) =
R2 BCF 1 ,2 (r, ),, (r, )r dr d
1 ,2

cos(1 )

=
2 2
cos2 (1 )+ 4 sin2 (1 )

cos(2 )
.
(8)
2
2
4
cos (2 )+ sin (2 )

As a result, the ANDD representation of the UCM is


s

(Ti Ti1 ) cos( i )


=
2 2 i=1 cos2 ( i ) + 4 sin 2 ( i )
(9)
where Ts = T0 .
Step edge, simple corner, and high-order corners match
the ANDD representations with different parameter settings.
Substituting 1 = , 2 = + , s = 2 into (9) yields the
ANDD representation of a step edge,

( )
TUCM
i ,i ,s

(T1 T2 ) cos( )

E ( ) =
2
2 cos ( ) + 4 sin2 ( )

(10)

It has two zeros at = /2 and two extremes at


= , + . The magnitude at the two extremes is directly
proportional to the grayscale difference on the two sides of the
edge and the anisotropic factor while inversely proportional to

the scale. The maximal magnitude of the ANDD representation


has been used in the noise-robust edge detector [21].
Each term in the ANDD representation
, ( )

cos( )
cos2 ( ) + 4 sin 2 ( )

(11)

is referred to as a basic component specified by the angle


and anisotropic factor . In terms of the basic component, the
ANDD representation in (9) can be rewritten as
TUCM
( )
i ,i ,s

=
ai i , ( ), i = Ti Ti1 (12)
2 2 i=1

where i is the strength of the i -th basic component. The


number of the basic components in (12) indicates the type
of a corner. A step edge has one single basic component, a
simple corner has two components, a Y-type corner has three
components, an X-type corner has four components, and a starlike corner has at least five components. Classifying corner is
equivalent to counting the number of the components in the
ANDD representation of a corner.
As shown in the Fig. 3 (b), the number of the basic
components in (12) is relevant to the number of the maxima
of the magnitudes of the ANDD representation. A step edge
has only a pair of maxima symmetric with respect to the
origin, a simple corner has two pairs of maxima, a Y-type

3208

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

corner has three pairs of maxima, an X-type corner has four


pairs of maxima, and a star-like corner has at least five pairs
of maxima. The number of the magnitude maxima in the
ANDD representation of a corner can be utilized for corner
classification. In the Fig. 3 (c), all the graphs have only a pair
of maxima symmetric with respect to the origin, implying that
the isotropic directional derivatives are unable to tell corners
from edge pixels. When the anisotropic factor = 1, the
ANDD representation of the UCM degenerates to a single
form
s

1
(
)
=
(Ti Ti1 ) cos( i )

TUCM
i ,i ,s
2 2 i=1

=
cos( )
(13)
2 2

Because isotropic Gaussian kernels smooth out the details


of corners, isotropic directional derivatives are unable to
discriminate the types of corners.

Fig. 4. (a) Traces of the three peaks of the ANDD representations of the
Y-type corners and (b) traces of the three peaks of the ANDD representations
of a Y-type corner as varies from 1.8 to 8.

related to the two components can be resolved only when the


anisotropic factor satisfies

C. Corner Resolution and Anisotropic Factor


The ability of the ANDD representation to classify corners
depends on whether the magnitude maxima related to each
basic component can be resolved. In terms of the ANDD
representation of the UCM, the resolution to corner types is
relevant to the strengths, the distribution of the angles in the
UCM, and the forms of the basic components. The last term
is uniquely determined by the anisotropic factor. Generally,
the ANDD representation with a large anisotropic factor has
a strong ability to classify corners.
In what follows, we quantitatively analyze the relationship
between the corner resolution and anisotropic factor. As does
in the edge resolution of the ANDDs [21], consider the sum
of two basic components with the same strength
1 ,2 ( ) = 1 , ( ) + 2 , ( ) .

(14)

For a given anisotropic factor, we find out the condition of


the angle difference  = 2 1 under which the peaks
related to the two basic components can be resolved from
(14). Each component has a pair of peaks at = i , i + .
It depends upon the property of (14) at the midpoint = (2 +
1 )/2 whether the function (14) has two pairs of resolvable
peaks. It has two pairs of resolvable peaks if the midpoint
is a minimum. It has only a pair of peaks at and +
if the midpoint is a maximum. The midpoint is a stationary
point of the function (14) and its first-order derivative is zero
at the midpoint. Its second-order derivative at the midpoint is
derived as follows:


2 4 cos (/2) ( 4 1)(1 cos()) 1

=
,1 ,2 ()

5/2
cos2 (/2) + 4 sin2 (/2)
(15)
The midpoint is a minimum if
( 4 1) cos  < 4 2

(16)

It implies two important facts. On the one hand, for a given


angle difference  = 2 1 , the two pairs of peaks

4 > 1 +

1
2
1 cos 

(17)

Moreover, when the anisotropic factor 4 < 2, the ANDD


representation does not have ability to discriminate the type
of a corner. On the other hand, for a given anisotropic factor
4 2, the two pairs of peaks can be resolved only when the
angle difference  satisfies

.
2( 4 1)
(18)
The ANDD representation with a large anisotropic factor
has a strong
 ability to classify corners and the constant
2arc sin 1/ 2( 4 1) is referred to as the corner resolution
constant of the ANDD representation. Generally, when all the
angle differences i = i+1 i of a high-order corner
satisfy (18), the peaks related to all the basic components can
be resolved from the ANDD representtation and the type of
the corner can be determined.
Two examples are illustrated to explain the corner resolution
constant. An example uses a family of Y-type corners with
1 = 90, 2 = 5, 3 = , T1 = 2, T2 = 3, and T3 = 1.
As varies from 90 to 150, the traces of the three peaks
of the ANDD representations with 2 = 2 = 6 are shown
in Fig. 4 (a). Only when 1 > 16, the peaks of the
first two basic components are resolvable. The
basically
 result

accords with the resolution constant 2arc sin 1/ 70 14.
Another example is a Y-type corner with 1 = 5, 2 = 90,
3 = 105, T1 = 2, T2 = 3, and T3 = 1. Fig. 4 (b) illustrates
the traces of the three peaks of the ANDD representations
as varies from 1.8 to 8. The peaks of the first two basic
components are resolvable only when > 2.4, basically
according with > 2.3471 from (17). The corner resolution
constant gives a good evaluation of the ability for the ANDD
representation to classify corners.
2arc sin

2( 4 1)

<  < 2arc sin

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

3209

D. New Corner Measure: Residual Area

A. Discrete ANDD Filters

Corner detection is to pick out corners from edge pixels


and normal pixels. When detection is made on the extracted
contours of an image, corner detection is to pick out corners
from edge pixels on contours. A corner measure needs to
be constructed from the ANDD representation to tell corners
from edge pixels. In terms of the previous analysis, the
ANDD representation of an edge pixel contains a single
basic component while that of a corner contains at least two
basic components. Our idea to construct corner measure is
first removing a maximal basic component from the ANDD
representation of a pixel under test and then constructing a
corner measure from the residual part. Based on the fact
that the magnitudes of the ANDD representation depend on
the grayscale differences around an edge pixel or corner, the
ANDD representation ( ) is first normalized by its maximal
magnitude to get a normalized ANDD representation,
( )
 )=
.
(19)
(
max {|( )|}

Due to discrete image signals, the anisotropic Gaussian


kernels and ANDD filters must be discretized in applications. Sampling the continuous functions with a scale and
anisotropic factor on the 2D integer lattice Z2 yields discrete
ANDD filters as follows:
g,
(Rk n)
,,k (n) = g, (Rk n), ,,k (n) =
y


 
cos k sin k
nx
Rk =
,n =
Z2
sin k cos k
ny
2(k 1)
, k = 1, 2, . . . , K
(23)
k =
K

The normalized representation is only related to the relative


strengths and angles of the UCM. In terms of (10), the
normalized representation of a step edge is written as
 E ( ) = sign(T1 T2 ), ( )

(20)

From the normalized representation, the maximal basic


component is removed by


 )},
= arg max{(

 ) (
 ) sign{()}

R(
, ( )

where the integer vector n = [n x , n y ]T denotes the coordinate


on the 2D integer lattice Z2 . In order to make that the discrete
version inherits the properties of the continuous kernels as
much as possible, the scale is required to be not less than
the anisotropic factor such that the scales of the anisotropic
Gaussian kernels at all the orientations are no less than one.
In this paper, we take = . In fact, it is also allowable
to take in applications. The sampling interval of the
oriented angle depends upon the corner resolution constant.
The number of the orientations, K , is required to satisfy

(21)

 ) is referred to as the residual ANDD


The function R(
representation. In (21), the maximal peak in the normalized
representation is first localized and then the maximal basic
component is removed. When ( ) is the ANDD representation of an edge pixel, the residual ANDD representation
approximates to zero. When ( ) is the ANDD representation of a corner, the residual ANDD representation consists of
several basic components. In terms of the difference between
corners and edge pixels at the residual ANDD
 representations,

 ) in the
the area surrounded by the closed curve R(
polar coordinate system, defined by


1 2 
 ) 2 d
(22)
R(
R area =
2 0
is used as a corner measure to decide whether the pixel under
test is an edge pixel or a corner. This new measure is named
the residual area. It takes small values at edge pixels while
takes large values at corners.
III. D ISCRETE ANDD F ILTERS AND D ISTRIBUTION OF
R ESIDUAL A REA
In this section, the discrete ANDD filters and the formulae
to compute the corner measure in the discrete case are given.
Moreover, the empirical probability cumulative distributions
of the corner measure on the edges of two test images are
computed, by which the threshold for corner decision can be
empirically determined.

3

arc sin

(24)

1
2( 4 1)

It means that there are at least three samples within the


mainlobe of each basic component. For instance, when 2 =
2 = 6, the corner resolution constant is 14 and the sampling
interval should be less than 4.3 or K 360/4.3 84.
From the discrete ANDD filters, the discrete ANDD representation is computed by

I (n m),,k (m),
(n; k) =
mx m y

n = [n x , n y ]T Z2 , m = [m x , m y ]T Z2

(25)

where n and m represent the coordinates on the 2D integer


lattice Z2 .
The discrete normalized ANDD representation, residual
ANDD representation, and residual area are computed by

(n;
k) =

(n; k)
, k0 = arg max{|(n; k)|},
max {|(n; k)|}
k
k




R(n;
k) (n;
k) sign{(n;
k0 )}k0 , (k) ,
P
2
2
 

.
R(n;
k) ,  =
R area(n) =
2
P

(26)

k=1

B. Residual Area Distribution on Non-Ideal Edges


On ideal step edges, the residual area is zero, a deterministic
quantity. Real images contain considerable non-idea edges,
such as ramp edges, pulse edges, and stair edges. These edges
do not follow the ideal step edge model. Moreover, the discrete
ANDD filters and the localization error in edge extraction
make the residual area apart from zero. For real images, the
residual area on extracted edges is not a deterministic quantity

3210

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Fig. 6.

Flowchart of the proposed corner detector.

sion and thresholding are combined to pick out corners from


edge pixels. Since non-maximum suppression removes quite a
few false corners, the probability of edge pixels to be falsely
declared as corners is less than the estimate from the empirical
cumulative distributions in Fig. 5. The decision threshold
selection is a compromise. A small threshold is apt to yield a
high detection probability but a large number of false corners
while a large threshold misses more corners but yields a small
number of false corners.
IV. C ORNER D ETECTOR AND C LASSIFIER VIA
ANDD R EPRESENTATIONS

Fig. 5. Empirical cumulative distributions of the residual area on the edges


of the two test images: (a)-(b) test images Block and Lab, (c)-(d) edges
extracted by the Canny edge detector, (e)-(f) empirical cumulative distributions
of the residual area on the edges.

any more. Several uncertain factors make that the values of the
residual area at edge pixels spread in a wide range. Here, we
regard the residual area as a random variable on edge pixels in
order to empirically determine the threshold in corner decision
by its empirical probability cumulative distribution.
Two grayscale images, 256 256 Block and 512 512
Lab, are used in experiments. Their edges are extracted by
the Canny edge detector [24] and the residual areas at the
edge pixels are computed in terms of (26). The empirical
cumulative distributions of the residual area on the edges
of the two images are shown in Fig. 5. When the simple
threshold decision is applied on edge pixels to find corners,
it can be observed that the probability of edge pixels to
be falsely declared as corners is about 0.2 if the decision
threshold is taken as 0.12 and the probability is about 0.02
if the decision threshold is taken as 0.40. Thus, the decision threshold in corner detection is taken from the interval
[0.12, 0.40]. In corner detection, the non-maximum suppres-

By means of the ANDD representation and the new corner


measure, a corner detector and a corner classifier are proposed.
The corner detector employs the course of the contour-based
detection scheme equipped with the residual area as the corner
measure. It consists of three cascaded blocks: edge detection,
contour extraction and patching, and corner decision. In the
first block, edges of single-pixel width are extracted from an
image by the Canny edge detector [24]. The Canny detector
can be also replaced by other edge detectors. As shown in the
Fig. 3 (c), the gradients at corners or junctions are sometimes
small. As a result, some corners are excluded in the detected
edges. The second block includes contour extraction, filling
small gaps between contours, and contour stretch, by which
the missed corners in edge detection are gotten back. In the
third block, the residual area is used as the corner measure
to pick out corners from contours by the non-maximum
suppression and thresholding. The flowchart of the proposed
corner detector is shown in Fig. 6.
The edge map of an image is extracted by the Canny edge
detector [24]. The edge map is a binary image where the pixels
with value one label edge pixels. The Canny edge detector has
three adjustable parameters, the Gaussian smooth scale, low
threshold, and high threshold for edge decision. Selecting the
three parameters can achieve the tradeoff between missed edge
pixels and false edge pixels and between noise-robustness and
edge resolution [21]. Below, all the blocks are introduced in
details.
A. Contour Extraction and Patching
Contour extraction: From the edge map, the contours
are extracted. Each contour is represented by a chain code
C = P1 , P2 , . . . , Pn , where Pi = (x i , yi ), i = 1, 2, . . . , n is
the position of the i -th pixel on the chain code. P1 = Pn

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

3211

and 36 are connected into two longer contours. These filled


gaps contain corners of interest. Fig. 7 (d) is the contours after
end stretch, where some ends of the contours 80 86 16
and 102 are stretched. Stretch picks up some omitted edge
pixels in the edge detection.
B. Corner Decision Via Residual Area
The proposed corner detector uses the residual area as the
corner measure to pick out corners from each contour by
three steps: computation of the corner measure, non-maximum
suppression and thresholding.
Computation of corner measure: Let {C
=
P1 , P2 , . . . , Pn } be an extracted contour. At each pixel on the
contour C, calculate the normalized ANDD representation
and corner measure, residual area R-area (Pi ) by (26).
Non-maximum suppression: As do in the contour-based
corner detection [9][15], only the local maxima of the corner
measure on a contour are indicated as candidate corners. Let
the width of the window for the non-maximum suppression
be 2L + 1. Then, a pixel Pi on the contour C is a candidate
corner if its corner measure satisfies:
R area(Pi ) > max{R area(Pil ), l = 1, 2, . . . , L} (27)
Fig. 7.
Demonstration of the full procedure of contour extraction and
patching.

for a loop contour and P1 = Pn for an open contour and no


contour is self-intersection. The contour extraction uses the
same algorithm as in [12][14].  stands for the set of the
ends of all the open contours.
Filling and connecting: For an end P in , if its neighborhood of a specified size (for example, 5 5) contains other
ends, we select the nearest one from P as Q and fill the gap
between P and Q. When P and Q are on the same contour,
label the filled contour as a loop contour and remove P and
Q from . When P and Q are on two contours, connect them
into an open contour and remove P and Q from . If there
are more than one nearest ends from P, we select the end by
which the connected contour has minimal curvature increment.
Repeat the procedure till the neighborhood of each end in 
does not contain other ends.
Stretching open contours: When the neighborhood of the
end of one open contour contains edge pixels on other contour,
stretch the end of the open contour to the nearest edge pixel
on the other contour.
Fig. 7 illustrates a full procedure from edge detection to
contour extraction and patching. It can be seen that most of
the missed corners in the edge detection are picked up by the
contour extraction and patching. Fig. 7 (a) is the edge map
extracted by the Canny edge detector, where some corners
are left out because of not enough large magnitudes of the
gradients. Fig. 7 (b) plots the contours extracted from the edge
map. Fig. 7 (c) illustrates the contours after filling small gaps
and connection. Some omitted edge pixels are picked up. For
instance, the broken contours 63 and 157 are recovered into
a loop contour, the contours 86 and 87, the contours 27

where Pil are replaced by P(il)modn+1 when i l > n or


i l < 1 for a loop contour and R-area(Pil ) = 0 when
i l > n or i l < 1 for an open contour. Running (27) on
all the contours, we obtain the set of the candidate corners,
denoted as C .
Thresholding: Let be a predefined threshold for corner
decision, which is empirically selected in terms of the residual
area distributions on non-ideal edges in Section III(B). A pixel
P C is decided as a corner only when it satisfies:
R area(P)

(28)

The proposed corner detector combines the contour-based


framework with the intensity-based decision. It inherits the
merits of the contour-based detection and intensity-based
detection and overcomes their some defects. The intensitybased detection easily yields false corners in smooth regions
[1][7]. The contour extraction before detection in the proposed detector reduces the occurrence of false corners in
smooth regions. Moreover, fine local intensity variations in
corner decision are exploited to improve the capability of
corner detection.
C. Corner Classifier Via ANDD Representations
In feature matching of images, types of corners are as
important as their positions. Most of corner detectors cannot
classify corners. Corner classification needs finer description
of intensity variations around corners. Multi-scale multidirectional intensity variations via the LogGabor wavelet [8]
and shearlet [18] provide potential for corner classification.
The shearlet-based edge detector can classify pixels into four
groups: regular pixels, smooth edge pixels, pixels near edges,
and corners. In [25], a simple corner classifier based on the
Harris detection was proposed and it can classify corners into
two groups: simple corners and high-order corners.

3212

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Here, the normalized ANDD representations of corners are


used to classify corners. In the ANDD representation of a
corner, the number of the peaks or the basic components
indicates its type. Let  be the set of detected corners. The
normalized ANDD representation of a non-ideal corner P 
satisfies:
(
P)


ai i , (k)
(P, k)
(29)
i=1

where (P) is the number of the basic components and is


referred to as the type-index of a corner. Classifying corner
is to estimate the type-index of a corner from its ANDD
representations, which can be realized by two approaches. One
is finding the peak number of the ANDD representation. The
other is estimating the number of the basic components. We
adopt the first approach. Let > 0 be a predefined threshold,
empirically taken as 0.12.

 

(P) = # k: (P,
k)

 
 


(30)
k 1)
> max , (P,
k + 1) , (P,
where #A denotes the number of the entries in a finite set A.
The index (P) of a corner stands for the number of peaks
with magnitude more than the threshold in the normalized
ANDD representation. The proposed corner classifier is as
follows:

P is a simple corner,
2,
3,
P is a Y - type corner,
(P) =
(31)

4, P is an X - type or star - like corner.


Like in corner detection, the threshold is a compromise.
A large threshold is easy to falsely declare high-order corners
into low-order ones while a small threshold is apt to falsely
declare low-order corners into high-order ones.
V. E XPERIMENTS AND P ERFORMANCE E VALUATION
This section focuses on experiments and performance evaluation. The proposed detector is compared with three stateof-the-art detectors, the He & Yung detector [13], CPDA
detector [14], and classical Harris detector [2], from detection
performance, localization error, and repeatability under image
affine transforms. Two images with GTs are used to compare
detection capabilty and localization precision. Nine images
without GTs are used to compare the repeatabilty under image
affine transforms. Two images with GTs of types are used to
evaluate corner classification.
Two commonly-used 8-bit grayscale images with GT, 256
256 Block and 512512 Lab [26], are used in experiments
to evaluate detection ability and localization precision. Fig. 8
illustrates them and their GTs, where the Block has 59
strong corners and the Lab has 249 strong corners. Each
detector includes adjustable parameters and their settings affect
detection results. The results of the detectors under individual
parameter settings are difficult to give a fair evaluation.
Comparison of edge detectors also meets the same problem.
The ROC curves are introduced for a fair comparison [27].
Its essential idea is to compare the results of detectors under
individual optimal parameter settings. Here, the ROC curves
are borrowed to evaluate the corner detectors.

Fig. 8. Test images (a) Block and (b) Lab and their GTs where corners
are labeled by small squares.

For a test image with the GT that contains NG corners


necessary to be detected, if a detector at a given parameter
setting reports N D corners including N T correctly detected
corners and N F false corners, then the point (NG NT , N F )
is a sample point of the performance test. A corner in the
GT is correctly detected only when there exist at least one
detected corner in its 9 9 neighborhood. The missed rate
is difined as (NG NT )/NG and the fasle rate is defined as
N F /NG . When the parameter setting runs in a wide range, a
mass of sample points ((NG NT )/NG , N F /NG ) are collected.
The low envelop of these sample points is the ROC curve of
the corner detector. Corner detection is desired to have missed
corners and false corners as few as possible. Each point on the
ROC curve can be interpreted as the result under the optimal
parameter setting at a given number of missed corners. The
ROC curve does not depend on a specific parameter setting.
For two detectors, a detector is better when its ROC curve
locates on the left-bottom side of that of the other detector.
Besides detection performance, the localization error is
another index to evaluate corner detectors. Let the GT of
a test image be {(x i , yi ), i = 1, 2, . . . , N} and the detected
corner set be {(xm , ym ), m = 1, 2, . . . , M} by a detector
at a given parameter setting. The matched corner pairs are
{(x i , yi ), (xm(i) , ym(i) ) : i = 1, 2, . . . , NT }. The localization
error is defined by [15]


NT 
 1

2 
2 
x i xm(i) + yi ym(i)
(32)
EL = 
NT
i=1

The third index to evaluate a corner detector is the repeatability under geometric transforms. It is important in applications such as image feature matching and image registration.
A. ROC Curve Evaluation of Detection Performance
The He & Yung detector [13], CPDA detector [14] and
the proposed detector realize corner detection on contours
and their performance depends upon edge detection. Edge
detection results are relevant to the parameter setting of
the Canny edge detector [24]. Thus, the Gaussian smooth
scale s , low threshold TL , and high threshold TH are taken
as adjustable parameters in the ROC curve evaluation of the
three contour-based detectors. Besides the three adjustable

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

3213

Fig. 9. ROC curve comparison of the proposed detector, He & Yung detector [13], CPDA detector, and Harris detector, where the optimal parameter settings
of the detectors are labeled for (a) Block when three corners are missed and (b) Lab when sixty corners are missed.

parameters, the scale and anisotropic factor in the ANDD


representation, = , and the decision threshold are also
adjustable for the proposed detector. It uses five adjustable
parameters and the parameter settings are taken in the set

s = 1, 2, . . . , 5; TL = 0, 0.05, 0.1, 0.15;

TH = 0.20, 0.25, . . . , 0.40;


(33)
2
2
= = 2, 4, 6, 8;

= 0.11, 0.12, . . . , 0.40.


The Harris detector has three adjustable parameters, the
Gaussian smooth scale s , the sensitivity factor in the Harris
corner measure, and the decision threshold (where the corner
measure is normalized by its maximal value on the whole
image). The Harris corner detector uses the standard program
in the Matlab software of 2010 version, where the default
parameter setting is (s , , ) = (1.5, 0.04, 0.01). In the ROC
curve computation, the parameter settings are taken in the set

s = 1, 1.5, 2, 2.5, 3

= 0.01, 0.02, . . . , 0.1


(34)

= 0.002, 0.004, . . . , 0.1


The Harris corner detector uses 5 5 window in the nonmaximum suppression.
In the He & Yung detector [13], except for the three
parameters in the Canny edge detector, the coefficient R in
the adaptive threshold and angle-threshold are adjustable.
The experiments use the Matlab code of the algorithm opened
in the website by the authors [28]. In the ROC curve computation, the default parameter setting is replaced by adjustable
parameter settings, which are taken in the set

s = 1, 2, . . . , 5; TL = 0, 0.05, 0.1, 0.15

TH = 0.20, 0.25, . . . , 0.40


(35)
R = 1.05, 1.06, . . . , 1.80

= 140 , 141 , . . . , 178

In the CPDA detector [14], except for the three parameters


in the Canny edge detector, the curvature threshold and
the angle-threshold are adjustable. The experiments use the
original code of the algorithm provided by the authors. The
parameter settings are taken in the set

s = 1, 2, . . . , 5; TL = 0, 0.05, 0.1, 0.15

TH = 0.20, 0.25, . . . , 0.40


(36)
= 0.01, 0.02, . . . , 0.35

= 140, 141, . . . , 178


The ROC curves of the four detectors to the two test images
are shown in Fig. 9. For the Block with a simple scene,
the proposed detector and CPDA detector attain comparable
detection performance, which is better than the He & Yung
detector and Harris detector. For the Lab with a complicated
scene, when missed corners are no more than sixty out of
249 labeled corners in the GT, the proposed detector and
He & Yung detector attain comparable detection performance,
superior to that of the CPAD and Harris detectors. The Harris
detector behaves much poorer than the three contour-based
detectors in performance. The reason is that the Harris detector
directly operates on all the pixels of an image and lacks enough
ability to exclude false corners. The contour extraction can
exclude quite a few false corners.
Noise-robustness is important in corner detection, because
images are often corrupted by noise in acquisition and transmission. Here, zero-mean white Gaussian noise of variance
100 is added to the test images to verify the noise-robustness.
In the noisy cases, the ROC curves of the four detectors are
shown in Fig. 10. The contour-based detectors are more robust
to noise than the Harris detector. In fact, the contour extraction
with a large-scale Gaussian smooth kernel can effectively
reduce noise influence. The contour extraction and noiserobust ANDD representation make the proposed detector more

3214

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Fig. 10. ROC curve comparison of the four detectors for the test images (a) Block and (b) Lab corrupted by additive zero-mean white Gaussian noise of a
variance 100.

robust to noise than other three detectors. Experiments with


other nosie levels are made, showing that the ROC curves
of the proposed detector are almost invariant when noise
variance is not more than 30 for the two test images. Moreover,
contrasting the optimal parameter settings of the four detectors
in Figs. 9 and 10, it is found that in the noisy case the smooth
scales and decision thresholds are mostly lifted to counterwork
noise. Hence, when images are corrupted by noise, increasing
smooth scale of edge detection and lifting the decision
threshold of corner decision are appropriate tactics.
By examining the parameter settings of the sample points
around the ROC curves, we find that the performance of
the proposed detector is not sensitive to low threshold and
Gaussian smooth scale in edge extraction and is sensitive
to high threshold in edge extraction, scale and anisotropic
factor in the ANDD representation, and decision threshold.
Particularly, the test sample points when 2 = 2 = 6 are
always close to the ROC curves. Therefore,
the scale and

anisotropic factor can be fixed at 6 in applications. The


default parameter setting is recommended as (1.0, 0.1, 0.35,
6, 0.12) in the noiseless case.
Below, we examine the localization error of the proposed
detector in terms of (32). For a fair comparison, the optimal
parameter settings of the four detectors labeled in Fig. 9 are
used. For the test image Block, the number of missed corners
is three for all the four detectors and for the test image Lab
the number of missed corners is sixty for all the four detectors.
In the noisy case, the optimal parameter settings for the four
detectors are used when six corners are missed for the test
image Block and seventy-five corners are missed for the test
image Lab. The localization errors of the four detectors are
listed in Table I. It can be observed that noise of low level
does not incur a significant change in localization error for all
the four detectors, for the corners in the GTs are strong local

TABLE I
L OCALIZATION E RRORS OF THE D ETECTORS FOR THE N OISELESS AND
N OISY I MAGES (U NIT IS A P IXEL )
Noiseless Test Images
Test
image

Missed
corners

Harris

CPDA [14]

He &Yung
[13]

Proposed

Block

1.932

1.528

1.603

1.597

Lab

60

1.950

1.460

1.492

1.436

Block

1.981

1.607

1.643

1.641

Lab

75

2.115

1.526

1.558

1.483

Noisy test images and noise variance 100

feature. The CPDA detector attains the smallest localization


error for the Block and the proposed detector attains the
smallest localization error for the Lab. The Harris detector
is the poorest in corner localization.
The localization error of corners is affected by many factors,
for example, the strength of corners, smoothing of contours,
noise, and so on. Generally, small localization errors happen at
strong corners while large localization errors appear at weak
corners for a detector. Smoothing contours perhaps incurs
bias in localization. It is diffucult to thoroughly analyze the
reasons behind the localization error of each detector. From
the experiments, the contour-based detectors have smaller
localization errors than the intensity-based Harris detector.
The CPDA detector attains the highest localization precision
for the test image Block. The proposed detector attains
the highest localization precision for the test image Lab.
In the noisy case, the proposed detector attains the highest
localization precision for the two test images. Due to the
noise, the localization errors of the four detector increase
by 2.048%, 1.556%, 1.601%, and 1.562%, respectively. The

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

Fig. 11. Nine test images to compute the average repeatablity under affine
transforms.

CPDA detector and the proposed detector are robust to noise,


owing to the scale smoothing of contours in the CPDA and
the noise-robust ANDD in the proposed detector.
B. Repeatability Under Affine Transforms
Let N0 and NT be the numbers of corners detected from an
original image and transformed image by a detector, respectively. Nr is the number of repeated corners in the original
image and transformed image. The repeatability of a detector
under a given transform on a test image is defined as [15]


Nr
1
1
+
Ra =
(37)
2 N0
NT
The average repeatability of a detector at a given transform
on a group of test images is the average value of the repeatability of all the test images at the given transform. Here, nine test
images in Fig.11, often appearing in corner detection literature,
are used to evaluate the repeatability. Its computation neednt
the GTs of test images.
The four detectors use the parameter settings labeled in
Fig. 9(b) for the noiseless test image Lab. The four kinds
of basic single-parameter transforms are considered.
1) Rotations at 18 different angles in [90, 90] at 10
apart;
2) Uniform scaling transforms with x = xsx , y = ys y ,
sx = s y in [0.5, 2.0] at 0.1 apart;
3) Nonuniform scaling transforms sx = 1, s y = 1 in
[0.5,0.9] [1.1,2.0] at 0.1 apart;
4) Shear transforms, where the shear factor c in [1,1] at
0.1 apart.
  
 
1c
x
x
=
y
01
y

3215

Any affine transform without translation can be decomposed


into rotation, uniform scaling, nonuniform scaling, shear, and
refection. The average repeatabilities of a corner detector in
these four kinds of basic transforms reflect its repeatability
under affine transforms. The average repeatabilities of the four
detectors are shown in Fig. 12.
The repeatabilities of the four detectors exhibit different
behavior. For rotation and uniform scale transforms, all the
four detectors preserve high repeatability, owing to the corner
measures of the detectors are invariant to rotation and uniform
scale transforms in the continuous form. The influence of
rotation and uniform scale transforms on corner detection
results mainly comes from resampling of transformed images.
In rotation and uniform scale transforms, the Harris detector
and the proposed detector have higher repeatability than the
He & Yung detector and the CPDA detector, which is because
that the intensity-based corner measures are more robust to
resampling than the contour-based corner measures. For nonuniform and shear transforms, the corner measures of the four
detectors vary with the transforms in the continuous form.
Hence, the repeatabilities of all the four detectors are low. It
can be seen that the Harris detector and the proposed detector
have higher repeatability than the He & Yung detector and the
CPDA detector. The latter two detectors are based upon the
local curvature of contours. The local curvature of contours
is sensitive to non-uniform scale and shear transforms. As
a whole, the proposed detector achieves higher repeatability under affine transforms. Note that the Harris detector
has too low repeatabilty under shear transforms though it
has high repeatabilities under the first three kinds of basic
transforms.
C. Experiments of Corner Classification
It is important in image feature matching and object recognition to know corners types. Generally, simple corners are
from the edge vertex of object outlines while high-order
corners, such as Y-type and X-type, are from overlaps of
objects in images. Most of corner detectors detect and localize
corners but cannot report their types. A simple corner classifier
along the Harris corner detection idea is given in [25]. It can
classify corners into two groups: simple corners and highorder corners. The proposed corner classifier can classify
corners into simple corners, Y-type corners, and X-type or starlike corners. The previous experiments show that the ANDD
representation with the scale and anisotropic factor 2 =
2 = 6 is suitable for corner detection. Corner classification
needs higher resolution ANDD representation to attain finer
directional intensity variations at corners. Here, the scale factor
and anisotropic factor are taken as = 4 and 2 = 10 for
classification. In terms of (25), the number of orientations is
384. For the two test images Block and Christopher, the
results of the proposed corner classifier and classifier in [25]
are demonstrated in Table II and Fig. 13.
The image Block has twenty-eight simple corners and
thirty-one Y-type corners and the image Christopher has
nineteen simple corners, thirty-six Y-type corners, and thirty
higher-order corners. The correct rate of a corner classifier is

3216

Fig. 12.

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

Average repeatabilities of the four detectors under (a) rotation, (b) uniform scaling, (c) nonuniform scaling, and (d) shear transforms.
TABLE II
C LASSIFICATION R ESULTS OF THE T EST I MAGES B LOCK AND C HRISTOPHER
Test images

Block

Classifier

Proposed classifier
Classifier in [25]

Christopher

Proposed classifier
Classifier in [25]

YType

X-Type or
Star-Like

28
26
19
25
17

31
31
21

0
0
0

19
14
13
12
10

36
31
21

Types of Corners

Simple

Ground truth with types


Detected corners
Type-matched corners
Detected corners
Type-matched corners
Ground truth with types
Detected corners
Type-matched corners
Detected corners
Type-matched corners

defined as the ratio of the number of type-matched corners


to the number of correctly detected corners. When correctly
detected corners are classified into two groups as in [25]. The
proposed classifier achieves 70.2% correct rate for the Block
and 74.2% correct rate for the Christopher. The classifier
in [25] has the correct rate 62.5% for the Block and the
correct rate 65.5% for the Christopher. The proposed corner
classifier achieves higher correct rate. Moreover, the proposed
classifier provides fair ability to discriminate Y-type corners
and higer order corners. In the test image Christopher,
twenty-one out of the thirty-one detected Y-type corners are

31
18
30
25
18
57
35

correctly classified and eighteen out of the twenty-five detected


higher order corners are correctly classified.
Computational cost of a corner detector and classifier is
a key factor to limit its applications. In our experiments,
the detector uses the ANDD filters with 84 orientations and
the classifier uses the ANDD filters with 384 orientations.
The 2D convolution computation of the ANDD representations
at all the pixels of an image is time-consuming. Because the
detection is operated on contours and the classification on the
detected corners and the number of the pixels on the contours
and the number of the detected corners are much smaller than

SHUI AND ZHANG: CORNER DETECTION AND CLASSIFICATION USING ANDD REPRESENTATIONS

3217

VI. C ONCLUSION
In this paper, we have proposed the corner detector and
classifier based on the ANDD representations on contours. The
detector is evaluated from detection capability, localization
error, and repeatability under image affine transforms. The
experimental results show that it is very completitive with
the recent state-of-the-art corner detectors. Its good detection
performance is owing to the reasonable fusion of the contourbased detection with intensity-based detection. Contour extraction reduces the occurence probability of false corners and
the fine intensity variation information on contours enhances
the ability to capture true corners. Corners are anisotropic
local features in images. The fine description of local intensity
variations of corners becomes the key of corner detection and
classification. The ANDD representations provide a powerful
tool of the fine description. Starting from the analytic ANDD
representation of the UCM, the corner resultion can be quantitively analyzed and the corner measure can be analytically
defined. Moreover, based on the characteristics of the ANDD
representations of different kinds of corners, the simple but
efficient corner classifier is developed, which can classify
corners into simple corners, Y-type corners, and higher order
corners.
As a tool to represent anisotropic local features in images,
the ANDD representations have some potential worthy to
further exploit. Color images are used in most of visual
systems and it is an interesting issue to extend the ANDD
representations for edge and corner detection as well as corner
classification of color images. The antisymmetry of the ANDD
filters brings the limitation in detecting and classifying some
special high-order corners. Developing asymmetric ANDD
filters is a possible way to overcome the limitation. Corner
classification is an important issue in image feature matching
but receives rather little attention. The proposed corner classifier provides a fair ability to classify corners. However, from
demands of applications, corner classification ability needs to
be improved further.
Fig. 13. Corner classification results of the test images Block and Christopher: (a)-(b) test images Block and Christopher, (c)-(d) classification
results by the classifier in [25], (e)-(f) classification results by the proposed
classifier.

the size of an image, the proposed detector and classifier are


of high computational efficiency.
In fact, the ANDD representation also suffers from a limitation. All the ANDD filters are antisymmetric with respect
to their centers and thus the ANDD representation at a pixel
satisfies: ( + ) = ( ). For some special highorder corners, such as an X-type corner with 3 = 1 + ,
4 = 2 + , T1 = T3 , and T2 = T4 in the UCM,
its ANDD representation vanishes to zero, meaning that the
ANDD representations fail to detect and classify such special
high-order corners. Since such special corners rarely appear
in real images, this defect does not yield significant effect on
applications of the proposed detector and classifier.

R EFERENCES
[1] H. P. Moravec, Toward automatic visual obstacle avoidance, in Proc.
5th Int. Joint Conf. Artif. Intell., Cambridge, MA, USA, 1977, p. 584.
[2] C. Harris and M. Stephens, A combined corner and edge detector, in
Proc. 4th Alvey Vision Conf., 1988, pp. 147151.
[3] J. A. Noble, Finding corners, Image Vis. Comput., vol. 6, no. 2,
pp. 121128, 1988.
[4] P. Perona, Steerable-scalable kernels for edge detection and junction
analysis, Image Vis. Comput., vol. 10, no. 10, pp. 663672, 1992.
[5] L. Alvarez and F. Morales, Affine morphological multiscale analysis
of corners and multiple junctions, Int. J. Comput. Vis., vol. 25, no. 2,
pp. 95107, 1997.
[6] K. Mikolajczyk and C. Schmid, Scale and affine invariant interest point
detectors, Int. J. Comput. Vis., vol. 60, no. 1, pp. 6386, 2004.
[7] M. Jacob and M. Unser, Design of steerable filters for feature detection
using canny-like criteria, IEEE Trans. Pattern Anal. Mach. Intell.,
vol. 26, no. 8, pp. 10071019, Aug. 2004.
[8] X.-T. Gao, F. Sattar, and R. Venkateswarlu, Multiscale corner detection
of gray level images based on log-Gabor wavelet transform, IEEE
Trans. Circuits Syst. Video Technol., vol. 17, no. 7, pp. 868875,
Jul. 2007.
[9] A. Rattarangsi and R. T. Chin, Scale-based detection of corners of
planar curves, IEEE Trans. Pattern Anal. Mach. Intell., vol. 14, no. 4,
pp. 430449, Apr. 1992.

3218

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 22, NO. 8, AUGUST 2013

[10] F. Mokhtarian and R. Suomela, Robust image corner detection through


curvature scale space, IEEE Trans. Pattern Anal. Mach. Intell., vol. 20,
no. 12, pp. 13761381, Dec. 1998.
[11] J. H. Han and T. T. Poston, Chord-to-point distance accumulation
and planar curvature: A new approach to discrete curvature, Pattern
Recognit. Lett., vol. 22, no. 10, pp. 11331144, 2001.
[12] X. Zhang, M. Lei, D. Yang, Y. Wang, and L. Ma, Multiscale curvature
product for robust image corner detection in curvature scale space,
Pattern Recognit. Lett., vol. 28, no. 5, pp. 545554, 2007.
[13] X. C. He and H. C. Yung, Corner detector based on global local
curvature properties, Opt. Eng., vol. 47, no. 5, p. 057008, 2008.
[14] M. Awrangjeb and G. Lu, Robust image corner detection based
on the chord-to-point distance accumulation technique, IEEE Trans.
Multimedia, vol. 10, no. 6, pp. 10591072, Oct. 2008.
[15] M. Awrangjeb and G. Lu, An improved curvature scale-space corner detector and a robust corner matching approach for transformed
image identification, IEEE Trans. Image Process., vol. 17, no. 12,
pp. 24252441, Dec. 2008.
[16] K. Rangarajan, M. Shah, and D. V. Brackle, Optimal corner detector,
Comp. Vis., Graph., Image Process., vol. 48, no. 2, pp. 230245, 1989.
[17] E. D. Sinzinger, A model-based approach to junction detection using
radial energy, Pattern Recognit., vol. 41, no. 2, pp. 494505, 2008.
[18] S. Yi, D. Labate, G. R. Easley, and H. Krim, A shearlet approach to
edge analysis and detection, IEEE Trans. Image Process., vol. 18, no. 5,
pp. 929941, May 2009.
[19] W. Jiang, K.-M. Lam, and T.-Z. Shen, Efficient edge detection using
simplified Gabor wavelets, IEEE Trans. Syst., Man, Cybern. B, vol. 39,
no. 4, pp. 10361047, Aug. 2009.
[20] J.-M. Geusebroek, A. W. M. Smeulder, and J. van de Weijer, Fast
anisotropic Gauss filtering, IEEE Trans. Image Process., vol. 12, no. 8,
pp. 938943, Aug. 2003.
[21] P.-L. Shui and W.-C. Zhang, Noise-robust edge detector combining
isotropic and anisotropic Gaussian kernels, Pattern Recognit., vol. 45,
no. 2, pp. 812820, 2012.
[22] L. Parida and D. Geiger, Junction: Detection classification and reconstruction, IEEE Trans. Pattern Anal. Mach. Intell., vol. 20, no. 7,
pp. 687698, Jul. 1998.
[23] M. A. Ruzon and C. Tomasi, Edge, junction, and corner detection using
color distributions, IEEE Trans. Pattern Anal. Mach. Intell., vol. 23,
no. 11, pp. 12811295, Nov. 2001.
[24] J. Canny, A computational approach to edge detection, IEEE Trans.
Pattern Anal. Mach. Intell., vol. 8, no. 6, pp. 679698, Jun. 1986.
[25] J.-B. Ryu, H.-H. Park, and J. Park, Corner classification using Harris
algorithm, Electron. Lett., vol. 47, no. 9, pp. 536538, 2011.

[26] F. Mokhtarian. Image Corner Detection Through Curvature Scale Space


[Online]. Available: http://www.ee.surrey.ac.uk/CVSSP/demos/corners
[27] K. Bowyer, C. Kranenburg, and A. Dougherty, Edge detector evaluation
using empirical ROC curves, Comput. Vis. Image Understand, vol. 84,
no. 1, pp. 77103, 2001.
[28] (2009). A Corner Detector Based on Global and Local Curvature
Properties [Online]. Available: http://www.mathworks.cn/matlabcentral/
fileexchange/7652

Peng-Lang Shui (M02) was born in Xian, China,


in 1967. He received the B.S. degree in applied
mathematics from Xidian University, Xian, the M.S.
degree in mathematics from Nanjing University,
Nanjing, China, and the Ph.D. degree in electrical
engineering from Xidian University, in 1989, 1992,
and 1999, respectively.
He is currently a Professor with the National Laboratory of Radar Signal Processing, Xidian University. His current research interests include multirate
filter bank theory and applications, image processing, and radar target detection and tracking.

Wei-Chuan Zhang received the M.S. degree in


electronic engineering from Southwest Jiaotong University, Chengdu, China, and the Ph.D. degree
in electronic engineering from Xidian University,
Xian, China, in 2006 and 2013, respectively.
He is currently a Lecturer of Xian Polytechnic
University. His current research interests include
pattern recognition and image processing.

You might also like