刀具轮廓亚像素精度阈值分割算法研究
2014-03-17王俊元杜文华曾志强
关 波, 王俊元,杜文华, 曾志强
(中北大学机械与动力工程学院,山西 太原 030051)
刀具轮廓亚像素精度阈值分割算法研究
关 波, 王俊元,杜文华, 曾志强
(中北大学机械与动力工程学院,山西 太原 030051)
提取亚像素精度边缘轮廓是完成刀具几何参数精确测量的重要环节。该文研究了一种简单有效的方法,该算法基于灰度阈值分割定位像素级边缘,并经双线性插值法细分完成亚像素边缘轮廓的提取。最后设计实验对比分析了该算法以及基于Canny和Sobel算子的亚像素边缘检测算法所提取轮廓的特点。结果表明在准确的前提下,对高对比度图像应用该算法后,能比后两者更快速地完成边缘轮廓提取。
轮廓提取;亚像素精度;阈值分割;高速算法
随着数控机床及加工中心切削精度和效率的不断提高,刀具几何参数的准确快速提取也变得越来越重要。目前,国内外部分高端刀具预调仪已采用数字图像处理技术实现了刀具相关参数的动态测量[1]。这就要求测量算法既能保证精度又具有足够快地执行速度。提取边缘信息是测量刀具几何参数的前提,对此像素级边缘检测算法往往难以满足精度要求,而亚像素边缘检测算法虽然精度更高,但运算量也同样增加导致执行速度一定程度变慢[2]。本文针对发光二极管(light emitting diode, LED)背光照射方式下获得的高对比度图像使用了亚像素精度阈值分割算法,通过实验证明这是一种快速而有效地算法。
1 基于梯度的亚像素边缘检测算法
如果把图像看成一个连续的函数,那么边缘可以定义为若干个点,这些点的方向导数(灰度值变化率)在垂直于边缘的方向上是局部最大的。由此产生了一类经典的边缘检测算子,如 Prewitt算子[3]、Sobel算子、Canny算子[4]和Laplace算子及其改进型的 LoG算子[5]等边缘滤波器。其中一些算子借由特定的掩码与图像进行卷积运算来定位像素级边缘,然后通过插值、拟合等方法获得亚像素边缘轮廓。以常见的 3×3掩码为例,在处理一张宽度和高度分别为640和480像素的图片时,单是求取行或列方向的偏导数,平均每个像素就需进行 3×3次操作。即计算复杂度是O(640×480×3×3),算法总共将执行 2764800次加法,这还不包括后续的非极大值抑制和插值算法等。如果处理更大的图像时,这样的计算量是可观的。
2 亚像素精度阈值分割算法
最简单的阈值分割算法可以用式(1)来表示,当被分割对象和背景之间存在显著的灰度差时可以通过选择适当的阈值来提取感兴趣区域,这样也就同时获得了像素级的边缘。式中的gmin和gmax分别是选择的最小阈值和最大阈值,(r, c)是某像素在图像中的坐标,当其对应的灰度值 fr,c满足式(1)时,就会输出到感兴趣区域 S中。因为阈值分割算法仅对每个像素进行一次比较运算,所以算法执行速度相对较快。不过随之而来的就是当遇到边缘模糊的图像时,所选阈值会对边缘的定位产生较大影响。
同其他经典算法一样,亚像素精度阈值分割算法得到的结果是由一系列边缘控制点连接而成的轮廓。该轮廓表示图像上两个区域的分界,其中一个区域的灰度值大于阈值gsub,而另一个区域的灰度值小于gsub,而与基本的阈值分割算法最大的不同之处在于亚像素精度阈值分割算法将提取的边缘附近像素“连续”化。能够达到这种效果的插值或者拟合算法有很多,其中一种简单的方法就是根据边缘相邻像素的灰度值进行双线性插值处理,以达到像素的细分目的[6]。所以最终的轮廓就可以由一个常量函数g(r,c)=gsub与“连续”的边缘函数f(r,c)相交得到了。
下面以4个像素组成的2×2区域为例,具体说明细分过程。如图1所示,4个相邻像素的中心点组成了一个像素大小的正方形。在这个区域中根据插值点到 4个顶点的水平和垂直距离,计算出不同灰度所占的权重(其中插值点离某像素的距离越近,则此像素灰度值所占的权重越大),进而获得插值点处的灰度值。
显然pi, j、pi, j+1、pi+1, j、pi+1, j+1这4个像素对pi+x,j+y插值点的灰度值权重影响分别为:的灰度值分别为:gi,j=20、gi,j+1=30、gi+1,j=30、pi+1,j+1=250,则利用式(2)将其中心点组成的像素大小正方形区域进行10×10插值细分,得到如图2(a)所示的灰度值分布规律图。这样一个像素大小的区域就被细分成更多更小的子像素区域了,从而获得亚像素级定位精度。阈值的选定遵循一般图像分割算法的规律,这里假定阈值gsub=30并与该区域相交得到图2(b)所示的边界。通常插值点处的灰度值不总为整数,故应该进行四舍五入取整。插值点之间由线段连接构成亚像素轮廓的一部分。
图1 双线性插值法对像素级单位的细分过程
由此得出插值点gi+x,j+y处的灰度值为:
其中, x, y∈[0,1]。假设原2×2区域内相邻像素
图2 双线性插值后该区域的灰度分布情况及选定阈值对应的边界
3 实验图像采集系统的组成
为了获得清晰的刀具边缘图像,本系统采用DH-SV1410FM 型工业数字摄像机作为图像采集单元,其CCD传感器尺寸为2/3英寸,单像素尺寸为6.45 μm×6.45 μm,最大分辨率达1392×1040 (1,447,680像素)。较大的感光面积可以最大限度保证采集到的图像细节。与之配套的镜头为MLM-3XMP型工业微距镜头,放大倍率为0.3X~1X,镜头畸变率低于1.78%。两者结合可以捕捉到刀具切削刃上的局部高清放大图像。被测刀具置于 LDL-TP-27×27SW2可调式白色的 LED平面光源与镜头之间的合适位置(手动调焦),形成背光照射取景,增强了对比度并有效降低了外界光强变化对图像灰度值分布的影响。基于此系统获得的刀具图像(如图3(a))很好地满足了亚像素精度阈值分割算法的基本要求。
4 算法准确度及执行时间比较
由于不同的亚像素边缘检测算法所求得的轮廓控制点数量不同、位置不具有可比性,所以并不适合直接进行数值比较[7]。但是,由轮廓控制点拟合而成的圆或直线却受其直接影响。按照式(3)对圆弧形轮廓拟合圆,其中 (ri,ci)是第i个控制点的坐标,(α , β)是拟合圆的圆心,通过比较其半径ρ可以间接分析各检测算法所得轮廓的准确性,比较轮廓控制点到圆心的距离与拟合圆半径的偏差值可以分析算法所得轮廓的平滑性。
获取圆弧形轮廓时需要对整个刀刃边缘轮廓进行基元分割,这里使用改进的Ramer算法进行递归细分[8]。第一步首先用线段连接轮廓的起止控制点,然后计算轮廓上所有控制点到线段的最大距离值。如果此最大值超过指定的阈值,则在该控制点处将当前线段分成两条线段。以此类推直到划分的线段与轮廓控制点的最大距离小于给定的阈值为止。第二步在上述每一对相邻线段所对应的轮廓上基于3个分割点拟合一个圆,如果拟合误差小于这两条线段对应的最大距离值,则这两段轮廓将被标记为合并处理对象。在遍历完所有线段后,直线和圆弧轮廓就被分割出来了。图3(b)是亚像素精度阈值分割算法提取的刀刃边缘轮廓以及采用上述算法分割轮廓后拟合的圆。
对图 3(a)分别使用阈值 gsub=128的亚像素精度阈值分割算法、基于Canny和Sobel算子的亚像素边缘检测算法(以下图表中分别简称为:SPT,SPC,SPS)后得到图4所示的边缘轮廓放大图。经过 128倍放大后可以直观地看出几种边缘轮廓的位置差异。3种算法得到的边缘轮廓均通过同一像素,其中基于梯度的亚像素边缘检测算法提取的轮廓比较接近,而由亚像素精度阈值分割算法提取的轮廓则与前两者有一定距离。这个现象是由算法本身的原理不同造成的,基于梯度的亚像素边缘检测算法将轮廓定位在梯度方向上拥有局部最大方向导数的地方。而亚像素精度阈值分割算法提取的轮廓直接受所选阈值的影响,本例的应用环境下边缘锐利(灰度值剖面线较为陡峭),所以选定灰度中间值gsub=128,这样得到的轮廓也就更加偏向于像素灰度值为128的方向。
图3 在刀刃局部图像上提取的边缘轮廓及拟合的圆
图4 放大128倍边缘轮廓放大图
表1计录了3种算法对图3(a)处理后所得圆弧形轮廓的控制点数量以及拟合圆的信息(拟合圆的半径及坐标单位:像素),将轮廓控制点坐标带入式(3)求得平均偏差图5显示了各算法提取的边缘轮廓平滑程度不同。结合表1看本例中基于Canny算子的亚像素边缘检测算法提取的轮廓相对更平滑一些,Sobel次之,亚像素精度阈值分割算法相对最差,这也使得最终分割的圆弧形轮廓有细微区别,表现在控制点数量和位置的不同上。
表1 图3(a)圆弧形轮廓控制点数量及拟合圆的信息
图5 不同算法提取的边缘轮廓与对应拟合圆之间的偏差
分析表1拟合圆的半径数值后可推知:3种算法提取的轮廓在像素级别的定位上是保持一致的,而在亚像素级别上存在细微差异,这一结论是与图4相吻合的。原因在前文已经提到了,本例的阈值是根据图像拥有极高的信噪比和对比度而选定的中间值。如果把基于Canny算子的亚像素边缘检测算法提取的轮廓作为标准,那么在图像前景与背景之间的灰度中间值周围连续选择多个阈值进行计算,并将结果与标准轮廓比较,从中选择最合适的阈值后就可以解决这一问题了。如图6所示,所选阈值与轮廓拟合圆的半径几乎成线性关系,当阈值选择gsub=146时,拟合圆的半径为77.6506,这与标准值已经相当接近了。在同样的实验环境下,改换其他型号的铣刀连续采集5张图像,再次对比3种算法,得到表2所示的结果。此时亚像素精度阈值分割算法所得结果的绝对误差只有 0.049像素,具有很高的准确度。从另一个角度讲,亚像素精度阈值分割算法的灵活性也体现在可以通过适当调整阈值来微调整个轮廓的位置。
图6 阈值与拟合圆半径之间关系
表2 选定新阈值后3种算法检测的结果(pixel)
比较了算法的准确度后,表3列出了基于同一计算机平台对上述过程分别执行5次程序后,统计不同算法提取轮廓所需的时间。可以看到亚像素精度阈值分割算法提取边缘的时间比其他两种经典方法所用的时间少得多。这对速度有要求的应用环节具有重要的意义。
表3 边缘轮廓提取算法执行时间(ms)
5 结 论
本文详细研究了亚像素精度阈值分割算法的原理以及在刀具边缘轮廓提取上的应用。在此基础上设计实验对比分析了本算法与基于梯度的亚像素边缘检测算法在提取边缘轮廓上的差异性。实验结果表明:背光照射方式下采集到的高对比度刀具图像使用本算法后,在保证准确度前提下能够比其他两种经典方法更加快速地实现亚像素边缘轮廓检测。
[1] 刘 刚. 刀具预调仪总体设计与精度保障研究[D].太原: 中北大学, 2008.
[2] 张美静. 亚像素边缘检测技术研究[D]. 沈阳: 沈阳理工大学, 2013.
[3] Prewitt J M S. Object enhancement and extraction [C]// Picture Processing and Psychopictorics. Academic Press, New York, 1970: 75-149.
[4] Canny J. A computational approach to edge detection [J]. IEEE Trans. Pattern Analysis and Machine Intelligence, 1986, 8(6): 679-698.
[5] Marr D, Hildreth E. Theory of edge detection [C]// Proceedings of the Royal Society of London. Series B, Biological Sciences, 1980, 207(1167): 187-217.
[6] Carsten S, Markus U, Chritian W. Machine vision algorithms and applications [M]. 北京: 清华大学出版社, 2008: 143-159.
[7] 赵群章, 仇中军, 房丰洲. 金刚石车刀自动研磨装置图像处理系统的开发[J]. 金刚石与磨料磨具工程, 2010, 30(4): 38-41.
[8]Rosin P L, West G A W. Nonparametric segmentation of curves into various representations [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1995, 17(12): 1140-1153.
Research on Sub-Pixel Precise Thresholding for Tool Contour Extraction
Guan Bo, Wang Junyuan, Du Wenhua, Zeng Zhiqiang
(School of Mechanical and Power Engineering, North University of China, Taiyuan Shanxi 030051, China)
Extracting sub-pixel precise contour is an important step for obtaining the geometric parameter of a tool precisely. A simple and effective method is studied in this paper, which extracts the contour based on gray value threshold operation to detect edge with pixel accuracy firstly and the bilinear interpolation to subdivide the edge simultaneously. At last, an experiment is conducted to compare and analyze the different features of contours extracted by this algorithm and another two algorithms based on Canny and Sobel. The result shows that it is much faster for sub-pixel precise thresholding than the others in extracting the contour of a high contrast image accurately.
contour extraction; sub-pixel precise; thresholding; high speed algorithm
TP 312
A
2095-302X(2014)06-0950-04
2014-03-18;定稿日期:2014-05-16
山西省研究生优秀创新资助项目(20133095)
关 波(1988-),男,山西大同人,硕士研究生。主要研究方向为机器视觉。E-mail:guanbosky@126.com