三爪卡盘的亚像素边缘检测与视觉定位
陈四杰1, 2, 3,顾寄南1, 3
(1. 江苏大学 制造业信息化研究中心,江苏 镇江,212003;
2. 江苏科技大学(张家港) 机电与汽车工程学院,江苏 张家港,215600;
3. 中国科学院沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳,110016)
摘要:针对面向数控机床三爪卡盘的智能视觉上、下料机器人,对识别和定位精度要求较高,提出基于三爪卡盘形心特征的高斯二次曲线拟合亚像素的边缘定位方法,完成机器人对于三爪卡盘的识别及定位操作。其步骤为:首先,应用Canny边缘检测算法对目标边缘进行粗定位,即像素级定位;其次,建立三爪卡盘内切圆和外接圆组成的形心特征约束,根据边缘所在位置邻域像素的几何特征和灰度分布特征,对亚像素级别进行定位,使边缘定位在更加准确的位置。研究结果表明:机器人对于三爪卡盘的视觉测量精度达到0.01 mm,视觉定位精度达到0.05 mm,达到数控加工行业精度要求;该技术在保证精度的同时,大幅度地提高了运算速度。
关键词:三爪卡盘;亚像素;边缘检测;识别精度
中图分类号:TP391.41 文献标志码:A 文章编号:1672-7207(2013)01-0188-06
Subpixel edge detection and vision location of three-jaw chuck
CHEN Sijie1, 2, 3, GU Jinan1, 3
(1. Manufacture Information Research Center, Jiangsu University, Zhenjiang 212003, China;
2. School of Mechanical Engineering, Jiangsu University of Science and Technology, Zhenjiang 212003, China;
3. State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China)
Abstract: Based on the fact that in the clamping robot for three jaw chuck in numerical control (NC) machine tools, the clamping robot with vision system has high demand for recognition and position, a novel subpixel location method in which the Gaussian quadratic curve fitting is under the centroid guidance was put forward. The procedures were as follows. Firstly, the rough edge, as the pixel level edge, was achieved by the Canny algorithm. Secondly, the centroid determined by the centre of incircle and circumcircle in three-jaw chuck was established. Thirdly, referring to the geometrical characteristics and the gray distribution characteristics of neighborhood pixels, the subpixel level location was completed under the centroid guidance. At last, the experiment was made. The results show that vision measuring accuracy reaches 0.01 mm, and positioning accuracy reaches 0.05 mm, which satisfies the NC machining requirements. This technology guarantees machining accuracy, and greatly improves the computational efficiency.
Key words: three-jaw chuck; subpixel; edge detection; recognition accuracy
智能视觉上下料机器人能够服务于2台以上数控机床,依靠视觉系统完成数控机床的上、下料操作,实现数控机床生产的自动化。在机器人进行上料过程中,需要对上料目标位置即三爪卡盘进行精确识别和定位。传统的边缘检测算法至多能达到像素级精度,不能很好地满足数控加工定位精度要求,因此,对像素级的精度再进行细分即亚像素级的边缘定位技术进行研究十分必要。亚像素边缘检测技术最早由Hueckel[1]提出,现已发展为插值法、矩法和曲线拟合等多种检测方法。插值法定位依赖于相邻像素间的灰度、坐标关系和插值函数的选取,定位精度低,但计算时间短[2-3]。Zernike正交矩定位精度较高,但矩法因其运算主要采用模板卷积的方式,加乘次数多,参与运算的像素数多,导致计算时间很长[4-6]。Bin等[7]提出了一种基于正交傅里叶即马林矩的亚像素边缘定位的方法。由于正交傅里叶-马林矩对小形状物体有较突出的描绘作用,二次曲线拟合方法依据边缘灰度特性定位,精度高,计算时间短,是一种定位精度较高和计算速度较快的方法[8-9]。张虎等[10]提出了一种针对椭圆目标的亚像素边缘定位方法,在ROI提取和SOBEL算子初步检测边缘的基础上,利用初步获取的椭圆目标几何信息,将参与计算的模板数减少至1个,从而大大减少了运算时间.提高了算法的运算速度。Donate等[11]提出了基于路径的匹配策略和双线性插值的方法提高了定位精度。余鸿铭等[12]提出了一种针对非直线边缘的复杂图像进行亚像素级边缘定位的算法,依据细化后边缘上前后像素的邻接关系将二次曲线拟合亚像素定位应用到二维情况。Li等[13]考虑了模板的放大效应并且提出了更加切合实际的阈值选取。Hermosilla等[14]提出在Canny算子粗定位边缘的基础上,对所获取的边缘点进行相关运算,提高了算法的运算速度。Chang等[15]对边缘进行分段,在上层模型理论的指导下对边缘段进行多次匹配,以减小误差,但是耗时较长。以上研究针对特定对象采用了不同的实现方法,但都属于数据驱动(data-driven)的信息加工,其核心观点是系统工作是单向的,从信息输入开始,一直到形成最终的解释。这种加工系统无法回到先前的阶段去调整,在分割、标记、特征提取等处理过程中缺乏知识指导,盲目性大,导致运算量过大,对于面向数控机床上、下料的机器人在定位精度和运算速度上两者难以同时保证:为此,本文引入理论驱动(theory-driven)的信息加工方法,利用知识引导系统在识别过程中的信息选择和整合。提出在形心特征上层理论指导下的高斯二次曲线拟合亚像素的边缘定位方法。
1 亚像素边缘检测算法原理
目前,大多数边缘检测算法都集中在像素级,如Sobel算子和Canny算子等。对于精密测量,边缘定位到像素级远远不够,必须进行亚像素边缘定位[16]。
由于CCD(charge-coupled device)的规格化敏感面的像元有一定的尺寸,所以,物体的边缘不一定正好落在像元的边缘处,会造成物体真实的边缘信息在成像过程中丢失。亚像素边缘示意图如图1所示。假设物体的像的长度为1.4个像素,落在2个像元上,而且物体真实的边缘在其中1个像元的内部。若用常规的算法,提取的边缘只会在点A处,与物体真实的边缘点B处有较大的偏差。亚像素边缘定位的目的是通过一定的算法找出(或者近似找出)物体真实的边缘点C,点C离真实边缘B的距离比A离B的距离小,所以,点C的边缘定位比点A的边缘定位准确。
图1 亚像素边缘示意图
Fig.1 Diagram of subpixel edge
假设边缘灰度分布的函数形式为g(x),第1阶段要把边缘定位在1个像素上。实际的边缘可能以亚像素的精度Δx出现在边缘估计位置i附近的任何地方,并含有加性噪声,设实际边缘灰度函数f(x)为
f (x)=g(x-τ)+n(x)
其中:τ=t△x;t为整数。假设n (x)为高斯噪声,上式的数字形式为
f(m)=g(m-τ)+n(m)
其中:f (m)为归一化之后的输入结果;m=n-i;n=1, 2, …。则m=…, -2, -1, 0, 1, 2, …。令为最优边缘函数,
则使
成立的为τ的最优值,这样,就可以得到边缘的亚像素边缘位置。
2 基于高斯拟合的亚像素边缘检测算法
基于亚像素边缘检测定位技术主要利用三爪卡盘边缘特征所提供的先验知识,通过应用Canny边缘检测算法对目标边缘进行粗定位即像素级定位;再结合先验知识,考虑边缘所在位置邻域像素的几何特征和灰度分布特征,从而使边缘定位在更加准确的位置。
2.1 采用Canny算子进行边缘检测
Canny提出了一种不同于传统应用微分检测图像目标边缘的方法,给出了评价边缘检测性能优劣的3个指标:(1) 高的信噪比,即将非边缘点判为边缘点的概率要低,反之亦然;(2) 好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;(3) 对单个边缘有唯一响应。Canny算子把边缘检测问题转化为检测单位函数极大值问题,采用最优化数值方法得到了对应给定边缘类型的最佳边缘检测模板。对于二维图像,需要使用若干方向的模板分别对图像进行卷积处理,再取最可能的边缘方向。Canny算子是高斯函数的一阶导数,它对受高斯白噪声影响的阶跃型边缘是最优的。设二维高斯滤波函数G(x,y)为
其中:为正态分布的标准偏差。在某一方向n上,G(x,y)的一阶方向导数为:
其中:n为方向矢量;为梯度矢量。n应该与边缘垂直,即
f(x,y)为输入图像。图像f(x,y)与Gn作卷积,同时改变n的方向,Gn*f(x,y)取得最大值的方向n即为正交于检测边缘的方向,在该方向上Gn*f(x,y)取得最大输出响应,此时,
在每一点的梯度方向上判断其强度是否为该点邻域的最大值:若是,则确定该点为边缘点。判定某点是边缘点的3个条件为:
(1) 该点的边缘强度大于沿该点梯度方向2个相邻像素点的边缘强度;
(2) 与该点梯度方向上相邻2点的方向差小于45°;
(3) 以该点为中心的3×3邻域中的边缘强度极大值小于某个阈值。
从以上条件可以得出:Canny算子的最大阈值越小,能够检测出的边缘细节越多,但对于背景亮度均匀、目标内部亮度均匀而且背景和目标亮度差别明显的图像,如边缘明确的三爪卡盘的数字图像,取不同最大阈值时都可以检测到单像素的图像边缘,当最大阈值大于某个值时,可以去除几乎所有杂点。理论上,取不同最大阈值的Canny算子所获得的目标边缘为同一边缘。对于在面光源下采集的三爪卡盘图像,用区域梯度最大值组成的阈值图像与边缘点进行匹配。当Canny算子的最大阈值大于0.1时,都能取到几乎不包含杂点的零件单像素轮廓。本文对图像进行预处理,通过形态学滤波去噪对图像增强,然后通过双阈值化canny算子得到边缘轮廓。对轮廓进行初步细化,整个算法结果如图2~5所示。
图2 采集数控机床三爪卡盘图像
Fig.2 Image of three-jaw chuck
图3 小波降噪
Fig.3 Wavelet denoising
图4 动态双阈值的二值化处理
Fig.4 Binarization of dynamic double threshold
图5 边缘细化
Fig.5 Refined edge
2.2 基于高斯二次曲线拟合的亚像素检测
高斯二次曲线拟合法用于亚像素图像边缘检测的曲线拟合。首先,用像素级边缘检测算法对图像边缘进行粗定位;然后,对像素级边缘点沿梯度方向进行高斯曲线拟合,求出的极值点即为边缘的亚像素位置。高斯曲线定义为:
(1)
其中:为x轴的中心坐标值。为了简化高斯曲线拟合的计算复杂程度,将高斯曲线转换成对数形式:
(2)
从而转化成对二次曲线的求解过程。将式(2)写成二次曲线形式(其中,a,b和c为待定系数),根据采样原理,每个像素灰度为
(3)
用y*(0)表示像素级边缘点的灰度,其相邻的2个点的像素级边缘灰度分别用y*(-1)和y*(1)表示。由式(3)得:
(4)
可得:
(5)
得到二次曲线(抛物线)的顶点坐标:
(6)
用灰度的对数形式代替式(6)中的灰度,得到高斯曲线拟合的亚像素边缘公式:
(7)
3 基于形心特征的数控机床三爪卡盘亚像素定位
对三爪卡盘图像边缘进行亚像素定位,是在检测到的像素级边缘的基础上,拟合出边缘点2个坐标(X坐标和Y坐标)之间的函数,从而确定边缘更精确的位置。为了提高检测效率,这个过程需要上层理论指导。上层理论指导可以利用卡盘的内切圆和外接圆的先验知识为三爪卡盘建立形心模型,然后,利用图像数据对模型的正确性进行反馈验证。在上层理论指导下去除无效像素的坐标点,减少了无效运算,从而更加快速地找到图像精确边缘。利用特征匹配策略中的外极线约束,在三爪卡盘定位中利用形心特征和Freeman链码,通过对相似度函数的判断来确定左右图像中对应的物体。
为验证本算法的有效性,通过相似度函数判断进行匹配。基于特征的匹配算法步骤描述如下。
(1) 提取特征:提取二值化图像中三爪卡盘的形心坐标(xl,yl),(xr,yr)和Freeman链码(ll,lr)。
(2) 在参考图像中选取特征。
(3) 在匹配图像靠近极线位置yl处选取特征,并计算此时的形心坐标和链码与参考图像中原始特征的相似程度。其计算公式为
(8)
其中:S为相似性度量;w1为惩罚函数权重,用于表示左右图像差异程度。
表1 三爪卡盘视觉形状精度
Table 1 Visual shape accuracy of three-jaw chuck
(4) 以S最大为参考图像与匹配图像间的特征的最佳匹配,确定对应物体。
(5) 重复以上步骤直到整幅图像完成匹配为止。
4 实验设计及结果
动态图像采集是以实验室通用视觉试验台为基础进行的,需要配套光照系统、CCD摄像头、图像采集卡、数据连接线和计算机。在Windows xp下利用Visual C++6.0与Matlab混合编程技术编写代码。实验过程如下:
(1) 采用Tsai的改进标定法进行CCD摄像机标定,以便确定成像模型中的内外参数及所考虑的畸变系数。
(2) 摆放好摄像机、标定板和机床三爪卡盘的位置。通过CCD摄像机采集黑白棋盘和机床三爪卡盘的图像。对采集到的图像进行平滑去噪处理,减小噪声对图像的干扰。
(3) 对经过平滑处理的图像进行边缘检测,获得标定板的角点和三爪卡盘两边缘上特征点的像素坐标,根据摄像机成像模型计算多个图像边缘点对应的机床三爪卡盘上特征点的世界坐标。
(4) 用所求的机床三爪卡盘特征点的世界坐标对像素级边缘点沿梯度方向进行高斯曲线拟合,求出的极值点即为边缘的亚像素位置。
对于KDL240型三爪卡盘(外盘直径为240 mm,最大卡口直径为120 mm)的试验结果如表1所示。
5 结论
(1) 提出了在三爪卡盘在形心特征指导下的高斯二次曲线拟合亚像素的边缘定位方法,使边缘定位在更加准确的位置,并且提高了运算速度。
(2) 提出了三爪卡盘与背景形状差异对图像进行2次动态阈值分割的方法,克服了环境因素对图像质量的影响,实现了三爪卡盘目标的准确识别和精确定位。
(3) 综合了灰度相关与外极线几何相结合的匹配策略实现三爪卡盘亚像素级别的视觉定位,为机械臂上料提供依据。
参考文献:
[1] Hueckel M H. An operator which locate edges in digitized pictures[J]. Journal of the Association for Computing Machinery, 1971, 18(1): 113-125.
[2] 葛永新, 杨丹, 雷明. 基于良分布的亚像素定位角点的图像配准[J]. 电子与信息学报, 2010, 32(2): 427-432.
GE Yongxin, YANG Dan, LEI Ming. Image registration based on well-distributed corners with sub-pixel localization[J]. Journal of Electronics & Information Technology, 2010, 32(2): 427-432.
[3] 柴勇, 何友, 曲长文. 基于亚像素区域加权能量特征的多尺度图像融合算法[J]. 光学学报, 2009, 29(10): 2732-2737.
CHAI Yong, HE You, QU Changwen. Multiscale image fusion algorithm based on subpixel weighted region energy[J]. Acta Optica Sinica, 2009, 29(10): 2732-2737.
[4] Hu Z F, Dang H S. A novel fast subpixel edge location method based on Sobel-OFMM[C]//Proceedings of the IEEE International Conference on Automation and Logistics. Qingdao, China, 2008: 828-832.
[5] 王志衡, 吴福朝, 王旭光. 基于局部方向分布的角点检测及亚像素定位[J]. 软件学报, 2008, 19(11): 2932-2942.
WANG Zhiheng, WU Fuchao, WANG Xuguang. Corner detection and subpixel localization based on local orientation distribution[J]. Journal of Software, 2008, 19(11): 2932-2942.
[6] 魏本征, 赵志敏, 华晋. 基于改进形态学梯度和Zernike矩的亚像素边缘检测方法[J]. 仪器仪表学报, 2010, 31(4): 838-843.
WEI Benzhen, ZHAO Zhimin, HUA Jin. Subpixel edge detection method based on improved morphological gradient and Zernike moment[J]. Chinese Journal of Scientific Instrument, 2010, 31(4): 838-843.
[7] Bin T J, Lei A, Cui J W, et al. Subpixel edge location based on orthogonal Fourier-Mellin moments[J]. Image and Vision Computing, 2008, 26(4): 563-569.
[8] Papakostas G A, Boutalis Y S, Papaodysseus C N, et al. Numerical error analysis in Zernike moments computation[J]. Image Computer Vision, 2006, 24(9): 960-969.
[9] HAN Jianhai, ZHAO Shushang, SUN Wei. Research on subpixel detecting on-line system based on machine vision for inner diameter of bearings[C]//Proceedings of the 2007 IEEE International Conference on Robotics and Biomimetics. Sanya, China, 2007: 2049-2052.
[10] 张虎, 达飞鹏, 李勤, 等. 椭圆目标的亚像素边缘定位方法研究[J]. 光学技术, 2010, 36(1): 66-74.
ZHANG Hu, DA Feipeng, LI Qin, et al. Methods of subpixel edge location for ellipse[J]. Optical Technique, 2010, 36(1): 66-74.
[11] Donate A, LIU Xiu-wen, Collins E G. Efficient path-based stereo matching with subpixel accuracy[C]//Proceedings of the IEEE Transactions on Systems, Man, and Cybernetics, PART B: Cybernetics. Alaska, USA, 2011: 183-195.
[12] 余鸿铭, 陈兴无, 万敏, 等. 复杂边缘目标的亚像素定位[J]. 计算机仿真, 2009, 26(12): 190-192.
YU Hongming, CHEN Xingwu, WAN Min, et al. Subpixel edge of complex edge target[J]. Computer Simulation, 2009, 26(12): 190-192.
[13] LI Baozhang, CUI Yanping. Study on edge subpixel location of ellipse in computer vision measurement[C]//Proceedings of the 2010 3rd International Congress on Image and Signal Processing. Yantai, China, 2010: 1684-1688.
[14] Hermosilla T, Bermejo E, Balaguer A. Non-linear Fourth-order image interpolation for subpixel edge detection and localization[J]. Image and Vision Computing, 2008, 26(9): 1240-1248.
[15] Chang Y J, Liu H H, Chen T. Improving subpixel stereo matching with segment evolution[C]//Proceedings of 2010 IEEE 17th International Conference on Image Processing. Hong Kong, China, 2010: 1781-1784.
[16] 张秀芝. 基于计算机视觉的机械零件几何量精密测量技术研究[D]. 长春: 吉林大学机械科学与工程学院, 2009: 12-13.
ZHANG Xiuzhi. The geometric precision measurement technology of machinery parts based on computer vision[D]. Changchun: Jilin University. School of Mechanical Science and Engineering, 2009: 12-13.
(编辑 陈灿华)
收稿日期:2012-01-19;修回日期:2012-03-18
基金项目:机器人学国家重点实验室开放课题资助项目(RLO201006);江苏省2011年度普通高校研究生科研创新计划项目(CXZZ11_0548)
通信作者:陈四杰(1981-),男,河南漯河人,博士研究生,从事可重构机器人分析、图像处理研究;电话:13812456867;E-mail: designcsj@126.com