基于双目视觉的大尺度矩形工件定位方法

2020-04-09 02:18苏少辉张东阳汪益停陈国金
关键词:角点标定工件

苏少辉,张东阳,汪益停,陈 昌,陈国金

(杭州电子科技大学机械工程学院,浙江 杭州 310018)

0 引 言

利用工业机器人和视觉系统对工件进行定位和抓取是生产线上的一项重要应用,大尺度矩形工件定位的主要思路是获取工件图像的几何中心和旋转角度,然后通过视觉系统将工件位置信息发送给机器人,实现工件抓取。通常满足精度要求的工件图像需要使用超高分辨率的广角工业相机采集,但是,高分辨率相机的成本高,图像处理时间长,空间复杂度高,消除广角相机带来的畸变也需要耗费大量的时间。工件的角点是二维图像亮度变化最剧烈或图像边缘曲线上曲率值最大的像素点,具有旋转不变性和不随光照条件变化而改变的优点。利用角点特征能很好地将工件和背景区分开,所以,可用工件的角点来确定工件的几何中心[1]。目前,Harris角点检测算法[2]和FAST角点检测算法[3]是应用最广泛的角点检测算法,但是,在图像噪声高时,其鲁棒性差;图像分辨率高时,效率低,检测性能依赖阈值的设定[4-5]。大尺度工件往往因为采样视野大,易受外界光线的干扰从而导致大量的背景噪声,给Harris和FAST角点检测结果带来了不可避免的干扰,且无法直接给出工件的旋转角度。为了满足实时性和精确度要求高的流水线作业,本文针对大尺度工件的对角区域进行研究,提出一种改进的Hough直线角点检测方法,通过双相机与机器人的“手眼标定”方法,给机器人传送准确的抓取姿态数据,极大方便了机器人抓取大尺度工件的定位工作。

1 基于改进Hough变换的定位算法

角点定位即检测出大尺度工件对角区域两条边线的交点在图像坐标系中的位置。相机安装位置不同,工件在相机视野中成像位置也不同。本文研究的大尺度矩形工件边角在相机中成像特点为:其中一个边角覆盖相机视野的左上角区域,记为左相机,其对边角覆盖相机视野的右下角区域,记为右相机,如图1所示。

在图像处理领域,Hough变换(Hough Transform,HT)[6-7]是常用的直线搜索技术。但是传统的HT是利用图像空间和参数空间的对偶性原理,将离散的数字图像空间(直角坐标系)中的每一个特征点映射成参数空间(极坐标系)中的一条正弦曲线,这种“一对多”的映射方式具有很大的盲目性,需要较大的储存空间,计算量较大,导致算法效率低下。

图1 左右相机成像特点

随机Hough变换(Randomized Hough Transform,RHT)[8]和概率Hough变换(Probabilistic Hough Transform,PHT)[9]均采用随机选择采样点,使用图像空间到参数空间“多对一”的映射方式降低了运算复杂度,减少了储存空间,但是,在实时性要求高,图像分辨率大的场景下,算法的效率还有待提高。本文吸收了RHT和PHT算法的优点并充分考虑大尺度矩形工件边角成像的特点,即工件在图像中的两条边必定经过图像的边界,提出了改进的Hough直线角点检测方法。

根据左相机成像特点,改进算法如下:

(1)提取图像中n个特征点,组成点云空间P={pi=(xi,yi)|i=1,2,3,…,n};

(2)按x递增顺序从P中提取子集Plx={plx=(xlx,ylx)|ylx=0},按y递增顺序从P中提取子集Ply={ply=(xly,yly)|yly=0},作为种子集;

(3)由于目标直线必过图像边界,首先从Plx中取出一点pi作为种子点,这种方式有效减小了RHT和PHT选取种子点的盲目性;

(4)初始化参数累加器数组;

(6)重复步骤5,若点pk满足|θjk-θji|<ε1,认为pk和pj在一条直线上,则属于参数θji的累加器空间加1,若不满足,则重新开辟参数θjk的累积器空间;直到某一参数θ的累加器达到了阈值T1,则认为可能检测到一条直线,停止步骤5;

