吳婉,于惠鈞,成運
(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