张广宇,徐 罕,魏亚峰,赵雨琨,李守委,吉 勇
(无锡中微高科电子有限公司,无锡 214035)
机器视觉在现代智能制造领域中的重要性越来越高[1‑2],传统的2D视觉技术将三维空间的待测物品通过投影变换映射到二维图像上[3‑4],丢失了成像空间坐标系的Z轴信息,导致与深度信息相关的视觉检测无法进行。如图1 所示,不同高度的电子元件在2D 成像模式下差异不明显,但通过三维重建算法采集待测品的深度信息,并通过对点云图像信息的处理,即可实现三维视觉的自动化检测。
图1 2D成像效果与3D成像效果对比
在智能制造装备中,三维重建技术被广泛应用于测量产品高度、体积、表面角度、平面度等信息,并可对透明或颜色相近的物体进行特征区分[5‑6]。三维重建算法种类很多,按照拍照视角数量可分为多目法与单目法;按照是否借助信号调制光源分为主动成像法与被动成像法;按照成像原理是否借助光学原理分析可分为光学成像法与非光学成像法。智能制造领域对三维重建精度与效率均有较高要求,对检测范围要求较小[7‑8]。通过分析三维重建算法的特点,本文着重对适用于智能制造装备的三角测距法、相位轮廓测量术、光度立体法这三种高精度高效的三维重建算法进行研究,分析算法的技术原理以及在智能制造不同领域的应用[6]。
通过对三维视觉重建算法原理进行分析,从而深入了解算法的物理条件与实施方式,帮助快速定位该算法在智能制造的应用领域。
三角测距法是一种应用较广的三维成像方法[9],三角测距系统通过激光器发射线激光在空间中与相机内部构建两个相似三角形,计算标定参数获取两个三角形对应信息。当产品在Z轴方向上有深度变化,则空间三角形发生变化,通过计算相机内部三角形产生的相应变化即可获取产品位移量。目前工业产品表面3D 信息提取主要基于三角测距法的3D 相机采用线激光方式,国内外均有不同品牌厂商可以生产,技术方案比较成熟。3D 相机机械结构大多如图2(a)所示,使用时激光通过柱面物镜调制,方向垂直于待测品。高精度CMOS 相机倾斜固定角度采集激光图像,为防止环境光源干扰,需在镜头前添加激光波长滤波器。相机采用移轴镜头,防止虚焦,增加可检测深度范围。使用方式与线阵相机一样,待测品与相机间保持相对匀速运动。
图2 线激光测量仪结构原理
具体工作原理如图2(b)所示,∆ABO是空间三角形,∆FEB是相机内三角形,且∆ABO∽∆FEB,易知,其中AB 为相机限定的已知长度,BF为相机镜头的焦距f,FE可由像元尺寸与像素坐标相乘得出,从而完成深度信息的采集。当待测品表面发生高度变化时,变化量y的公式为
其中:lAB为AB 的长度,Pixelsize为像元尺寸,Pos'为高度变化后激光在图像中的成像坐标,Pos为高度变化前激光在图像中的成像坐标。由式(1)可知,基于三角测距法的3D 相机检测精度与像元尺寸与检测范围相关,像元尺寸越小,检测精度越高;检测范围越小,检测精度越高。实际项目中线激光相机的选型需根据检测需求与检测能力权衡确定。
在使用正弦编码的光栅条纹检测三维信息的方法中,相位测量轮廓术(phase measuring profilometry,PMP)是面结构光三维重建较为重要的方法[10‑11],目前在工业产品三维重建中有广泛的应用,国外已有多家品牌商量产了基于该技术的3D 相机,在保证Z 轴计算精度高的同时,提高了可测量高低落差的范围,并且可一次性重建整个待测面的三维信息,与基于三角测距法的线激光3D 相机相比,提高了待测品的检测效率。
PMP 使用投影仪分n次投射相位间隔的正弦光栅条纹,例如使用四步相移法提取光栅相位时,n= 4,相邻投射的正弦光栅相位差为,如图3(a)所示。
图3 PMP工作原理
当正弦光栅条纹投射到待测品表面时,正弦光栅的相位随表面高度信息而发生相应偏移,其中光路原理如图3(b)所示,正弦光栅由P点发出照射到待测品上,相机由I点采集到光栅图像,取坐标为(x,y)的D点,以光路构建三角形可得∆PDI∽∆CDA,由此易知,推导出:
同 时 相 位 差∆φ(x,y)=φC-φA= 2πf∙CA,则,带入上式可得:
其中:h(x,y)为D点的Z轴高度值,∆φ(x,y)为D点的相位差值,L为相机到参考平面的距离,d为P点到I点的距离,f为参考平面上光栅频率,可由相邻光栅间距得出。使用相移法求取,相机采集到光栅图像的光强分布函数为
A(x,y)为待测面背景光强,B(x,y)为待测面调制度,φ(x,y)为待求相位,δ为光栅相移量,i表示第i步相移。四步相移就是对(x,y)点投射四次相位差为的光栅,求取四次光强值,分别是:
由方程组求解后:
这样就可将光栅图像上每个像素的相位值φ(x,y)求出,但被截断在arctan 的值域范围内。路径跟踪算法中基于网络规划的最小费用流法能较好保持与原始相位的一致性,并且受噪声影响较小,是比较好的相位展开算法。所以使用路径跟踪算法将包裹相位展开成真实相位,将解出的∆φ(x,y)带入式(3),即可求出D点的Z轴高度信息。
光度立体视觉基于明暗度的光度立体法由阴影恢复形状法发展而来,可精确计算出非刚体待测品表面的法向及Z轴信息,同时可避免表面轮廓、反射率及纹理等信息对测量结果的干扰[12]。该三维重建方法测量深度信息效率高,且照明方式部署较为简单,硬件成本较低。同时保留了较多的高频信息,是智能制造领域高效三维重建的重要方法。
光度立体法通过求取每点表面法向量间接计算出深度信息,最初是基于标准朗伯(Lam‑bertian)面提出的。其工作原理如图4 所示,即相机在固定位置拍摄一组n个照明方向下的待测品朗伯面图像,每个方向照明的光源均在无穷远且光强为I,记录n次照明下待测像素点的灰度E(x,y)=(E1(x,y),…En(x,y))T,若该像素对应点的单位法向量为N(x,y)=(nx,ny,nz)T,n
图4 光度立体法原理
方程中E(x,y)、L为已知量,ρ(x,y)与I为未知常数,后面可通过向量归一化过滤掉。待求法向量的N(x,y)有三个未知量,需建立至少三个方程的方程组进行求解,即n≥3方可满足求解需求。同时由线性代数相关知识,L矩阵中至少有三个行向量需满足不共面条件,求得的N(x,y)才有唯一解。
对式(7)进行整合,得:
由于N(x,y)为单位法向量,故:
同时,由式E(x,y)=LS(x,y)可得:
由此可计算出点(x,y)的法向量N(x,y),根据法向量与梯度的关系,求出点(x,y)的梯度:
由梯度信息计算待测品表面Z轴信息的算法主要有多路径积分法、傅里叶基函数法、最小二乘法,其中最小二乘法是光度立体法求解中较为常用的方法。在任意连续的曲面中Z=f(x,y),(Zx,Zy)为曲面在x轴与y轴上的偏导数,当曲面Z=(fx,y)无限接近实际待测品表面函数时,有:
这是一个泛函中求极限函数的问题,令F=,由欧拉-拉格朗日(Euler‑Lagrange)方程可得:
通过对泊松方程求解即可获取待测品表面的深度信息。
三个方向的照明可能会因凸起始终存在阴影区导致阴影区的法向量无法获取,所以工业产品借助光度立体法实现三维重建时一般采用四个方向以上的照明方式求解法向量。
线激光三角测距法依赖于产品反射线激光的成像效果。激光随待测品表面高度变化而在成像时产生位移,借助三角测距法即可获取激光位于产品单列的高度信息,随后将每一列的高度信息进行拼接,即可生成三维图像。理想状态成像效果如图5(a)所示。
图5 线激光成像
在相同的曝光时间与光圈条件下,产品表面激光线成像亮度仅与产品表面对激光的反射率相关。实际采集到的激光图像如图5(b)所示,若某些区域反射率过大,导致激光成像过亮;或某些端点区域的激光反射角出现跳点,通过三角测距法计算该点高度出现较大偏差。如图6(a)所示,测量得到的原始点云数据进行三维渲染后可见三维视图表面有很多噪点。
图6 三角测距法噪声过滤
通过先验知识可知,正常先进制造产品无尖峰装凸起或凹陷,可通过对原始三维数据进行滤波处理,实现噪点的去除。通过分析点云数据特征可知,边缘梯度信息与深度信息非常重要,所以使用自适应双边滤波算法对点云数据进行处理,经三维渲染后的效果如图6(b)所示,噪点干扰已获得较好的滤波效果。
三角测距法通过斜视相机采集线激光在产品表面反射光计算每点的三维信息,在产品表面有凸台结构的条件下,由相机斜视导致的问题主要有两个方面。如图7 所示,一方面是当激光反射光到镜头光路接触凸台弧角时,激光反射光在凸台弧角区域发生二次镜面反射,使相机采集到的激光位置失真,导致计算出该区域的位置信息产生较大偏移;另一方面当激光反射光被凸台完全遮挡时,相机无法获得激光图像,导致从此遮挡区域到凸台边缘的深度信息完全缺失,不能满足产品整面三维重建的需求。
图7 凸台结构对三角测距法影响
为提升三角测距法深度信息采集能力,减少凸台结构对三维重建的影响。首先根据先验知识,对凸台边缘区域的失真阶跃信息进行删除,防止对深度信息的计算产生影响。对于激光被完全遮挡的区域,使用不同采集方向的三角测距相机进行二次测量,并将两次测量的深度信息进行拼接,补足缺失区域。如图8 所示,为满足智能制造领域对三维重建效率的需求,使用两颗检测方向相对的感测头同时测量,将结果拼接后渲染输出,解决凸台结构对三维重建的遮挡。
图8 双检测方向三角测距法三维信息合成
PMP 应用于待测品表面三维重建将待测物表面假设为朗伯面,即将入射光在所有方向均匀反射,但实际检测中待测品表面通常会存在光滑的玻璃、金属等材质,反射光为镜面反射使局部光强超过测量范围导致重建失真,另外光栅图像中还会存在噪声干扰、环境光干扰等问题[13]。为降低这些问题的影响,实际应用中基于PMP的3D相机通常使用四个光栅光源从四个方向分别依次发射四组光栅,如图9 为一个光栅光源发出的一组光栅,每个正弦光栅相移八次,并切换八个频率,应用多频外差相移算法对同一坐标求出四个Z轴信息,并对四个Z轴值进行极值抑制拟合。其中高频光栅用来降低噪声影响,低频光栅可最小化相位展开的运算复杂度,四个方向的光栅避免了单一方向光栅发生镜面反射使测量结果失真的问题。这样就避免了因为待测品表面结构、反射率的差异对三维信息的影响,并平滑了噪声干扰,从而得出精度较高的Z轴信息。
图9 多频外差相移光栅成像
光度立体法理论基础建立在产品为标准朗伯面的基础上,以产品表面对各方向光线的反射强度统一为前提,且对产品成像灰度值有高度依赖性。当光度立体法应用于彩色物体的三维重建,因彩色产品表面的颜色会影响成像灰度值大小,计算出彩色区域的法向量失真,会得到错误的深度信息。在此情况下需使用彩色光度立体法进行解决。彩色光度立体法使用三原色平行光从三个特定角度同时对产品照明,使用彩色相机获取产品图像后,通过参照平板与相同材质的采样球即可进行彩色表面产品三维重建。
彩色相机与灰度相机在相同分辨率与像元尺寸的条件下,彩色相机的三原色像元的单色像元尺寸更小,对噪声抑制能力不如灰度相机;另外现有的光源控制器与相机成像速度可满足光度立体法飞拍条件,所以彩色光度立体法实际应用在智能制造领域时,一般使用高分辨率的灰度相机进行飞拍,照明方式如图10 所示,三原色平行光依次从四个角度对产品进行照明,相机直接获取单通道成像亮度,并完成产品三维重建。
图10 彩色光度立体法照明方式
使用三维重建算法提取出产品表面深度信息后,通过构建基于深度值的二维矩阵,即可将3D 图像转化为2D 图像进行处理[14]。用于2D图像的算法均可以用来检测待测品表面深度缺陷信息。
以常用的差分法为例,如图11 所示,首先构建标准品的3D 图像,对图像使用算法处理后注册为标准模板。然后对后面获取的3D 检测图像进行相同算法处理,并进行特征定位后与标准模板图像做差分运算。差分法原理如图12 所示,若待测品存在高度类别的缺陷,差分结果在缺陷位置会存在较大的数值,若数值超过设定的最大阈值,则在该处标记为缺陷位置。
图11 差分法在3D图像缺陷检测的应用
图12 差分法原理图
三维重建算法应用于智能制造装备领域中需要具有较高的测量精度与测量效率。本文分析了高精度高效的三维重建算法原理与实施方式,对线激光三角测距法、相位轮廓测量术以及光度立体法应用在智能制造装备中出现的问题进行了统计。同时基于算法原理对应用问题出现的原因进行研究,给出问题解决方案,最后研究了三维数据的处理方法。在实际的工程应用中,为提高三维视觉测量的精度与鲁棒性,三维视觉相机通常具备两种以上的三维测量功能,对不同三维重建算法测得的深度信息进行比照与补偿,降低产品表面结构与噪声对测量结果的影响,是智能制造装备三维视觉未来发展的方向。