APP下载

基于机器视觉的工业机器人分拣技术研究

2013-08-23刘振宇李中生邹风山

制造业自动化 2013年17期
关键词:标定工件直线

刘振宇,李中生,2,, 赵 雪,邹风山

LIU Zhen-yu1, LI Zhong-sheng1, 2, 3, ZHAO Xue4, ZOU Feng-shan3

(1.沈阳工业大学 信息科学与工程学院,沈阳 110870;2.空军驻沈阳地区军事代表室,沈阳 110016;3.新松机器人自动化股份有限公司,沈阳 110168;4.沈阳防锈包装材料有限责任公司,沈阳 110084)

0 引言

机器视觉技术指用摄像机来模拟人眼的视觉功能来对客观事物进行测量和判断。视觉技术在工业中得到了越来越广泛的应用,对提高生产效率,达到生产智能化的目的起着至关重要的作用[1]。工件分拣是工业产品批量生产环节重要的组成部分,传统生产线上,分拣采用人工的方法,对于长时间作业来说,显然是满足不了的。即使采用工业机器人进行分拣,其一系列运动也都是用示教或离线编程的方法,所有动作和摆放位置都要预先严格的设定。一旦工作环境条件有所变化,就会造成抓取错误。与传统的机械分拣作业相比,将机器视觉技术应用到工业分拣系统上有着高质量,高速率,高智能等无法替代的优势。根据目前我国的市场需求状况和相关技术研究、将机器视觉与工业生产的有机结合不仅提高了产品质量和可靠性,更保证了工业化生产的效率[2],有着十分重要的意义。目前,视觉处理算法发展取得了较快的发展。例如,Dagao Duan,Meng Xie,Qian Mo等人提出了一种改进的Hough变换(MHT)和窗口随机Hough变换(RHT)减轻了存储负载[3]。Barinova, O., Lempitsky, V., Kholi, P.等人提出了一种Hough变换检测算法,用于检测多个目标对象[4]。中国三峡大学提出了一种新的圆心都由梯度Hough变换分配同心圆检测方法[5]。Sun Junding, Xu Heli等人研究了链码分布向量(CCDV),链码相对论熵(CCRE),链码空间分布熵(CCSDE),并且提出了一种将链码检索形状的算法[6]。

本文把机器视觉技术应用到工业机器人分拣问题中,搭建立了基于视觉的分拣系统试验平台。同时研究了相关的图像处理算法,提出了多目标分块处理算法和Hough变换与链码相结合的Hough-链码识别算法,两者结合可以有效解决规则几何工件的分拣问题。

1 工业机器人分拣系统平台构成

本文以新松六自由度机械臂SRH6工业机器人为基础,搭建了如图1所示的基于机器视觉的工业机器人分拣系统平台。该工业机器人分拣系统主要组成部分有:传送带、工件放置槽、千兆以太网工业相机、相机支架和六自由度工业机器人等。

首先相机对传送带上进入到工作区的工件进行图像采集,然后对图像进行处理分析,对工件进行识别定位,接着根据建立的目标坐标系和机器人坐标系之间的关系,引导机器人抓取不同种类的工件,把同类的工件放置到放置槽中去。

图1 基于机器视觉的工业机器人分拣系统

2 分拣实现流程

基于机器视觉的工业机器人分拣系统的图像处理流程如图2所示,通过摄像机把工件放置台上几何工件的图像序列采集到PC机内,并通过识别算法进行常规形状的识别:如矩形、三角形、五边形和六边形等规则几何工件,计算其相关的形状特征。整个分拣流程从视觉算法上分为四个部分:图像预处理、目标提取、形状识别和分拣抓取。1) 图像预处理:对采集到的图像进行图像平滑去除噪,消除噪声对图像的干扰。使用Canny算子进行二值化,其目的是将目标图像从背景图像提取出来。2) 目标提取:将图像按照目标分块进行处理,可以提高识别速率。使用Hough直线检测是为了检测单一目标的几何工件边的条数。3) 形状识别:首先用图像几何矩来对工件进行快速粗略识别,之后利用Hough变换检测出的目标工件的四周的直线,求取相邻两条直线之间的夹角,用夹角作为链码的参数,然后比较数据库中的模板链码和计算出的链码是否相同以精确匹配。4) 分类抓取:对每个单一工件目标求取质心坐标点,通过RS232发送特征信息给机器人控制柜,从而控制机器人的机械手进行分拣抓取操作。

图2 视觉算法分拣流程图

3 目标提取

3.1 摄像机标定

