使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

基于Frobenius范数奇异值分解的快速ICP算法  PDF

  • 许可 1
  • 顾尚泰 1
  • 元志安 1
  • 万建伟 1
  • 马燕新 2
  • 王玲 1
1. 国防科技大学,电子科学学院,湖南 长沙 410073; 2. 国防科技大学,气象海洋学院,湖南 长沙 410073

中图分类号: TN914.42

最近更新:2023-10-25

DOI:10.11805/TKYDA2021369

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

迭代最近点法(ICP)及其变体是三维点云刚性配准的典型方法,但此类通过迭代计算逐点距离矩阵实现点云配准的方式,严重制约了点云的配准效率。本文提出一种快速ICP算法,利用Frobenius范数表示待配准的两幅点云之间的误差函数,获得误差值最小点位置,并对此位置进行奇异值分解,从而得到旋转矩阵和平移向量,极大压缩了迭代次数和配准时间。在Standford数据集和3DMatch数据集上进行试验,与传统ICP算法及其变体、3种基于学习的点云配准算法进行对比,本文方法配准效率最优;在达到相近的配准精确度时,提出的快速ICP方法的迭代次数仅为传统ICP算法的0.2倍,在Standford数据集上配准所需时间为传统ICP算法的1/4,在3D Match数据集上配准所需时间为传统ICP算法的1/8倍。本文提出的快速ICP算法在数据量大的点云场景下,具有更高的效率。

随着三维数据获取方法和计算机算力不断提升,智慧城市建设逐渐深化,三维点云数据处理技术逐渐成为计算机感知外部世界,实现智能化处理的重要手段。三维模型重建、三维目标跟踪和位姿估计等应用都促进了点云配准技术的发[

1]。点云配准是为原始点云寻求一个最佳的刚体变换,实现与目标点云匹配和连接的过程,是计算机视觉中最基础性的问题。配准精确度越高,则三维重建后模型效果越好;配准速度越快,越有利于配准技术的应用。迭代最近点(ICP)算[2-3]是解决点云配准问题的最经典的方法,通过交替进行最近点查询和最小化点云距离误差,实现对应点之间的匹配,保证达到局部最优的效果。但ICP算法在实际应用中难以达到理想效果,存在需要相对准确的初始位置,收敛速度慢,容易陷入局部最优等缺[4-5]

为解决以上问题,对ICP算法的改进一直都是点云配准算法中的研究热点:a) 利用局部点云曲率、法向量夹[

6]、栅格划[7]去除点云冗余度,但这些单一的精简策略常导致点云出现空洞或失去点云细节,从而降低配准精确度;b) 构建有序拓扑关系,加速邻近点查找:通过体素化网格、八叉树加速最近点搜索过程,从而提高云配准效率;c) 特征点提取与局部特征描[8],提高配准鲁棒性:依据刚体变换的旋转不变性提取点云表面法向量、曲率、几何特征或更高维特征,对所得特征进行匹配从而获取对应点。这种方法虽能有效改善配准精确度,但特征提取非常耗时,严重影响配准速度。

基于上述问题和思路,本文提出一种快速ICP算法,在经典ICP算法的基础上,利用Frobenius范数性质,提出了可以直接旋转矩阵和平移向量闭合解的方法。相对于传统ICP方法,缩短了单次迭代的时间;在Frobenius范数表示的点云矩阵上进行奇异值分解(SVD),在实现理想的点云配准精确度的情况下,提高了点云配准效率。本文在Standford数据[

9-10]和3DMatch数据[11]上,对比了3种基于学习的点云配准方法和4种传统的点云配准方法,本文提出的方法在配准时间和精确度方面具有更优的性能。

1 经典ICP算法

ICP算法本质上是基于最小二乘法的最优配准方法,该算法用迭代的方式选择最近点对,计算最优变换矩阵,直到满足正确配准的收敛精确度要求。ICP算法的目的是通过迭代的方式获取待配准点云数据与参考点云数据之间的变换矩阵,使两幅点云数据之间满足最佳的度量准则,实现配准,如图1所示。

图1  ICP算法原理示意图

Fig.1  Schematic diagram of ICP

