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