APP下载

基于单目视觉的盘类零件位姿检测*

2022-09-27张瑞杰刘凌云王佳维姚天胜李泽亚

组合机床与自动化加工技术 2022年9期
关键词:单目位姿标定

张瑞杰,刘凌云,王佳维,姚天胜,李泽亚

(湖北汽车工业学院电气与信息工程学院,湖北 442002)

0 引言

随着机器视觉技术的发展,具有视觉传感功能的工业机器人已被广泛应用到各种各样的工业场景中,但如何获取作业对象的准确位姿仍是一个非常受关注的问题。目前,有基于单目相机、双目相机及单目相机与结构光传感器相结合等方式的视觉装配技术。双目视觉系统是由两台相机对待测物进行姿态测量,需要解决立体匹配问题,且视觉视场范围小、成本高;而单目视觉系统不仅测量视场范围大且设计结构简单,易于安装调试[1],因而基于单目摄像机实现工件位姿的定位仍是业界主流模式。

相较于点、线、曲线等特征而言,空间圆形通过摄像机映射到图像平面后会变成椭圆形,具有容易识别且抗干扰力强等特点,因而基于单目视觉利用圆及其投影特征的定姿方法被学者广泛研究[2]。但圆在单目摄像机下的解具有二义性,为获取工件真实位姿,检测算法中往往需要附加额外工件信息。翟坤等[3]利用激光测距仪的辅助测距信息来去除二义性,同时使检测成本变高;苗锡奎等[4]则利用圆外参考点到圆心距离已知且不变性作为约束条件去除二值性;张李俊等[5]引用三线构型姿态估计方法,以角度为约束条件消除二义性虚假解,需要获取多种位姿状态下的二视图;SHUI等[6]针对圆柱体这一特定目标,利用圆柱体的两条母线为约束条件消除圆位姿的二值性;刘凌云等[7]利用工件同一平面两个不同心圆的位姿检测公共解去除二义性,但是当具有二义性的两解差值较小时该方法容易出现误解。

针对上述问题,本文以同一平面内具有多个不同心圆孔的某汽车零件为研究对象,提出了一种基于单目视觉的位姿检测方法。即首先依据圆位姿估计算法得到各孔的二义性位姿信息,再通过向量集搜索筛选算法去除圆二义性虚假解,从而获取其真实位姿。

1 空间圆位姿描述

设空间某一点M在摄像机坐标系下的坐标为(Xc,Yc,Zc)T,其映射到图像中的坐标为(u,v)T,由小孔成像原理可得出图像坐标系与相机坐标系之间坐标转换关系为:

(1)

式中,du、dv为每一个像素在u、v轴上的物理尺寸;(u0、v0)为图像中心点坐标;f为相机焦距;K为摄像机内参数矩阵,空间圆与摄像机成像平面中的影像关系如图1所示。

由于空间圆绕其所在平面的过圆心法向量旋转具有对称性,因此空间圆的姿态描述可退化为由偏转角α与俯仰角β两个参数进行描述。如图2所示。设空间圆所在平面法向量为n(nx,ny,nz),其在XcOcYc平面上的投影线与X轴正方向的夹角为偏转角α且取值范围为[0,2π],与XcOcYc平面的夹角为俯仰角β且取值范围为[-π/2,π/2],由数学几何知识可推算出[8]:

(2)

(3)

图1 各坐标系之间关系图 图2 圆位姿表述

由以上推论可知,工件的位姿信息可转化为求取空间圆的法向量及圆心坐标。

2 位姿估计算法

半径为R的空间圆通过相机投影成像时,若相机光轴与工件上圆的法向量平行时,空间圆在成像平面形成圆形;否则成像平面上形成的投影则为椭圆。成像平面显示圆时,空间圆法向量与相机光轴平行,深度信息仅根据相似三角形原理即可得出;形成椭圆时,设其拟合椭圆方程为:

(4)

根据文献[1]中透视投影关系式,得到摄像机坐标系下的椭圆锥体方程如下:

[XcYcZc]Q[XcYcZc]T=0

(5)

式中,由于Q为实对称矩阵,根据实对称矩阵性质可知必然存在正交矩阵P满足:

PTQP=diag(λ1,λ2,λ3)

(6)

(7)

即可将椭圆锥方程转换为标准椭圆锥体方程:

(8)

图3 标准坐标系下椭圆锥

