我打算学习这篇论文是因为它是很多人认可推广的,在NDT学习上最基础也是最全面的一篇论文。虽然它写于2009年,但是学习它还是非常的有意义的。我找了一下学习资料,发现很难找到系统学习这些知识的地方,所以打算自己一点点学,把学习的过程分享到这里,一来是督促自己,二来如果能为后来学习的人有所帮助那也是非常有意义的。
chapter 1. 介绍
物体和整个环境的三维记录在相当多样的学科中是一个重要的工具,比如医学成像;考古学等。我们这里应用的场景是移动机器人学,在映射、定位以及从周围环境提取语义信息等多个方面,对环境进行3D扫描都是可以起到很大作用的。
3D扫描可以用多种方式来表,本文的中心主题将要讲的正态分布变换,或称NDT就是其中一种。正态分布变换提供了一种对周围一定距离扫描得到的数据的描述,这些数据通常以非结构化点云的形式表示。在应用NDT之后,扫描表面被描述为具有解析一阶和二阶导数的分段光滑和连续函数。这类数据有以下优点:
在进行3D成像时,经常出现整个感兴趣区域不能在一次扫描中捕获的情况,这可能是因为遮挡;或者它太大;又或者所讨论的对象本身是碎片的。因此,为了生成完整的模型,通常需要执行3D扫描配准——将各个片段装配在一起。为了对齐分段扫描(可以说是解决拼图难题),必须找到每个扫描的正确位置和方向,即它的姿态pose。找到最佳姿势是配准(registration)算法的任务。成对配准是假定两个扫描的表面之间存在一些重叠,找出一个扫描与另一个扫描最佳对准的姿态的过程。给定两个扫描之间的相对姿态差的初始估计,局部配准算法试图改进该估计。一个好的扫描配准算法应该对初始姿态估计中的误差具有鲁棒性(这个问题在ICP算法中非常明