陈泽宁,张学习,彭泽荣,钟凯宇
(广东工业大学 自动化学院,广东 广州 510006)
基于机器视觉的工件定位和识别
陈泽宁,张学习,彭泽荣,钟凯宇
(广东工业大学 自动化学院,广东 广州510006)
摘要根据机器视觉系统具有非接触性、实时性、稳定性及高精度的特点。文中采用机器视觉技术对工件的定位和识别进行了研究。通过求取工件轮廓中心矩和轮廓轴线二阶导数的最小值,求得工件的中心坐标和旋转角度;通过提取模板工件的Hu不变矩与工件轮廓的Hu不变矩,利用轮廓的相似度量函数识别工件类型。实验结果表明,通过提取工件轮廓矩能在旋转的情况下精确地定位和识别工件。
关键词工件定位;工件识别;轮廓提取;旋转
机器视觉技术是指利用摄像机作为传感器模拟人的视觉功能,其广泛应用于工业分拣、测量、检测等领域。本文将机器视觉技术应用到工件定位和识别问题中。在定位识别之前,先利用Opencv提供的标定算法[1]对图像进行了畸变矫正;为机器人顺利抓取工件,又研究了图像坐标与机器人坐标的相互转换问题。为定位和识别工件,本文通过提取每个工件的轮廓信息[2],并计算其轮廓中心矩和轮廓轴线二阶导数的最小值从而确定工件的位姿[3],又因在生产线上的工件摆放位置均是随意的,若要识别工件类型,就需要寻找一种具有尺度不变性和旋转不变性的识别算法,普通的模板匹配,例如普通的最小平方差算法(MSD)、最小绝对差算法(MAD)、Hausdorff距离匹配法,虽然时间复杂度小,但不能较好地处理旋转的情况,再如后来又提出的精度高、时间复杂度大的NCC[4]算法,以及李强提出的基于像素值分块编码的快速匹配算法[5],相较于NCC算法,时间复杂度大幅下降,但这仍然没能解决旋转不变性[6]。本文通过对这一问题的研究,提出利用具有尺度不变性和旋转不变性的Hu矩,即计算工件轮廓的Hu矩[7],然后将其与标准模板库图像的轮廓的Hu矩对比,计算其“相似度”[8],顺利实现了工件识别。
1相机标定
摄像机标定的主要作用是矫正图像畸变及确定摄像机坐标系和空间坐标系的位置关系,是机器视觉系统开发的重要环节。现有的标定算法主要有:基于径向排列约束的 Tsai法、直接线性法(DLT)和两步摄像机标定法等[9]。本文采用Opencv提供的标定方法,使用黑白相间的棋盘格为标定模板。如图1所示,从8个不同的位姿获取目标图像,根据空间坐标与对应图像坐标的位置关系标定出摄像机内参和外参。
图1 标定图像
图2 标定结果
图3 标定界面
本文摄像头采集640×480大小图像,得到的摄像头内参数和畸变参数依次为
(1)
dist=[-0.335 4 1.446 8 -0.000 6 0.009 9]T
(2)
由于Opencv所采用的算法主要为张正友标定法,其的空间坐标与图像坐标的映射关系可表示为
(3)
设s为调节因子,u、v表示图像坐标;Xw、Yw、Zw表示空间坐标,则A是3×3的矩阵,主要由摄相机的内部参数构成;R和T分别是旋转矩阵和平移向量,主要由摄像机的外部参构成。
2图像坐标向世界坐标的转化
由于式(3)在由图像坐标反求三维世界坐标的过程中,得到的是一条射线,究其主要原因是因Z平面没有固定,因此可根据实际需要,自身设定一个Z平面,由于世界坐标系的位置可任意选取,文中可假定世界坐标系和摄像机坐标系重合,故定义模板平面落在世界坐标系的ZW=0平面上。将R用列向量ri表示,则对图像平面上的任意一点,有
(4)
可见,标定模板平面与图像平面建立了一种单应性映射H。因此只要确定标定模板点的空间坐标和图像平面上相应点的坐标,便可求得单应性矩阵H。
(5)
设h′=[h11h12h13h21h22h23h31h32]T,可以推出
(6)
将多个模板平面和图像平面相对应的点的方程均考虑进来作累加,则可表示为Sh′=d。若要实验结果更精确,可使用最小二乘法求h′=(STS)-1STd,从而求得H。
3工件中心定位及类型识别
要实现工件中心定位首先要提取工件的目标区域,然后找出目标工件区域的质心即可实现工件的中心位置获取。由于在分拣系统中工件背景可人为控制为单一颜色,所以通过二值法可较好地分割工件的目标区域,效果如图4所示,对其进行边界轮廓提取和跟踪,效果如图5所示,由于跟踪的是二值图像[10],相对简单,算法过程如下。
首先对图像进行遍历,按照从上到下,从左到右的顺序扫描,设首先扫描到的黑点为点a,易知a是左上方的点,然后搜索a点的邻域,对其右,右下,左,左下的点进行判断,至少可以发现一个边界点,设为b。再以b为基础,对其右,右下,下,左下,左,左上,上,右上的进行判断,找出边界点c。如果c与a为同一点,则表示已经遍历了一圈,边界跟踪结束;否则,再以c为基础继续遍历,直到找到a为止。在遍历过程中可能会遇到不是边界点的情况,判断是否为边界点的方法:如果其上下左右均为与自身相同的点,则不是,否则是边界点。发现轮廓后,将轮廓作为一个整体研究,一个轮廓一般对应一系列的点,也就是图像中的目标工件边缘曲线。
图4 二值图像
图5 轮廓跟踪后的结果
再将轮廓点的坐标按顺序保存为一个序列,构成目标物体的轮廓序列。接下来通过求取轮廓的中心矩来定位工件重心,对于离散的数字图像,图像的p+q阶矩定义为
(7)
所以图像的中心坐标由下式可得
(8)
图像的p+q阶中心距定义为
(9)
N和M分别为图像的高和宽;归一化的中心矩定义为:ηpq=μpq/(μ00ρ),其中ρ=(p+q)/2+1,将其二阶和三阶矩归一化为中心矩,由这些中心矩构造出7个不变矩,这7个不变矩构成一组具有旋转、缩放和平移不变性的特征量
M1=η20+η02
(10)
(11)
M3=(η30-3η12)2+(3η21-η03)2
(12)
M4=(η30+η12)2+(η21+η03)2
(13)
M5=(η30-3η12)(η30+η12)((η30+η12)2-3(η21+η03)2)+(3η21-η03)(η21+η03)(3(η30+η12)2-(η21+η03)2)
(14)
M6=((η20+η02)(η30+η12)2-(η21+η03)2)+4η11(η30+η12)(η21+η03)
(15)
M7=(3η21-η03)(η30+η12)((η30+η12)2-3(η21+η03)2)-(η30-3η12)(η21+η03)(3(η30+η12)2-(η21+η03)2)
(16)
为得到工件的姿态,可以利用工件长轴方向与水平轴的夹角[11],由于工件的长轴为过工件中心的直线,当工件关于该轴线的二阶矩取最小值时即为所求直线。设长轴与图像的水平轴线正方向的夹角为θ,θ∈[-π/2,π/2],则工件关于这条直线的二阶矩可以表示为
(17)
其中,uc、vc为工件中心坐标;u、v分别为工件轮廓点的横坐标和纵坐标。对S(θ)关于θ求导,当导数取0时求得极小值,即ds(θ)/dθ=0,可推出
θ=(1/2)arctan[2μ11/(μ20-μ02)]
(18)
式中,μ11,μ20和μ02分别为轮廓的各阶中心距。
因为工件的摆放位置是随机的,可能出现任意角度和位置,因此普通的模板匹配法不能适用,因为不具备旋转不变性,但Hu矩具有旋转、缩放和平移不变性,所以正适合本文为实现对工件类型的识别。本文通过计算模板图像的Hu矩并将其保存,并依次与目标提取到的图像的Hu矩进行匹配计算,计算相似度公式如下
(19)
4实验结果及分析
实验的定位过程和匹配结果如下图所示,由于金属工件因为反光的原因,对图像的获取及后续的算法有较大影响,在本次图像采集中,采用红色环形光源,正上方打光的方式,采集图像效果如图6所示,对图像进行二值化后效果如图7所示,对图像提取轮廓后效果如图8所示。
图6 原始采集到的图像
图7 二值化图像
图8 轮廓提取后图像
对模板采用同样的处理,得到轮廓效果如图9所示,将处理后的图像轮廓与模板轮廓匹配计算后,识别结果如图10所示。
图9 模板及轮廓
图10 定位和识别结果
搜索图像轮廓的中心坐标、角度数据及模板轮廓与搜索图像的相似度数据如表1所示。
表1 工件轮廓的中心坐标和角度及与模板的相似度
将图中所示7种工件位置改变进行一般性的实验测试,每改变一个位置,分别测试7种模板的识别结果,共改变工件位置20次,共进行140次实验。实验表明:基于轮廓的工件定位和识别,平均坐标偏差1.7mm,角度偏差0.6°,工件识别率为100%,在i5处理器,主频3.2GHz,8GB内存下平均耗时39ms。进一步验证了该方法的可行性,适用于机械手快速准确地抓取分拣几何工件。
5结束语
本文阐述了工业机器人定位工件的基本步骤,将单目视觉技术运用到工业机器人智能抓取中,从图像采集、畸变矫正、坐标转换,到工件定位及识别,并且对坐标转换部分,通过固定Z平面,并在张正友标定法的基础上,进行了理论推导,顺利实现了坐标转换。算法部分提出利用基于轮廓的中心定位工件,通过求取工件长轴与水平轴的夹角,识别工件姿态,利用Hu不变矩识别工件的类型,并结合开源机器视觉软件包Opencv进行编程实现。实验结果表明:在较好的打光条件下,能准确定位工件的位姿和识别工件。
参考文献
[1]ZhangZY.Aflexiblenewtechniqueforcameracalibration[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2000,22(11):1330-1334.
[2]陈宏申,李环.Canny边缘检测算法在机器人视觉中的应用[J].现代计算机,2011(11):17-20.
[3]刘畅,王耀南.冷凝器管口图像多目标搜索与定位算法[J].仪器仪表学报,2011,32(11):2515-2521.
[4]WeiSD,LaiSH.Fasttemplatematchingbasedonnormalizedcrosscorrelationwithadaptivemultilevelwinnerupdate[J].IEEETransactionsonImageProcessing,2008,17(11):2223-2227.
[5]李强,张钹.一种基于图像灰度的快速匹配算法[J].软件学报,2006,17(2):216-222.
[6]傅卫平,秦川,刘佳,等.基于SIFT算法的图像目标匹配与定位[J].仪器仪表学报,2011,32(1):163-169.
[7]HuMK.Visualpatternrecognitionbymomentinvariants[J].IRETransactionsonInformationTheory,1962,8(2):179-187.
[8]王振海.融合HU不变矩的和SIFT特征商标检测[J].计算机工程与应用,2012,48(1):187-190.
[9]李建,陈长明.基于Opencv的改进两步摄像机标定[J].计算机应用与软件,2010,27(3):104-109.
[10]王福生,齐国清.二值图像中目标物体轮廓的边界跟踪算法[J].大连海事大学学报,2006,32(1):62-67.
[11]庄开岚,王吉忠,周洁.机器视觉技术在角度检测方面的应用研究[J].装备制造技术,2011(4):9-10.
Workpiece Location and Recognition Based on Machine Vision
CHEN Zening,ZHANG Xuexi,PENG Zerong,ZHONG Kaiyu
(School of Automation,Guangdong University of Technology,Guangzhou 510006,China)
AbstractThe non-contact real-time machine vision system enjoys stability and high precision.In this paper,the machine vision is used to study the localization and recognition of the workpiece.The center coordinates and rotation angles are obtained by solving the contour center moment and the minimum value of the two order derivative of the axis of the workpiece.The contour similarity metric function is used to identify the types of artifacts by extracting the template of artifacts Hu invariant moments and Hu invariant moments of the workpiece contour.The experimental results show that the workpiece can be accurately located and identified by the extraction of the workpiece contour.
Keywordsworkpiece position;workpiece recognition;contour extraction;rotation
中图分类号TP242.6+2
文献标识码A
文章编号1007-7820(2016)04-099-05
doi:10.16180/j.cnki.issn1007-7820.2016.04.026
作者简介:陈泽宁(1989—),男,硕士研究生。研究方向:图像处理与机器视觉。张学习(1978—),男,博士,副教授。研究方向:图像处理与机器视觉。
基金项目:广东省工业高新技术领域科技计划基金资助项目(2013B010401028)
收稿日期:2015- 09- 11