由文献[8]中方法可求得摄像机坐标系下归一化的过圆法向量及圆心坐标:

(9)

(10)

式中,R为空间圆的半径。

由式(9)、式(10)可知,单目相机下单个圆的特征位姿解不唯一,具有二义性。在没有约束条件的情况下很难确定出实际空间圆的姿态信息。

对于同一个圆而言,其真实法向量、虚假法向量之间夹角θ与矩阵Q有关(即与圆在摄像机坐标系中的位姿有关),如下:

(11)

不同圆真/假法向量之间的夹角θ随空间圆位姿不同发生改变,因此为剔除求解结果中的虚假解从而获取真实位姿信息,可充分利用某些零件同一表面具有多个不同心孔的特点。即同一平面不同心圆真实法向量理论上互相平行,而夹角θ的不同证实虚假法向量无法同时处于平行关系。

设同一平面上两个不同心圆的真实单位法向量为n1、n2则有:

n1≈±n2

(12)

本文提出了以标准差最小为评判依据,利用向量集搜索筛选算法获取空间圆法向量真实解的方法,进一步根据式(2)、式(3)可求解出空间圆的姿态。

向量集搜索筛选算法的基本思路如下:假设空间某平面上有n个不同心的圆,由圆位姿估计算法获得的两组解分别为Nm1、Nm2(m=1,2,…n),依次完成步骤1~步骤4即可筛选出过圆真实法向量集。

步骤1:以圆1的法向量N11、N12为基准值定义两个向量集A1、A2,即设N11为向量集A1的初始元素,N12为向量集A2的初始元素;

步骤2:圆2法向量N21、N22分别与N11做点乘运算,将其中较大点乘值对应的向量加入到向量集A1;同时N21、N22与N12做点乘运算,将其中较大点乘值对应的向量加入到向量集A2;

