王荣华 张华 徐锋
摘要:针对3D扫描测量领域自动化水平不高,测量不稳定,测量误差较大的现状,在双目结构光测量系统基于空间点相对距离不变性的多视拼接中,提出了一种基于三角约束和全局优化的多视拼接方法。该方法包括:匹配标记点时对由点距约束求得的可能匹配点加入三角约束,去除误匹配点;初次拼接后,根据求得的重心用最小二乘法进行全局优化,得到优化后的拼接矩。通过VC++,OpenCV等工具的算法实现表明:该方法能够较好地抑制累积误差,拼接方法稳定、快速,能实现自动化拼接。
关键词:双目结构光测量;点距不变性;多视拼接;三角约束;全局优化
中图分类号:TP274.5 文献标识码:A 文章编号:1009-3044(2015)09-0245-04
Abstract:The measurement technology of 3D scanning in automation level is low, its measurement process is not stable, and the measurement error is large. After the principle of binocular structured light measurement was analyzed, match the marked point to multi-view registration based on the relative distance of any two marked point in space is unchanged. A multi-view registration is proposed using triangle constraint and global optimization. The method includes: remove the false matching points in possible matching points by joining triple constraint; after the first registration, use the center of marking points to global optimization though least squares principle method. The algorithm is written by VC++ and OpenCV, and the algorithm is carried out by experiments test. The measurement results show that this method has advantage of restrain the accumulation error, keep up the process stable, fast and automatic.
Key words: binocular structured light measurement; relative distance unchanged; multi-view registration; triangle constraint; global optimization
3D扫描测量可获得真实场景的高精度3D数据,多视数据的自动匹配[1]和拼接[2]是其关键环节,其中的精准性、实时性、稳定可靠性是难点。
早期的多视拼接方法基于辅助硬件设备来完成,最著名方法为利用旋转平台[3-4]来获取物体的旋转和平移向量[5-6]。该类方法虽然有较高的精度,但其对于机械加工的要求較高,测量系统结构复杂,系统成本高,不利于应用推广。后来的多视拼接方法基本通过软件算法来实现,主要方法有特征拼接[7-8]和标记点拼接[9-10]。特征拼接通过获得的图像数据提取出具有一定特征的细节来对应匹配,该方法对于特征丰富的被测物较有效,对于特征信息不明显的被测物则适用性不足。标记点拼接通过测量前在被测物体表面上或被测物周围粘贴标记点[11],通过这些标记点来实现多视拼接。该方法成本小,方便简捷,处理过程的自动化程度高,
能够保证拼接的精度。针对该方法,徐晓栋等[12]提出基于任意两点间的相对距离不变的特征,引入“不太可能发生的小概率事件”方式进行多视拼合,其方法在点距出现等边三角形和等腰三角形时,会出现标记点匹配错误,需人工改正,影响处理效率。周波等[13]应用搜索标记点同构子图的方法进行多视拼合,该方法存在累积误差影响点云拼接质量。
本文利用三角约束和全局优化的方法进行多视拼合,由单次测量获得的标记点集得到距离矩阵,以标记点的距离空间不变量为依据筛选出可能的匹配点对,再由三角约束对可能的匹配点对进行筛选,去除误匹配点对。对不同视图中的标记点正确匹配后,通过四元素法解算多视间的坐标转换矩阵以完成初次多视拼合。最后对拼合的多视数据进行全局优化,消除累积误差。
1双目结构光测量系统
双目结构光测量系统由双目立体视觉测量系统与结构光测量系统组合而成,其中双目立体视觉基于视差原理,由左右相机采集的图像获取被测物体的三维几何信息。结构光投射设备把事先准备好的编码相移光栅投射到被测物表面,左右相机采集到相移图片进行解相匹配,实现基于像素的点匹配。最后结合双目视觉系统重建出物体表面的三维稠密点云数据。双目结构光测量系统结构如图1所示。
扫描测量时,左右相机先采集贴有标记点的图像,进行标记点提取、定位和重建,然后投射结构光栅并采集光栅图像重建稠密点云数据。对多视标记点进行匹配后解算多视转换关系。再用求得的转换关系对获得的多视稠密点云进行拼接,最终得到被测物的完整点云模型。
2标记点多视拼接
得到一个视角下的三维标记点,然后把被测物体移动一定角度再次得到三维标记点。保证每次重建的标记点与上一次测量有大于等于3个的公共标记点。标记点多视拼接是求每两次测量之间的公共标记点,对其正确匹配,依据匹配的标记点计算两次测量之间的坐标变换关系,得到多视的转换关系实现稠密点云的拼接。
2.1 标记点三角约束匹配
假设第一次的测量为视A得到的n个标记点为点集PA,第二次的测量为视B得到的m个标记点为点集PB。寻找两次测量的公共标记点就转换为在PA和PB中求取对应的标记点,即找到PA和PB中公共标记点,并实现一一对应。
令[PA={a1,a2,a3,...,ai...,an};]i=1,2,…,n。
其中[ai=xiyiziT],xi,yi,zi为PA中数据点的三维坐标。同理[PB={b1,b2,b3,...,bj...,bm};] i=1,2, … ,m。
标记点三角匹配如下:
1)求距离矩阵DA和DB,即分别求点集PA和PB中的每一个点到其余点的欧式距离,并用矩阵来表示;
2)对距离矩阵DA中的每一行i,寻找其在DB中相同数目最多的一组j(相同数目必须要大于等于2),然后将(i,j)保存到可能的匹配点集,并找到(i,j)中哪些距离相同的点InA,InB。如图2,图中“[]”表示可能是同一点两视角获得的被测物上的同一个标记点;
3)对InA,InB中的点再次求距离矩阵,循环执行步骤2,直到只剩下2个以下的点。如图2、3,为进行第二次,第三次比对找到的可能匹配点;
4)每次都将(i,j)保存,当保存的数目大于等于3的时候,结束循环求解。则步骤2中保存的(i,j)是可能的匹配点对;
5)通过以上步骤得到的匹配点是由点距约束求得,因此匹配点集中存在一对多的情况。依据唯一性原则,用三角约束去除误匹配点后得到正确的匹配点对。
2.2 拼接矩阵求解
2.3 全局优化
经过上面的步骤,可以把不同视角下的标记点拼接成一个整体。但求解旋转与平移矩阵时,是根据两视间的匹配标记点求解,所以多视角拼接时存在累积误差的问题,即两两误差最小并不等同于全局误差最小。这就导致点云拼接时出现断层、拼飞等现象。对此,我们对拼接的多视标记点进行全局优化以消除累积误差。
假设一次测量进行了M个视角的数据获取,最终获得N个标记点,每个视角建立一个N*3的向量Di,记录第i次扫描视角下获得标记点。因每个视角下不可能完全看到N个标记点,所以将该视角下不可见的标记点置为0。假设各视角的最优旋转、平移矩阵分别为Ri和Ti,则标记点全局优化的误差准则为:
首先求出所有标记点在每个视角下的重心:[C=1Mi=1MDi∧],用每个标记点的重心点作为拼接后的点。然后把单次测量的点集到模型点集做优化求解,优化的目标函数就可以表示为:[i=1MDi∧-C→min]。其步骤为:
1)计算每个标记点在所有视角下的重心;
2)求取每個视角下标记点到该视角下重心坐标的变换;
3)重复步骤(1),(2)直到收敛。
3 实验及分析
实验用两台大恒相机,分辨率1280*1024,镜头焦距16mm,结构光投射器选用三星投影仪PM410,用张正友平面标定法进行相机标定。实验设备如图5所示:
用DELL电脑,CPU为Intel(R) i5-2310,主频2.9GHz,内存4G,windows7操作系统。通过Visual C++, OpenCV等工具的算法实验效果如下所示,对贴有标记点的水杯模型做扫描检测,水杯底部直径60mm,顶部直径80mm,高75mm。如图6、7所示即为第一次扫描和第二次扫描的左右相机获得的贴有标记点的水杯原始图片。
提取图片上的标记点,用极线匹配进行单次的左右标记点匹配,依据双目视差重建标记点的三维点坐标,并对标记点进行排序编号。图8为第一次扫描时提取的左右匹配的标记点图像。
把水杯旋转一定角度重复以上操作,并与第一次重建的标记点用2.1节所述的算法进行标记点匹配,找出一一对应点。如图9、10所示,图上编号的点表示第二次提出的标记点,其中黑色框里显示的标记点表示第二次扫描时与第一次扫描时提取的点的匹配点(水杯上相同的标记点)。图9是没有加入三角约束的匹配结果,由图可知,蓝色椭圆内的点因与6、7、8号点的距离相等,因此简单的根据点距约束不能确定出匹配点,图10为加入三角约束后的示意图。
依据匹配的标记点,就可以采用2.2节所提的算法,获得第一次扫描与第二次扫描的旋转和平移矩阵。就可以实现两次的三维点云的拼接。如图11、12、13,即为第一次,第二次的点云和拼接后的点云拼接示意图。
重复上述操作,直到获得整个水杯的所有标记点,使用2.3所提的优化算法对拼接后的标记点进行全局优化。本测试共在水杯上贴37个标记点,进行11个视角扫描测量。优化前后,拼接后的标记点的误差如表1所示。
全局优化后,用优化后的各视角之间旋转和平移矩阵进行点云拼接,得到整个水杯点云模型如图14所示:
通从上述实验示例可以看出,相对于点距约束进行的标记点匹配,加入三角约束后能够准确的去除因点距构成等腰三角形或等边三角形时的错误匹配点,提高了匹配的稳定性和准确性。并对拼接后的标记点进行全局优化,拼接精度提高了0.0179mm,具体参数如表1所示,使得稠密点云拼接得到的3D模型更加精确。整个拼接过程完全实现了自动化操作,耗时较短,双目相机标定后,在线对物体的扫描测量能够在5分钟之内获得完整点云模型数据,离线操作时,实现整个模型的11次拼接用时15秒。
4 结束语
在3D扫描测量领域,多视点云的拼接一直是一个重要的研究课题和难点。本文介绍了一种基于标记点的多视拼接方法,不同于其它依据标记点空间点距不变性实现多视点云的匹配拼接,该方法用点距实现公共标记点匹配时加入三角约束,这使得匹配更加稳定、准确,去除仅靠点距约束求得的误匹配点。得到正确的匹配点后用四元素法解两视角之间的转换矩以实现两视角拼接,依次拼接得到所有视角下的标记点。求每个标记点在所有视角下的重心用最小二乘法进行全局优化,得到优化后多视角间的拼接矩实现多视点云精确拼合。多视点云拼合的旋转与平移矩阵求解是依据被测物上或周围的标记点完成,点云数据的多少对拼合效率影响较小。通过实例可以看出本文方法在多视拼和中较好地抑制累积误差,拼接方法稳定、快速,能实现自动拼接,具有较强的实用价值。
参考文献:
[1] SOON-YONG PARK, MURALI SUBBARARAO. A multiview 3D modeling system based on stereo vision techniques[J]. Machine Vision and Applications, 2005, 16(3): 148-156.
[2] SONG Zhang. Recent progresses on real-time 3D shape measurement using digital fringe projection techniques[J]. Optics and Lasers in Engineering, 2009, 48(2): 149-158.
[3] MAHMOOD N, OMAR C, TARDI T. Multiviews reconstruction for prosthetic design[J]. The International Arab Journal of Information Technology, 2012, 9(1): 49-54.
[4] 周朗明, 郑顺义, 黄荣永. 旋转平台点云数据的配准方法[J]. 测绘学报, 2013, 42(1): 73-79.
[5] SHAO Wei, MENG Lin, QIN Haohua, et al. Error analysis of the motion estimation based on SVD theory[C]// Proceedings of the 33th Chinese Control Conference, 2014: 915-921.
[6] GHOUTI, L. Robust perceptual color image hashing using quaternion singular value decomposition[C]// 2014 IEEE International Conference on Acoustics, Speech and Signal Process, 2014: 3794-3798.
[7] 黄戈, 李晓峰. 基于CEGI和Fourier变换的全自动点云配准算法[J]. 四川大学学报: 工程科学版, 2014, 46(5): 104-109.
[8] 陈勇, 刘文宋, 刘善伟, 等. 一种基于Harris与RANSAC算法的图像拼接软件研发[J]. 测绘与空间地理信息, 2014, 37(9): 97-100.
[9] 杨帆, 权巍, 白宝兴, 等. 基于标志点的三維点云自动拼接技术[J]. 计算机工程与设计, 2014, 35(9): 3321-3325.)
[10] 张广军. 机器视觉[M]. 北京: 科学出版社, 2005.
[11] 解则晓, 高翔, 崔健. 移动式三维测量用圆形标记点提取算法[J]. 中国激光, 2012, 40(12):1-6.
[12] 许晓栋, 赵毅,李从心. 结构光测量中多视拼合技术与算法实现[J]. 机床与液压, 2005(10): 137-141.
[13] 周波, 陈新河, 谢雪冬. 多视点云数据自动拼合算法[J]. 自动化与仪器仪表, 2007(1): 11-13.