2. Statisches Laserscanning

Transcription

2. Statisches Laserscanning
2. Statisches Laserscanning
Punktwolken & Datenformate
ifp



Universität Stuttgart

Verschiedene Software Versionen verarbeiten die Punktwolken auf
verschiedene Art und Weise
Das ASCII File Format ermöglicht auch Einsteigern ein Gefühl für
verschiedene Datenformate.
Binäre Formate erlmöglichen ein schnelles Lesen wie auch die
Interpretation der Punktwolken – sie reduzieren die Filegröße.
Einige ausgewählte Datenformate für Punktwolken:
 ASCII (.asc, .xyz, .svy, .csv and .txt)
 FARO (.fls, .fws, .iQscan, .iQmod and iQwsp)
 Leica (.pts and .ptx)
 Riegl (.3dd)
 Z+F (.zfc und .zfs)
 ASPRS Standard LiDAR Punktwolken-Format (LAS)
 …
© Institute for Photogrammetry, Univ. Stuttgart
1
2. Statisches Laserscanning
Point Clouds & Data Formats
Universität Stuttgart
ifp
ASCII
Format
Description
XYZ
Continuous list of points with XYZ coordinates
No indication of the start of new point clouds
PTS
Total number of points in the point cloud followed by a
stream of XYZ coordinates, the intensity value and the
colors (RGB) for the points
PTX
XYZ coordinates and intensity value of each point with the
associated registration transformation information
The points list is arranged according to the scanning order
PLY
Continuous list of points with XYZ coordinates and RGB
color
SVY
Continuous list of points (point number, easting, northing,
elevation and optional annotations)
© Institute for Photogrammetry, Univ. Stuttgart
2
2. Statisches Laserscanning
Registrations and Transformations
ifp
Mapping :
Pi
Z
z
y
→
Rigid Body transform:
Y
x
Universität Stuttgart
Local CS
World CS
X
d
s
R
point in world CS
point in local CS (scan world)
rotation matrix
t
translation vector
© Institute for Photogrammetry, Univ. Stuttgart
In general: 6 unknown parameters for each scan
world j
Trivial solution: 2 control points
in world CS / local CS
3
Universität Stuttgart
ifp
4
2. Statisches Laserscanning
Starrkörper-Transformation als geschlossene Lösung
ifp