步骤3:提取圆i(2

(13)

式中,Ni[max(N11·Ni1N11·Ni2)]表示N11分别与第i个孔的两个法向量做点乘运算结果的较大值所对应的法向量;

步骤4:求取两个向量集的标准差,标准差值较小的向量集所包含的法向量近似平行关系,即为所求圆的真实法向量集。

3 实验过程与分析

3.1 圆位姿估计算法的实验验证

为验证文中所述方法的可行性与准确性,针对如图4所示的气缸套进行实验验证,其对称外围四个圆孔半径为4 mm,中心大圆孔半径为15.95 mm。选用的摄像机型号是MV-EM200M,其分辨率1600×1200。基于Halcon平台,采用算子camera_calibration()进行相机标定,依据张正友标定原理[8],采集不同位姿标定板图像,依次迭代计算,寻求一组高精度相机内参使通过投影计算得到图像上的标定点坐标和直接从图像中提取标定点坐标的距离最小。实验标定的相机内参如表1所示。

图4 气缸套零件

表1 相机内参数

具体实验流程为:首先在同等实验条件下,采集具有一定姿态的工件图像,如图4所示;采集到的图像存在一定程度的噪声,本文选用高斯滤波的方法对图像进行预处理,其中,卷积核大小为(2k+1)*(2k+1)的高斯滤波函数如式(14)所示:

(14)

式中,σ为高斯函数的标准差。改变掩膜尺寸大小和σ值,图像处理效果也会有不同。掩膜尺寸增大,去噪效果更好但图像边缘信息会逐渐模糊,根据文中工件实际处理效果,掩膜尺寸选用3×3,σ值设为0.6,依次代入坐标值即可得到的整数形式卷积核如下所示,滤波后图像如图5a所示。

经过滤波处理后,在二值化处理时,采用binary_threshold(Image:Region:Method,LightDark:UsedThreshold)算子,依据最大类间方差法[9],自适应获取阈值对图像进行分割。然后,采用形态学处理筛选出中心圆、对称外围圆感兴趣区域ROI,并使用算子edges_sub_pix(Image:Edges:Filter,Alpha,Low,High:)进行亚像素边缘轮廓提取,经过多次调整参数对比实验,当选择sobel算子,平滑程度Alpha、滞后阈值的低阈值及高阈值分别为3、20、40时,轮廓提取效果最好,如图5b所示;最后以轮廓圆度及长度为筛选条件,选出需要的轮廓并采用算子fit_ellipse_contour_xld()进行椭圆拟合得出椭圆中心、长短半轴以及偏转角,拟合椭圆如图5c、图5d所示。

(a) 高斯滤波图像 (b) 轮廓提取

依据圆位姿估计算法、式(9)求取过圆法向量及圆心坐标,将其由式(2)、式(3)转换得到以α、β为参数表示的姿态信息,其分布情况如图6所示。圆所在平面的真实法向量应该存在于集中分布区域,但图中也可看出,当某一圆孔的两个法向量计算值比较接近时,法向量的集中分布区域也有可能存在法向量的虚假姿态,即无法根据圆的姿态分布情况去除虚假解得出工件的真实姿态。

图6 圆的姿态分布情况(以α、β为参数)

3.2 本文算法实验结果

为进一步准确求取工件的位姿信息,利用向量集搜索筛选法对上述实验中获得的10组姿态数据进行处理,然后计算得到两向量集的标准差分别为:0.307 103、0.114 781;标准差较小的向量集由5个圆的真实姿态数据所得,其在α、β坐标系下分布情况如图7a所示,对应的圆心坐标如图7b所示。

(a) 圆的真实姿态分布情况 (以α、β为参数) (b) 圆的圆心坐标分布情况

为进一步缩小误差选取该组仰俯角、偏转角的平均值作为工件的位姿信息,如表2所示。

表2 实验结果

通过改变气缸套的位置和姿态对上述算法进行了重复性验证。实验中共采集了20组图像进行试验,其计算得到的标准差分布情况如图8所示,将每次试验获得的两个标准差中较小者连成折线,由图可知标准差均小于0.2,说明多圆的真实姿态数据相对集中,计算误差较小。

图8 A1、A2向量集对应标准差

3.3 对比实验及分析

考虑到张正友标定法具有操作简便、标定精度高等优点,是当今高精度工业测量领域使用最广泛的标定算法之一[13],因此以张正友标定法获得的位姿作为真实位姿,将本文算法、文献[5]位姿求解方法同时应用到空间圆弧位姿的检测并与张正友模板标定法测得的真实位姿作比较。

在同等实验条件下,仅改变工件不同位姿进行20组对比实验,工件在摄像机坐标系下的俯仰角、偏转角的真实值及文中算法、文献[5]方法检测结果如图9所示。

(a) 偏转角检测结果对比图 (b) 俯仰角检测结果对比图

由图可知,相对于文献[5]方法,本文算法检测结果更接近空间圆弧所在平面的真实位姿解。两种方法姿态角误差绝对值曲线如图10所示。本文算法检测结果的仰俯角、偏转角度误差值均小于0.45°,而文献[5]方法结果误差接近0.63°。实验表明,针对同一平面具有多个不同心孔的工件位姿测量中本文算法检测结果精度要优于文献[5]方法。但由于本文算法需要逐一检测出平面上所有圆孔的位姿信息,仰俯角、偏转角是以多个圆孔测得姿态角的平均值为最终结果,检测速率略低于文献[5]方法。

(a) 偏转角误差绝对值图 (b) 俯仰角误差绝对值图

4 结论

针对多圆孔盘类零件,提出了一种基于单目视觉的零件位姿检测算法,即首先对待检测工件进行图像处理,其次利用圆位姿估计算法获得位姿的可能解,最后利用向量集搜索筛选法消除二义性,准确获取工件的空间位姿信息,实验结果表明:向量集搜索筛选算法能准确消除二义性虚假解得出工件圆的法向量组,姿态角与张正友模板标定结果的误差小于0.45°,比文献[5]方法检测结果误差减小0.18°,较准确的检测出了工件的位姿,该方法成本低、简单可靠。通过实验表明本文位姿检测方法可广泛用于同一表面具有多孔的工件的位姿检测,在实际工程如机器人抓取现场中具有推广应用价值。

猜你喜欢

单目位姿标定
基于单目视觉的分离图像分析方法
基于单目视觉车距测量方法综述
基于位置依赖的密集融合的6D位姿估计方法
使用朗仁H6 Pro标定北汽绅宝转向角传感器
曲柄摇杆机构的动力学仿真
优化ORB 特征的视觉SLAM
CT系统参数标定及成像—2
CT系统参数标定及成像—2
基于单目视觉的仓储物流机器人定位方法探讨
基于单目视觉的工件位姿六自由度测量方法研究