机器视觉中CCD摄像头的作用是采集目标图像,摄像头选用DALAS公司生产的GM1400千兆以太网工业相机。相机内参数为:焦距:4.2864毫米;精度:1.3020mm/像素(长)、精度:0.9765mm/像素(宽);焦距:5毫米;精度:1.116mm/像素。为了方便计算,可以近似认为1像素为1mm。

摄像机标定是视觉系统开发的关键步骤,它的基本任务就是通过对从摄像机采集到的图像进行处理,以获得三维空间中物体的几何信息,并由此重建和识别物体[7],是机器视觉在工业分拣生产线上得以应用的一个必要前提。摄像机标定的目的是建立各相关坐标系,获得空间点在图像坐标系和空间坐标系下的对应关系[8]。针孔模型是摄像机模型中最简单的模型,本分拣系统以小孔成像为标定算法的模型,采用了张正友标定法。只需要拍摄2张相片,并根据图像点之间对应关系即可标定出摄像机内参数与外参数[9]。如图3所示,为了提高摄像机标定的精度,本文采用7张相片作为标定模板。摄像机标定是分拣系统跟踪和抓取目标的前提,为后续抓取工作提供了基础保证。

图3 摄像机标定图

图4 几何工件的外围矩形

3.2 图像预处理

图像的预处理主要是为了提高图像数据中的信噪比,进行背景噪声的抑制。目的是减轻后续图像处理的压力。预处理的好坏直接影响机械工件的边缘、面积、曲率、角度和物体质心等特征的提取。

3.2.1 多目标分块处理

在图像处理中,一般的算法都是把一张图像作为一个整体研究,这样每次对图像分析时候都是在扫描整个图像下进行的。本文采用多目标分块处理,把一副图像分割为基于N个目标的不同目标块Block N(i,j)。这样可以在处理目标图像时,只针对目标块这一小部分,有效的减小算法处理时间。如图4所示,将多目标几何工件按照分块进行处理。每个目标工件都有外围矩形将每个目标都分开。

3.2.2 边缘检测

经典的边缘检测的算子有Sobel算子、Prewitt、 Canny算子和Laplace算子,而Canny算子具有较好的信噪比、高边缘定位性能和在噪声环境下较好的检测效果,适用于不同环境下的边缘检测[10]。本文选取Canny边缘检测算子求取工件边缘。该算子首先采用二维高斯函数的一阶导数对图像进行平滑处理,再对平滑后的图像计算其梯度的幅值和方向并进行非极大值抑制,最后检测和连接边缘[11],二维高斯函数和图像卷积如式(1)所示:

其中:I(x,y)为原始图像,σ是一个尺度参数,σ越小,则函数越集中。σ越大,则表示图像在一个较大的范围内进行平滑去除图像噪声。

然后用一阶偏导的有限差分来计算梯度的幅值图像G和梯度方向图像α。点(i,j)处两个方向的偏导数Gx(i,j)和Gy (i,j) 如式(2)所示。

则此时图像点I (i, j)处的梯度幅值M和梯度方向α分别为:

其中α为平滑梯度方向矢量,即正交边缘的方向。幅值M越大,其对应的图像梯度值也越大。为了确定边缘,只保留幅值局部变化较大的点,生成细化边缘。最后用双阈值算法检测并且连接边缘。

经过Canny算子处理后,需要对二值图像进行膨胀处理,使得边缘更明显以便于观察。膨胀属于形态学的一种处理方法,需要定义一个“结构元素”,在每个像素的位置上它将与二值图像对应的区域进行特定的逻辑操作。膨胀公式定义为:

首先对S做关于原点的映像 ,然后将结构元素S平移到(x,y),它与I的交集不为空集,这样的点(x,y)组成的集合就是S对I膨胀产生的结果。检测到的工件边缘如图5所示。

图5 检测的工件边缘

4 特征识别与定位

工件的识别与定位是机器人分拣工件的前提和基础,其识别和定位的正确与否直接影响到后续分拣操作结果的准确性,本文首先利用几何不变矩对工件图像进行快速的粗略识别,接着采用Hough变换检测边缘直线,并以直线夹角为参数形成Hough-链码,通过匹配目标与模板的Hough-链码来进一步识别工件。工件的定位采用基于图像一阶矩的算法来计算出工件的质心坐标。

4.1 不变矩

图像的几何不变矩特征主要体现了图像区域的几何特征,又称为几何矩,由于其具有旋转、平移、尺度等特征的不变特征,所以又称为不变矩。

对于区域大小为M×N的数字图像f(i, j),其(p+q)阶矩定义为:

