基于多线结构光的弱纹理物体形貌测量方法

2020-04-24 10:56崔中原田裕鹏尹相杰徐奕
机械制造与自动化 2020年2期
关键词:极线双目投影

崔中原,田裕鹏,尹相杰,徐奕

(南京航空航天大学 自动化学院,江苏 南京 211106)

0 引言

过去10年里,增材制造技术经历了快速发展。由于增材制造过程中材料是一层接着一层熔化并且快速凝固,零件经历了涉及定向热传递的复杂热演化历程[1],从而导致应力变形和毛孔、针孔或微裂纹的产生。这些因素导致增材制造的印刷效果无法控制。因此,通过实时监控对象的坐标信息和形状变化并将其与打印模型进行比较,在打印出现一定误差时可对系统进行闭环控制并及时止损,这对提高生产效率具有重要意义。

三维测量分为主动测量方法和被动测量方法。被动测量方法要求物体表面具有丰富的纹理信息,当纹理信息较少时测量精度降低。对于诸如激光三维扫描的主动测量方法,通过将单线激光投射到待测对象上,激光条纹图像被两个相机采集并重建。代表性产品如FARO开发的Freestyle手持式3D扫描仪,由于采用单条激光,所获得的图像对环境光具有强抗干扰能力和高测量稳定性。为满足3D打印中弱纹理对象的监测要求,本方法将多线结构光与双目立体视觉测量技术相结合,将多线结构光投射到物体的表面上,采用光条序列匹配和极线约束相结合的图像特征点匹配方法,解决了多线结构光投射后的纹理重复性问题,最后根据相机标定参数,实现了复杂曲面下的一次性表面重建[2]。

该方法有3个创新点:1) 采用汇聚相机模型确保测量精度,而一些主流相机开源库采用平行相机模型,精度较低;2) 将形态学算法与传统的光条提取算法相结合,实现了光条细化和提取;3) 解决多线结构光的立体匹配问题。

1 双目立体视觉系统

双目立体视觉系统可分为平行式相机系统和汇聚式相机系统。如果两个相机的光轴平行安装,则构成平行相机系统;如果两个相机的光轴在安装时形成一定角度,从而使两个光轴同时集中在目标物体上,则构成了汇聚式摄像系统[3]。虽然平行双目视觉系统的重建算法相对简单,但在实际安置中难以保证两台摄像机的严格平行,给实际应用带来了一定的困难。另外,平行双目视觉系统受视场限制,摄像机间距小,测量误差大。因此,本方法采用汇聚式双目视觉系统[4]。

汇聚双目立体视觉的成像几何关系如图1所示。其中,点P是空间中一点,Pl和Pr分别为点P在左、右相机中的投影点,O1C1和O2C2分别是左、右相机的光轴。角度为2θ,基线距离为B。在世界坐标系中,点P是PlC1和PrC2的交点,点P的坐标可以根据上述已知参数获得:

图1 汇聚式双目系统模型

(1)

(2)

其中:x1和x2是左、右摄像机坐标系中相应的x轴物理坐标;f是相机焦距。

2 结构光提取和匹配

2.1 图像预处理

图2显示了被测物体的原始采集图像。在图中,背景与目标对象的灰度值不同,并且投射到背景上的结构光是干扰信息,需要通过合适的阈值分割算法来移除背景部分,仅保留投影到对象上的结构光图像。

由于物体表面不规则,结构光条在物体表面上的强度分布不均匀,并且在阈值处理之后,出现孔洞现象。设计时采用了形态学处理方法,先使用膨胀算法对图像进行扩展,然后使用腐蚀算法确保光条的直径基本不变。

图2 左相机的初始图像

2.2 骨架提取与优化

在二值图像的匹配中,通常对图像进行细化来获得光条的骨架。在初步细化中,采用Zhang-Suen迭代细化算法。整个迭代过程分为两个步骤[5]:

第1步:循环所有前景像素并将符合以下条件的像素点标记为删除:

1) 2 ≤N(P1)≤6;

2)S(P1) = 1;

3)P2×P4×P6=0;

4)P4×P6×P8=0。

其中:N(P1)表示与P1相邻的8个像素中前景像素的数量;S(P1)表示从P2到P9再到P2像素中出现0~1的累积次数,其中0是背景,1是前景。

第2步:类似于第1步,将满足以下条件的像素P1标记为已删除,如下所示:

1) 2 ≤N(P1)≤6;

2)S(P1) = 1;

3)P2×P4×P8=0;

4)P2×P6×P8=0。

循环上述两个步骤,直到两个步骤中没有像素被标记为已删除,并且输出结果是二进制图像被细化后的骨架。输出如图3所示。

图3 初步骨架提取结果

可以看到在细化之后骨架上有毛刺,局部骨架不再是单个像素,并且光条的连通性被破坏。这是由物体表面本身的复杂性和光条直径不一致造成的。因此,本文设计了一种针对多线结构光的智能补断和优化算法。