该方法需要待配准的2个点云有较好的初始位置,两者的重叠区域大致对齐。从目标点云中查询原始点云中所有数据点在另一片点云中的最近的位置作为对应点,利用所有点对求解出旋转和平移矩阵,再根据旋转平移矩阵调整待配准点云的位置,不断迭代前述过程,使点云之间的误差越来越小,直至满足阈值要求。

给定原始点云P=pi,i=1,2,,n和目标点云Q=qi,i=1,2,,m,点云配准的关键问题是如何确定三维空间刚体变换中旋转矩阵R和平移向量t,使得Q经过变换后与P的距离最小,如式(1)所示:

R,t=argminR,ti=1mqi-Rpi+t2 (1)

式中:piPqiQ的对应点;m为目标点云的点数。

按照以下步骤进行迭代:

1) 在Q中查询每一个点pi所对应的距离最近的点;

2) 估计点对之间关系的变换矩阵Rktk,并记录此时的误差函数εk=1mi=1mqi-Rkpi-tk2

3) 将求解得到的旋转矩阵Rk和平移向量tk用于点云Pk,得到变换后的点云Pk+1

4) 用Pk+1代替原始点云Pk重复上述步骤,直至达到预先设定的迭代次数或εk-εk-1小于预先设定的阈值Δε

K Arun[

1]等在1987年提出了利用SVD方法估计两幅具有平移和旋转关系的点集之间相对关系,该方法对2个点集之间的欧氏距离进行奇异值分解,可估计出待配准点集之间的旋转矩阵和平移向量的闭合解。P J Besl[2]在1992年首次提出了ICP的计算流程和思路,通过迭代的方式交替进行两点云之间的变换矩阵的估计和误差函数的计算,最终收敛到阈值范围内。本文所对比的传统ICP算法是在ICP的经典计算框架下,利用SVD估计旋转矩阵和平移向量实现点云配准的方法。

2 基于Frobenius范数奇异值分解的快速ICP

本文提出的基于Frobenius范数的快速ICP算法,将矩阵范数引入刚体变换矩阵的求解过程中,通过计算原始点云矩阵和目标点云矩阵的代数运算特性,直接估计两点云之间的旋转矩阵和平移矩阵。

2.1 矩阵Frobenius范数及其性质

Frobenius范数是一种矩阵范数,简称F-范数,通常记为·F,该范数定义为矩阵中每项数的平方和开方值。

A=aijm×n为一个m×n矩阵,则式(2)即为矩阵A的Frobenius范数表示。

AF=defi=1mj=1naij2=trATA (2)

式中tr(·)为矩阵的迹。Frobenius范数具有以下性质:

A+BF2=AF2+BF2+2A,BF (3)
A,BF=trABT (4)

2.2 Frobenius范数推导和奇异值分解

经典ICP算法通过迭代误差函数的最小化估计点云之间的旋转矩阵和平移矩阵,因此需要大量的运算存储资源,耗时长,不利于对目标的实时处理。本文利用Frobenius范数和奇异值分解直接估计出旋转和平移矩阵,在提升点云配准效率的同时,增强对噪声的鲁棒性。

点云配准实质上是最小化原始点云和目标点云之间的误差函数的过程。在经典ICP算法流程中,迭代步骤2)~步骤3)可以表示为式(5):

Rk+1,tk+1=argminR,t1mi=1mqi-Rkpi-tk2 (5)

上述过程可拓展成Procrustes变换问题,误差函数可改写为:

εk+1=1mi=1mqi-Rpi-t2=Q-(RkPk+tk1T)F2 (6)

Q在迭代过程中始终不变,Pk为原始点云P经过k轮旋转平移后得到的点云矩阵,根据式(3)式(6)可化简为:

εk+1=Q-RkPkF2+-tk1TF2+2Q-RkPk,-tk1TF (7)

继而根据式(4)得:

εk+1=Q-RkPkF2+mtTt-2trQ-RkPk1tT (8)

式(8)的一阶导数为0时,εk+1取得最小值。令εk+1t=0,根据矩阵求导公式:

ATXxij=AXTxij=aij=Aij (9)

误差函数的一阶导数可以写成:

