International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B3. Istanbul 2004
plane. Afterwards the distance from each point within the
mask to the estimated plane and the corresponding RMS
value is calculated. As an alternative the minimum eigen-
value can be used. However, the error value is stored in
a separate layer or image with the same dimension as the
scan image at the position of the initial value of the filter
mask. Small error values indicate that all local points are
fitting to the estimated plane. Such positions are suitable
as a seed region for region growing.
This method only requires a filter mask size as parameter.
If the terrestrial laser scan is very dense, it is not necessary
to calculate an error value for each measured point. In this
case even small surfaces on a scanned object are covered
by hundreds of scan points. For example, a facade of a
building is scanned with an averaged resolution of 5 cm
point density at the object. Then also small surfaces are
detected as a seed, even if not every measurement value is
taken into account.
3.2.3 Region Growing The region growing is a seg-
mentation process, the scan points are assigned to planar
regions. Therefore again the advantage of the regular raster
is used. In practice, the initial seed pixels are given by
the generated RMS-image, the smallest value is used at
first. Now a plane is estimated using pixels around the
seed region. The corresponding values are read out from
the different layers within the given area and the coordi-
nates are used to define the initial plane. The region grows
by adding neighbouring pixels to the seed that fit to the
plane. Thereby the distance between plane and 3D point is
checked against a threshold that defines the maximum dis-
tance. After adding a certain number of points to a region,
the plane parameters are recalculated using the already as-
signed 3D points. The region grows until no more points
are added to the plane. Then the next seed region is se-
lected and a new region is created. These steps are repeated
until all points are assigned to a region, all possible seed re-
gions have been used or a predefined maximum number of
regions have been created. Optionally the created regions
can be filtered by several criteria. For example small re-
gions, where only few points have been assigned to, can be
removed or the planes can be classified according to their
normal vector.
3.3 Determination of the transformation parameters
After extracting planes from the scan data the next step in
the registration process is to calculate the transformation
parameters of a rigid motion between two different scan
positions. Grimson (Grimson, 1990) and also Jiang and
Bunke (Jiang and Bunke, 1997) describe the determination
of the transformation parameters separated in rotation and
translation. The complete transformation from a scan po-
sition Sy into a reference scan position 5$, is given in ho-
mogenous coordinates by a 4 x 4 matrix:
RT
Ts;-si -( 0 1 ) (7
The 3 x 3 sub-matrix R contains the rotation and the 3 x
| vector 7' the translation parameters. By using also ho-
mogenous coordinates for the measured points in a laser
1094
scan, the computation of transformed points is a single ma-
trix multiplication.
3.3.1 Rotation The determination of the rotation ma-
trix can be done by vector operations. Two pairs of cor-
responding planes are sufficient to determine the rotation.
If there are several pairs of corresponding features the ro-
tation may be calculated for all possible combinations and
the median of the parameters can be computed. Alterna-
of the absolute angular deviation can be
minimized. Any rotation can be expressed by a rotation
axis and an angle of rotation about this axis. The direction
of the axis is defined by:
s S ;
n;' and n;? are the normalized vectors of corresponding
planes in the scans $4 and S5. Two corresponding pairs of
planes represented by the indices ¢ and j are necessary for
the determination of the rotation axis r;;. The vector rj; is
S, ;
orthogonal to n?? — n;
s. S
and n; 2 n; ;
If the rotation axis r is known, the rotation angle 0 can
be determined from the corresponding pair (n? Ë n>?) by
using the relationship:
n?! — cosün?? --(1—cos0)(r-n??)r--sin G(rxn7?) (9)
i
Algebraic manipulation yields:
ns
x (10)
From this, the angle 0 can be obtained. Using the angle 0
and the rotation axix 7 = (r,,ry,rz), the rotation matrix
R is defined by:
1.0.0
R = cos0 - 1. 0) +
0..0 +1
YT
n^ ToTg Tel
2 :
(1 T COS 0) TyTx r= TyTz +
y )
TT. TYaTy — T.
0 =F ial
sin 0 La (hom (12)
E ahi 0
Internatic
3.32 1]
tion vec
pairs are
of plane
normal 4
differen
is shiftec
correspo
alr —
If the eq
Generall
as:
( dE.
2
Each pai
least squ
vector 1:
4 EXA
The metl
to scan c
a first te:
room wa
positions
are perpe
determin
ters. The
mined us
were dis!
mation mr
Figure 5
are visua
in differe
culated ti
The matt
reads as |
For the r
nar surfa
threshold
be select