mirror of https://github.com/CGAL/cgal
more on introduction of user manual
This commit is contained in:
parent
948570c7c2
commit
4f7a7dcf39
|
|
@ -16,13 +16,15 @@ Left: Input point set. Right: Points colored by detected primitive.
|
|||
\cgalFigureEnd
|
||||
|
||||
\section Point_set_shape_detection_3Method Method
|
||||
The method takes as input a point set sampled on surfaces and provides as output a set of shapes well approximating all or a subset of the input points. The shapes are detected via a RANSAC approach based on random sample consensus. A minimal number of points are randomly drawn from the input data to construct shape candidates. These candidates are tested against the input data to determine how many points support the shape. The support of a point is decided on its location and orientation relative to the shape. Based on the number of supporting points a shape candidate is kept or discarded. The principle of this method is to repeatedly extract the shape among the other shape candidates with the highest number of supporting points. By choosing the candidate with the highest number of points the method gains robustness against outliers and noise.
|
||||
The method takes as input a point set with unoriented normals and provides as output a set of primitive shapes covering all or part of the input points. The shapes are detected via a RANSAC-type approach, i.e., a random sample consensus. The basic RANSAC approach repeats the following steps: (1) Randomly select a subset of the input points. (2) Fit a primitive shape to the selected subset. (3) Count the number of inliers to the primitive, i.e., the points within a user-specified error tolerance to the primitive shape. Steps 1, 2 and 3 are repeated for a prescribed number of iterations and the largest primitive shape with highest number of inliers is kept.
|
||||
|
||||
However, testing all possible shape candidates against all input data to find the largest shape is impractical. A reduction in computation time is gained by testing shape candidates only against subsets of the input data thus early rejecting candidates with low support. Only a subset of all possible shape candidates is constructed until the probability to miss the largest candidate is low. The search thoroughness is controlled by a user-specified parameter.
|
||||
In our context the error between a point and a primitive shape is defined by its distance and normal deviation to the shape. A random subset corresponds to the minimal number of points (with normals) required to uniquely define a primitive shape.
|
||||
|
||||
A connectivity constraint is imposed on the support of a shape. As the support of a shape is evaluated on points randomly drawn from the input data the supporting points may be spread out over the surface. Only the largest cluster of points is considered for the support of a shape.
|
||||
For very large point sets however the basic RANSAC method is not practical when testing all possible primitive shape candidates against the input data in order to find the largest primitive shapes. The main idea behind the efficient RANSAC consists of testing shape candidates only against subsets of the input data. Only a subset of all possible shape candidates is constructed until the probability to miss the largest candidate is lower than a user-specified parameter. The largest primitive shape is repeatedly extracted until no more primitive shape, covering a minimum number of points, can be extracted.
|
||||
|
||||
The candidate with the highest number of supporting points is repeatedly extracted until no candidate can be found with a minimum number of supporting. The output of the method is a set of parametric shapes with their associated points and the set of remaining points. Each point in the input data can be assigned to at most one shape. The algorithm is described in full detail in \cite cgal:-erpcsd-07.
|
||||
The support of a primitive shape refers to the footprint of the points covered by the primitive. To avoid generating primitive shapes with fragmented support we impose a connectivity constraint by considering only the largest connected component.
|
||||
|
||||
The output of the shape detection algorithm is a set of primitive shapes with associated points, and all remaining points not covered by primitive shapes. Each input point can be assigned to at most one primitive shape.
|
||||
|
||||
\section Point_set_shape_detection_3Parameters Parameters
|
||||
The method depends on five parameters:
|
||||
|
|
|
|||
Loading…
Reference in New Issue