Universität Stuttgart
Starrkörper-Transformation
© Institute for Photogrammetry, Univ. Stuttgart
5
2. Statisches Laserscanning
Registrations and Transformations
ifp
Problem: Parameters of rotation matrix R
a) Euler angles , , 
, ,
b) Cardan angles , , 
, Θ,
Universität Stuttgart
Weakness of rotation matrices with angle parameters
• every parameterization with 3 angle unknowns has singularities
• the parameterization is not unique, e.g. there are dual solutions
• the elements of the rotation matrix are products of trigonometrical
functions, which are nonlinear and have to be linearized. This
slows the convergence of iterative parameter estimations
c) Quaternions for R
2
2
2
© Institute for Photogrammetry, Univ. Stuttgart
2
2
2
6
2. Statisches Laserscanning
Registrations and Transformations
ifp
The Rodriguez matrix R is without any singularities.
The quaternion equations
, ∀
can be used to derive
2
∈
∀
, ∀ ∈
;
∈
,
0
0, . . , 3
Universität Stuttgart
.
An interpretation of the quaternion parameters: Quaternions describe a
and the amount of the
rotation around an axis, with its scalar
rotation
.
Compared with classical angles of rotation (e.g. , , ), quaternions are
much better suited for parameter estimations, because they have more
linear behaviour due to quadratic powers instead of the transcendent
characteristics of superimposed trigonometric functions.
© Institute for Photogrammetry, Univ. Stuttgart
7
2. Statisches Laserscanning
ifp
Registrations and Transformations
Rigid Body Transfrom (Closed Solution)
Compute the center of gravity and derive centered coordinates
∑
;
∑
;
;
Compute an auxiliary matrix M with its elements
Universität Stuttgart
∑
and construct a further symmetrical auxiliary matrix
© Institute for Photogrammetry, Univ. Stuttgart
8
2. Statisches Laserscanning
Registrations and Transformations
ifp
The Singular Value Decomposition (SVD) of N delivers singular
values and their corresponding vectors, of which the largest one
represents the rotation we are looking for 
Universität Stuttgart
Then we obtain the vector t of translation parameters
If points have not been determined with the same accuracy, then
every pair of homologous points can be assigned with a weight wi,
leading to a ‚weighted center-of-gravity‘
∗
∑
∗
;
∑
∑
/∑
∑
and the auxiliary matrix
© Institute for Photogrammetry, Univ. Stuttgart
9
2. Statisches laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
Universität Stuttgart
The iterative solution is embedded in a LS parameter estimation. Using
the 4 unit quaternion elements and 3 translation leads to the
determination of 7 unknown parameters. The normalization of the unit
quaternions is performed by a Constrained Least-Squares Parameter
Estimation.
Let be the Gauss-Markov Model
≔
subject to
with normalization for
; according to
∑
1
and the following linearized constraints
© Institute for Photogrammetry, Univ. Stuttgart
0
0
0]
10
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
with
1
The linear model is obtained from the original math relations
Universität Stuttgart
with the Jacobi-Matrix and its partial derivatives subject to the
unknown parameters.
≔
2 q x
≔
2
≔
2
≔
q y
q z
1
0
0
0 0
1 0
0 1
2
© Institute for Photogrammetry, Univ. Stuttgart
11
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
Thus we get
the normal equation system of least-squares
Universität Stuttgart
;
;
Approximate values for the linearization process can be obtained by a
closed solution. The least-square parameter estimation is iterated to meet
a given threshold.
A more efficient method is obtained by supposing a transformation matrix
with incremental changes from an Identity matrix. The incremental
, is then computed.
transformation matrix
© Institute for Photogrammetry, Univ. Stuttgart
12
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
,
and the approximate solution
,
we get
,
,
,
the total transform
we can define the observation equations
≔
With
Using
Universität Stuttgart
In order to consider differential rotations we will decompose
and introduce a normalization factor
to maintain the unity of the
quaternions (M.D.Wheeler/K.Ikeuchi,1995)
The derivatives of the rotation matrix
wrt the quaternion
and
delivers
1, using
© Institute for Photogrammetry, Univ. Stuttgart
13
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
|
only the terms of
At
Universität Stuttgart
|
|
2
0
0
© Institute for Photogrammetry, Univ. Stuttgart
|
0
2
0
are unless 0 which carry
0
0
2
|
0 0
0 0
0 2
0
2
0
|
0
0
2
0 2
0 0
0 0
0
2
0
2
0
0
0
0
0
14
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
For the partial derivatives of the 2nd term we get
|
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
will vanish @
Using these derivatives we see that
that the Jacobi-Matrix impacts changes of
Universität Stuttgart
0
0
0
0
0
0
,
0
2
2
,
0
0
0
. This means
only.
2
0
2
2
2
0
© Institute for Photogrammetry, Univ. Stuttgart
15
2. Statisches Laserscanning
Registrations and Transformations
ifp
Rigid Body Transform (Iterative Solution)
As a follow-up the resulting parameter estimation is reduced on 6
independent parameters only (3 rotations, 3 translations) with
0
2
2
1 0
2
0
2
0 1
;
;
2
0
0 0
2
Universität Stuttgart
Instead of using the quaternions we substitute
∀
0
0
1
0,1,2 and estimate
to reconstruct the quaternions vector
afterwards. For differential rotations we obtain (B.K.P. Horn, 1990)
1
© Institute for Photogrammetry, Univ. Stuttgart
16
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
Punktwolke A
Punktwolke B
Universität Stuttgart
Vorgehensweise:
Die
unbekannte
Starrkörper-Transformation zwischen
zwei benachbarten Punktwolken wird
mithilfe
der
Nächsten-NachbarTransformation
bestimmt.
Diese
Annahme ist dadurch berechtigt, weil
beide Punktwolken ähnliche Position
und Orientierung aufweisen.
Es
werden Näherungswerte benötigt!
 Interaktiver Ausgleich (by
click&draw)
 Mittels signalisierter
Verknüpfungspunkte
 Mittels Punktmerkmalen durch
markmalsbasierte Erkennung
© Institute for Photogrammetry, Univ. Stuttgart
17
2. Statisches Laserscanning
ifp
Yes
Der Iterative Closest Point Algorithmus (ICP)
Search for corresponding points
Universität Stuttgart
Compute Fixed Body
Transformation
Error > Threshold
No
End
© Institute for Photogrammetry, Univ. Stuttgart
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
 Problemstellung:
 Zwei benachbarte, sich überlagernde Punktwolken sollen aufeinander
