本发明涉及计算机图形与图像处理领域,具体涉及一种相似变换三维物体间的鲁棒注册算法。
背景技术:
对两个或两个以上的三维物体或者点云进行注册,是一个寻找它们之间几何变换的过程。在多数情况下人们只考虑刚体变换,即假定两个物体之间没有形变。但是在实际应用中,物体之间通常都会有不同程度的缩放,这给注册带来了麻烦。这种同时寻找旋转、缩放和平移的过程也叫作3dprocrustes分析,在非实时系统的工业流程中非常常见,比如三维扫描数据的后期处理以及电影游戏特效的数据采集过程当中。目前工业界最常用的方法是horn等人提出的奇异值分解(svd,singularvaluedecomposition)法,该方法首先计算缩放,然后利用基于svd的极分解(polardecomposition)解析计算出旋转矩阵。该方法速度快,但是必须手动选择较多的点,在精确性和鲁棒性方面不如迭代算法。目前最流行的开源点云库(pcl)实现了类似的方法,但正如文档中所说,近似矩阵在frobenius范数下并非最优。
技术实现要素:
为解决上述问题,本发明提供了一个通用的相似变换物体间的鲁棒且精确的注册方法,该方法可广泛适用于三角面片之间、点云之间以及三角面片与点云之间的注册,在数据有缺损的情况下,依然能够有效地进行注册。
为实现上述目的,本发明采取的技术方案为:
一种相似变换三维物体间的鲁棒注册算法,包括如下步骤:首先,采用点到点(point-to-point)的注册法,用户需要先给出至少3对对应点,然后算法会按照对应点对之间的欧几里德距离迭代求解出旋转、缩放和平移参数;在初步收敛后,我们采用点到平面(point-to-plane)的注册法,随机选择若干点,采用迭代最近点(icp,iterativeclosestpoint)法优化点对之间的点到平面的距离,从而求出最终的相似变换(similaritytransformation)。
优选地,具体包括如下步骤:
s1、首先使用点到点(point-to-point)的注册法,用户需要先给出至少3对对应点,这些对应点最好位于对象的不同位置;假定选择m(m>2)个对应点对,使得这些点对之间的距离之和最小,从而求解出对应的相似变换矩阵t和平移t,如下式所示:
将式(2)代入
迭代求解该式直到收敛,这时两个模型初步对齐;
s2、使用点到平面的注册法,目标函数变为:
其中,
其中,
本发明具有以下有益效果:
采用两步注册法,结合点到点和点到平面算法的优缺点,进行互相补偿,既避免了算法陷入局部最小化,又减少了用户的手工输入,同时还增加了鲁棒性;与刚性注册算法相比,我们引入了缩放量,提出了一个新的针对相似变换的迭代算法,提高了算法的精确性。
附图说明
图1本发明实施例中的3d模型和一个尺度不同的有缺损的扫描数据。
图2为本发明实施例粗略对齐两个模型。
图3为本发明实施例中精确对齐的两个模型。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
只有平移和旋转的刚性变换(rigidtransformation)可以将一个点p=[x,y,z]t变换到p′:
p′=rp+t,
其中,r是3×3的旋转矩阵,而t=[tx,ty,tz]t是在空间中的平移;按照极小旋转(infinitesimalrotation)理论,一个旋转矩阵可以近似表示成:
其中,α,β和γ分别表示绕z,y和x轴的旋转角度,只有当这些旋转量都很小时上式才成立;如果考虑到模型的尺度可能发生变化,我们就需要引入缩放量s,这时的空间变换被称作相似变换(similaritytransformation),记作t,我们将它近似表示为:
与式(1)相同,该式假定旋转量非常小。
本发明实施例提供了一种相似变换三维物体间的鲁棒注册算法,包括如下步骤:
首先使用点到点(point-to-point)的注册法,用户需要先给出至少3对对应点,这些对应点最好位于对象的不同位置;假定选择m个对应点对,使得这些点对之间的距离之和最小,从而求解出对应的相似变换矩阵t和平移t,如下式所示:
我们将式(2)代入上式,并将待求解值列为一个向量r=[s,α,β,γ,tx,ty,tz]t,则可以得到:
迭代求解该式直到收敛,这时两个模型初步对齐;
s2、使用点到平面的注册法,类似之前的方法,只不过这一次我们使用的是点到平面的距离,目标函数变为:
其中,
其中,
实施例
为了将一个3d模型和一个尺度不同的有缺损的扫描数据对齐(图1),我们的两步注册算法先使用点到点注册技术粗略对齐两个模型(图2),然后再采用点到平面注册算法精确对齐两个模型(图3)。在这个例子里,用户只需要给出3对对应点。
式(3)和式(4)都可以通过表示为矩阵形式:
mr=b.
这是一个超定方程,我们可以通过它对应的法方程mtmr=mtb求解它的最小二乘解,cholesky分解可以有效地求解这个非常小的线性系统。可以看到,在整个两步注册过程中,我们一直在优化缩放参数s,因此能够得到最优缩放。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。