iterative closest points
CEV ICP algorithm library
|
icp::ICP::from_method("feature_aware", config)
. Supply the following parameters to config
(via icp::ICP::Config::set):Key | Description |
---|---|
"overlap_rate" | A double between 0.0 and 1.0 for the overlap rate. The default is 1.0 . |
"feature_weight" | A double between 0.0 and 1.0 with default value 0.7 . Decides how much to weight feature cost versus point-to-point cost. |
"symmetric_neighbors" | An int with default value 10 . Decides how many neighbors to use on each side of a point when constructing the feature vector. |
Matching Step:
Matches are computed based on a weighted average of the point-to-point cost metric and the feature cost metric (with weight feature_weight
given to the feature vector cost metric).
The feature vector for each point is computed as follows. Let \( p_i \) be the i-th point in the scan, ordered by angle from the scan origin (LiDAR center), and let \( c
\) be the centroid of the scan. Then, we can define \( q_i = p_i - c \). Also, let \(
n \) be the number of symmetric_neighbors
. The feature vector for \( p_k \) is then \( f_k = \begin{bmatrix} |q_{k - n}| - |q_k| & \ldots & |q_{k - 1}| - |q_k| & |q_{k+1}|
- |q_k| & \ldots & |q_{k + n}| - |q_k| \end{bmatrix} \). The feature cost metric between two feature vectors \( f_a \) and \( f_b \) is simply \( |f_a - f_b| \).
Read ICP Sources for a list of all resources used in this project. This page was automatically generated from feature_aware.cpp with icp_doc_builder.py.