viations
tions in
1 of cur-
om flat-
ometry).
be seen
he main
sian cur-
ess with
alogy to
cription
"nificant
1 the SC
1ape pa-
the HK
N
matical
order to
to com-
he data
'omes a
ion pro-
DW On a
indrical
r sensor
en pre-
minent
). For
d from
t to its
en pre-
surface
niques
n mesh
Figure 3: Test scene containing basic shapes as acquired
with our stripe projection sensor.
Figure 4: Box shaped artifacts in curvature estimation us-
ing convolution approach.
simplification. Since these methods use information only
in the direct neighborhood of a point they are extremely
sensitive to noise. Since we require exact quantities for
our classification these methods were not considered.
Precise estimates of curvature can be obtained from ana-
lytic methods. The general strategy of analytical methods
is to fit a surface in the local neighborhood of the point
of interest and then compute the partial derivatives needed
to determine curvature. The main difference of the an-
alytic methods is in the method for local surface fitting.
(Besl and Jain, 1986) have proposed a method that is im-
plemented as a series of separable convolution operations
one for each partial derivative. The approach is known as
orthogonal polynomial approximation. The advantage of
their approach is the potential speed of the process using
optimized convolution operations. On the down side using
a convolution mask does not allow for individual elimina-
tion of single points. Thus if the data set contains small
holes or outliers within the area of the convolution mask
the curvature will deviate by a large amount an cause box
shaped artifacts (see figure 4).
We have chosen to use an estimation process based on clas-
sical least squares. Moving a square filter mask over the
data set individual points are added as observation to the
estimation process. Invalid pixels can be easily discarded.
This approach even allows us to give individual weights to
every pixel in the range image. We fit the data to a second
[SURFACELABEL] H | K |
PLANE —0.0000 | 0.0000
CYLINDER —0.0200 | 0.0000
SPHERE —0.0200 | 0.0004
Figure 5: Model information used for the test scene.
degree explicit polynomial:
z = ax” + bay + cy” + dx + ey + f
where the minimization criterion is Y (f (zi, yi) — 2i).
The partial derivatives are derived directly from the surface
parameters.
In order to reliably estimate curvature from range data the
data has to be filtered to eliminate noise artifacts. As men-
tioned above we experience considerable aliasing effects.
Median filtering otherwise popular is not suited for this
type of noise (Karbacher et al., 2001). A simple weighted
averaging is suitable for the purpose. The size of the filter
mask has to be established during a test run on a known
geometry beforehand, since the noise is specific to every
sensor.
4.0 Classification
After mean and Gaussian curvature have been computed
for each valid pixel in the range image, each pixel is classi-
fied according to its curvature. The model data is entered in
the form of HK clusters (see figure 5). A simple minimum
distance classification is then used to map every pixel to its
corresponding curvature cluster. An additional threshold
is used to prevent classification of points with curvature
information which deviates strongly from its nearest clus-
ter. Since mean and Gaussian curvature are two different
quantities with different magnitudes two separate thresh-
olds can be used to eliminate outliers. (Cantzler and Fisher,
2001) have proposed a formula to derive the threshold for
the Gaussian curvature from the threshold for mean cur-
vature. However this formula uses the maximum of mean
curvature, a quantity which is difficult to obtain reliably.
We have chosen to use only a single threshold for both cur-
vatures. For a planar patch this effectively is similar to the
approach of Koendrink mentioned above, since it uses a
single threshold to determine planarity of a local region.
The result of initial classification is shown in figure 6.
4.3 Region Growing
After initial classification each pixel is either labeled ac-
cording to its corresponding surface or remains unlabelled.
The results show a considerable amount of points which
were misclassified, i.e. were assigned a wrong label or
were not assigned a label but should have. These misclas-
sifications are caused by false curvature estimation. Es-
pecially on the cylinder it becomes evident that not all of
the ripples were removed during smoothing. These classi-
fication errors have to be removed in a second processing
step.
-141--
SOS
OL NL