MIN-Fakultät Fachbereich Informatik Surface Reconstruction Iterative Closest Point, Delaunay-Triangulation Robin Schlünsen Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Technische Aspekte Multimodaler Systeme 20. November 2017 R. Schlünsen – Surface Reconstruction 1 / 54
Table of contents Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources 1. Basics Applications Problems Methods 2. Iterative Closest Point (ICP) The Algorithm ICP with Partly Overlapping Surfaces Combining ICP with inertia 3. Delaunay-Triangulation Basic Triangulation Definitions Flip Algorithm Example Analysis 4. Sources R. Schlünsen – Surface Reconstruction 2 / 54
Applications Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Computer models of real world objects ◮ Medicine ◮ Natural science e.g. geology ◮ Robotics ◮ Knowledge about environment needed ◮ Collision Avoidance ◮ Path Planning ◮ Grasp Planning ◮ ... R. Schlünsen – Surface Reconstruction 3 / 54
Problems Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Sensor data provided by RGB-D cameras or laserscanners ◮ Unfiltered and unorganized data ◮ Inaccurate, redundant samples and outliers ◮ Only a point set, no connectivity information ◮ Combine samples to get a model ◮ Mostly triangle mesh models ◮ Good for further computational processing R. Schlünsen – Surface Reconstruction 4 / 54
Problems Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Big data sets ◮ High frequency of new data ◮ In most cases online calculations ◮ Needs to be very fast ◮ Should work memory efficient R. Schlünsen – Surface Reconstruction 5 / 54
Methods Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Generate triangle mesh successively ◮ Incrementally insert sensor data ◮ Overlapping scans lead to redundancy ◮ Point normals are approximated with neighborhood informations ◮ Vertices are filtered to detect outliers and inaccuracies ◮ Selected vertices are combined to a triangle mesh Source:(7) R. Schlünsen – Surface Reconstruction 6 / 54
Table of contents Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources 1. Basics Applications Problems Methods 2. Iterative Closest Point (ICP) The Algorithm ICP with Partly Overlapping Surfaces Combining ICP with inertia 3. Delaunay-Triangulation Basic Triangulation Definitions Flip Algorithm Example Analysis 4. Sources R. Schlünsen – Surface Reconstruction 7 / 54
Iterative Closest Point (ICP) Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Combine different scans ◮ Get relation between these scans ◮ more detailed ◮ more accurate ◮ Scans provide point-clouds ◮ Find matching points ◮ Calculates transformations between point-clouds Source: (8) R. Schlünsen – Surface Reconstruction 8 / 54
The Algorithm Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Given are two meshes / point-clouds M 1 , M 2 ◮ Represents the same surface / object ◮ Rigid transformation between M 1 and M 2 The Algorithm (1): Repeat (until convergence): 1. Calculate the closest point p 2 i ∈ M 2 for each point p 1 i ∈ M 1 2. Calculate the rotation R and the translation t that minimizes the summed up distances between the transformed p 1 i and p 2 i . � � ( Rp 1 i + t ) − p 2 i � 2 min R , t i 3. Apply R and t to M 1 . R. Schlünsen – Surface Reconstruction 9 / 54
The Algorithm Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Greedy algorithm ◮ Does not always end in the global optimum Finding the closest point: ◮ Calculating the distances to each point result in O ( n 2 ) ◮ Should use kD-tree or other efficient data structures ◮ Matching of the closest points not unique ◮ Multiple points of M 1 can have the same closest point in M 2 ◮ Different result if M 1 and M 2 are exchanged (not symmetric) Calculating the transformation: ◮ Use a nonlinear optimization algorithm ◮ There are more direct and faster ways for matching point sets R. Schlünsen – Surface Reconstruction 10 / 54
ICP with Partly Overlapping Surfaces Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Applicable if (mostly) all points have a corresponding point ◮ Combination of partially overlapping scans ◮ Larger and more detailed model of the scanned object Source: (8) R. Schlünsen – Surface Reconstruction 11 / 54
ICP with Partly Overlapping Surfaces Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Ignore all points, which do not have a corresponding point ◮ Approach: Ignore points for which the corresponding point in the other point-cloud is an edge point ◮ Only works if the two point-clouds are located on top of each other ◮ Algorithm has to compute, which points are edge points R. Schlünsen – Surface Reconstruction 12 / 54
Combining ICP with inertia Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Often problems with planar surfaces ◮ Hard to find the correspondence between two scans ◮ Especially with fast movements ◮ Can not recover if they lost correspondence ◮ Approach to use IMU to measure movements ◮ Combination with standard ICP https://youtu.be/nL77VGllJsI?t=41s R. Schlünsen – Surface Reconstruction 13 / 54
Table of contents Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources 1. Basics Applications Problems Methods 2. Iterative Closest Point (ICP) The Algorithm ICP with Partly Overlapping Surfaces Combining ICP with inertia 3. Delaunay-Triangulation Basic Triangulation Definitions Flip Algorithm Example Analysis 4. Sources R. Schlünsen – Surface Reconstruction 14 / 54
Basic Triangulation Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Generating triangle meshes from a point set ◮ Given a set of points ◮ Connect them with edges to form triangles ◮ A triangulation of a point set is a set of triangles with the following properties: ◮ All points are vertices in at least one triangle ◮ The interiors of any two triangles do not intersect ◮ All points only intersects the triangles at the triangles vertices ◮ The union of all vertices of the triangles is the original point set ◮ Delaunay Triangulation has nice properties R. Schlünsen – Surface Reconstruction 15 / 54
Basic Triangulation Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources R. Schlünsen – Surface Reconstruction 16 / 54
Definitions Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Empty Circle: A circle is empty if and only if its interior contains no points. R. Schlünsen – Surface Reconstruction 17 / 54
Definitions Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Circumcircle of an Edge: A circumcircle of an edge is a circle going through its both points . ◮ Delaunay Edge: An edge is Delaunay if and only it has an empty circumcircle. R. Schlünsen – Surface Reconstruction 18 / 54
Definitions Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Delaunay Triangulation: A triangulation is a Delaunay triangulation if it has only Delaunay edges and all possible Delaunay edges are in the triangulation R. Schlünsen – Surface Reconstruction 19 / 54
Definitions Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Local Delaunay Edge In a triangulation an edge is locally Delaunay if and only if it is either a boundary edge or if it is Delaunay with respect to the vertices of the two triangles that contain the edge. Delaunay Lemma If all edges of a triangulation are local delaunay then all edges are also delaunay. R. Schlünsen – Surface Reconstruction 20 / 54
Definitions Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Local Delaunay Edge In a triangulation an edge is locally Delaunay if and only if it is either a boundary edge or if it is Delaunay with respect to the vertices of the two triangles that contain the edge. Delaunay Lemma If all edges of a triangulation are local delaunay then all edges are also delaunay. R. Schlünsen – Surface Reconstruction 21 / 54
Flip Algorithm Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Greedy algorithm ◮ Starts with a given triangulation ◮ Searches for edges, which are not local delaunay ◮ Flips those edges ◮ Terminates if all edges are local delaunay R. Schlünsen – Surface Reconstruction 22 / 54
Flip Algorithm Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Edge Flip: Erasing old egde and inserting new edge in the other diagonal of the quadrilateral. ◮ Edge is flippable if the quadrilateral is convex. (1) p.247 fig 14.7 (1) p.247 fig. 14.8 R. Schlünsen – Surface Reconstruction 23 / 54
Flip Algorithm Basics Iterative Closest Point (ICP) Delaunay-Triangulation Sources ◮ Every edge is delaunay or ◮ Flippable and after the flip delaunay ◮ It can be shown that after O ( n 2 ) flips the algorithm terminates and all edges are in delaunay. (1) p.247 fig 14.7 (1) p.247 fig. 14.8 R. Schlünsen – Surface Reconstruction 24 / 54
Recommend
More recommend