朝着基于对称性的真实感点云补全方法迈进
摘要
3D 扫描是一个复杂的多阶段过程,通常会生成包含因遮挡、反射、阴影、扫描器运动、物体表面特定属性、不完善的重建算法等原因导致的损坏部分的点云。点云补全专门用于填补物体的缺失部分,以获得其高质量的 3D 表现。现有的补全方法在具有预定义对象类别和非常特定缺陷类型的学术数据集上表现良好;然而,在现实世界环境中的表现显著下降,并且在以前未见过的对象类别上表现进一步恶化。
我们提出了一个在对称对象上表现良好的新框架,这类对象在人工环境中无处不在。与基于学习的方法不同,所提出的框架不需要训练数据,并且能够补全客户在使用例如 Kinect、TOF或结构光扫描器进行 3D 扫描过程中发生的非关键性损坏。通过详尽的实验,我们证明了所提出的框架在现实世界客户扫描的点云补全中实现了最先进的效率。我们在两种类型的数据集上对框架性能进行了基准测试:适当增强的现有学术数据集和各种对象的实际 3D 扫描。代码可在此获取:https://github.com/softserveinc-rnd/symmetry-3d-completion
1介绍
3D物体几何形状的识别能力是许多计算机视觉应用中的关键前提。这个任务可以通过3D扫描仪来完成,包括激光雷达(LIDAR)、飞行时间(ToF)传感器和结构光传感器,这些技术在过去几年中取得了巨大进展,变得更加普及和易于使用。
点云格式通常用于表示物体的3D形状。由于传感器的分辨率有限以及遮挡等因素,扫描流程的输出通常是一个不完整的点云。恢复损坏的点云,填补缺失部分,这一过程称为点云补全,是许多3D扫描流程中的关键步骤,因为它能够生成更准确的物体3D表示,并且提升进一步3D计算机视觉流程的整体性能。
目前大多数点云补全解决方案基于深度神经网络,这些网络通常是在具有有限类别的庞大数据集上进行训练的,这限制了这些解决方案可以完成的对象类别。最先进的方法使用的数据集,例如ShapeNet([3]),通常包含最多40个类别,这对于实际应用来说是一个严重的限制,因为重建新类型的物体需要进行长时间的训练,并且需要大量难以收集的数据集。
为了克服这个问题,我们提出了一个新的框架,它不需要训练数据,并能够完成之前未见过的对称物体。这里感兴趣的对称性是镜像反射对称性,它在大多数人造物品中都能找到。
我们的使用场景与一些针对自动驾驶的解决方案不同,后者已提出某些解决方案,主要集中在部分观察物体的补全,如KITTI数据集([11])。而我们的框架则专注于不同的使用场景,处理使用飞行时间(ToF)或结构光扫描仪进行的不完美完整物体扫描,其中损坏可能由于扫描器运动过快或由阴影和遮挡造成。例如,使用TrueDepth相机时,当iPhone运动速度超过点感知速度,或物体放置在转盘上,且仅由一个相机拍摄时,某些区域可能会丢失。另一个例子是结构光扫描流程,在此过程中,投影仪作为光源设置在扫描物体的某一侧,这可能导致阴影,从而在最终的点云中产生损坏,如图1所示。
我们的框架由三个主要步骤组成。在第一步中,我们通过对表面法线应用主成分分析(PCA)[9],并结合一种新的主导凸包方向方法,来近似给定点云P的对称平面。然后,我们根据近似的对称平面构造P的镜像反射P′。由于点云P中的对称性被破坏以及对称平面近似的不完美,P′与P并不完全重合。第二步是点云P和P′的配准,旨在最小化它们之间的匹配误差。我们使用了基于特征点的全局配准算法,通过快速点特征直方图(FPFH)[17]与随机样本一致性(RANSAC)[4]方法进行配准,配准过程通过迭代最近点(ICP)算法[2]进一步改进。第三步是利用我们提出的接近度度量,检测点云P中缺失的部分,并完成点云P的补全,以更好地表示初始3D物体。
我们在两个数据集上展示了所提出框架的性能,包括标准学术数据集ShapeNet,并对其进行了适当的增强以适应我们的使用场景,补全时损坏率较低;以及为本研究收集的真实世界物体的3D扫描。我们将我们的算法精度与几种神经网络进行了比较,如GRNet(网格残差网络)[26]、MSN(形态采样网络)[13]和PCN(点补全网络)[28]。除了不需要任何预训练并且不局限于特定物体类别外,我们的方法还达到了与其他方法相当的最先进补全效果。由于对称平面检测精度对框架整体性能至关重要,我们还在2017年ICCV挑战赛:野外对称性检测([10])数据集上进行了基准测试,并报告了比Cicconet等人[5]的解决方案更好或相当的结果,后者是唯一提供代码的解决方案。最后,我们展示了我们的框架能够推广到之前未见过的真实世界物体,这些物体是通过三种不同类型的3D扫描仪收集的:Microsoft Kinect、iPhone的TrueDepth相机(或最新版本的LIDAR)以及结构光扫描仪。
本文的主要贡献可以总结如下:
提出了一种基于镜面对称性的无学习点云补全框架;
作为框架的中间步骤,引入了一种新颖的对称平面检测技术;
开发了一种新颖的距离度量方法,用于衡量点云匹配的准确性;
在常用的学术数据集ShapeNet和新收集的真实世界扫描数据集上进行了实验;基准测试表明,所提出的框架在对称物体的一般类别上表现良好,甚至在提供的数据集上优于最先进的方法。
2相关工作
2.1点云补全
基于深度学习的方法:早期的点云补全方法主要集中在使用深度神经网络(NN)。其中一些方法基于多层感知器(MLP),因为其简单性和强大的表达能力。Qi等人[16]引入了PointNet,该网络直接应用于点云,并正确处理其输入的排列不变性。然而,这类方法在聚合特征时使用对称函数(如Max-pooling),这些函数未能充分利用点云的几何结构。为了解决结构和上下文信息丢失的问题,Xie等人[26]通过引入3D网格作为无序点云的中间表示来进行正则化,并基于这些网格提出了Gridding Residual Network(GRNet),该网络在Completion3D基准[23]上表现出色。同样,为了克服结构信息的丢失,Groueix等人[12]提出了一种方法,将三维形状表示为一组参数化的表面元素,利用形状的表面表示而不是体素网格或点云。类似地,Liu等人[13]也提出了一种使用参数化表面元素集合的方法。在第一阶段,他们预测出一个完整的粗粒度点云,然后在第二阶段中,算法通过提出的采样方法将预测结果与输入点云融合。与中间参数化或体素化不同,Yuan等人[28]提出了一种点云补全网络(PCN),该网络直接作用于点云,不依赖任何结构或几何假设,并以粗到细的方式完成点云补全。
基于几何的方法:除了基于学习的方法外,还有一些尝试采用基于几何的方法,这些方法利用几何特征来完成形状,而不需要任何外部数据。基于几何的方法本身可以分为表面插值方法和对称驱动方法。Sarkar等人[18]提出了一种通过表面片段进行三维形状参数化的方法,该方法可以对复杂表面纹理进行插值形状补全。Sorkine等人[20]的研究结果利用了网格的连通性,该网格包含几何信息,以最小二乘方式逼近一组控制点。Zhao等人[29]提出了一种通过近似新创建的法线来填补三角网格模型中大洞的方法。需要注意的是,这些论文的主要任务是通过平滑插值和基于网格的信息来填补局部小范围的不完整区域,而这并不是点云的使用场景。Mitra等人[14]讨论了现有三维对称算法的优势和局限性。Pauly等人[15]通过配对相似变换的分析,引入了检测网格模型中重复几何模式的框架。Sung等人[22]的方法利用三维模型集合构建结构性部分先验来进行补全。他们还专注于低质量消费级扫描仪的使用案例,并取得了相近的结果,但这仍然是基于训练的方法。
2.2对称平面检测
对称平面检测在点云中的应用可以在计算机视觉和计算机图形学的多个领域中找到。Fan Xue等人[27]表明,利用物体类型的先验知识可以很好地完成对称估计。然而,在一般情况下,物体类型是未知的。Combes等人[7]在假设物体是双边的(具有完美或不完美的镜像对称)的情况下,提出了一种使用最大似然原则和期望最大化(EM)算法的迭代方法。为了处理噪声或缺失数据的问题,Sipiran等人[19]开发了一种基于特征的方法。该算法根据检测到的特征生成一组对称候选项。投票系统验证所有候选项并选择最优的一个。在2017年的ICCV挑战赛“Detecting Symmetry in the Wild” [10]上,提出了几种有趣的方法。Cicconet等人[5]开发了一种基于配准的简单高效的对称估计方法,这也是我们流程中的关键步骤。然而,当对称部分的点没有完美对齐或点云中存在缺失部分时,该算法的准确性下降。Speciale等人[21]提出了从不完整数据中检测对称的方法,从而实现场景补全。他们扩展了标准对称检测技术,以利用部分未探索的领域。Cohen等人[6]提出了一种利用几何线索恢复对称关系的方法。对称先验被纳入新的约束束调整公式中。该方法可以基于对称性进行三维补全,以去除结构光(SfM)伪影。
3.方法描述(Pipeline description)
3.1包围框和中心点计算
点云中的缺失区域会对整个物体的几何估计造成误差。为了定位点云并最小化缺失部分的影响,我们将其放入其包围盒中;包围盒是一个最小体积的立方体,围绕点云构建,其面与坐标平面平行。通过检测点云在坐标 x、y 和 z 轴上的极值点来构造包围盒;立方体顶点的坐标是这些极值的组合。
包围盒的质心 c 的坐标为:
边界框质心c对于点云损伤比点云质心
更稳定,我们更倾向于将其作为第3.2.3小节的主凸船体方向方法中对称平面近似的参考点。
3.2对称平面估计
标准的对称平面估计方法由于随机点采样和点云中不对称的缺失部分,无法找到正确的对称平面 π。然而,提出的算法只需要一个足够接近正确平面的对称平面近似。我们提出两种对称平面估计的方法,分别基于施加到表面法线的主成分分析(PCA)和主导凸包方向。这两种方法生成多个对称平面的候选项,并使用平衡距离度量(3)对每个候选项进行评估,以选择最佳的对称平面。实验表明,使用这个最佳候选项作为初始对称平面近似,会导致与真实值之间的 Chamfer 距离更优的解(见图 3)。
图 3. 随机初始对称平面近似与使用 PCA 候选项的建议近似的最终结果比较。实验在适当增强的 ShapeNet 数据集上进行,涉及 9 种不同的损坏率。
3.2.1主成分分析(PCA)
3.2.2 法向主成分分析(PCA of normal directions)
3.2.3 主凸包方向(Dominant convex hull directions)
3.3指标
3.4配准(Registration)
点云的配准是必要的,因为对称平面的候选仅仅是一个估计。常用的点云对齐方法是迭代最近点算法(ICP),它被称为局部配准方法,因为它依赖于一个粗略的初始对齐。相比之下,我们将使用不需要初始对齐的全局配准,但全局配准产生的结果精度较低,因此它将作为输入用于 ICP,后者将进行后处理优化。
3.4.1 法线和FPFH特征(Normals and FPFH features)
FPFH特征[17]描述了点云的局部几何特性,由33维向量构成。FPFH特征的计算需要基于点的局部邻域和协方差分析的点正态估计。应提供相机位置或对准轴,以便在两个方向中始终选择一个。
3.4.2 全局配准(Global registration)
提取的FPFH特征可以用于执行点云的配准。基于RANSAC算法并使用Choi等人[4]提出的参数进行的配准,由于需要大量的模型提议和评估,因此速度较慢,所以它是在下采样的点云上进行的。而快速全局配准(Fast Global Registration)算法则优化了寻找点对应关系的过程,因为在每次迭代中,它不涉及模型的提议和评估。
3.4.3 通过ICP优化配准(Refine registration via ICP)
迭代最近点[2]是一种经典的点云配准方法。该算法找到最佳旋转矩阵R和平移向量t,使平方误差最小,定义为
式中xi和pi分别为待对齐点云p和p′中的对应点,Np为对应点对的个数。如果知道正确的对应关系,则可以在一个步骤中准确地执行对齐。然而,通常情况下,匹配点是事先不知道的,ICP迭代地寻找最优变换。
3.5 孔检测与充填(Hole detection and filling)
3.6 Skipping
4.实验
为了评估目的,我们选择了ShapeNet数据集 [3],因为它是3D补全应用中最常用的来源。我们首先解释评估数据集的形成方式,然后描述用于评估所提算法性能的指标,并与其他点云补全和镜像对称检测方法进行比较。接着,我们报告这两项任务的相关评分,最后展示所提方法在真实世界3D对象扫描中的点云补全性能。
4.1. 数据集创建
性能评估是在一个适当增强的ShapeNet数据集上进行的,该数据集由8个类别组成,其中30 974个3D模型已经均匀采样,网格上有16 384个点。在一些流行的基准测试(例如Completion3D[25])中,上述数据集被严重损坏,损坏率(缺失表面的比率)高达70%,这在自动驾驶中是很正常的,因为激光雷达只捕获汽车的一侧,而算法必须完成整个看不见的区域。由于我们的情况不同,损害赔偿的类型也必须不同于现有的基准。我们希望物品的损坏率为15-30%,这对我们的情况来说是很自然的。为了进行不同难度的实验,我们创建了9个版本的数据集,这些数据集的损坏率DR从5%到45%,步长为5%,缺失区域的数量随机在⌊0.7DR⌋和≤0.95DR <e:1>之间波动。损伤区域的随机数量、大小和位置是对算法鲁棒性的一个很好的测试。在基于学习的方法中,鲁棒性可以通过基于噪声的数据增强来实现,而在我们的例子中,随机损坏区域是噪声的逆。
4.1.1 真实世界数据集(Real-world data)
为了评估框架在真实数据上的性能,我们还收集了超过200个扫描对象的数据集。像椅子这样的大物体是用微软Kinect v2扫描的,而像玩具飞机这样的小物体是用iPhone的TrueDepth相机(或激光雷达)或我们的结构光3D扫描仪扫描的。基于学习的方法是在学术数据集上训练的,不能很好地推广到实际数据。为了符合比较方法的输入标准,对得到的对象进行降采样,适当缩放并相应平移,以包含与原始ShapeNet数据集相似的固定数量的点。即使是在经过比较的方法训练的类别上,它们的表现仍然很差。虽然我们的框架不局限于给定类型和大小的点云或缺陷,所以它成功地完成了真实物体的3D扫描,如图6所示。
4.1.2 对称数据集(Symmetry Dataset)
我们的框架的关键步骤之一是估计最佳对称平面。为了评估该算法在这一步的性能,我们在2017年ICCV挑战:在野外检测对称性的3D全局反射对称数据集上对其进行基准测试,该数据集由1795个模型组成,每个模型最多有三个对称平面。
4.2 评估指标(Evaluation metrics)
4.2.1 倒角距离
作为两个点云P1和P2之间的接近度量,我们使用计算平均最近点距离的Chamfer距离[8,24]:
4.2.2 对称面检测精度(Symmetry Plane Detection Accuracy)
4.3 与其他方法比较
4.3.1 点云补全
我们在相同的数据集上评估不同损伤率下的完井结果。GRNet是Completion3D基准测试的顶级方法,总体上显示出良好的结果,但大约17%的输出具有非常大的倒角距离,从而导致中等的平均度量。MSN给出的结果比GRNet差,并且在小损伤上仍然比我们的方法表现得差。我们的框架有8%的异常大度量值是由于不佳的对称平面检测或其在原始对象中缺失所致;应用skip验证,我们显著提高了平均结果。
GRNet、PCN和MSN对损伤率的敏感性较弱,可以解释为相应的神经网络是在Completion 3D基准数据集(基于ShapeNet)的特定类别上训练的,因此可以在损伤率为70-80%的情况下完成学习对象的点云。相反,我们的方法将无法成功地重建如此严重受损的物体;然而,在多视图扫描中产生如此低质量的扫描是极不可能的。即使没有跳过验证,我们的结果也可以与最先进的方法在最多20%伤害率的物体上进行比较,这对于现实世界来说是很自然的,而最终结果在高达30%伤害率时更好,只有在35 - 40%之后才会下降。PCN和GRNet的结果基本相同,见图7,但PCN的整体精度较低。同时,参见图中5损坏的ShapeNet对象的视觉对比。
4.3.2 对称面检测精度(Symmetry Plane Detection Accuracy)
我们将所获得的对称平面估计精度与对称通过配准(SvR)算法[5]进行了比较。支持向量回归是基于曲线的最优对称成对分配。该算法在未损坏物体上的性能优于我们的算法2.4%。但随着损伤率的增加,其质量明显下降,而该方法的结果更加稳定;见表2。
5.限制
我们的方法存在局限性:非对称对象、对称损伤及其大小。我们需要注意,在训练模型的情况下,可以处理非对称对象。然而,每个这样的非对称类必须单独引入,而我们的方法很容易适用于新的对称对象。伤害率高达30%的对称损害是不可能的,但在我们的案例中,特别是在结构光管道中,这种损害是极不可能的,因为阴影或眩光只能出现在物体的一侧。对于我们的用例,我们关注的是15%到30%的中度损伤率,这对于多视图结构光或手动SfM扫描仪来说是正常的。另一个必须提到的点是我们方法的时间性能。对于16K点的ShapeNet模型,在Python CPU实现上需要1.3秒才能获得结果,而比较的方法不支持CPU。
6.结论
点云补全是现实世界中三维扫描管道的关键步骤,由于扫描过程或重建算法的不完善,物体通常会损坏。作为一个活跃的研究领域,最新的SOTA结果通常与训练有素的基于神经网络的模型相关联,这些模型可以学习不同类别物体的特性。虽然在特定情况下,这种方法在新类型或不可见对象的一般情况下显示出令人印象深刻的结果,但基于几何的方法可以显示出更鲁棒的的性能。
在本文中,我们提出了一个新的点云补全框架,利用物体的对称性来填充物体的损坏部分。该方法不需要训练数据,但却提供了比最近基于SOTA神经网络的方法(如PCN, MSN或GRNet)更好或相当的性能。
首先,我们探索了我们的算法在用于训练上述模型的学术基准数据集上的鲁棒性。在这里,对于低于30%的低伤害率,我们的方法明显优于其他方法,并显示出3到9的倒角距离。对于高达45%的更高伤害率,它显示出与SOTA相当的性能。接下来,我们展示了一个包含200多个物体的新的真实世界数据集,并定性地展示了我们的方法对物体形状变化的鲁棒的,而经过训练的方法在某些情况下会在以前看不见的数据上失败(见图)。我们管道的鲁棒性与我们在手稿中概述和基准的对称平面近似的新方法有关。与基准SvR算法相比,它在受损点云上的性能有显著提升,如表2所示。最后,为了重现我们的结果,我们提供了算法实现的代码。
由于提出的Point Cloud完井管道在生产3D扫描环境中进行了集成和测试,我们相信它具有广泛的潜力,可以作为一种鲁棒的工程解决方案,用于广泛的实际应用。