公式(6)中:f(i, j)相当于一个像素的质量;Mpq为不同p、q值下的图像的矩。

中心距Mpq反映了区域中的灰度相对于灰度重心是如何分布的度量。为了得到矩的不变特征,定义归一化的中心距为:

利用归一化的中心矩,可以获得利用式(8)中εpq表示的7个具有平移、比例和旋转不变性的矩不变量(其中φ7只具有比例和平移不变形)。

如表1所示,对五边形工件进行平移、旋转和缩放后计算出其几何不变矩。由表1可知,该几何不变矩方法鲁棒性一般,且不能对同类工件的不同大小进行区分,鉴于该方法能快速检测出工件大体形状,故用该方法来实现对工件的快速粗略检测。

表1 基于五边形工件的图像几何矩

4.2 Hough-链码法

针对相同形状的大小工件,本文采用基于Hough变换和链码的方法演变来的Hough-链码法来进行精确匹配特征。

Hough变换在图像处理中识别几何形状的基本方法之一。Hough变换算法的主要思想是,先将参数平面按一定步长离散化为许多小格,然后采用“多对一”映射,计算图像空间中共线的多个像素点在参数平面中对应的参数值,若计算结果落在参数平面某一小格内,就使该小格的累加器加1,累积值最大的小格即为图像空间中直线的参数[12]。

如图6所示,x-y坐标和k-b坐标有点----线的对偶性。x-y坐标中的点P1、P2对应于k-b坐标中的L1、L2;而k-b坐标中的点P0对应于x-y坐标中的线L0,由于x-y坐标中的垂直线的k值为无穷大,给计算带来不便,故使用点----正弦曲线对偶变换解决这一问题。将直线坐标系转化到极坐标方程表示如下:

图6 点-线对偶性

上述方程中,θ取(0~1800)为坐标系xoy原点到直线的垂线与x轴正方向的夹角,ρ为坐标系xoy原点到直线的距离。从直角坐标系到极坐标系下就是一条直线上的多个点对应多条交于一点的直线。

运用Hough变换来检测直线有具有较强的鲁棒性,可以有效地排除噪声的干扰和解决图像经过二值化后线条出现的间断的问题[13]。

近年来,链码因其能用较少的数据来存储较多的信息而被广泛的应用于图像匹配领域中[14]。链码是图像处理和目标识别常用的一种基本方法,如图7所示,根据链码的斜率不同,可以将链码分为4方向和8方向链码。

图7 链码值与方向之间的对应关系

使用链码时候,起点是关键因素,不同起点的链码,产生的结果是不同的,所以一般采用差分链码。这相当于把链码进行旋转归一化。在图像中的目标发生旋转时其链码会发生变化,此时可以在链码的一阶差分基础上构造差分链码,且差分链码具有旋转不变特性。差分链码可以用相邻两个像素的码元方向数相减(后一个码元方向减去前一个码元方向),并对结果做模8运算得到。差分链码是原链码各段之间方向变化后的一个新序列,相当于把原链码进行了旋转归一化操作。

图8 链码值与方向之间的对应关系

针对离散放置的工件,差分链码具有旋转和平移不变性。差分链码按照顺时针或者逆时针两两相减得到。

图9 链码旋转归一化

Hough-链码识别图像时有三个基本流程:

1) 首先检测Hough直线的条数,得到直线的条数和各直线的直线方程。

2) 依据直线方程,计算直线间的交点,判断交点是否在工件图像内,若在图像内,则该交点为多边形的顶点,计算这两条相交直线的夹角,若不在图像内,则该交点不是顶点,无需计算夹角。

3) 将计算得到的夹角作为链码的参数,并将得到的链码转化为差分链码形式,从而得到Hough-链码。

4) 将目标工件的Hough-链码与模板链码进行匹配,从而实现工件识别。

4.3 几何中心计算

在工件的分拣操作中,对工件识别后,需要对工件进行分拣放置,这就需要识别出几何工件的中心。一般来说对物体的几何中心计算,都是背景下有单一目标,不能进行多目标的几何中心计算。本文提出了一种多目标物体的质心计算快速方法。首先利用多目标分块处理的结果,保存下外接矩形的四个顶点坐标:

然后针对每单一目标的外接矩形的所有角点求取x轴向坐标值的最小坐标值、最大坐标值;y轴向坐标的最小坐标值、最大坐标值。

最后分别对于不同目标进行求取质心。求取工件的质心过程采用图像的中心矩来计算。

零阶矩M00是区域密度的总和,可以理解为厚度为1的物体的质量。所以一阶矩M10和M01分别除以零阶矩M00所得到的便是物体的质量中心坐标。经过试验证明,该算法简单有效,检测效果如图10所示。

