英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料
注册点云库
用于三维调整的模块化框架
由Dirk Holz,Alexandru-Eugen Ichim,Federico Tombari,Radu B. Rusu和Sven Behnke编写
注册是处理三维(3-D)点云时的重要步骤。注册应用范围从对象建模和跟踪到同时定位和映射(SLAM)。本文介绍了开源点云库(PCL)以及可用于点云注册的工具。 PCL包含了使用各种局部形状特征描述符初始对准点云的方法,以及使用众所周知的迭代最近点(ICP)算法的不同变体来细化初始对准的方法。本文提供了注册算法的概述,其PCL实现的使用示例以及应用程序提示。由于针对特定类型数据的正确算法的选择和参数化是三维点云配准中最大的问题之一,因此我们提出了三个完整的示例
数据(和应用程序)以及PCL中的相应注册流水线。这些例子包括由消费者的彩色和深度相机采集的密集的红绿蓝深度(RGB-D)点云,来自商用3-D扫描仪的高分辨率激光扫描以及由定制轻量级捕获的低分辨率稀疏点云微型汽车(MAV)上的三维扫描仪。
三维点云的注册
持续对齐两个或更多点云,即三维点集合的问题对于3D注册是固有的。通常点云是由三维传感器从不同的角度获取的。注册可在全局坐标系中查找视图之间的相对姿态(位置和方向),以使点云之间的重叠区域尽可能匹配;有关注册的两个示例,请参见图1.注册的总体目标是对齐各个点云并将它们融合到单个点云,以便可以应用后续处理步骤(例如分割和对象重建)。点云登记是许多与计算机视觉,计算机图形学,机器人感知,摄影测量,文化遗产建模,数字考古学和建筑学有关的应用的重复任务。过去几年的研究一直致力于获得准确的对齐方式,以便处理具有挑战性的3-D数据,如各向同性或非独立对象,并尽可能使注册过程自动化。公开提供的软件库和数据集是促进此类研究并使结果具有可比性的一种方式。本文介绍了开源PCL以及可用于点云注册的工具。 PCL是一个独立的,大规模的,用于3D点云处理的开放项目。它是在BSD许可下发布的,包含许多用于各种应用的最先进的算法,包括滤波,特征估计,表面重构,模型拟合,分割和可视化,以及用于执行映射和对象的更高级工具和应用程序承认。在本文中,我们重点介绍三维点云的配对配准,即通过估计获取点云的两个视图姿势之间的转换来对齐两个点云。以全球一致的方式处理点云序列的技术和工具(即多视图注册)将在未来的出版物中介绍。成对配准通常通过ICP算法的几种变体之一进行。由于优化的非凸性,基于ICP的方法需要进行粗略的初始转换初始化,以增加成功对齐的机会。良好的初始化也加速了它们的收敛。本文将涵盖点云对齐所需的所有阶段 - 从基于描述符匹配的粗对齐到基于ICP的细化 - 说明PCL中当前可用于执行每项任务的工具。此外,我们还介绍了PCL中实现的三条流水线以及不同类型输入数据的典型结果,从小型对象建模到户外3D映射。
一般/基本注册管道
问题表述点云是用于表示多维点集合的数据结构P. p Rn!在三维点云中,元素通常表示底层采样表面的,, XY和Z几何坐标。当有更多信息可用时,例如,颜色信息或关于局部曲面法线或曲率的信息k pisin;P由更长的矢量表示。给定点 p的源点云Pisin;P和具有点的目标点云Q,q isin;Q注册问题依赖于找到P和Q之间的对应关系,并估计一个变换T,当应用于P时,P将所有对的对应点对齐。 (pisin; Q i,Qj isin; h)注册的一个基本问题是这些对应通常不知道,需要由注册算法确定。给定正确的对应关系,就使用的错误度量而言,有不同的计算最佳变换的方法。为了支持在PCL中处理各种类型的点云,所有组件都是模板化的。本文的其余部分将使用清单1样式的代码片段。
清单1.示例代码清单和术语
图2.注册一对点云的过程概述。 在两个视图存储在内存中后,将应用预处理序列来提高信噪比或恢复由于扫描过程中涉及的采样而丢失的表面(法线)信息。 有两条可用路径。 第一条路径包括计算关键点及其描述符,然后估计两个云之间的相对转换。 这可以用作通过ICP密集配准的良好初始对齐,由第二条路径表示。
典型的注册流水线
参考图2和Rusinkiewicz和Levoy的模块化[1],两个点云的注册可分为以下步骤:●选择:对输入点云进行采样。 ●匹配:估计二次采样点云之间的点之间的对应关系。 ●拒绝:过滤通信以减少异常值的数量。 ●对齐:分配错误度量标准,并将其最小化以找到最佳转换。现在将详细介绍这四个阶段中的每一个阶段,并具体提及PCL中可用的工具。
匹配最近点和基于特征的配准
可以区分两种主要类型的配准算法(参见图2中的两条路径):1)用于计算初始配准的基于特征的配准算法(路径1)2)迭代配准算法(路径2 )遵循ICP算法的原则迭代地记录点云(已经大致对齐)。对于基于特征的配准,几何特征描述符在一些高维空间中被计算和匹配。这些描述符越具有描述性,独特性和持久性,所有找到的匹配点都是真正对应的点对的机会就越高。在Besl和McKay的ICP算法中,没有计算特征描述符,而是在笛卡尔空间中最接近的点被认为是相互对应的。估计变换使得最小二乘意义上找到的最近点对之间的欧几里得距离最小化。确定两个数据集中相应点并计算对齐它们的变换的过程迭代重复。随着通信日益变得更好,源点集合预计会趋于目标集合。同时,Chen和Medioni [3]提出了一个相似的算法,但是他们不是最小化相应点之间的平方欧几里得距离,而是应用了一个点到面的误差度量。在以下两节中,我们将讨论这两种方法。
最近点的迭代注册
与基于特征的配准不同,迭代配准算法不匹配显着特征描述符以找到源点云和目标点云之间的对应关系,而是1)搜索最近点(匹配步骤)和2)对齐基准点对(对准步骤)。重复这两个步骤直到发生收敛或者直到达到另一个终止标准,由此迭代地改进源与目标点云的对准。在诸如完全重叠等各种假设下,对齐收敛到全局最小值(相对于所使用的误差度量)以实现最佳对准。迭代配准的主要缺点是,如果假设不成立,例如,如果云仅部分重叠和/或如果初始对准关闭,则算法可能会陷入局部最小值。在这种情况下,错误的对应会对注册结果产生负面影响。然而,存在几种方法来排除错误的对应并提高收敛性,并在拒绝步骤中应用。此外,如果云已经大致对齐,则迭代配准提供了有效和可靠的方法来优化初始猜测并最优地对齐点云。为了加速注册,原始ICP算法[2]的另一个常见扩展是仅注册在初始选择步骤中采样的输入点云的子集。
选择代表子集
根据应用和传感器的不同,点云可能变得非常大。因此,注册较大的点云比注册较小基数的云计算更昂贵。但是,对于注册任务,数据通常是冗余的或不必要的详细信息。因此,仅注册原始点云的子集可以在节省计算时间的同时获得足够的结果。原则上,可以区分两种数据缩减方法:自动提取一小组独特和可重复的关键点(在“估计关键点”部分中讨论)并针对期望的目标分布对原始数据进行采样。前者用于基于特征的初始对齐(在“通过描述符匹配进行粗对齐”一节中讨论),后者可用于有效减少迭代配准算法的数据量。 PCL实现了多种采样方法,最明显的是,在索引空间采样(简单地采取每第n个点),在输入三维空间进行均匀子采样(以更好地捕获感测到的环境结构),以及在局部表面法线的空间中采样(在所有表面方向上采样点)。清单2给出了一个在PCL中使用统一采样的例子。
匹配 - 最近点对应估计
对应性估计是将来源点云P与其最近邻居qi 中的点pi配对的过程目标云Q这是寻找理想对应的贪婪近似,两个云之间的(PI,QJ)。寻找最近邻居的一种天真的方式是对每个源点的最近邻居执行所有目标点的彻底搜索。由于这对于使用数百万个点的应用程序而言过于昂贵,因此已经提出了用于快速搜索的各种数据结构,例如八叉树和kd树。这些数据结构具有对数搜索时间(与线性天真变体相反);然而,它们需要更长的时间来初始化,例如kD树的(N logN)。为此,PCL依赖于用于近似最近邻居的快速库[4],这是用于快速(近似)最近邻居搜索的开源库。它已被经验证明是最好的解决方案之一[5]。要计算框架中的一组对应关系,我们可以使用清单3中的代码。给定source_cloud和target_cloud作为输入,determineCorrespondences返回找到的对应对的集合。每对包含源云中查询点的索引和目标点云中找到的匹配的索引。可选的第二个参数max_dist可用于指定相应点之间的最大距离,以便滤除具有较大点对点距离的对。在来自符合针孔摄像头模型的传感器的输入数据的情况下,对应性估计过程可以显着加快(尽管某些精度会丢失)。这些传感器包括流行的RGB-D相机,如Microsoft Kinect,可以以深度和彩色图像的形式从环境中收集信息。在PCL中,我们指的是具有类似图像结构的点云。我们可以使用深度图像的投影性质来获得合理的近似值,而不是使用诸如kd-tree之类的复杂数据结构来进行三维空间中的最近邻搜索。云中的每个点对应于深度图像中的像素,允许使用内在和外在摄像机参数从世界坐标中的源点到目标帧的摄像机平面的投影
其中第一个矩阵是源摄像机的固有校准矩阵,其(fx,fy)是焦距(分别除以图像宽度和高度),并且(cx,cy)是相机投影中心,矩阵] Rt6是 源摄像机变换,d是目标摄像机中投影点的深度p =(px, py, pz) T,u, v是目标摄像机平面中p的坐标。 投影后,查询点被分配到图像空间中的最近点(如果u和v位于图像边界内)或被视为源云和目标云之间的非重叠体的一部分。这种方法虽然速度快但对于深度不连续的点云或距彼此很远的点云不精确。 这就是为什么这种方法建议只有在两点云已经靠近在一起后才能使用,这对于以高帧速率记录的流中的连续点云进行对齐是很好的。 清单4给出了基于投影的对应性估算的代码片段
拒绝和过滤通信
由于无效的通信会对注册结果产生负面影响,因此大多数注册管道都具有拒绝步骤。该步骤包括对前一阶段中匹配的点对进行滤波,以促进变换估计算法收敛到全局最小值。此步骤可以利用输入点云中可用的辅助信息,例如局部曲面法线或关于对应关系的统计信息。参考图3,通常在PCL中部署和使用以下对应拒绝方法。 1)基于距离的对应拒绝:该方法滤除距离大于给定阈值的点对[见图3(a)。它被用于[1]中,并且在ICP算法的原始公式[2](“函数去除器距离)”中已经提到过。
2)基于中值距离的排斥:与先前的排除器不同,该算法不使用固定阈值,它作为输入集合中所有点对点距离的中位数,因此,它考虑点之间的距离分布并适应它,随着两个点云在ICP迭代过程中接近而变小。基于平均值的自适应阈值,中值通常更有效地减少异常值的影响
(“CorrespondenceRejectorMedianDistance”)
3)拒绝具有重复目标匹配的对:通常,源云中的每个采样点都被分配给目标云中的对应关系,因此目标云中的一个点可以被分配多个相应的源点[见图3(c)],这个剔除器只保持一对 距离所有对中最小距离的那个
(对应RejectorOneToOne)。,,
4)基于RANSAC的拒绝:该方法应用随机样本一致性(RANSAC)[6]来估计给定对应集的子集的变换,并且基于应用计算的变换之后的点之间的欧几里得距离来消除离群值对应到源点云。它有效地保持ICP算法不会收敛到局部最小值,因为它总是会产生稍微不同的对应关系,并擅长过滤异常值。此外,它为随后的所有内部对应关系的变换估计提供了良好的初始参数
(“CorrespondenceRejectorSampleConsensus)”
为了注册来自投影传感器的点云,存在利用输入数据的类似图像结构的对应拒绝器。最值得注意的是,基于RANSAC的对应剔除器的特殊二维(2-D)变体(“函数去除器样本共识2D”)基于源点被变换并投影到目标相机平面之后在图像平面中的像素距离丢弃对。
5)基于正常兼容性的拒绝:该过滤器使用关于点的正常信息并拒绝那些具有不一致法线的对,即它们的法线之间的角度大于给定阈值,它可以拒绝在判断时看起来正确的错误对仅通过点之间的距离,例如图3(b)所示的情况(“通信拒绝表面正常”)。
6)基于表面边界的抑制:此外,当投影传感器捕获的两个点云表示具有部分重叠的表面时,接受包含表面边界点的对应会引入误差[图3(d)]。为了检测这样的点,我们可以利用深度图的组织性质,通过在深度图像上移动一个窗口并检查窗口中是否有足够的点在距离阈值深度内的点来消除包含深度不连续点的对应关系
7)Rejector Pipelines:通常,不仅是应用了单个剔除器,而且还有几个对应拒绝器排队等候实现过滤管道,例如,Diebel等[7]将不同的解决方案可以抑制主动立体点云中的点对,并强调拒绝网格边界点的重要性(参见“变换估计和加权”部分中的RGB-D示例),并根据它们的正常兼容性拒绝对基于它们的点对点距离,使用基于中值距离的距离阈值。在PCL中,可以很容易地使用多个拒绝器使用前一个拒绝的输出对应关系作为下一个输入的连接。我们在清单5中提供了PCL对应拒绝的用法示例。给定输入点云和一组估计的对应对,getCorrespondences运行拒绝并返回已过滤的对应对的向量。此外,PCL中的所有对应拒绝方法都使用getRejectedQueryIndices来检索拒绝的对应对的查询点的索引。 例如,该信息对于确定源点云与目标点云之间的不重叠部分很有用
对齐误差度量和变换估计多年来,已经有许多数学方法来求解刚性变换T,以最小化点对的误差。 T由旋转R和平移组成。 t请注意,当提到一个变换T和一个点时,将使用p齐次坐标。 在文献中已经考
全文共15472字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[13523],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。