pcregistercpd
Register two point clouds using CPD algorithm
Syntax
Description
returns a transformation that registers a moving point cloud with a fixed point
cloud using the CPD algorithm. The coherent point drift (CPD) algorithm [1] supports non-rigid transformations.tform
= pcregistercpd(moving
,fixed
)
Note
The CPD algorithm is robust to noise, outlier and missing points, at the
expense of speed. Consider downsampling point clouds using pcdownsample
before using
pcregistercpd
to improve the efficiency of
registration.
Alternatively, you can speed up the algorithm by using the extractFPFHFeatures
(Lidar Toolbox) function to extract features before
performing registration. For more details, see the Improve CPD Performance Using FPFH Descriptors
example.
[___,
also returns the root mean square error of the Euclidean distance between the
aligned point clouds.rmse
] = pcregistercpd(___)
[___] = pcregistercpd(___,
specifies options using one or more name-value arguments in addition to any
combination of arguments from previous syntaxes. For example,
Name=Value
)MaxIterations=20
stops the CPD algorithm after 20
iterations.
Examples
Input Arguments
Output Arguments
Algorithms
Both MaxIterations
and
Tolerance
are used
as stopping criteria. The algorithm stops when it satisfies either of the stopping
conditions, i.e., when the number of iteration reaches
MaxIterations
or the absolute percentage change in log
likelihood function is less than or equal to Tolerance
.
References
[1] Myronenko, A., and X. Song. "Point Set Registration: Coherent Point Drift. "Proceedings of IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)." Vol 32, Number 12, December 2010, pp. 2262–2275.
Extended Capabilities
Version History
Introduced in R2018bSee Also
Functions
pcregistercorr
|pcregistericp
|pcregisterndt
|pctransform
|pcshow
|pcshowpair
|pcdownsample
|pcfitplane
|pcdenoise
|pcmerge