具有自适应收敛阈值的多视点云配准及其在3D模型检索中的应用
概要:
多视点云注册是人工智能和多媒体技术社区中的热门话题。在本文中,我们提出了一种新颖的框架,该框架可以使用具有自适应收敛阈值的多视点云配准算法重建3D模型,并将其随后应用于3D模型检索。迭代最近点(ICP)算法是通过自适应收敛阈值实现的,并且进一步与运动平均算法相结合来注册多视点云数据。在注册过程之后,将为3D模型检索设计应用程序。几何显着性图是基于顶点曲率计算的。选择测试面部三角形以与标准面部三角形进行比较。然后区分面部和非面部模型。实验和比较证明了所提出框架的有效性。
关键词点云配准ICP算法收敛阈值几何显着度3D模型检索
1引言
人工智能(AI)和多媒体是支持人们日常生活和经济活动的重要技术[17]。这些技术可以应用于交叉模式检索[22],运动异常检测[15],面部检测等应用。多视角点云配准是一个活跃的研究领域,受3D激光扫描技术的最新发展推动,以从物体表面获取高精度数据[4]。但是,由于扫描范围有限,激光通常无法在单次扫描中获得3D对象表面数据的完整收集。因此,重要的是有效地集成从两个或多个视图收集的点云数据以生成完整的模型。然后,可以在各种应用程序中使用完整的,重构的3D模型,例如3D模型检索,3D纹理模型加密[12],3D点云加密[11]等。人工智能和多媒体研究界已经提出了与此问题相关的有价值和有趣的结果。这个问题的核心是需要在空间上对齐来自不同点云的两个数据元素,每个元素都是由扫描生成的。这是通过将数据对转换为公共坐标系(称为成对注册)来实现的。迭代最近点(ICP)算法是用于成对注册的经典算法。但是,该算法有几个局限性:局部收敛;无法解决点云对之间部分重叠的问题;并手动确定收敛阈值,这是耗时的,并且需要人工判断。 Chetverikov等。 [6]通过利用重叠率进行有效选择来改进ICP算法,即修剪的迭代最近点(TrICP)算法。罗蒙诺索夫等。 [16]实现了一种用于全局搜索的遗传算法,以计算初始值的最佳配准。 Sandhu等。 [19]应用粒子滤波器使初始值的注册更有效,并改善具有全局收敛性的ICP算法。但是,这些方法只能处理点云对之间的配准。
点云数据的多视图注册是一个更普遍的问题,因为使用了三个或更多点云。通过仔细考虑所需的附加参数,已经在成对注册的基础上探索了多视图注册问题[10,23]。文献中提供了许多建议的解决方案。多视图配准问题可以通过二次编程的代数参数来解决[20],其中图中的每个节点和边都表示一个点云和相关的成对配准。 Chen等。文献[5]提出了点云配准的基本概念,即通过ICP算法匹配相邻的点云,然后将所有的点云数据转换为单个全局坐标系。但是,这种方法很容易受到ICP算法的局部收敛性的影响。 Bergevin等。 [2]提出了一种改进的ICP算法来处理所有点云数据之间的旋转和变换。但是,该方法的计算量很大,这限制了它在非常大的数据集上的应用。郭等。 [9]和Fantoni等。 [8]提出了通过提取顶点特征来注册点云数据的方法。但是,在获得的特征不足的情况下,注册不会发生。
由点云数据的多视图配准生成的3D模型的实际应用也受到了社区的关注。例如,3D人脸模型检索是3D模型计算社区中的热门问题。在[1]的研究中,提出了一种用于3D人脸检测和建模的通用方法。通过计算高斯平均曲率来实现多尺度分析。 Creusot等。 [7]提出了一种自动机制来检测3D面上的关键点,它构成了局部形状字典。在拉比等人的研究。 [18],提出了一种具有自适应半径的人脸分割方法。面部模型的固有属性是从高斯平均曲率中得出的,用于分割。在[3,14]的研究中描述了类似的方法。
本文提出了一种具有自适应收敛阈值的多视点云配准方法。该方法改进了经典的ICP算法,具有自适应收敛阈值,从而无需手动确定设置,并结合了运动平均算法以提高精度。此外,在新型3D人脸检测应用程序中使用了重建的3D模型。通过将几何显着性聚类为面部三角形来实现3D面部检测。面部模型和非面部模型是通过测试三角形和标准面部三角形的区别来区分的。
本文的主要贡献概述如下:
–通过自适应收敛阈值增强了ICP算法,从而使点云数据的基础成对注册更加有效;
–运动平均算法适用于多视点云配准问题,因此可以解决误差累积问题。
–提出了一种新的3D人脸检测方法,该方法基于测试和标准人脸三角形的匹配,利用表面的几何显着性。
本文的其余部分安排如下:在第2节中,介绍了具有自适应收敛阈值的多视点云注册算法。 第3节介绍了基于多视点云注册结果的3D模型检索的应用。 实验和分析将在第4节中介绍,然后是结论和第5节中的未来工作。
2具有自适应收敛阈值的多视点云注册
在本节中,我们提出了具有自适应收敛阈值的多视点云配准算法。首先,介绍了自适应收敛阈值的概念。随后介绍具有自适应收敛阈值的ICP算法和运动平均算法。最后,提出了所提出的多视图配准算法。
2.1自适应收敛阈值
对于阵列点数据,可以通过水平分辨率表示3D点之间的水平距离。然而,传统的激光点云缺乏水平分辨率的参数。可以通过3D点之间的平均距离来估算3D点之间的水平距离。公共数据集主要基于激光点云而不是阵列点云,因此本文重点关注激光点云。阵列点云将在未来进行研究。点集距离是成对注册点云数据的停止条件之一。如果点集距离小于某个阈值,则完成两个点云集的配准。如果它们接近,点集的距离将达到最小值。结果,我们预测了用于注册的点集的理想距离,该距离被用作距离阈值。
根据王等人的研究。 [21],每个理想匹配的对应点
数据集中的“ R”是围绕修改点的半径2Lr / 2的圆内,其中Lr是水平分辨率。此外,点对之间的距离受重叠率的影响。点对之间的平均距离随着重叠率的增加而减小。因此,我们利用加权重叠率使距离更合理。同时,距离误差是另一个影响套准结果的因素。配准收敛阈值表示为:
见原文(1)
其中Np表示重合点的数量,Nt是点云数据的总数,Re表示系统的范围精度。
本文采用激光点云代替阵列点云。 结果,上述等式可以在某种程度上进行修改:
–缺少用于表示激光扫描系统中水平分辨率的参数。 由于采用了统一的扫描方法,因此可以假定点云数据之间的距离遵循均匀的分布。 结果,计算点云数据之间的均匀距离作为水平分辨率的参数。
–在注册之前选择点云数据。 仅考虑重叠率超过50%的点云数据。 结果,重叠率对系统测距的影响很小。 因此,我们删除了加权系统测距的重叠率。
修改后的收敛阈值定义如下:
见原文(2)
2.2 ICP算法的自适应收敛阈值
给定点云数据P和Q,我们将R∈R3×3表示为旋转参数,将t⃗∈R3表示为平移参数。具有自适应收敛阈值的ICP方法的流程图如图1所示,该流程图包括以下步骤:
–(1)点云对的本地化。首先,我们使用从粗配准获取的旋转和变换的初始参数对点云P进行变换。其次,针对P中的每个点搜索Q中最接近的点。重叠率是同时计算的。
–(2)参数(R,t⃗)的计算。计算所有相应点的总距离。此外,指定了最佳的刚性变换(R,t⃗),它可以最小化距离之和。
–(3)点云P的变换。基于从第二步骤获得的(R,t 1)对点云P进行变换。
–(4)点云数据的注册。迭代计算在两个条件下终止:(1)新变换的点云与模型点云之间的平均距离小于自适应阈值ethr; (2)达到最大迭代次数Niter。否则,将新变换的点云用作下一次迭代的新点云P。
具有自适应收敛阈值的ICP算法使点云数据的配准更加准确。过滤掉不合理的对应点后,计算出点云数据之间的转换关系。迭代方法可提供更准确的注册结果,且匹配错误更少。但是,该算法仅处理成对的点云数据的注册。因此,在下一步中将为多视点云配准实现运动平均算法。
见FIG。1
2.3运动平均算法
直接从多视点云配准构造的3D模型会导致错误累积。运动平均算法旨在解决误差累积问题,该算法通过比较精确相对运动和近似相对运动来计算误差校正项。纠错项从Lie组转换为Lie代数。然后从李代数空间中提取列向量。随后,将纠错信息分配给每个点云的全局运动以减轻错误累积。运动平均算法的主要步骤如下:
–(1)计算相对运动Mij与初始相对值之间的校正值
运动M0:ij
–(2)校正值从李群M转换为相应的李代数m [20]:
Δmij= log(ΔMij)(4)
–(3)列向量由李代数矩阵建立:
Δvij= vec(Δmij)(5)
通过计算包含所有纠错项的列向量ΔVij以及用于点云关系的矩阵D,可以获取具有用于全局运动的校正信息的矩阵。
ΔVij= [Δvij1,Δvij2,…,Δvijn](6)ΔI= D†ΔVij(7)
–(4)提取矩阵ΔI中每个点云的列向量,并恢复李代数形式:
ΔI= [Δv1,Δv2,…,Δvk,…,ΔvN] T(8)
Δmk= cev(Δvk)(9)
–(5)对于每个点云,Lie代数被转换为Lie组,用于校正每个帧的整体运动:
∈k∈[2,N],Mk =eΔmkMk(10)
(6)对于每个点云的新计算的全局运动,我们执行M0全局
Mglobal。重复步骤(1)-(6),直到所有列向量都具有相对较小的纠错项,即∥ΔI∥<ε。
运动平均算法消除了累积的误差,从而产生了更准确的旋转平移矩阵。进而,实现了多视点云配准的更准确结果。
见(3)-(10)
2.4多视图注册算法
该算法的输入主要包括点云数据和N帧的初始全局运动,而输出是最终的精确全局运动。主要步骤如下:(1)计算成对点云数据之间的重叠率; (2)如果(1)中计算出的重叠率大于ξ0,则进行成对登记。采用具有收敛阈值的ICP算法来获得相对运动。 (3)通过运动平均值计算出更准确的全局运动,并同时计算出相应的误差; (4)如果计算出的误差小于某个阈值,则迭代停止;否则,当前的全局运动将用作新的初始值。
算法1中总结了多视图注册的过程。函数comput overlay(Pi,Pj)表示点云pi和pj之间的重叠百分比。函数testICP(Pi,Pj)表示使用基于自适应收敛阈值的ICP算法在点云Pi和Pj之间的相对运动。函数Motion Averaging(Mij1,Mij2,…,Mijn)是一系列不相邻的点云作为输入的相对运动。实施运动平均算法以计算每个点云之间的精确全局运动。 Ri和Ri0表示相邻迭代的旋转矩阵,而函数ek = cal error(Ri,Ri0)表示相邻迭代之间的匹配误差。
见algorithm1
3 3D模型检索的应用
点云数据的多视图注册可应用于许多有用的应用程序,例如3D模型检索,3D模型重建等。 基于新的配准结果,3D模型更加完整和准确,因此具有更多的几何特征可用于模型检索。 在本节中,我们以3D人脸模型为例来说明3D模型检索过程。 模型检索过程包括两个主要步骤:(1)几何显着性计算,以及(2)面部三角形匹配。
3.1几何显着性计算
给定离散顶点的平均曲率,用Laplace-Beltrami算子表示3D人脸模型的几何显着性以聚合3D模型顶点[13]。
我们将N(v,σ)= {x |∥x-v∥<σ}表示为到顶点v距离σ之内的顶点的集合。顶点v的加权高斯曲率可以通过以下公式计算:
见(11)
其中l(x)是顶点x的平均曲率。
为了计算几何显着性,不同比例的顶点显着性是
计算依据:
见(12)
其中σi是高斯滤波器在尺度i处的标准偏差,并且实验中的尺度值为{2ξ,3ξ,4ξ,5ξ,6ξ},并且ξ设置为模型周围对角线长度的0.3% 框。 获取几何显着图后,有必要对几何显着区域进行聚类。 首先,我们将显着性阈值设置为显着性,以确定高显着性区域。 其次,指定距离阈值thdist。 距离小于距离阈值的显着区域属于同一簇。
3.2三角匹配和误差计算
给定三个显着区域,通过显着性聚类形成一个三角形。 假设3D面部网格中存在N个显着区域,则根据排列和组合的数量选择CN3面部三角形。 3D脸部的眼睛和鼻子区域具有更多的区域特征,因此标准的面部图模型由眼睛和鼻子区域组成。 面部三角形的图示如图2所示。
见algorithm2
根据3D面部模型的特征,执行标准和测试面部三角形之间的配准,其中基于标准3D面部模型DS注释标准面部三角形F TS。 实施以下步骤进行配准:
–(1)移动测试三角形,使其中心与标准面部三角形的中心重合;
–(2)旋转测试三角形,使其法线向量与标准面部三角形的法线向量一致;
–(3)缩放测试三角形,以使其与标准三角形的总顶点距离达到最小。 如果测试和标准三角形之间的匹配误差小于阈值T hresF T,则确认3D人脸模型。
算法2中总结了3D人脸模型的检索过程。
注释:
1/Laplace-Beltrami:
一、 拉普拉斯坐标相关理论
拉普拉斯网格变形的本质是网格模型局部细节特征的编码和解码的过程。编码过程是指网格顶点的欧氏空间坐标到Laplacian坐标的转换。Laplacian坐标包含了网格的局部细节特征,因此Laplacian网格变形算法能够较好地保持网格模型的局部细节。解码过程是指通过微分坐标反求欧氏空间坐标,实质上是一个求解线性系统的过程。因此Laplacian网格变形算法高效、鲁棒。
https://blog.csdn.net/hjimce/article/details/46415239
2/加权高斯曲率
微分几何中,曲面上一点的高斯曲率是该点主曲率κ1和κ2的乘积。它是曲率的内在度量,也即,它的值只依赖于曲面上的距离如何测量,而不是曲面如何嵌入到空间。
所谓曲面上某点的高斯曲率,即该点两个主曲率的乘积。把曲面上的顶点映射到单位球的球心,把法线的端点映射到球面上,即将曲面上的点与球面上的点建立了一种对应,叫做曲面的球面表示,也叫高斯映射。高斯曲率的几何意义,即球面上的面积/曲面局部面积的极限,可以看出,高斯曲率确实反映了曲面局部的弯曲程度。
利用高斯曲率的正负性,可以很方便地研究曲面在一点邻近的结构,高斯曲率K>0为椭圆点,K<0为双曲点,K=0为平面或抛物点。并且高斯曲率是曲面的内蕴量,只与曲面的第一基本型相关,与坐标轴的选取和参数化表示无关。
3/ICP算法流程
首先对于一幅点云中的每个点,在另一幅点云中计算匹配点(最近点)
极小化匹配点间的匹配误差,计算位姿
然后将计算的位姿作用于点云
再重新计算匹配点
如此迭代,直到迭代次数达到阈值,或者极小化的能量函数变化量小于设定阈值
数学原理:https://blog.csdn.net/kksc1099054857/article/details/80280964
4/李群,李代数
李群:是指连续光滑的群,比如我们前面说的旋转矩阵群SO(3),你想象你拿个杯子就可以在空间中以某个支点连续的旋转它,所以SO(3)它就是李群。如果你一般旋转一边移动它,也是连续的或者说光滑的运动,所以变换矩阵群SE(3)也是李群。
李代数:相机在三维空间中是连续的旋转或者变换,目的就是优化求解相机的这个最佳的位姿T(变换矩阵),优化方法一般都采用迭代优化的方法,每次迭代都更新一个位姿的增量delta,使得目标函数最小。这个delta就是通过误差函数对T微分得到的。我们需要对变换矩阵T求微分(导数),李代数对应李群的正切空间,它描述了李群局部的导数。
对于某个时刻的R(t)(李群空间),存在一个三维向量φ=(φ1,φ2,φ3)(李代数空间),用来描述R在t时刻的局部的导数。
4实验与分析
在本节中,设计实验以评估所提出的算法。从Stanford 3D模型数据库(http://graphics.stanford.edu/data/3Dscanrep/)收集用于多视点云注册评估的实验数据。
首先,我们比较了多视图点云的粗略和精确配准结果的截面图,如图6所示。斑驳程度的比较结果表明,点云的配准是经过精确定位后最精确的。低阶和稀疏矩阵分解(LRS-Llalm),基于ICP的运动平均(MA-ICP)和所提出的方法(MA-ATICP)的结果在斑驳度度量中相似,因此我们将原始数据及其横截面说明了实验结果。
为了定量评估这些方法,目标函数被用作用于多视图配准结果准确性评估的误差标准。表1比较了上述方法的配准结果的运行时间和目标函数值,其中粗体数字表示实现的最佳性能。如表1所示,MA-ATICP算法在准确性和运行时性能方面表现非常出色。特别是,MA-ATICP算法的速度要快得多,尤其是在非常大的点云数据集的情况下。
为了以更直观的方式评估配准精度,图7显示了基于Bunny,Dragon和Happy的3D模型的三种基线方法的横截面。图8提供了部分放大结果的横截面,以进行比较。
如图所示。如图7和8所示,与其他方法相比,MA-ATICP算法可获得最准确的配准结果。
使用常用的初始参数在Bunny上测试了这三种方法,以评估所提出算法的鲁棒性。通过将均匀噪声添加到初始全局运动R20,R30,…,RN0 conducted进行实验。为了减少随机效应,我们针对三种噪声水平[10]实施了50次蒙特卡洛试验(MC试验):[-0.02,0.02],[-0.04,0.04]和[-0.06,0.06]如表2所示。Mean(O)和Std(O)表示对象的平均准确度和标准偏差,而Mean(T)表示平均时间成本。给出了平均值,目标函数的标准偏差和平均运行时间的比较,其中粗体数字表示最佳性能。为了以更直观的方式查看注册结果,请参见图5和图6。图9、10和11描绘了每个MC试验中所有基线方法的注册结果的目标函数值。比较结果表明,MA-ATICP算法在不同噪声水平下都能获得最准确,最可靠的配准结果。
LRS-Llalm算法结合了低秩稀疏分解方法来实现多视图配准,由于缺少相对运动的比例很高,该方法可能会失败。 MA-ICP算法采用传统的ICP算法来处理部分重叠的双视点云数据之间的配准,当初始误差过大时,无法获得理想的多视点配准结果。与这些基准方法相比,MA-ATICP算法可实现最佳性能。
多视点云数据的注册为3D模型检索的应用奠定了坚实的基础。作为3D模型检索的典型示例,我们进一步评估了3D人脸检测应用程序的有效性。重建的3D人脸可以用作3D人脸检测的测试数据,并计算测试和标准模型之间的匹配误差,如图12所示。此外,针对36个测试3D人脸的匹配误差如表3所示。通过设置适当的匹配误差阈值,可以轻松识别人脸模型和非人脸模型。
注释:
图7两种竞争方法的多视图配准结果的横截面。 a3D模型。 b初始模型的横截面。 c LRS-Llalm的横截面。 d MA-ICP的横截面。 e MA-ATICP的横截面
图8兔子和龙的部分放大结果的横截面。a初始模型的横截面。 b初始模型的放大横截面。 c LRS-Llalm的放大横截面。 d MA-ICP的放大横截面。 e MA-ATICP的放大横截面
图9每个MC试验中LRS-Llalm注册结果的目标函数值,a和b是c的放大结果
图10每个MC试验中MA-ICP的配准结果的目标函数值,a和b是c的放大结果
图11每个MC试验中MA-ATICP的配准结果的目标函数值,a和b是c的放大结果