吴婉,于惠钧,成运
(1. 湖南工业大学电气与信息工程学院,湖南株洲412007;2. 湖南人文科技学院通信与控制工程系,湖南娄底417000)
基于改进的Canny算法的铝塑泡罩药品边缘检测
吴婉1,于惠钧1,成运2
(1. 湖南工业大学电气与信息工程学院,湖南株洲412007;2. 湖南人文科技学院通信与控制工程系,湖南娄底417000)
针对药品缺陷检测系统的具体要求,以及Canny算子在双阈值选取方面的困难,对Canny算子进行改进。主要采用Otsu算法进行高低阈值的选取,使改进后的算法具有自适应阈值选取能力。仿真试验证明所提算法的有效性和优越性。
边缘检测;Canny算子;Otsu算法
边缘像素是图像中灰度突变的像素,而边缘是连接的边缘像素的集合,它能够描述物体边界以及图像特征的线要素。图像边缘检测是利用某种特定的算法对图像边缘进行有效提取以获得图像中目标的大小、形状、方向等方面的信息,是进一步分析和识别图像的基础。作为药品图像处理的基本内容,在进行铝塑泡罩药品实时在线检测[1]时,有效地提取药品的边缘非常重要。
在铝塑泡罩药品包装缺陷检测中,边缘包含了很多主要信息,其图像边缘可以通过微分算子来检测,它获取图像边缘主要基于一阶导数极大值和二阶导数过零点。常用的边缘检测微分算子有很多,而近年来又产生了基于小波分析、数学形态学、分形几何等新的边缘检测算法。一个好的边缘检测算法要求既能精确地检测边缘又要有很强的抵抗噪声能力[3]。本文将采用改进Canny边缘算子对铝塑泡罩药品图像进行边缘提取,针对Canny在阈值选取上的缺陷做了改进,研究自适应阈值选取方法[4],为药品缺陷检测后续的图像匹配等打下基础,最后通过仿真试验对方法的优越性和实用性进行验证。
常见微分算子在边缘检测时都存在某些不足,大多数情况下无法得到很好的边缘检测效果。在数字图像处理中,Canny边缘检测算子因其在除噪和保护边缘细节方面有较好的平衡而被广泛使用,具有增强、滤波以及检测的功能,被称为最优化边缘检测算子。
Canny算子在边缘检测中提出3个准则[5]:1)好的信噪比;2)定位精度高,即能够精准地定位边缘点;3)单边缘响应,即要具有较好的一个边缘点只检测一次的能力,并且能很好地抑制虚假边缘产生的响应。根据上述准则,Canny算子可由高斯函数的梯度来近似。具体步骤如下。
1)用高斯滤波器平滑图像。
2)计算经过高斯平滑后的图像的梯度幅值和方向。
3)对梯度幅值采用非极大值抑制,结合梯度方向和梯度幅值去除假边缘。
4)使用双阈值算法检测和连接图像边缘。具体的数学描述如下。首先,取二维高斯函数
式中是高斯滤波器的空间尺度系数,用来控制图像平滑的程度。
然后,求取高斯函数G(x, y)在某方向上p的一阶导数:
为了确保提取边缘准确,还要进行非极大值抑制,其数学表达式为
式中:NMS为非极大值抑制函数(n on-maxima suppression);M(i, j)为梯度的大小;(i, j)为一个3× 3大小、包含8个不同方向的梯度矢量。
再采用双阈值法对其进行分割。双阈值法具体指的是:首先设2个阈值a, b(a为低阈值,b为高阈值)。由这2个高低阈值来对药品图像进行分割,得到2个阈值的边缘图像f1(x, y)和f2(x, y),其中f1(x, y)由低阈值得到,由高阈值得到的边缘图像f2(x, y)含有很少的虚假边缘,但可能在边缘位置上是间断的。那么当达到轮廓端点时就在f1(x, y)的相应8邻域位置寻找可连接到轮廓上的边缘,将f2(x, y)图像的间断边缘连接成连续的轮廓。
虽然Canny算子是一种基于最优化思想的算法,但双阈值法中高低阈值需要根据经验人为事先设定,不能够结合图像自身的特点来确定,而且阈值设置不合理将导致边缘丢失或是出现较多伪边缘[6],无法避免人为因素对图像分割造成的干扰。并且不同图像采用相同的阈值进行分割会使检测效果有很大的差异。所以,为更有效地检测铝塑泡罩药品的边缘,一些学者研究了很多改进方法[7-10],本文也对传统Canny算法中双阈值算法进行改进,主要采用Otsu算法来实现Canny自适应阈值的选取。
针对上述传统Canny算法中双阈值法对不同图像分割的缺陷,本文使用Otsu算法[11-13]来确定阈值。1979年,日本学者大津提出了计算过程简单、处理效果较好、适用范围较广的自动确定阈值分割方法即Otsu算法。Otsu算法以评价函数为基础,提出了最大类间方差和最小类内方差2个评价函数。它按照图像的灰度特性将图像分为目标和背景2类,当这2类的类间方差[7]最大时,对应2类的离散程度高,分割效果最好。最优阈值也就是由类间方差最大这一原理确定的。
用Otsu算法求取最佳阈值时,需要对图像中所有灰度级求一次类间方差后再进行比较类间方差值,类间方差最大时对应的阈值就是最佳阈值。显然该算法运算量非常大,且只求得了一个阈值,而Canny算子需要求得高低2个阈值。根据这2点提出一种新的确定双阈值的方法。首先,在一幅图像中不一定每个灰度级的像素都会出现,即图像的灰度值不一定是由0~255所有灰度值组成,那么可以在计算最佳阈值时先对图像进行优化,去掉那些出现概率为0的灰度级,这样,极大地减少了最大类间方差法的运算量。优秀的阈值分割算法要求同一区域类的差异最小,不同区域类的差异最大。基于这2个要求使得分割后的图像的类间方差最大,类内方差最小,将其作比值,得到结果最大时就能确定最优阈值。
假设一幅药品图像灰度级为0~m,用ni表示灰度级i的像素个数。之前确定了a, b两个高低阈值,这2个阈值将图像分为前景、中间、背景3个部分。前景表示灰度级从0到a的部分,记为A;中间表示灰度级从a到b的部分,记为B;背景表示灰度级从b到m部分,记为C。可得到前景部分的均值及概率:
由此可以得到药品图像整体的均值为
也可表示为
那么2个阈值将图像分成的3类的均值与整副图像有所不同,可由类内方差和类间方差表示:
可见,类间方差与类内方差都是关于阈值a, b的函数,当类间方差取最大值、类内方差取最小值时,对应的2个阈值即为最优双阈值。若实际运用中用比值来衡量,即使为最大值时对应的2个阈值为最佳双阈值。用低阈值a和高阈值b对图像进行分割得到图像和f1(x, y)和f2(x, y),最后结合2幅图像得到最终药品图像的边缘。
此算法根据药品图像的自身特点进行阈值的选取,所选取的阈值是最优阈值,是一种自适应方法。
3.1 仿真效果比较
为了验证本文改进Canny算法的有效性和优越性,在Windows 7,64位计算机上运用Matlab7.0对传统Canny算法和本文算法对药品图像(见图1)进行仿真,其中传统Canny算法是在双阈值分别为100, 120的最佳状态下进行的仿真,结果见图2~3。
图1 原始灰度图Fig.1Original gray image
图2 Canny算法检测的边缘图Fig.2The edge diagram for Canny algorithm detection
图3 改进算法检测的边缘图Fig.3The edge diagram for the improved algorithm detection
从仿真结果可见,Canny算法虽然能够较好地检测出边缘,但人为设定的阈值无法准确定义边缘点。改进后的算法检测的药品图像细致清晰,对边缘点的检测较准确,满足检测要求。
3.2 仿真时间比较
相较于传统Canny算子,在仿真时间上本文基于Canny算子的改进算法的双阈值需要根据药品图像特性自动选取,时间相对较长,但在时间方面能够满足实时检测要求。具体仿真时间如表1所示。
表1 仿真时间比较Table 1The simulation time comparison
本文采用Otsu自适应阈值选取方法对Canny算法中高低阈值的选取进行了改进,避免了人为因素对Canny算法分割效果的影响,可根据图像特征取得最优阈值。通过试验得到了分割效果图,经比较发现改进算法具有准确定义边缘点的优越性,且符合泡罩药品实时检测要求。
[1]薛利军,张虎,李自田. 采用机器视觉的药品包装实时在线检测系统的研究[J]. 包装工程,2005,26(2):2-3. Xue Lijun,Zhang Hu,Li Zitian. Study on Pharmaceutical Packaging Real-Time Online Detection System Based on Machine Vision[J]. Package Engineering,2005,26(2):2-3.
[2]冈萨雷斯. 数字图像处理[M]. 2版. 北京:电子工业出版社,2006:459-467. Gonzalez. Digital Image Processing[M]. 2nd ed. Beijing:Electronic Industry Press,2006:459-467.
[3]雒涛,郑喜凤,丁铁夫. 改进的自适应阈值Canny边缘检测[J]. 光电工程,2009,36(11):106-111,117. Luo Tao,Zheng Xifeng,Ding Tiefu. The Improved Adaptive Threshold Canny Edge Detection[J]. Journal of Electrical Engineering,2009,36(11):106-111,117.
[4]李牧. 自适应Canny算子边缘检测技术[J]. 哈尔滨工程大学学报,2007,28(9):1002-1007. Li Mu. Adaptive Canny Operator Edge Detection Technology[J]. Journal of Harbin Engineering University,2007,28 (9):1002-1007.
[5]韦海萍,赵保军,唐林波,等. Canny 算法的改进及其硬件的实现[J]. 光学技术,2006,32(2):62-65. Wei Haiping,Zhao Baojun,Tang Linbo,et al. Improvement of Canny Algorithm and Implementation in Hardware[J]. Optics,2006,32(2):62-65.
[6]李钰,孟祥萍. 自适应双阈值 Canny算子的图像边缘检测[J]. 长春工程学院学报:自然科学版,2007,8(3):44-46. Li Yu,Meng Xiangping. Auto-Adaptive Double-Threshold Canny Operator for Image Edge Detection[J]. Journal of Changchun College of Engineering:Natural Science Edition,2007,8 (3) :44-46.
[7]Canny J. A Computational Approach to Edge Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[8]张震,马驷良,张忠波,等. 一种改进的基于Canny算子的图像边缘提取算法[J]. 吉林大学学报:理学版,2007,45(2):244-248. Zhang Zhen,Ma Siliang,Zhang Zhongbo,et al. Improved Image Edge Extraction Algorithm Based on Canny Operator [J]. Journal of Jilin University:Science Edition,2007,45 (2):244-248.
[9]李二森,张保明,周晓明,等. 自适应Canny 边缘检测算法研究[J]. 测绘科学,2008,33(6):119-120. Li Ersen,Zhang Baoming,Zhou Xiaoming,et al. Adaptive Canny Edge Detection Algorithm[J]. Science of Surveying and Mapping,2008,33(6):119-120.
[10]余洪山,王耀南. 一种改进型 Canny边缘检测算法[J]. 计算机工程与应用,2004(20):27-29. Yu Hongshan,Wang Yaonan. An Improved Canny Edge Detection Algorithm[J]. Computer Engineering and Applications,2004(20):27-29.
[11]刘健庄,栗文青. 灰度图像的二维Otsu自动阈值分割法[J]. 自动化学报,1993,19(1):101-105. Liu Jianzhuang,Li Wenqing. The Automatic Thresholding of Gray-Level Pictures via Two-Dimensional Otsu Method [J]. Acta Automatica Sinica. 1993,19(1) :101-105.
[12]Aerkewar P N,Agrawal G H. Image Segmentation Methods for Dermatitis Disease:A Survey[J]. Image,2013,2(1):1-6.
[13]Otsu N. A Threshold Selection Method from Gray Level Histograms[J]. IEEE Trans SMC,1979,9(1):62-69.
(责任编辑:申剑)
Edge Detection of Aluminum-Plastic Blister Drugs Based on Improved Canny Algorithm
Wu Wan1,Yu Huijun1,Cheng Yun2
(1. School of Electrical and Information Engineering,Hunan University of Technology, Zhuzhou Hunan 412007,China;2. Department of Communication and Control Engineering,Hunan University of Humanities, Science and Technology, Loudi Hunan 417000,China)
In view of specific requirements of drug defect detection system and the difficulties of Canny operator in double threshold selection, improves the Canny operator. Applies Otsu algorithm to high and low thresholds selection, so the improved algorithm has the ability of adaptive threshold selection. The simulation result proves the validity and superiority of the algorithm.
edge detection;Canny operator;Otsu algorithm
TP391
A
1673-9833(2014)04-0067-04
10.3969/j.issn.1673-9833.2014.04.015
2013-11-27
湖南省科学计划基金资助项目(2012FJ4265)
吴婉(1989-),女,河南信阳人,湖南工业大学硕士生,主要研究方向为图像处理与包装技术,E-mail:981132247@qq.com
于惠钧,(1975-),男,河南驻马店人,湖南工业大学副教授,主要从事控制科学与工程方面的教学与研究,E-mail:arejunyu@foxmail.com