为去除毛刺,本文先预设毛刺的最大长度为L。查找光条骨架的所有端点并将其删除,然后迭代此操作l次。在实验中,此方法还会在删除毛刺时删除顶部和底部边缘点。由于上边缘点和下边缘点具有较大的相机畸变,因此删除这些点有利于提高测量精度。

理想情况下,单光条应是自连通但不与相邻的光条所串接的。基于此目的,本方法设计了一种金字塔分层连接策略,如下:

1) 设定合理的最大连接半径R和步长d,设定连接半径的初始值r(r

2) 使用滑动窗口找到每个带状线段的上端点P1和下端点P2。

3) 对于所有的下端点P2,寻找以点P2为中心,以r为半径的圆内的点P1,连接两个点。

4) 令r=r+d,然后重复步骤2)-步骤4)。

图4(a)是算法处理前的图像,可以看到部分光条已经断裂,并且有些光条错误地连接到相邻光条,导致后续的匹配错误。从图4(b)的结果可知,光条的优化效果比较理想,满足了处理的需要。

图4 补断算法前后对比

2.3 立体匹配

极线约束是立体匹配过程中最重要的约束理论之一。它的本质是建立特征点与其成像点、成像平面之间的联系。如图5所示,假设空间中一点P在相机中的成像位置为点p1、p2,II1、II2为成像平面即投影面,O1、O2为相机的光心即投影中心。定义两投影中心的连线与两个投影面的交点为极点e1、e2,空间中的点P与投影中心O1、O2所确定的平面为极面O1PO2。

图5 极线约束模型

对于空间中的点P,与其相关的点p1、p2、e1、e2均在极面O1PO2上。当点P沿着直线PO2移动到点M时,其在右相机上的投影点坐标保持不变,而在左相机上的投影点m1与点p1、e1共线。也即是说,若已知右相机上的一点p2,则其与右极点e2可确定唯一的极线l,并且三维空间中位于直线p2O2上的点在左相机上的对应点必在此极线l上。

然而,对于多线结构光,对应于左摄像机条带上的某个点的极线与右摄像机光条有很多交叉点(取决于条带的数量),也即是说,匹配点具有非唯一性。鉴于此,本方法引入了空间一致性约束。具体做法如下:

(3)

2) 光条排序。由顺序一致性约束可知,投影的光条排列顺序具有一定的规律性,根据光条端点的像素坐标关系,对每幅图像上的光条分别排序,最终每个图像可以生成一个以一维向量为基本的链表,具体表示为:

(4)

3) 光条及特征点匹配。当对光条进行成功的搜索和排序后,有n1=n2。则对于左图像上的光条Lil,其相应的匹配点应该在右图像单光条Lil中,反之亦然。如此结合极线约束,可以根据单线结构光匹配算法求出唯一解,如图6所示。

图6 多线结构光匹配

3 实验验证

为了验证基于多线结构光双目视觉的三维测量方法的可行性,进行了现场实验。 硬件包括1个支持多线结构光的LED投影灯,2个分辨率为1 624×1 234的Manta G-201B/C工业相机和一台计算机,如图7所示。

图7 三维测量系统

被测物体是3D打印的曲面物体,其表面纯白色无显著纹理。对系统立体标定之后,将预先设计的结构光投射到物体上,通过调整曝光时间等参数来优化成像效果后,对左右相机图像进行采集和处理,图8为左相机的采集图像。

在对结构光骨架提取和优化之后,进行立体匹配,计算三维点云数据,由于骨架上的点云数量较大,所以对点云采样后再进行曲面重建,结果如图9所示。可以看出,该方法对弱纹理表面实现了较为理想的重建。

图9 三维重建结果

被测物体的表面结构复杂且不规则,不易直接进行精度估算。本文通过高精度打印机在平面上打印一组平行线,利用同样的处理算法对平行线进行三维重建,将其线间距与真实的线间距相比较来评估算法的三维重建精度,结果如表1所示。可知,近距离下的测量相对误差在3%以内,精度较高。

表1 三维重建精度

4 结语

基于对无纹理物体表面快速重建的需求,本文设计了一种多线结构光与双目视觉测量相结合的方案,解决了传统单线结构光学扫描测量效率低的问题。本方法采用汇聚式双目系统来提高小型物体的测量精度,同时解决了多线结构光匹配中非唯一解的问题。在实际测量中,复杂的非连续表面仍然存在不应忽视的测量盲点,这是下一步的研究方向。

猜你喜欢
极线双目投影
解变分不等式的一种二次投影算法
破解定值有妙法,极点极线显神威
基于最大相关熵的簇稀疏仿射投影算法
基于双目测距的卡尔曼滤波船舶轨迹跟踪
一道高考试题的背景简介
找投影
找投影
基于HALCON和VC++的双目机器人织物抓取系统设计
基于双目视觉图像的长度测量方法
简述与圆锥曲线的极点和极线有关的性质