εk+1t=2mt-2Q-RkPk1=0 (10)

因此当t=1mQ-RP1时,取得最小值,将其代入误差函数式(8),则化简得:

εk+1=i=1mqi-μq-Rpi-μp2 (11)

式中μpμq分别为原始点云P和目标点云Q的均值,μp=1mi=1npiμq=1mi=1mqi,。如果令qi'=qi-μqpi'=pi-μp,则式(11)可进一步化简为:

εk+1=i=1mqi'-Rkpi'2=Q'-RkPk'F2=Q'F2+RkPk'F2-2Q',RkPk'F (12)

由于旋转矩阵R不会影响范数的长度,根据Frobenius范数内积的性质,则式(12)可继续化简为:

εk+1=Q'F2+Pk'F2-2trRkPk'Q' (13)

Pk'Q'进行奇异值分解成VΣUT,则有:

εk+1=Q'F2+Pk'F2-2trRkVΣUT=Q'F2+Pk'F2-2trTΣ (14)

其中Q'F2Pk'F2与旋转矩阵Rk无关,若使误差函数为最小值,则需trTΣ为最大值。由于T=UTRkV为正交矩阵,Tii1,因此若要取得最大值,则要求Tii=1,即T为单位对角阵。由此可得出结论,若使误差函数最小,必须满足以下2个条件:

Rk+1=UVTtk+1=1mQ-Rk+1Pk1 (15)

2.3 快速ICP算法

依据上一节的理论推导,给定原始点云P和目标点云Q,经典ICP算法可以改进为:

1) 在Q中查找P中每一个pi所对应的距离最近的点;

2) 计算R,t=argminR,t1mi=1mqi-Rkpi-tk2

a) 计算中心矩μp=1mi=1npi,μq=1mi=1mqi

b) 对点云进行初始位置归一化处理:

P'={pi-μp|piP,i=1,2,,n}Q'={qi-μq|qiQ,i=1,2,,m} (16)

c) 计算Pk'Q'T并进行奇异值分解得UV

d) 计算Rk=UVTtk=μq-Rkμp

3) 将求解得到的旋转矩阵Rk和平移向量tk用于Pk,得到变换后的点云Pk+1,分别计算εk+1=i=1mqi-Rkpi-tk2ΔR=Rk-Rk-1Δt=tk-tk-1,若εk+1小于阈值或ΔRΔt小于阈值,则停止迭代;否则用Pk+1代替原始点云Pk,重复上述步骤。

3 实验结果与分析

为验证本文提出的快速ICP方法的效率和配准精确度,本文分别在Standford数据集和3DMatch数据集上进行对比实验,试验平台为:CPU为2.2 GHz的Core i7-8750H,RAM为32 GB,计算机系统为64 bit Microsoft Windows 10,软件为Matlab。

3.1 Standford 3D Scanning Repository数据集配准实验

实验一:利用The Standford 3D Scanning Repository数据集中的Standford bunny、Happy Buddha、Dragon、Armadillo、Lucy进行配准实验,除Lucy以外的4个模型均使用Cyberware 3030 MS扫描仪采集数据,Lucky则采用斯坦福米开朗基罗项[

9]开发的斯坦福大雕塑扫描仪。5个点云模型作为实验材料,将模型点云的方位角、俯仰角、横滚角分别旋转30°、50°、40°;随机增加10%离群点;对所有点叠加均值为0、方差为0.2倍平均最小点距离的噪声作为原始点云,通过算法计算原始点云和模型点云之间的旋转变换矩阵实现点云的配准。首先将本文提出的算法与经典ICP算法进行比较。本实验使用的点云为7万至8万点,点的分布较为密集。实验中设置误差迭代阈值为0.1×10-3,步进误差为0.1×10-6,得到传统ICP和快速ICP在Happy Buddha模型上的迭代次数对比图(图2)、配准效率一览表(表1)和可视化配准效率对比图(图3)。由图2表1可以看出,应用在Standford数据集上的快速ICP算法,在取得相同配准精确度的情况下,能够以更少的迭代时间和迭代次数实现点云配准,本文所提方法的配准效率相对于传统的ICP算法,提高了大约3倍;且由表1可看出,本文提出的配准算法并不会因为配准效率的提升而损失精确度。由图3可直观发现,传统ICP算法(每个分图的左边)和快速ICP算法(每个分图的右边)在配准过程中会稍有不同,但由图3(f)的配准细节可以看出,传统ICP方法和快速ICP方法都可以完成较为精确的点云配准,图中待配准的红色原始点云在细节处都能与蓝色的目标点云相匹配。