图10 工件质心坐标

5 实验结果

本实验采用新松公司SRH6机器人工业机器人操作吸盘机械手进行抓取动作。拍摄运动物体的时候,拍摄目标与摄像系统之间存在相对运动极易形成拖影。对于尺寸测量的项目,拖影对测量精度会有严重影响,在这种情况下,就会要求拖影长度尽可能短,本实验要求拖影不超过1/3像素。在硬件固定的情况下,直接影响拖影长度的参数是物体的运动速度和曝光时间。一般情况下由下式就可以保证:

物体运动速度Vp×曝光时间Ts<允许最长拖影s单位系统精度。

根据选取的相机曝光时间为22us到1000ms和确定的测量精度为0.9375mm/像素,可以得到物体的运动速度Vp,即传送带Vmax为42.613 m/s。结合实际情况,设定传送带速度0.3m/s。

根据工件的质心坐标,机器人控制吸盘机械手能够准确的时间在传送带上抓取物体,实验验证,抓取准确可靠。实验效果如图11所示。

图11 实验结果

6 结束语

本文详细阐述了基于机器视觉的几何工件的分拣问题中所使用的主要算法,采用目标分块的方法减少后续识别算法的大范围扫描所带来的识别时间上的浪费。采用图像几何不变矩对工件图像进行快速粗略检测,大大提高了识别效率,最后运用Hough直线检测和链码相结合的算法来区分同类但是大小不同的几何工件。运用多目标中心算法来描述目标位置信息,以引导机器人准确的完成分拣工作。同时搭建了硬件实验平台,实验结果证明在多种几何工件的目标中,视觉分拣算法有很好的鲁棒性,为工业自动化生产提供了方法。

[1]李婷,柳宁.基于机器视觉的圆定位技术研究[J].计算机工程与应用,2012,(9):153-156.

[2]潘武,张莉彦,徐俊成.基于机器视觉的工件的在线检测[J].组合机床与自动化加工技术,2012,7(7),75-78.

[3]Dagao Duan,Meng Xie,Qian Mo,et al.An improved Hough transform for line detection[C].Computer Application and System Modeling,2010:354-357.

[4]Barinova,O.,Lempitsky,V.,Kholi,P..On Detection of Multiple Object Instances Using Hough Transforms[J].Pattern Analysis and Machine Intelligence,2012,34(9):1773-1784.

[5]Chen Xing,Lu Ling,Gao Yang.A new concentric circle detection method based on Hough transforms[C].Computer Science & Education,2012:753-758.

[6]Sun Junding,Xu Heli.Contour-Shape Recognition and Retrieval Based on Chain Code[C].Computational Intelligence and Security,2009:349-352.

[7]陈天飞,马孜,李鹏.一种基于非量测畸变校正的摄像机标定方法[J].控制与决策,2012,27(2),243-251.

[8]Zheng you Zhang.A Flexible New Technique for Camera Calibration[J].IEEE Transactions On Pattern Analysis And Machine Intelligence,2000,22(11):1330-1334.

[9]Elsayed E.Hemayed.A Survey of Camera Self—Calibration[J].Proceedings of the IEEE Conference on Advanced Video and Signal Based Surveillance,2003.

[10]Shriram K.Vasudevan, Dharmendra T,Sivaraman RKarthick S.Automotive Image Processing Technique Using Canny’s Edge Detector[J].International Journal of Engineering Science and Technology,2011,2(7):2632-2643.

[11]薛丽霞,李涛,王佐成.一种自适应的 Canny 边缘检测算法[J].计 算 机 应 用 研 究,2010,(9):3588-3590.

[12]段汝娇,赵伟,等.一种基于改进Hough变换的直线快速检测算法[J].仪器仪表学报,2010,(12):2774-2780.

[13]赵小川,罗庆生,陈少波.改进型图像中的直线快速检测[J].光学精密工程,2010,18(7):1654-1659.

[14]Chan T S,Yip R K K.Line Detection Algorithm[C]//Proceedings of the 13th International Conference on Pattern Recognition,Vienna,1996:126-130.

猜你喜欢

标定工件直线
曲轴线工件划伤问题改进研究
使用朗仁H6 Pro标定北汽绅宝转向角传感器
考虑非线性误差的五轴工件安装位置优化
CT系统参数标定及成像—2
CT系统参数标定及成像—2
画直线
基于力学原理的工件自由度判断定理与应用
台式微小型五轴联动机床研制及微小工件加工
画直线
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定