增强现实环境下复杂板材的三维位姿跟踪方法*
2019-06-25胡兆勇陈和恩
舒 彬, 胡兆勇,, 朱 腾, 陈和恩
(1.广东工业大学 机电工程学院,广东 广州 510039; 2.广东工业大学 广东省CIMS重点实验室,广东 广州 510039)
0 引 言
目前,工业生产中天线板仍是依靠员工手册或经验进行布线,经常导致错接、漏接等情况出现,而增强现实(augmented reality,AR)技术可以将三维信息无缝融入用户视野,正是工业环境中复杂的装配和维护任务的应用领域[1]。而AR技术中位姿跟踪是虚实融合的关键步骤,故也是AR工业应用的重点研究领域,位姿跟踪的方式包括基于有标志的[2]和无标志的[3~5],本文主要是研究一种在无标志下进行位姿跟踪的方法,实现这一目标常用的传感器包括全球定位系统(global positioning system,GPS)、陀螺仪、摄相机、混合视觉、加速度传感器等[6~10],本文综合应用需求和成本控制重点研究一种基于单目摄相机的目标位姿跟踪。在视觉跟踪领域已经提出了许多成熟的跟踪目标空间位姿的方法[11~13],如Chen S等人[14]提出了一种基于密集光流和跟踪尺度不变特征变换(scale invariant feature transform,SIFT)特征的互补信息相结合的跟踪方法,该方法克服了基于光流和基于特征匹配的方法的缺点,但是速度较慢且需要手动初始化。Ferrari1 V[15]提出了一种基于新的实时仿射区域跟踪器的平面增强现实系统,通过跟踪自然场景中局部图像块跟踪摄像机的位姿,并具有一定的抗旋转性。但基于本课题,因为人员的遮挡及目标板材表面信息的不断更新,所以,在布线过程中并不能保证有稳定的局部图象块和特征点出现在目标板材上。 由于布线过程中只有板材的边缘直线不会被完全遮挡,所以,本文综合考虑提出了利用HSV空间和改进的直线分割检测(line segment detector,LSD)直线提取算法提取天线板的轮廓边缘求解出天线板的位姿,在保证跟踪速度的前提下完成跟踪。
1 算法原理
1.1 系统基本框架
由于天线板的长度在2~3 m之间不等且板上天线卡口的分布情况复杂,在不添加多个人工标志的情况下要能够获得稳定特征就变得十分困难,且现场布线也不允许添加其他人工标志,在布线时还要对布线的卡口进行接线是否正确的检测。所以,综合考虑提出利用在天线板上方添加固定摄像头的方案,利用服务器与AR眼镜端进行交互,来达到位姿跟踪的目的,系统架构如图1所示。
图1 系统架构
天线板在布线过程中不仅会产生水平的位移和旋转,而且由于底部特殊的结构导致天线板会有沿天线板长轴方向的水平翻转,翻转角度大约在±15°左右。
首先根据实体与虚拟模型1∶1比例建模,只要能跟踪到板材位姿使真实板与虚拟板重合则可以实时定位到当前布线的卡口及位置。由于目标的的结构只需要考虑4个自由度的位姿,按右手定则,要考虑的位姿参数包括:沿x,y轴方向的位移X,Y和沿z轴的旋转θ以及沿x轴的翻转r,这些位姿参数可以用一个失量h={X,Y,θ,r}表示。
1.2 特征空间转换
由于工业板材往往具有光滑金属表面,具备独特金属光泽。以人眼的视觉来看与周围人、地板和工作台等目标的颜色都有很大差别,故本文采样HSV色彩空间进行图像的分割与处理。将图像由RGB空间转换为HSV空间后,如图2所示。
图2 RGB通道与H,S,V各通道的对比
H,S通道的差异性较大,适合于边缘提取。
转换成HSV空间后,对H通道图像通过大量实验找到各模块的像素阈值,根据实验数据建立查找表,通过当前图片的像素与查找表对比,符合在天线板上模块的色调大小之间的像素设为255,对不符合天线板色调大小设置黑色掩膜(mask)覆盖其上,相当于对图像进行二值化处理,如图3左图所示, 然后通过一系列图像预处理和形态学梯度的方法寻找板材大致轮廓,如图3右图所示。
图3 二值化及目标轮廓
1.3 结合随机抽样一致性算法改进的LSD直线提取
LSD算法相比于Hough变换算法具有更好的检测效果和效率,因此,本文提出利用LSD算法进行板材的边缘直线提取。
针对现实生产场景经常出现的光照变换、障碍无遮挡等因素。本文针对原始LSD算法经常出现的边缘不完整、直线割裂破碎等问题,提出利用随机抽样一致性(RANSAC)算法进行改进。首先通过提取到板的轮廓定位边缘直线的大致位置,然后进行阈值放缩,定位到轮廓边缘感兴趣区域(region of interest,ROI),如图4左图所示。
再求解该区域内被割裂的多条直线的平均欧氏距离ML。基于板的边缘直线在ROI区域中占主导地位,对高于ML的直线进行分类,若该直线的欧氏距离MD是ML的a倍,则按等距离在该直线上采样6a个点,对于距离小于ML的直线取a=1,则
(1)
式中e1,e2为所采样的点占当前直线欧氏长度的比例,Pt为按照等距原则在直线上采样的当前点坐标,Ps、Pe分别指直线两端点的坐标,其中a按四舍五入的原则取整。当所有直线上点采样完毕后,首先在点集内随机选取一组局内点集,假定该局内点集属于所要提取的轮廓边缘的直线上的点集,直线的表达式模型可以通过局内点集计算得到,然后用得到的直线表达式模型去测试其它点集,如果某个点适用于这个模型,则认为它也是局内点,如果局内点集的数量达到一定的规模,则认为该直线模型足够合理,然后用所有假设的局内点去重新估计直线模型,通过估计局内点与模型的错误率来评估模型,直到发现一种错误率足够小的模型
W=Mt/Ma,p=1-(1-wn)k
(2)
式中Mt,Ma分别为局内点的数量和数据集的数量,p为迭代过程中选取的点集是局内点集的概率也表征了算法产生有用的结果的概率,n为估计模型时选用的点个数,k为迭代次数。由于这种方法只能估计出一个模型,所以需要用初始定位目标轮廓边缘直线的位置,对存在多个模型的图像需要先进行分割再利用多线程技术分别估计出相应直线模型,通过改进的LSD直线提取算法提取到的边缘直线如图4右图所示。
图4 ROI与提取到的边缘直线
1.4 基于多项式回归的位姿估计
P3LPNL问题迭代求数值解,计算量相对较大,本文提出利用多项式回归拟合曲线的方法,拟合翻转角度与直线夹角φ之间的关系,多项式回归拟合曲线本质上就是通过变量转换化为多元线性回归问题,用平方误差和作为损失函数,然后利用梯度下降的方法通过多次迭代得到趋于稳定的向量系数,但同时也会带来过拟合的问题。由于板材的结构体积较大,且底部特的支撑结构,选择每隔5°进行采样,数据采样如表1所示。
表1 采样数据表
根据采样的数据集拟合出的曲线,效果图如图5所示。
图5 多项式回归拟合曲线
由图5可知,当拟合的多项式次数fc>3时,曲线发生过拟合的情况,当fc=2或3时,拟合效果最好,然后根据相关系数的大小选取fc=3时作为拟合的关系曲线。
天线板的轮廓直线与部分截面图如图6所示。
图6 天线板的轮廓直线与部分截面
由图6右图可知∠a为翻转角,各角度之间的关系如下面推断过程所示
∵∠a+∠c=∠b+∠c=π/2,L1∥L2
∴∠a=∠b=∠d=Υ
由几何关系式可以得出天线板的翻转角度等于板中轴线的翻转角度。
由于利用提取的模板图像的边缘直线与关键帧的边缘直线进行求解,具体如公式(3)
(3)
式中P△为位移量,σ为单位像素对应眼镜端坐标系中的长度,k1,k2分别为模板图和关键帧的两条基本平行长边的斜率平均值,fφ为拟合的曲线函数。
2 算法步骤
1)通过板材上方固定摄像头采集当前帧图像,降采样转化为HSV空间;2)提取H通道图像进行预处理,利用形态学梯度的方法定位到板材边缘大致位置;3)根据步骤2所确定的边缘位置,提取S通道图像,根据Lua表去除S通道中天线的影响,然后利用改进的LSD直线提取算法,提取板材的边缘直线;4)基于模板图的直线与多项式回归拟合的曲线求解出板材的三维位姿的变化量;5)判断位姿变量是否属于一定阈值范围内,若不属于则返回步骤1,若属于则利用服务器传入AR眼镜端并结合AR眼睛自身的空间锚功能修正目标的位姿。
3 实验结果与分析
为了验证本文算法测试算法的鲁棒性和准确性,在多个不同光照条件下进行采样,并在板材上放置一些干扰物件,观察能否提取到稳定的边缘直线,结果如图7和图8所示。从图中可以看出:本文算法具有一定抗光照和抗遮挡能力,通过大量实验发现在光照比较均匀比较适中的情况下效果最好。
图7 不同光照下提取边缘直线
图8 抗遮挡提取边缘直线
为了验证本文算法提取关键帧时跟踪位姿的误差,采集一组翻转角度从-15°~+15°的一组图片,得到关于实验的数据与实际的数据的折线图9。由图可知,在Y方向的误差平均在5个像素左右,X方向平均在2个像素以内,旋转角φ平均在1°左右,翻转角平均在2°左右。由于目标板材属于大型目标,该误差对人眼产生的视觉上的影响在可以接受范围内不影响操作人员进行布线操作。
图9 位姿变化量实验数据与真实数据对比
利用提取的1 000张关键帧图片作为测试集,与基于ORB和RANSAC的模板匹配算法和利用Halcon软件上的基于局部纹理的模板匹配算法相比较,实验结果如表2所示。
表2 本文算法与其他算法对比
本文在跟踪速度上都优于其他两种算法,且速度接近于利用特征点进行位姿跟踪算法的2倍,跟踪成功率超过90 %,虽然利用Halaon软件选取局部纹理进行跟踪在速度与成功率上都比较高,但选择的局部纹理由于板材的复杂结构并不在同一个平面上,所以,该算法只能跟踪到二维平面上的位移与旋转,不能跟踪到目标三维空间上的翻转。根据统计现场布线员工从拿天线到找到相应位置并卡上卡口的时间大约在2 s左右,眼镜端显示图像如图10所示,所以本文算法在跟踪速度以及稳定性上基本满足现场布线要求。
图10 眼镜端显示图像
4 结束语
本文针对AR辅助布线系统中复杂板材三维位姿跟踪问题,提出了一种基于轮廓边缘的目标跟踪算法,通过对图像进行采样,利用改进的LSD直线提取算法和利用多项式回归拟合曲线的方法,找到边缘直线夹角与模板图像边缘直线以及翻转角度之间的关系,在不使用双目摄像头和深度摄像头的情况下,能基本跟踪到目标小范围的空间三维位姿变化,并具有一定的抗遮挡和光照的自适应能力,在跟踪速度上同样满足生产现场需求。后续实验可尝试利用深度学习等智能计算方法进一步加快算法速度,减小跟踪时的误差,追踪到更大范围、更多自由度的位姿变化。