图2  Happy Buddha 配准迭代次数对比图

Fig.2  Diagram of the number of iteration on Happy Buddha

表1  快速ICP和传统ICP在Happy Buddha数据集上的配准效率/精确度对比
Table1  Speed and accuracy of traditional ICP and fast ICP on Happy Buddha
methodsiterationsrun time/sMSE
traditional ICP 111 3.862 0.032 9
fast ICP 28 1.111 0.031 3

图3  快速ICP和传统ICP方法在Happy Buddha数据集上的配准对比

Fig.3  Comparison between traditional ICP and fast ICP on Happy Buddha

3.2 Standford数据集配准精确度实验

为更深入探讨本算法与传统ICP算法在配准精确度和迭代次数的差异,实验二利用Standford数据集中的Happy Buddha点云数据作为实验材料,将本文提出的快速ICP算法与传统ICP[

2]、法向量分布变换法(Normal Distributions Transform,NDT)[6]、交互最近点法(Interactive Iterative Closest Points,Interactive ICP)[7]、刚体位姿估计(Rigid Pose Estimation,RPE)[12]、Robust ICP[5]、Deep Global Registration[4]6种点云配准方法进行对比,实验结果如表2所示。

表2  Standford数据集上快速ICP和其他算法配准时间/迭代次数对照表
Table2  Comparison of time and amount of iteration on Standford dataset
methodsStandford BunnyHappy BuddhaDragon
run time/msiterationsMSErun time/msiterationsMSErun time/msiterationsMSE
ICP 9 738.26 136 0.032 9 3 862.13 111 0.092 4 3 438.42 127 0.056 7
NDT 3 765.43 29 0.245 3 2 307.42 21 0.765 2 3 673.42 17 0.324 5
Interactive ICP 5 456.79 47 0.772 3 3 002.41 27 1.712 3 2 263.30 26 0.337 9
RPE 3 266.24 0.354 2 2 265.83 0.865 2 1 682.63 0.396 5
Robust ICP 21 343.34 0.042 3 7 534.52 0.201 3 6 876.52 0.065 4
Deep Global Registration 27 266.34 62 0.014 3 10 765.45 53 0.092 1 9 626.63 58 0.143 7
fast ICP 2 854.67 41 0.026 7 1 111.06 27 0.076 3 867.53 27 0.145 7
methods Armadillo Lucky
run time/ms iterations MSE run time/ms iterations MSE
ICP 4 936.53 138 0.065 3 94 524.76 179 0.057 9
NDT 5 767.31 18 0.487 9 56 723.13 34 0.367 2
Interactive ICP 4 678.12 29 1.237 7 34 764.65 72 1.176 2
RPE 2 107.30 0.734 5 10 534.42 0.578 2
Robust ICP 10 323.76 0.167 8 184 563.32 0.075 2
Deep Global Registration 13 820.28 51 0.641 2 263 667.21 65 0.218 7
fast ICP 1 003.47 29 0.048 7 9 753.65 42 0.035 4

从配准时间可以看出,本文提出的算法相对于几种经典配准算法和深度配准算法,速度最快;同时,也可以看出NDT算法在迭代次数上少于本文提出的方法;由于NDT法对法向量的计算和以法向量的分布作为特征,需要占用大量存储和计算资源,因此配准时间更长;以Deep Global Registration为代表的基于学习的配准方法思路仍是对点云进行迭代匹配,因而在时间上并不具有优势。由表2还可发现,本文提出的方法在Standford数据集中精确度较优,除了在Standford Bunny和Dragon两个模型上,该方法在精确度上都表现最优。由于Deep Global Registration利用全局特征作为网络输入对点云进行配准,同时Standford Bunny的全局特征又较为突出,因此性能优于快速ICP算法,但其配准时间远大于快速ICP算法;Robust ICP方法虽然在对Dragon进行配准时精确度最高,但配准时间较长。因此相较于表2中的其他方法,本文提出的快速ICP算法在取得较高的配准精确度的同时,能实现较高的配准效率。