transformiert werden.
 Annahme:
Universität Stuttgart
 Ähnliche Position und Orientierung
z
y
x
19
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
 Starrkörpertransformation (3 Translationen, 3 Rotationen)

 Differentielle Rotationen
1

→
,
,
1
Universität Stuttgart
1

Da ähnliche Positionierung/Orientierung vorliegen, gilt folgende lineare
Beziehung für die Starrkörpertransformation (relative Lage)

20
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
,

,
,
,
,
′ ist der unbekannte Vektor der 6 Lagerungs-
und Orientierungsparameter.

,
Mit Hilfe der Näherungswerte
,
,∆
,∆
,∆
(die mittels 2
Pass- / Verknüpfungspunkten bestimmt werden können), ergibt sich eine
iterative Lösung durch Ausgleichung / Parameterschätzung, indem nach jeder
Universität Stuttgart
Parameterschätzung die Näherungswerte neu berechnet werden.

1. Iteration

2. Iteration
∆
∆
|∆
↔ 2 PP/ VKP
|
|∆
∆
|
|∆
∆
|∆
∆

usw.
21
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp

Die Koeffizientenmatrix B ergibt sich durch einfache Umstellung der
Starrkörpertransformation in differentieller Schreibweise.
Universität Stuttgart

1
0
0
…
0
1
0
∆
0 0
0
0 ∆
∆
1
∆
…
…
∆
∆
0
∀
1,2,
/

Da i. d. R. mehr als 2 PP / VKP verwendet werden, können die unbekannten
Parameter durch Ausgleichung ermittelt werden.

FRAGE: Welches Ausgleichungsmodell muss verwendet werden?
22
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
Universität Stuttgart
 In verfügbarer Software ist häufig das Gauß-Markoff-Modell
realisiert, mit den Verbesserungsgleichungen
; Δ
Δ
Δ
Δ
Δ
Δ
 welches jeweils die Schätzwerte liefert für
,
,
,
,
,
∀
(j = Anzahl der Iterationen)
 Normalgleichungssystem
,
,
,
,
,
,
,…
,
,…
23
2. Statisches Laserscanning
ifp
Der Iterative Closest Point Algorithmus (ICP)
 Da auf der rechten Seite des Verbesserungsgleichungssystems
ebenso „gemessene Koordinaten“ auftauchen, muss das GaußMarkoff-Modell durch das Gauß-Helmert-Modell ersetzt
werden, welches lautet:
Universität Stuttgart
;  Hier lauten die Verbesserungsgleichungen
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
24
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
 Diese Verbesserungsgleichungen werden in
Bedingungsgleichungen überführt – jeder Pass- oder
Verknüpfungspunkt liefert 3 Bedingungs-Gleichungen:
Universität Stuttgart
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
Δ
 Das algebraische System von Bedingungsgleichungen wird in
Matrixschreibweise überführt
, … ∀
1,2, …
Δ Δ
Δ Δ
Δ Δ
Δ
Δ
Δ
Δ
Δ
Δ
25
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
 Die A-Matrix (Koeffizientenmatrix der Verbesserungen lautet)
Universität Stuttgart
1 0
0 1
0 0
… …
0
0
1
1
0
0
0
1
0
0
0
1
0
∆
∆
∆
0
0
 und die B-Matrix (Koeffizientenmatrix der unbekannten
Parameter)
1
0
0
0
1
0
0
0
1
0
Δ
Δ
Δ
0
Δ
Δ
Δ
0
26
2. Statisches Laserscanning
Der Iterative Closest Point Algorithmus (ICP)
ifp
 Die Auflösung des Normalgleichungssystems liefert
′
′
Universität Stuttgart
die geschätzen Parameter für die Lagrange‘schen
Multiplikatoren wie auch die Lagerungs- und
Orientierungsparameter .
Auch hier muss „iteriert“ werden.
Dies ist die strenge Lösung des Iterative Closest Point
Algorithmus.
27
2. Statisches Laserscanning
CloudCompare – Standard Software für Punktwolken
Universität Stuttgart
ifp

Eine OpenSource Software für 3D
Punktwolken und Triangulationen

Originär zum Vergleich von zwei 3D
Punktwolken entwickelt, oder zwischen
Punktwolke und Triangulation

