- Source: Normal distributions transform
The normal distributions transform (NDT) is a point cloud registration algorithm introduced by Peter Biber and Wolfgang Straßer in 2003, while working at University of Tübingen.
The algorithm registers two point clouds by first associating a piecewise normal distribution to the first point cloud, that gives the probability of sampling a point belonging to the cloud at a given spatial coordinate, and then finding a transform that maps the second point cloud to the first by maximising the likelihood of the second point cloud on such distribution as a function of the transform parameters.
Originally introduced for 2D point cloud map matching in simultaneous localization and mapping (SLAM) and relative position tracking, the algorithm was extended to 3D point clouds and has wide applications in computer vision and robotics. NDT is very fast and accurate, making it suitable for application to large scale data, but it is also sensitive to initialisation, requiring a sufficiently accurate initial guess, and for this reason it is typically used in a coarse-to-fine alignment strategy.
Formulation
The NDT function associated to a point cloud is constructed by partitioning the space in regular cells. For each cell, it is possible to define the mean
q
=
1
n
∑
i
x
i
{\displaystyle \textstyle \mathbf {q} ={\frac {1}{n}}\sum _{i}\mathbf {x_{i}} }
and covariance
S
=
1
n
∑
i
(
x
i
−
q
)
(
x
i
−
q
)
⊤
{\displaystyle \textstyle \mathbf {S} ={\frac {1}{n}}\sum _{i}\left(\mathbf {x} _{i}-\mathbf {q} \right)\left(\mathbf {x} _{i}-\mathbf {q} \right)^{\top }}
of the
n
{\displaystyle n}
points of the cloud
x
1
,
…
,
x
n
{\displaystyle \mathbf {x} _{1},\dots ,\mathbf {x} _{n}}
that fall within the cell. The probability density of sampling a point at a given spatial location
x
{\displaystyle \mathbf {x} }
within the cell is then given by the normal distribution
e
−
1
2
(
x
−
q
)
⊤
S
−
1
(
x
−
q
)
{\displaystyle e^{-{\frac {1}{2}}\left(\mathbf {x} -\mathbf {q} \right)^{\top }\mathbf {S} ^{-1}\left(\mathbf {x} -\mathbf {q} \right)}}
.
Two point clouds can be mapped by a Euclidean transformation
f
{\displaystyle f}
with rotation matrix
R
{\displaystyle \mathbf {R} }
and translation vector
t
{\displaystyle \mathbf {t} }
f
R
,
t
(
x
)
=
R
x
+
t
{\displaystyle f_{\mathbf {R} ,\mathbf {t} }(\mathbf {x} )=\mathbf {R} \mathbf {x} +\mathbf {t} }
that maps from the second cloud to the first, parametrised by the rotation angles and translation components.
The algorithm registers the two point clouds by optimising the parameters of the transformation that maps the second cloud to the first, with respect to a loss function based on the NDT of the first point cloud, solving the following problem
arg
min
R
,
t
{
−
∑
i
NDT
(
f
R
,
t
(
x
i
)
)
}
{\displaystyle \arg \min _{\mathbf {R} ,\mathbf {t} }\left\{-\sum _{i}\operatorname {NDT} \left(f_{\mathbf {R} ,\mathbf {t} }\left(\mathbf {x_{i}} \right)\right)\right\}}
where the loss function represents the negated likelihood, obtained by applying the transformation to all points in the second cloud and summing the value of the NDT at each transformed point
f
R
,
t
(
x
)
{\displaystyle f_{\mathbf {R} ,\mathbf {t} }(\mathbf {x} )}
. The loss is piecewise continuous and differentiable, and can be optimised with gradient-based methods (in the original formulation, the authors use Newton's method).
In order to reduce the effect of cell discretisation, a technique consists of partitioning the space into multiple overlapping grids, shifted by half cell size along the spatial directions, and computing the likelihood at a given location as the sum of the NDTs induced by each grid.
References
Sources
Biber, Peter; Straßer, Wolfgang (2003). "The normal distributions transform: A new approach to laser scan matching". Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003)(Cat. No. 03CH37453). Vol. 3.
Cheng, Liang; Chen, Song; Liu, Xiaoqiang; Xu, Hao; Wu, Yang; Li, Manchun; Chen, Yanming (2018). "Registration of laser scanning point clouds: A review". Sensors. 18 (5). Multidisciplinary Digital Publishing Institute: 1641. Bibcode:2018Senso..18.1641C. doi:10.3390/s18051641. PMC 5981425. PMID 29883397.
Dong, Zhen; Liang, Fuxun; Yang, Bisheng; Xu, Yusheng; Zang, Yufu; Li, Jianping; Wang, Yuan; Dai, Wenxia; Fan, Hongchao; Hyyppä, Juha (2020). "Registration of large-scale terrestrial laser scanner point clouds: A review and benchmark". ISPRS Journal of Photogrammetry and Remote Sensing. 163. Elsevier: 327–342. Bibcode:2020JPRS..163..327D. doi:10.1016/j.isprsjprs.2020.03.013. S2CID 216449537.
Li, Leihui; Wang, Riwei; Zhang, Xuping (2021). "A Tutorial Review on Point Cloud Registrations: Principle, Classification, Comparison, and Technology Challenges". Mathematical Problems in Engineering. 2021. Hindawi.
Magnusson, Martin (2009). The three-dimensional normal-distributions transform: an efficient representation for registration, surface analysis, and loop detection (Ph.D.). Örebro universitet.
External links
"Register two point clouds using NDT algorithm". MathWorks.
Kata Kunci Pencarian:
- Normal distributions transform
- Normal distribution
- Log-normal distribution
- Skew normal distribution
- Multivariate normal distribution
- Inverse transform sampling
- Truncated normal distribution
- Matrix normal distribution
- Fourier transform
- Iterative closest point