(7)计算参数θ表示的直线方程:

ρ=xjcosθ+yisinθ

(1)

(8)遍历P1中的特征点p(x,y),若满足|xcosθ+ysinθ-ρ|<ε2,则删除该特征点,若被删除的特征点数目大于阈值T2,则确定图像中存在式(1)表示的直线;

(9)记删除一条直线特征点的剩余点集为P2,再从ply中取出一点pi作为种子点,回到步骤4,检测另一条边线;

(10)计算2条直线的交点PC,即工件的角点,算法结束。

右侧相机图像的检测步骤与左侧相机类似,只是选取的种子点是从图像下边界和右边界开始。改进的Hough直线角点检测方法的关键在于根据图1中工件的成像特点选择合适的种子集和控制阈值,保证过滤掉小段干扰直线,确保检测出来的直线是2条基本垂直的目标直线。如果得到的直线不够精确,还可以用最小二乘法拟合被删掉的特征点集,获取准确的直线方程。

工件的旋转角度α由2条边线的参数方程确定:

α=min(|θ1|,|θ2|)

(2)

式中,θ1,θ2分别表示边线与图像X轴的夹角。

2 双目视觉标定技术

为了消除相机的畸变影响,对相机进行标定,本文选取张正友标定方法[10-11],利用MATLAB中的相机标定工具箱进行标定;为了达到“手眼协调”的目的,需要相机坐标系与机器人坐标系的标定。双目视觉定位的步骤如下:

(1)利用张正友标定法,标定相机A,B的内参和外参矩阵;

(4)利用上述定位算法,检测工件在图像中的角点坐标PA(xA,yA)和PB(xB,yB);

(5)根据步骤3的变换矩阵,把相机B成像中的工件角点坐标换算到相机A成像坐标系中,记为PB(xBA,yBA);

(7)根据步骤2计算工件几何中心在机器人坐标系中的表示,即机器人的抓取目标点;

(8)根据上述定位算法得到工件旋转角度α,计算机器人抓取点的欧拉角;

(9)根据步骤7的坐标和步骤8的欧拉角计算目标点的位姿,生成机器人抓取路线。

3 实验结果及分析

实验采用德国IMAGING Source公司生产的DFK33GP1300工业相机,分辨率为1280×1024,机器人采用ABB-6700工业机器人,重复定位误差为0.05 mm,计算机配置CPU:Intel六代i5,内存为8 GB。试验对象为2 000 mm×2 000 mm×200 mm的海绵工件,抓手和相机安装位置如图2所示,2个相机与法兰中心成中心对称,相机光学零点距离工件为800 mm。

由于工件背景复杂,本文模拟实际工业生产环境,得到3组不同的采样结果:无干扰图、曝光缺陷图、背景干扰图,统计这些图像的直方图,结果如图3所示,横坐标表示灰度值,纵坐标表示图像中某灰度值下分布的像素个数,即频数。

图3 实验对象直方图

从图3可以看出:曝光存在缺陷的图像处于低灰度值的像素和高灰度值的像素点较多,说明这些图片存在曝光不足或者过曝光的问题;除了主体像素点外,背景受干扰的图像还存在部分干扰像素点;无干扰的图像中,一部分像素分布在低灰度区域,另一部分像素分布在高灰度区域,说明图像背景和主体分化明显。总体来说,当3种图像的灰度值超过250时,图像背景和主体都能较好地分化开,所以,所有图像均以固定阈值250做二值化处理。考虑到以固定阈值处理的二值化图像往往带有椒盐噪声等其他杂质,经过分析对比,实验采用9×9的卷积核对图像进行均值滤波效果最好。对3组照片使用相同运算核的开运算,去除孤立的孔洞和毛刺。

3.1 直线检测测试