Spezifische Octree-Datenstruktur ermöglicht
schnellen Zugriff

Kann grosse Punktwolken bearbeiten (>10
Millionen, < 120 Millionen Punkte, mit 2 GB
Kernspeicher)
http://en.wikipedia.org/wiki/CloudCompare
2. Statisches Laserscanning
CloudCompare
ifp
Input/Output in verschiedenen Formaten
(PLY, STL,OBJ,LAS,ASCII … etc.)

Mittels erweiterter Funktionalität um
generische Punktwolkenverarbeitung
durchzuführen:
 Registration, resampling,
color/normal/scalar fields handling,
statistics computation, sensor
management, interactive or automatic
segmentation, display enhancement, etc.
Universität Stuttgart

http://en.wikipedia.org/wiki/CloudCompare
2. Statisches Laserscanning
MeshLab – Standard Software für Punktwolken
Universität Stuttgart
ifp

Eine Open Source Software zur 3D
Punktwolkenverarbeitung und Triangulierung
sowie Editierung

Funktionalität:
 Verarbeitung von mittleren (nicht-sokleinen) unstrukturierten Modellen aus
3D Punktwolken
 Stellt viele Tools zum Editieren,
Cleaning, Healing, Inspecting, Rendering
und Vermaschung bereit

Input/Output in verschiedenen Formaten
(PLY, STL, OFF,OBJ,3DS,COLLADA,ASCII
… etc.)
http://en.wikipedia.org/wiki/MeshLab
2. Statisches Laserscanning
MeshLab
ifp
Universität Stuttgart

Insbesondere werden folgende Funktionen
angeboten:
 Interaktive Selektion und Löschung von
vermaschten Objektteilen
 Painting Interface zu Selektion,
Smoothing und Colorierten
Vermaschungen
 Mesh Cleaning und Remeshing Filter
 Verschiedene Colorisierungen/Inspection
Filter
 Interaktive Gitter Painting
 Messfunktionen, Slicing und 3D
Scanning Tools
http://en.wikipedia.org/wiki/MeshLab
2. Statisches Laserscanning
LGS Cyclone & Trimble SketchUp
ifp
Workflow zur Generierung von 3D VR Modellen (Processing Pipeline)
Leica Cyclone Software
Registration
3
2
1
Point Clouds
Georeferencing
Modeling
Universität Stuttgart
3D CAD Model
Google SketchUp Software
Finalized 3D
Model
Texturing
3D-VR Model
© Institute for Photogrammetry, Univ. Stuttgart
32
2. Statisches LaserscanningStandard SW for
LGS Cyclone – Software für Punktwolken
Universität Stuttgart
ifp


3D Punktwolken werden damit prozessiert
Struktur der Software
 Cyclone-Scan: User-specified scan area and density, data filtering,
scan scripting, and automatic recognition and extraction of Leica
HDS targets
 Cyclone-Register: Aligning point clouds captured from different
scanning positions
 Cyclone-Model: Processing the point clouds into objects for robust
export/import into/from CAD (and other applications)
 Cyclone-Survey: Extracting relevant feature and coordinate
information from the point cloud data

Processing pipeline:
Scanning
Recognition and
extraction of targets
Point clouds
registration
Object fitting
© Institute for Photogrammetry, Univ. Stuttgart
33
Referenzen Kapitel 2
ifp
Fritsch, D. (Ed.) (2011): Photogrammetric Week’11. Wichmann/VDE Verlag, Berlin,
Offenbach, 330 S.
Fritsch, D. (Ed.) (2013): Photogrammetric Week ‘13. Wichmann/VDE Verlag,
Berlin, Offenbach, 350 S.
Horn, B. K. P. (1987): Closed-form Solution of Absolute Orientation using Unit
Quaternions, Journal Opt. Soc. Am., Vol 4 (4), pp. 59–78
Universität Stuttgart
Horn, B. K. P. (1990): Relative Orientation, Int. Journ. Computer Vision, Vol. 4, pp.
59–78
Sanso, F.(1973): An Exact Solution of the Roto-Translation Problem,
Photogrammetria, Vol. 29, pp. 203–216
Web Sites:
http://www-graphics.stanford.edu/data/3Dscanrep/
http://www.sparpointgroup.com/uploadedFiles/News/PDF/peterquinn.pdf
Leica Geosystems: Help file of Cyclone 8.2
© Institute for Photogrammetry, Univ. Stuttgart
34