3.3 3DMatch数据集配准实验

实际运用中,对于三维场景的处理也都是海量的数据点。因此在数据点数激增的情况下,通过实验验证配准算法的有效性是非常必要的。实验三首先利用3DMatch(

Zeng,2017)中Living Room 1作为实验材料,该数据每幅点云有28万余个点,数据量庞大,将传统的ICP算法和快速ICP算法进行对比,用于检验快速ICP方法在完成数据量庞大的点云配准任务时的效率和可用性。同时,如果随着点数的增加,配准效率急剧下降,则该种算法同样不具备实用性。图4为大数据量下,传统ICP和快速ICP算法进行配准的精确度对比曲线,图5为大数据量下点云配准过程展示图,表3比较了2种配准方法的迭代次数和时间。

图4  Living Room 1配准迭代次数对比

Fig.4  Diagram of the number of iteration on Living Room 1

图5  Living Room 1数据快速ICP和传统ICP方法配准对比

Fig.5  Comparison between traditional ICP and fast ICP on Living Room 1

表3  快速ICP和传统ICP在3DMatch数据集上配准效率/精确度对比表
Table3  Speed and accuracy of traditional ICP and fast ICP on 3DMatch
methodsiterationsrun time/sMSE
traditional ICP 149 459.386 1 0.059 4
fast ICP 17 59.245 7 0.001 4

由上述实验可以看出,快速ICP算法与传统ICP算法精确度一致的情况下,传统ICP的迭代次数多,迭代时间长;相比之下,快速ICP算法能在极短的时间内达到相同的配准精确度,更有利于进行三维点云的实时目标识别和检测。由上述两组实验也可观察到,传统ICP算法的点云配准过程的运算时间会随着点数的增加而线性增加,本文提出的快速ICP方法,并没有随着数据点的增加而影响迭代次数和配准时间。为进一步分析本文提出的方法在配准时间和精确度上与其他算法的差别,在3DMatch数据集的其他场景上进行实验,结果如表4所示。本文方法在迭代次数和配准时间均远少于其他方法,并且在目标点云与原始点云之间旋转平移量相同时,能达到最高的配准精确度。由于3DMatch数据集相比于The Standford 3D Scanning Repository,数据量庞大,几何结构特征突出,因此可以看出本文提出的算法更适合处理数据量大、几何结构信息突出的点云的配准问题。

表4  3DMatch数据集上快速ICP和算法配准时间/迭代数对照表
Table4  Comparison of Time and Amount of iterative on 3DMatch datasets
methodsLiving Room 1Living Room 2Office 1Office 2
run time/msitera-tionsMSErun time/msitera-tionsMSErun time/msitera-tionsMSErun time/msitera-tionsMSE
ICP 45 938.616 149 0.059 4 304 801.83 124 0.087 4 127 705.07 104 0.056 7 450 634.78 158 0.065 3
NDT 15 765.89 37 0.426 5 106 301.68 38 0.653 5 31 673.42 38 0.412 5 165 875.36 48 0.268 5
Interactive ICP 26 983.65 47 1.352 6 153 017.52 41 1.682 5 63 247.21 57 0.912 5 21 895.12 57 0.752 3
RPE 18 563.52 0.658 2 113 524.36 0.758 5 48 658.32 0.425 8 17 564.36 0.356 9
Robust ICP 96 872.61 0.042 3 663 535.95 0.071 3 236 262.13 0.068 6 876 253.87 0.077 8
Deep Global Registration 14 8875.32 78 0.004 3 765 289.86 71 0.002 8 315 298.78 58 0.046 0 115 2367.36 69 0.006 5
fast ICP 59 245.73 17 0.001 4 49 125.65 41 0.001 7 10 576.36 34 0.002 8 58 652.37 41 0.003 1

4 结论