为了检测本文改进Hough直线检测算法的有效性,选取背景干扰严重的1幅图像进行测试。因为RHT和PHT算法原理基本相似,且PHT算法应用较多,故本文选用PHT算法作为对比,检测效果如图4所示。

图4 本文算法与PHT算法输出结果对比

图4(a)中,带端点的线段是PHT算法检测结果,除了目标线段,很多干扰直线也被检测出来,且耗时较长;图4(b)中,本文改进算法通过控制检测阈值,工件2条边线明显被检测出来,检测速度比PHT算法快了接近4倍,且直接给出2条边线的参数方程,联立求解可得工件角点坐标,根据式(2)可得工件旋转角度。

3.2 角点检测测试

分别使用本文算法、Harris算法、FAST算法进行角点检测,结果如图5-7所示,3种算法检测结果的对比如表1所示。

图7 背景干扰情况下,3种算法效果对比

表1 3种角点识别算法性能对比

由表1可以看出:在无干扰的图像中,3种算法都能识别出工件的角点,本文算法识别的有效率远高于其他2种算法;在曝光存在缺陷的图像中,Harris和FAST角点检测算法的识别有效率均不理想,无法应用于实际生产中,本文算法能最大程度降低图像边缘噪声对检测结果的影响;在背景存在干扰的图像中,本文算法无论从耗时还是识别有效率上均领先于其他2种算法。综上,本文算法识别角点有效率高,耗时较少,抗噪能力强,同时可给出工件的旋转角度,准确可靠。

3.3 双目视觉定位精度测试

图8 双目视觉标定精度测试装置

为了测试双目视觉标定方法的精度,用标定板代替所定位工件,尖端工具代替末端执行器来定位选择的目标角点,测试装置如图8所示。

首先拍下标定板的图像,计算每一个角点的图像坐标,用带针尖的工具去触碰标定板的角点,记录示教器上的坐标值,代表该角点实际对应的机器人坐标,然后利用双目视觉标定系统,计算出像素坐标对应的机器人坐标。试验数据如表2所示。

表2 双目视觉标定验证结果

图9 大尺度工件复合效果

从表2可以看出:本文双目视觉标定方法误差在0.5 mm左右,满足定位精度要求。根据本文算法得到的角点坐标和工件旋转角度,能够准确计算出大尺度矩形工件的几何中心和相对于示教末端执行器的旋转角度,以此数据调整机器人的姿态可以实现工件的准确定位抓取。为了验证本文算法的实际应用效果,选择实际生产中的纯海绵床垫作为实验对象,上、下层工件尺寸均为2 000 mm×2 000 mm,抓取前工件为任意角度、任意位置在实验台上摆放,首先定位下层工件位姿,然后定位上层工件位姿,并引导机器人完成抓取,最后将上层工件复合在下层工件上面,复合效果如图9所示。每个流程要完成两次大尺寸工件的精准定位,才能满足海绵床垫的复合精度要求。经过若干次实验,边缘吻合精度小于2 mm,抓取中心重复误差小于0.05 mm。

4 结束语

本文基于Hough变换提出了改进的Hough直线角点检测方法,利用双目视觉技术完成了大尺度工件的定位,该定位方法耗时短、精度高,可应用于大尺度工件的搬运、码垛、复合等场景,弥补了工业领域利用机器视觉定位大尺度工件方面研究的不足。但是,柔性大尺度工件易产生变形,影响定位精度,下一步将考虑柔性大尺度工件的形变,进一步完善算法,使其更贴近实际应用。

猜你喜欢
角点标定工件
带服务器的具有固定序列的平行专用机排序
带冲突约束两台平行专用机排序的一个改进算法
多支撑区域模式化融合角点检测算法仿真
工业机器人视觉引导抓取工件的研究
使用朗仁H6 Pro标定北汽绅宝转向角传感器
一类带特殊序约束的三台机流水作业排序问题
角点检测技术综述①
基于灰度差预处理的改进Harris角点检测算法
CT系统参数标定及成像—2
CT系统参数标定及成像—2