吳婉,于惠鈞,成運(yùn)
(1. 湖南工業(yè)大學(xué)電氣與信息工程學(xué)院,湖南株洲412007;2. 湖南人文科技學(xué)院通信與控制工程系,湖南婁底417000)
基于改進(jìn)的Canny算法的鋁塑泡罩藥品邊緣檢測
吳婉1,于惠鈞1,成運(yùn)2
(1. 湖南工業(yè)大學(xué)電氣與信息工程學(xué)院,湖南株洲412007;2. 湖南人文科技學(xué)院通信與控制工程系,湖南婁底417000)
針對藥品缺陷檢測系統(tǒng)的具體要求,以及Canny算子在雙閾值選取方面的困難,對Canny算子進(jìn)行改進(jìn)。主要采用Otsu算法進(jìn)行高低閾值的選取,使改進(jìn)后的算法具有自適應(yīng)閾值選取能力。仿真試驗(yàn)證明所提算法的有效性和優(yōu)越性。
邊緣檢測;Canny算子;Otsu算法
邊緣像素是圖像中灰度突變的像素,而邊緣是連接的邊緣像素的集合,它能夠描述物體邊界以及圖像特征的線要素。圖像邊緣檢測是利用某種特定的算法對圖像邊緣進(jìn)行有效提取以獲得圖像中目標(biāo)的大小、形狀、方向等方面的信息,是進(jìn)一步分析和識別圖像的基礎(chǔ)。作為藥品圖像處理的基本內(nèi)容,在進(jìn)行鋁塑泡罩藥品實(shí)時(shí)在線檢測[1]時(shí),有效地提取藥品的邊緣非常重要。
在鋁塑泡罩藥品包裝缺陷檢測中,邊緣包含了很多主要信息,其圖像邊緣可以通過微分算子來檢測,它獲取圖像邊緣主要基于一階導(dǎo)數(shù)極大值和二階導(dǎo)數(shù)過零點(diǎn)。常用的邊緣檢測微分算子有很多,而近年來又產(chǎn)生了基于小波分析、數(shù)學(xué)形態(tài)學(xué)、分形幾何等新的邊緣檢測算法。一個(gè)好的邊緣檢測算法要求既能精確地檢測邊緣又要有很強(qiáng)的抵抗噪聲能力[3]。本文將采用改進(jìn)Canny邊緣算子對鋁塑泡罩藥品圖像進(jìn)行邊緣提取,針對Canny在閾值選取上的缺陷做了改進(jìn),研究自適應(yīng)閾值選取方法[4],為藥品缺陷檢測后續(xù)的圖像匹配等打下基礎(chǔ),最后通過仿真試驗(yàn)對方法的優(yōu)越性和實(shí)用性進(jìn)行驗(yàn)證。
常見微分算子在邊緣檢測時(shí)都存在某些不足,大多數(shù)情況下無法得到很好的邊緣檢測效果。在數(shù)字圖像處理中,Canny邊緣檢測算子因其在除噪和保護(hù)邊緣細(xì)節(jié)方面有較好的平衡而被廣泛使用,具有增強(qiáng)、濾波以及檢測的功能,被稱為最優(yōu)化邊緣檢測算子。
Canny算子在邊緣檢測中提出3個(gè)準(zhǔn)則[5]:1)好的信噪比;2)定位精度高,即能夠精準(zhǔn)地定位邊緣點(diǎn);3)單邊緣響應(yīng),即要具有較好的一個(gè)邊緣點(diǎn)只檢測一次的能力,并且能很好地抑制虛假邊緣產(chǎn)生的響應(yīng)。根據(jù)上述準(zhǔn)則,Canny算子可由高斯函數(shù)的梯度來近似。具體步驟如下。
1)用高斯濾波器平滑圖像。
2)計(jì)算經(jīng)過高斯平滑后的圖像的梯度幅值和方向。
3)對梯度幅值采用非極大值抑制,結(jié)合梯度方向和梯度幅值去除假邊緣。
4)使用雙閾值算法檢測和連接圖像邊緣。具體的數(shù)學(xué)描述如下。首先,取二維高斯函數(shù)
式中是高斯濾波器的空間尺度系數(shù),用來控制圖像平滑的程度。
然后,求取高斯函數(shù)G(x, y)在某方向上p的一階導(dǎo)數(shù):
為了確保提取邊緣準(zhǔn)確,還要進(jìn)行非極大值抑制,其數(shù)學(xué)表達(dá)式為
式中:NMS為非極大值抑制函數(shù)(n on-maxima suppression);M(i, j)為梯度的大?。?i, j)為一個(gè)3× 3大小、包含8個(gè)不同方向的梯度矢量。
再采用雙閾值法對其進(jìn)行分割。雙閾值法具體指的是:首先設(shè)2個(gè)閾值a, b(a為低閾值,b為高閾值)。由這2個(gè)高低閾值來對藥品圖像進(jìn)行分割,得到2個(gè)閾值的邊緣圖像f1(x, y)和f2(x, y),其中f1(x, y)由低閾值得到,由高閾值得到的邊緣圖像f2(x, y)含有很少的虛假邊緣,但可能在邊緣位置上是間斷的。那么當(dāng)達(dá)到輪廓端點(diǎn)時(shí)就在f1(x, y)的相應(yīng)8鄰域位置尋找可連接到輪廓上的邊緣,將f2(x, y)圖像的間斷邊緣連接成連續(xù)的輪廓。
雖然Canny算子是一種基于最優(yōu)化思想的算法,但雙閾值法中高低閾值需要根據(jù)經(jīng)驗(yàn)人為事先設(shè)定,不能夠結(jié)合圖像自身的特點(diǎn)來確定,而且閾值設(shè)置不合理將導(dǎo)致邊緣丟失或是出現(xiàn)較多偽邊緣[6],無法避免人為因素對圖像分割造成的干擾。并且不同圖像采用相同的閾值進(jìn)行分割會使檢測效果有很大的差異。所以,為更有效地檢測鋁塑泡罩藥品的邊緣,一些學(xué)者研究了很多改進(jìn)方法[7-10],本文也對傳統(tǒng)Canny算法中雙閾值算法進(jìn)行改進(jìn),主要采用Otsu算法來實(shí)現(xiàn)Canny自適應(yīng)閾值的選取。
針對上述傳統(tǒng)Canny算法中雙閾值法對不同圖像分割的缺陷,本文使用Otsu算法[11-13]來確定閾值。1979年,日本學(xué)者大津提出了計(jì)算過程簡單、處理效果較好、適用范圍較廣的自動確定閾值分割方法即Otsu算法。Otsu算法以評價(jià)函數(shù)為基礎(chǔ),提出了最大類間方差和最小類內(nèi)方差2個(gè)評價(jià)函數(shù)。它按照圖像的灰度特性將圖像分為目標(biāo)和背景2類,當(dāng)這2類的類間方差[7]最大時(shí),對應(yīng)2類的離散程度高,分割效果最好。最優(yōu)閾值也就是由類間方差最大這一原理確定的。
用Otsu算法求取最佳閾值時(shí),需要對圖像中所有灰度級求一次類間方差后再進(jìn)行比較類間方差值,類間方差最大時(shí)對應(yīng)的閾值就是最佳閾值。顯然該算法運(yùn)算量非常大,且只求得了一個(gè)閾值,而Canny算子需要求得高低2個(gè)閾值。根據(jù)這2點(diǎn)提出一種新的確定雙閾值的方法。首先,在一幅圖像中不一定每個(gè)灰度級的像素都會出現(xiàn),即圖像的灰度值不一定是由0~255所有灰度值組成,那么可以在計(jì)算最佳閾值時(shí)先對圖像進(jìn)行優(yōu)化,去掉那些出現(xiàn)概率為0的灰度級,這樣,極大地減少了最大類間方差法的運(yùn)算量。優(yōu)秀的閾值分割算法要求同一區(qū)域類的差異最小,不同區(qū)域類的差異最大?;谶@2個(gè)要求使得分割后的圖像的類間方差最大,類內(nèi)方差最小,將其作比值,得到結(jié)果最大時(shí)就能確定最優(yōu)閾值。
假設(shè)一幅藥品圖像灰度級為0~m,用ni表示灰度級i的像素個(gè)數(shù)。之前確定了a, b兩個(gè)高低閾值,這2個(gè)閾值將圖像分為前景、中間、背景3個(gè)部分。前景表示灰度級從0到a的部分,記為A;中間表示灰度級從a到b的部分,記為B;背景表示灰度級從b到m部分,記為C??傻玫角熬安糠值木导案怕剩?/p>
由此可以得到藥品圖像整體的均值為
也可表示為
那么2個(gè)閾值將圖像分成的3類的均值與整副圖像有所不同,可由類內(nèi)方差和類間方差表示:
可見,類間方差與類內(nèi)方差都是關(guān)于閾值a, b的函數(shù),當(dāng)類間方差取最大值、類內(nèi)方差取最小值時(shí),對應(yīng)的2個(gè)閾值即為最優(yōu)雙閾值。若實(shí)際運(yùn)用中用比值來衡量,即使為最大值時(shí)對應(yīng)的2個(gè)閾值為最佳雙閾值。用低閾值a和高閾值b對圖像進(jìn)行分割得到圖像和f1(x, y)和f2(x, y),最后結(jié)合2幅圖像得到最終藥品圖像的邊緣。
此算法根據(jù)藥品圖像的自身特點(diǎn)進(jìn)行閾值的選取,所選取的閾值是最優(yōu)閾值,是一種自適應(yīng)方法。
3.1 仿真效果比較
為了驗(yàn)證本文改進(jìn)Canny算法的有效性和優(yōu)越性,在Windows 7,64位計(jì)算機(jī)上運(yùn)用Matlab7.0對傳統(tǒng)Canny算法和本文算法對藥品圖像(見圖1)進(jìn)行仿真,其中傳統(tǒng)Canny算法是在雙閾值分別為100, 120的最佳狀態(tài)下進(jìn)行的仿真,結(jié)果見圖2~3。
圖1 原始灰度圖Fig.1Original gray image
圖2 Canny算法檢測的邊緣圖Fig.2The edge diagram for Canny algorithm detection
圖3 改進(jìn)算法檢測的邊緣圖Fig.3The edge diagram for the improved algorithm detection
從仿真結(jié)果可見,Canny算法雖然能夠較好地檢測出邊緣,但人為設(shè)定的閾值無法準(zhǔn)確定義邊緣點(diǎn)。改進(jìn)后的算法檢測的藥品圖像細(xì)致清晰,對邊緣點(diǎn)的檢測較準(zhǔn)確,滿足檢測要求。
3.2 仿真時(shí)間比較
相較于傳統(tǒng)Canny算子,在仿真時(shí)間上本文基于Canny算子的改進(jìn)算法的雙閾值需要根據(jù)藥品圖像特性自動選取,時(shí)間相對較長,但在時(shí)間方面能夠滿足實(shí)時(shí)檢測要求。具體仿真時(shí)間如表1所示。
表1 仿真時(shí)間比較Table 1The simulation time comparison
本文采用Otsu自適應(yīng)閾值選取方法對Canny算法中高低閾值的選取進(jìn)行了改進(jìn),避免了人為因素對Canny算法分割效果的影響,可根據(jù)圖像特征取得最優(yōu)閾值。通過試驗(yàn)得到了分割效果圖,經(jīng)比較發(fā)現(xiàn)改進(jìn)算法具有準(zhǔn)確定義邊緣點(diǎn)的優(yōu)越性,且符合泡罩藥品實(shí)時(shí)檢測要求。
[1]薛利軍,張虎,李自田. 采用機(jī)器視覺的藥品包裝實(shí)時(shí)在線檢測系統(tǒng)的研究[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]岡薩雷斯. 數(shù)字圖像處理[M]. 2版. 北京:電子工業(yè)出版社,2006:459-467. Gonzalez. Digital Image Processing[M]. 2nd ed. Beijing:Electronic Industry Press,2006:459-467.
[3]雒濤,鄭喜鳳,丁鐵夫. 改進(jìn)的自適應(yīng)閾值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]李牧. 自適應(yīng)Canny算子邊緣檢測技術(shù)[J]. 哈爾濱工程大學(xué)學(xué)報(bào),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ìn)及其硬件的實(shí)現(xiàn)[J]. 光學(xué)技術(shù),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]李鈺,孟祥萍. 自適應(yīng)雙閾值 Canny算子的圖像邊緣檢測[J]. 長春工程學(xué)院學(xué)報(bào):自然科學(xué)版,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]張震,馬駟良,張忠波,等. 一種改進(jìn)的基于Canny算子的圖像邊緣提取算法[J]. 吉林大學(xué)學(xué)報(bào):理學(xué)版,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]李二森,張保明,周曉明,等. 自適應(yīng)Canny 邊緣檢測算法研究[J]. 測繪科學(xué),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]余洪山,王耀南. 一種改進(jìn)型 Canny邊緣檢測算法[J]. 計(jì)算機(jī)工程與應(yīng)用,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]. 自動化學(xué)報(bào),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.
(責(zé)任編輯:申劍)
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
湖南省科學(xué)計(jì)劃基金資助項(xiàng)目(2012FJ4265)
吳婉(1989-),女,河南信陽人,湖南工業(yè)大學(xué)碩士生,主要研究方向?yàn)閳D像處理與包裝技術(shù),E-mail:981132247@qq.com
于惠鈞,(1975-),男,河南駐馬店人,湖南工業(yè)大學(xué)副教授,主要從事控制科學(xué)與工程方面的教學(xué)與研究,E-mail:arejunyu@foxmail.com