本文在传统ICP算法的基础上,采用Frobenius范数表示目标点云和模型点云之间的误差函数,经过矩阵求导和奇异值分解,对旋转、平移矩阵进行估计,减少配准过程中的迭代次数,提高了点云配准的效率。分别在Standford数据集和3DMatch数据集上与包括ICP在内的4种ICP变体经典算法和3种基于学习的配准算法进行了对比,本文方法在时间上均优于其他算法;在达到相近的配准精确度时,本文提出的快速ICP方法的迭代次数仅为传统ICP算法的0.2倍,在Standford数据集上配准所需时间为传统ICP算法的1/4,在3DMatch数据集上配准所需时间为传统ICP算法的1/8,从实验可以看出,本文提出的快速ICP算法在数据量庞大的点云场景下,具有更高的效率。但从整体框架来看,本文方法仍是采用基于迭代变换的方法求解两幅点云之间的变换矩阵,由此不难发现,这种采用迭代优化的配准方法,其效率严重受制于点云规模的大小,尤其在两幅点云初始位置差距较大、重叠率较低的情况,这种基于迭代的方法易陷入局部最优,因而很难获得好的点云配准效果。目前一些基于深度学习的点云配准方法摒弃了迭代配准的方法,力求获得更高效的高精确度点云配准效果。下一步将探索利用深度学习进行非迭代式点云配准的方法,重点解决初始位置差距较大、点云重叠率低而难以获得有效的点云配准效果的情况。

参考文献

1

ARUN K S,HUANG T S,BLOSTEIN S D. Least-squares fitting of two 3D point sets[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1987,9(5):698-700. doi:10.1109/tpami.1987.4767965. [百度学术] 

2

BESL P J,MCKAY N D. A method for registration of 3D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992,14(2):239-256. doi:10.1109/34.121791. [百度学术] 

3

GOLD S,LU C P,RANGARAJAN A,et al. New algorithms for 2D and 3D point matching:pose estimation and correspondence[C]// Proceedings of the 7th International Conference on Neural Information Processing Systems. Denver,Colorado:MIT Press, 1994:957-964. [百度学术] 

4

CHOY C,DONG Wei,KOLTUN V. Deep global registration[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR). Seattle,WA,USA:IEEE, 2020:2511-2520. doi:10.1109/CVPR42600.2020.00259. [百度学术] 

5

ZHANG Juyong,YAO Yuxin,DENG Bailin. Fast and robust iterative closest point[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022,44(7):3450-3466. doi:10.1109/TPAMI.2021.3054619. [百度学术] 

6

MAGNUSSON M. The three-dimensional normal-distributions transform: an efficient representation for registration,surface analysis,and loop detection[D]. Örebro:Örebro University, 2009. [百度学术] 

7

VIK T,BYSTROV D,OPFER R,et al. Interactive iterative closest point algorithm for organ segmentation:US,20120027277A1[P]. 2012-02-02. [百度学术] 

8

GUO Yulan,SOHEL F,BENNAMOUN M,et al. Rotational projection statistics for 3D local surface description and object recognition[J]. International Journal of Computer Vision, 2013,105(1):63-86. doi:10.1007/s11263-013-0627-y. [百度学术] 

9

LEVOY M,GERTH J,CURLESS B,et al. The Standford 3D scanning repository[EB/OL]. (2005-05-07) [2020-04-25]. http:// graphics.stanford.edu/data/3Dscanrep/. [百度学术] 

10

LEVOY M. The digital Michelangelo project[C]// The Second International Conference on 3D Digital Imaging and Modeling (Cat. No.PR00062. Ottawa,ON,Canada:IEEE, 1999:2-11. doi:10.1109/IM.1999.805329. [百度学术] 

11

ZENG A,SONG Shuran,NIEßNER M,et al. 3DMatch:learning local geometric descriptors from RGB-D reconstructions[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Honolulu,HI,USA:IEEE, 2017:199-208. doi:10.1109/CVPR.2017.29. [百度学术] 

12

GRANGER S,PENNEC X. Multi-scale EM-ICP:a fast and robust approach for surface registration[C]// Computer Vision- ECCV 2002. Copenhagen,Denmark:Springer, 2002:418-432. doi:https://doi.org/10.1007/3-540-47979-1_28. [百度学术]