胡广华 黄俊锋 王宁 蔡鑫垚 李静蓉 王清辉
(华南理工大学 机械与汽车工程学院,广东 广州510640)
连接器作为一种连接电路模组的基本元件,被广泛应用于电气设备中。随着电气设备集成化程度的提高,连接器结构日益复杂。为了提高利用率,单个连接器上布置了多个紧凑排布的插孔以便插接更多的导线端子。
在传统的人工电气装配过程中,由操作者从线组中取出特定规格的导线,再将其金属端子插入对应连接器的目标插孔内。该过程效率低,用工成本高,工作单调枯燥易出错。因此,开发基于机器视觉的机器人自动插线系统很有必要。实现该目标的一个核心问题在于如何准确获取连接器的插孔位置,从而引导机器人执行器进行位姿调整。由于连接器属于弱(欠)纹理对象,其图像缺乏丰富的局部像素特征,且工作环境存在背景杂乱、光照变化等干扰因素,因此鲁棒、高精度的识别定位算法十分关键。
目前,针对目标物体的识别,研究人员提出了各种图像处理算法。其中,基于归一化互相关的模板匹配方法通过计算模板图像与原图像块的像素灰度分布的相关性来识别目标区域[1],但该方法易受光照与视角变化的影响。Lowe[2]提出的SIFT算法对目标图像特征点进行提取,并生成特征点的描述子用于匹配;Bay等[3]对SIFT算法进行优化,提出了匹配速度更快、鲁棒性更强的SURF算法;但这两种方法对于弱纹理特征的物体所能提取的关键点很少,在杂乱背景下极易产生误匹配。Dalal等[4]提出了HOG(方向梯度直方图)特征描述子,该方法计算量大,识别速度慢,且对噪声较为敏感;Hinterstoisser等[5- 8]提出的LineMod方法利用量化梯度方向特征进行模板匹配,能够实现目标在杂乱背景和光照变化下的快速识别,但仍存在较多误匹配、误识别的情况;Drost等[9]提出采用深度相机获取空间点云,并从中采样出少量点对来构成描述子进行匹配以识别物体,但需要特殊的硬件支持,移植性较差。
对于目标物体孔中心的定位,刘诚等[10]利用显微视觉系统并基于Hough变换来实现焊孔中心定位;Xue[11]利用线结构光与工业相机构成的视觉成像系统来定位类圆孔中心;Seo等[12]基于双目视觉并利用立体校正和椭圆拟合方法来确定圆孔中心的空间坐标;孙志远[13]提出了一种基于像素分布的模板匹配方法用于定位目标孔的中心位置。上述研究均针对结构简单的单个目标孔中心的定位,对于连接器这种插孔紧凑排布、特征密集的对象并不适用。
针对上述问题,文中提出一种基于累积量化梯度方向特征的连接器识别方法,实现了在杂乱背景及光照变换等干扰下的连接器像素区域的稳定检测。在此基础上,针对连接器插孔密集分布造成的难以同时定位多个插孔中心的问题,提出一种基于扫描线特征直方图的多孔定位方法,以期实现单个连接器多个插孔中心的同时定位。
文中采用Eye-In-Hand工作模式,由工业相机、光源、工业机器人及工控机等构成机器人插线视觉系统,如图1(a)所示。相机固定于机器人末端,通过机器人运动来完成对各连接器的图像采集,再利用视觉处理算法对连接器进行识别并对其插孔进行定位。由于多个连接器布放于工作面板的不同位置,加上连接器本身的制造精度及在面板上布置时的安装误差等原因,所有连接器上的每个插孔位置均需在线测量。根据线孔装配条件,位置测量误差要求控制在0.5 mm范围内。成像系统坐标变换模型如图1(b)所示,像素坐标系到世界坐标系(机器人基坐标系)的空间变换关系满足:
(1)
式中:zc为比例系数;A为相机内参矩阵,其参数通过张氏标定法获得[14];M为相机外参矩阵,满足
Axw+Byw+Czw+D=0
(3)
式中,常量A、B、C、D为待定参数,它们决定平面的法线方向及截距。为了确定以上参数,可通过示教的方式人工驱动机器人末端点与平面α上的多个选定点接触,由式(3)建立方程组,利用最小二乘法求解。
(a)视觉成像系统的结构
(b)视觉成像系统的坐标变换模型
系统标定好后,从插孔中心像素坐标出发,通过式(1)-(3)可解出其在世界坐标系下的坐标值。
为了精确定位连接器上各插孔的中心位置,需要在杂乱背景和光照变化的干扰下,从采集图像中识别连接器。本节基于图像的累积量化梯度方向特征,并采用模板特征匹配的方法对连接器进行识别。
采集的目标连接器RGB图像如图2所示。对每个颜色通道采用Sobel算子计算x和y方向的梯度分量Sx和Sy,得到梯度幅值和方向如下:
(4)
式中,Mc为颜色通道c的梯度幅值,Ac为梯度方向。为了提取梯度的主要成分,取幅值最大的颜色通道的梯度方向用于后续计算,即
(5)
图2 视觉成像系统采集的连接器图像
图3 梯度方向的调整
采用式(5)得到像素的梯度方向,根据其所在的量化区间,将梯度方向值量化为方向值最接近的区间边界值对应的编号,并依照划分区间数进行对应位数的二进制编码,如图4所示。
图4 量化梯度方向编码
通过上述方法对采集的连接器图像进行处理,获得量化梯度方向特征图,如图5所示。
图5 连接器图像梯度方向量化结果
首先制作一张如图6(a)所示的模板图像,提取其量化梯度方向特征,如图6(b)所示。
图6 模板图像及其量化梯度方向特征
为了提高识别的鲁棒性,需要从模板图像中获取更多具备抗噪性的特征。基于几何学模糊[15- 16]思想,在小范围内对模板图像的每个像素进行n次随机旋转和平移变换,其像素变换矩阵为
(6)
式中,s为范围[0,1]内的随机数,θ为像素点绕中心旋转的角度,tx和ty分别为x方向和y方向的像素平移量。对每次随机旋转和平移变换后的图像提取量化梯度方向特征,并生成各自的方向码图像,再对提取的量化梯度方向码图像进行累积,即
(7)
式中,orij(x,y)为第j张特征图像中(x,y)位置的梯度方向码,COj(x,y)为累加第j张特征图后的累积方向码,n为量化梯度方向特征的图像数量。累积梯度方向的叠加过程如图7(a)所示。对模板图像的所有量化梯度方向特征进行累积,结果如图7(b)所示。同时统计每个位置特征累积的次数,即
(8)
式中,kj(x,y)取值为0或1,代表各个量化梯度方向特征图中像素位置(x,y)是否有量化方向码。所得到的模板图像的累积特征频率如图7(c)所示。
(a)累积梯度方向叠加过程
图7 模板图像累积量化梯度方向特征的生成过程
为了应对连接器可能与拍摄图像水平方向存在角度偏差的情况,需要对原有模板图像进行旋转变换,扩展多组模板,得到多张模板图像。对每张模板图像进行上述的量化和累积方向特征操作,可以获得对应的累积方向特征图。
如图8所示,以模板图像为滑动窗口,在待测图像中进行遍历匹配。为每个窗口位置的匹配度进行评分:
(9)
式中:w(i,j)可以通过式(8)获得;H和W为模板图像的高度和宽度;φ表示在对应位置下,模板的累积量化梯度方向特征包含目标图像提取的量化方向特征时对应的累积特征数量,即当oriI∈oriT时,满足oriI∧oriT>0,得到
(10)
结合式(9)和(10),得到如图9所示的模板匹配结果,选取结果中得分最高的位置(即图中数值为1的位置)作为最终识别的结果。
图8 模板匹配过程
图9 模板匹配结果
对于其他通过旋转变换扩展的模板图像,采用上述模板匹配方法,可以得到多组模板匹配得分,通过比较,选取最高得分对应模板的旋转角度作为连接器的角度偏差值。
在确定了目标连接器的像素区域及其在图像水平方向的角度偏差后,还需进一步获取连接器上各插孔中心的像素位置。
对连接器像素区域进行角度偏差修正,并利用限制对比度自适应直方图均衡化[17]方法进行预处理,以减小光照和视角变化对插孔定位造成的干扰。
考虑到插孔的特征,通过提取各插孔的边缘确定其中心位置。利用水平和竖直扫描线分别对预处理图像进行扫描,根据单根扫描线所在像素行或列的灰度分布,构造其灰度直方图,如图10所示。标记图10中波峰对应的插孔边缘点位置,且波峰两侧灰度基本对称分布,可以据此进行边缘特征提取。
(a)扫描线下的单行像素
图10 扫描线灰度直方图
为进一步减少亮度不均带来的影响,对每根扫描线数据进行归一化,即
(11)
式中,N为归一化后的图像,I为原图像,γ为设定的下限,β为设定的上限,γ取0,β取1。
通过水平扫描线对图像进行扫描,生成每根扫描线所在行像素的位置(序号)-灰度直方图,并进行归一化处理。设某行第k个像素的序号为xk,其灰度值为f(xk),边缘提取的具体步骤如下。
步骤1 宽度为W的窗口以xk为中心,沿着直方图横坐标滑动,W为奇数且满足3≤W<δ,δ为相邻波峰的宽度。对窗口内像素进行遍历,若f(xk)值大于设定阈值,且满足
(12)
则此时的像素坐标归入候选集合P,
步骤2 由于插孔边缘两侧灰度分布基本相同,故对于P中每个元素p,若在以p为中心的窗口范围内满足条件
(13)
则元素p保留,否则剔除。式(13)中,t为设定的阈值。
步骤3 若P中元素的数量与插孔边缘数量相同,则P为该扫描线最终提取的边缘特征集,否则判定为无效集合,进行下一扫描线的边缘特征提取。
对每根水平扫描线均采用上述步骤进行处理,可以得到水平方向的插孔边缘点特征集合L={Pi|i=1,…,l},其中l为水平扫描线上有效波峰集合的数量。对于竖直扫描线,采用上述方法提取竖直方向的插孔边缘点特征V={Pi|i=1,…,v},其中v为竖直扫描线上有效波峰集合的数量。
利用已知的连接器插孔边缘分布规律和插孔数量,可以对水平方向的边缘特征集L与竖直方向的边缘特征集V的元素进行分类重组。
设单个连接器上的插孔行数为M+1,列数为N+1,则水平方向孔边缘的数量为N,竖直方向孔边缘的数量为M(不计孔的最外围边缘)。用lij表示L中的元素li的第j个元素(即第j条水平边缘上的一点),而vij表示V中的元素vi的第j个元素(即第j条竖直边缘上的一点),插孔边缘分布及编号方法如图11所示。为了获取每个插孔中心的位置,需要将集合L和V的元素进行重组,具体步骤如下。
图11 插孔边缘分布及编号方法示意
步骤3 对所有水平边缘和竖直边缘进行重组和归类,可以得到属于所有插孔的边缘点集合{Sk|k=1,…,MN}。
图12 插孔定位结果
采用基于累积量化梯度方向的模板匹配方法对连接器进行识别。选取参数tx和ty的取值均为2,旋转角度θ取值为20°,对不同类型连接器对象进行算法测试,并且在不同的背景下进行实验,以此验证算法的鲁棒性。
首先,测试算法对几种类型连接器的识别效果。通过视觉成像系统在背景相对简单的情况下采集类型Ⅰ、Ⅱ、Ⅲ的连接器图像,如图13所示。事先制作好相应的模板图像,采用累积量化梯度方向特征进行模板匹配,分别得到匹配得分映射图,其中匹配度越高的位置得分越高。图中虚线框表示最终识别的连接器像素区域,可以看出,对于几种不同类型的连接器,该算法均可以准确且稳定识别。
各行从左到右依次为原始图像、模板匹配得分图、定位结果(虚线框)
另外,由于连接器的安装位置周围可能会存在导线、特殊标记等干扰,因此需要在杂乱背景下进行算法的鲁棒性测试。采集连接器在不同杂乱背景下的图像,得到的鲁棒性测试结果如图14所示。可以看出,即使背景条件存在不同程度的杂乱,甚至存在局部遮挡,文中算法仍可稳定识别出目标连接器的像素区域,具备较好的鲁棒性。
各行从左到右依次为原始图像、模板匹配得分图、定位结果(虚线框)
对不同类型的连接器进行插孔定位测试。采集不同类型的连接器图像,利用识别的连接器区域,并采用插孔定位方法进行每个连接器插孔的中心像素位置提取,结果如图15所示,其中白色十字光标即为插孔中心定位结果。算法执行过程在同一台电脑上运行(Core i7,8G RAM),采集的原始图像尺寸为2 560像素×1 920像素。为提高运行效率,连接器识别时采用降采样方法,将图像尺寸缩小为640像素×480像素,定位插孔时采用原始图像大小。图15结果表明,在一定光源条件下,文中算法对于结构类似的不同类型连接器均可以实现插孔定位。从目标识别到插孔定位整个算法过程的耗时如表1所示。由于不同类型的连接器检测时采用的模板尺寸存在差异,因此算法检测耗时也存在差异,但总体上整个算法过程的耗时在0.5 s左右。由于连接器插孔定位仅需在插线操作前进行一次检测,装配过程无须再重复检测,故该步骤的检测速度对整个自动插线系统插线效率的影响有限。
图15 不同类型连接器的插孔定位结果
表1 连接器识别及插孔定位算法的耗时
取10个Ⅰ型连接器对插孔的定位精度进行验证。实验前先在所搭建的实验框架(工作面板)上安装辅助定位块,以定位块矩形通孔的边缘为基准建立工件坐标系,并利用工业机器人坐标系统进行标定,如图16所示。将连接器固定于定位块的矩形通孔内,使得连接器插接面与辅助定位块的前端面平齐,边缘与辅助定位块通孔边缘对齐。事先采用游标卡尺(分度值为0.02 mm)对连接器的插孔尺寸进行测量,得到每个插孔的长、宽及孔边界到连接器外边缘的距离,将每个插孔均视为矩形孔,这样便可得到插孔中心在工件坐标系下的准确坐标(xr,yr,zr)。
图16 工件坐标系的建立
图17 连接器的插孔定位误差分布
文中提出了一种基于累积量化梯度方向特征的连接器识别方法来实现背景杂乱、光照变化等干扰下的连接器像素区域的稳定检测,并在此基础上提出基于扫描线直方图的多孔中心定位方法,用于解决连接器插孔密集分布造成的难以同时定位多个插孔中心的问题。实验结果表明,文中提出的连接器识别算法具有良好的鲁棒性,可以应对复杂的插线环境,孔中心定位算法可以通过单次检测同时定位单个连接器的多个插孔中心,且能满足线孔装配的精度要求。尽管如此,文中所提出的连接器识别算法仅支持单一尺度下的检测,未来考虑通过图像金字塔分解、空间重采样等技术增加对缩放、透视变形等工况的支持。