Information Technology Reference
In-Depth Information
2.2 3D Corner Detection
Corners are easier to define in mathematical terms than edges, but they do not
necessarily correspond to any geometric entity of the observed scene [5]. Corners
detection of 3D object can be computed over matrix
S
that characterizes the
structure values and is defined as
⎡
2
⎤
∑
∑
∑
G
G
G
G
G
x
x
y
x
z
⎢
⎢
⎥
⎥
∑
∑
2
∑
S
=
G
G
G
G
G
(4)
x
y
y
y
z
⎢
⎥
2
∑
∑
∑
G
G
G
G
G
⎣
x
z
y
z
z
⎦
where the sums are taken over the neighbourhood
Q
of a generic voxel
v
. The so-
lution is building the eigenvalues of
S
and their geometric interpretation as
described in [4] for two dimensions. Matrix
S
is symmetric, and can therefore be
diagonalized as:
λ
0
0
⎡
⎤
1
⎢
⎥
S
=
0
λ
0
(5)
⎢
⎢
⎥
⎥
2
0
0
λ
⎣
⎦
3
where
λ
are the eigenvalues. If neighbourhood
Q
of
v
is perfectly
uniform (e.g. image intensity is completely same in
Q
) image gradient compo-
nents
G
x
,
G
y
and
G
z
vanish everywhere and eigenvalues are
λ
,
λ
and
1
2
3
. Now
assume that
Q
contains the corner of a black cube against a white background: as
there are three principal directions in
Q
, it is expected that
λ
=
λ
=
λ
=
0
1
2
3
and the
larger the eigenvalues, the stronger (higher contrast) their corresponding image
lines. Obviously, the eigenvectors describe the edge directions, and the eigenval-
ues the edge strength. A corner is identified by three strong edges, and as
λ
≥
λ
≥
λ
≥
0
1
2
3
λ is large enough. In
general terms, at corner voxels the intensity surface has three well-defined, dis-
tinctive directions, associated to eigenvalues of
S
, all of them significantly larger
than zero [3]. If only one of them is not large enough (
λ
≥
λ
≥
λ
it is a location where the smallest eigenvalue,
1
2
3
3
λ <
3
τ
, where
is thresh-
τ
old) that voxel is not the corner voxel.
The procedure for locating the corners is as follows [6]. The input is formed by
an image
G
and two parameters: the threshold τ on
, and the linear size of a
cube window (neighbourhood), for example 2
N
+ 1 voxels, where
N
is usually be-
tween 2 and 5. First the image gradient is computed over the entire image
G
, and
then for each voxel
v
is formed the matrix
S
over a (2
N +
1) × (2
N +
1) × (2
N +
1)
neighbourhood
Q
of
v
. In the next step
λ
3
λ
, the smallest eigenvalue of
S
, is com-
3
puted. If
λ >
3
the coordinates of
v
are saved into a list of possible corner voxels
L
. The list
L
is then sorted in decreasing order of
τ
. The sorted list is scanned top
to bottom: for each current point
v
, all points which belong to the neighbourhood
λ
3