華鑫炎1,周凱汀1,鄭力新2
(1.華僑大學 信息科學與工程學院,福建 廈門 361021;2.華僑大學 工學院,福建 泉州 362021)
摘要:針對目前藥片表面字符缺陷檢測難的情況,提出了一種字符缺陷檢測算法。該算法根據(jù)字符的灰度值特性對Gamma映射函數(shù)進行了改進,結(jié)合γ=0.8和γ=1.2兩種曲線特征,較好地分離出了藥片表面字符的特征。同時,根據(jù)字符的幾何特征,可以準確識別出字符存在的缺陷。實驗結(jié)果表明,該算法具備較好的檢測效果,檢測準確率為92%。該算法在工業(yè)生產(chǎn)中具有一定的實用價值,可以降低藥片檢測的成本,提高檢測效率。
關(guān)鍵詞:機器視覺;缺陷檢測;圖像掩膜;Gamma函數(shù)
0引言
“物聯(lián)網(wǎng)云計算平臺建設(shè)”(2013H2002);華僑大學研究生科研創(chuàng)新能力培育計劃資助項目(1400401004)藥片的質(zhì)量是關(guān)系著醫(yī)療安全的極為重要的因素之一。為了提高藥片的生產(chǎn)質(zhì)量,必須對藥片生產(chǎn)過程中出現(xiàn)的諸如藥片表面劃傷、藥片破碎、污漬及表面字符缺損等不合格現(xiàn)象進行嚴格監(jiān)管。早期通過人工的方法對整個生產(chǎn)過程進行質(zhì)量監(jiān)控[1],這樣的過程往往是低效率高成本的。隨著計算機處理能力、運動控制技術(shù)和圖像處理算法的發(fā)展,基于機器視覺的藥片質(zhì)量檢測系統(tǒng)應運而生[2]。字符是藥片的重要組成部分,它用于區(qū)分不同類型的藥片,防止藥片被錯誤的使用,引發(fā)嚴重的醫(yī)療事故。藥片在生產(chǎn)的過程中,由于刻字設(shè)備的磨損老化,或者由于藥片在傳送帶上傳輸?shù)倪^程中產(chǎn)生的摩擦碰撞,使藥片表面字符上出現(xiàn)一些劃痕。因此,設(shè)計一種高效的識別藥片表面字符的系統(tǒng),提高藥片表面字符的可讀性及生產(chǎn)效率是有必要的。
1藥片表面字符檢測系統(tǒng)方案
1.1系統(tǒng)組成
該系統(tǒng)主要由CCD工業(yè)相機、鏡頭、環(huán)形LED光源、工控機、圖像采集卡及運動控制卡等部分組成,如圖1所示[3]。
1.2系統(tǒng)工作原理
基于機器視覺的藥片表面字符檢測系統(tǒng)主要包括圖像采集單元、圖像處理單元和剔除不合格品的運動控制單元三個部分。其工作原理如下:當流水線上的藥片進入相機視野范圍時,處于連續(xù)拍攝狀態(tài)的CCD相機就會獲取待測藥片的圖像信息;然后相機通過基于FPGA的高速圖像采集卡把采集到的圖像信息傳送至基于工控機的圖像處理單元[4],分析待測藥片是否存在缺陷及缺陷的類型;最后圖像處理單元分析得到的藥片缺陷信息反饋給剔除不合格品的運動控制單元,對有缺陷的藥片進行剔除操作,最終實現(xiàn)對藥片質(zhì)量的檢測與把控的目的。
2圖像預處理
本系統(tǒng)采用短焦拍攝進行藥片圖像的采集,雖然系統(tǒng)自身噪聲很小,可以清晰地獲取表面字符,但由于藥片的一些固有屬性,藥片表面會存在一些噪聲及斑點,這些信息將嚴重影響后期的圖像處理及特征提取,所以需要對獲取的圖像進行預處理。
2.1圖像映射
圖像預處理的本質(zhì)是將原始圖像的灰度級通過預處理函數(shù)映射到另一個可以凸顯圖像細節(jié)的灰度級上。假設(shè)原始圖像的灰度級范圍為[Rmin,Rmax],則預處理后的圖像T(x)為:
常見的圖像預處理函數(shù)映射有:線性、對數(shù)、指數(shù)等。
2.2字符圖像預處理
為了很好地得到圖像的字符特征,首先采用灰度值反轉(zhuǎn)(Reserve)的方法,對采集的原始圖像進行灰度值反轉(zhuǎn)運算,原始圖像見圖2(a),處理結(jié)果見圖2(b)。經(jīng)過反轉(zhuǎn)運算后,圖像的背景變?yōu)榘咨?,藥片變?yōu)楹谏?,藥片表面的字符及噪聲點也變?yōu)榘咨?,字符邊緣則是黑色的,這樣就可以凸顯藥片字符特征。
經(jīng)過灰度值反轉(zhuǎn)運算后的圖像,并沒有去除字符周圍的噪聲點,因此采用灰度值增強(Power)對藥片圖像再次進行灰度映射。不同增強函數(shù)的映射效果如圖3所示。通過比較不同倍數(shù)的灰度值增強效果,本系統(tǒng)最終選取1.8倍的灰度值增強函數(shù)。經(jīng)過灰度值增強后,圖像白色區(qū)域的對比度顯著增加,暗區(qū)域的對比度減少,字符的特征較為明顯,圖像上的噪聲點明顯減少。
2.3圖像中字符區(qū)域的提取
采用圖像掩膜法(Image Mask)提取藥片的字符區(qū)域,并且調(diào)整了字符區(qū)域的位置和亮度,以凸顯圖像的字符特征,便于后期處理。
圖像掩膜運算,即用選定的圖像對待分析的圖像進行局部(或是全部)遮擋,以提取出感興趣區(qū)域。在圖像掩膜中的像素決定感興趣區(qū)域中對應的像素是否要進行處理。
圖像掩膜主要用于:提取出感興趣區(qū)域,感興趣區(qū)域內(nèi)圖像灰度值保持不變,而區(qū)域外圖像灰度值都為零。屏蔽作用即是用圖像掩膜對圖像上某些區(qū)域作屏蔽,使其不參與下一步的圖像處理。圖形結(jié)構(gòu)特征的提取,即用相似變量或模板匹配的方法檢測和提取出圖像中與掩膜相似的結(jié)構(gòu)特征。
設(shè)藥片圖像為f(x,y),掩膜圖像為B(x,y),掩膜處理后的圖像g(x,y)為:
g(x,y)= f(x,y)* B(x,y)
常見的掩膜形狀為矩形,掩膜的步驟如下:(1)求取藥片的中心位置坐標;(2)設(shè)定掩膜的大?。ㄩL度和寬度值),求取掩膜模型;(3)根據(jù)掩膜模型,對藥片圖像進行掩膜,獲取藥片的字符區(qū)域。圖4藥片字符的掩膜處理
掩膜后的處理效果見圖4。
3字符特征的提取及檢測
3.1改進的Gamma矯正
視覺系統(tǒng)對圖像的亮度感知大致呈對數(shù)關(guān)系[5]。為了克服這一非線性關(guān)系,引入Gamma映射函數(shù)對圖像灰度值進行矯正,稱為Gamma矯正[6]。Gamma函數(shù)為式(1):
本系統(tǒng)采集的圖像的灰度值范圍為0~255。為了取得一定的線性關(guān)系,對字符區(qū)域灰度值進行估計,對式(1)進行改進,改進后如式(2)所示:
圖5原始的Gamma矯正曲線從式(2)可以看出,Gamma矯正實際執(zhí)行的是對灰度值的一種映射變換。為了更好地觀察Gamma矯正對圖像灰度值變化的影響,繪制其曲線圖,見圖5。結(jié)合式(1)分析,當γ=1時,圖像的灰度值沒有發(fā)生改變;當γ>1時,圖像中暗區(qū)域的灰度值將拓寬,亮區(qū)域的灰度值將收窄。結(jié)果是增加暗區(qū)域的對比度,減小亮區(qū)域的對比度;當γ<1時,圖像中亮區(qū)域的對比度得到增加,暗區(qū)域的對比度減小。
從圖4可知,藥片總體為黑色,其表面字符為白色。如果在減小黑色區(qū)域的灰度值的同時,增加白色區(qū)域的灰度值,這樣字符的特征就會比較明顯地顯現(xiàn)出來。根據(jù)這個思路,本系統(tǒng)采用改進的Gamma矯正曲線做灰度值的映射運算。
通過比較可知,圖6所示曲線是對圖5曲線的變形。因此可以構(gòu)造新的映射函數(shù)(改進的Gamma矯正函數(shù))為式(3):
其中:k為圖像中曲線交點的橫坐標,c為圖像的灰度最大值。本系統(tǒng)中取k為圖像灰度值的平均值21,γ分別取0.8和1.2。
3.2算法的驗證
圖像經(jīng)過掩膜運算后,提取出藥片的字符區(qū)域,如圖7(a)所示,經(jīng)過改進Gamma函數(shù)的映射運算后,凸顯了藥片的字符區(qū)域,如圖7(b)所示。
3.3分離藥片表面字符特征
本系統(tǒng)采用Ostu算法對字符區(qū)域進行二值化運算,以凸顯字符特征。
Ostu二值化算法的核心思想是:整個圖像采用同一閾值(全局閾值)T 對圖像進行二值化處理。一般通過圖像的灰度直方圖確定一個全局閾值T, 將圖像中每個像素的灰度值與閾值T進行比較,若大于T,則認為是前景,反之,則為背景 [7]。在圖像完成二值化處理后, 使背景和前景兩個類的類間方差值最大,從而達到區(qū)別背景和前景的目的。在圖像的前景和背景類中, 將每一像素到相應類中心的方差定義為類的分散[8]。每個類的分散度越小, 則其內(nèi)斂性越強, 達到的分類效果就會越好。
整個圖像中任意點的像素灰度值范圍為0~255,圖像中任意點(x,y)的灰度值表示為I(x,y),灰度值為x的點的概率為P(x)。則Ostu二值化算法就是求式(4)達到最大值時候的灰度級m。
經(jīng)過Ostu二值化處理后,效果如圖8(a)。
3.4中值濾波去除噪聲
經(jīng)過Ostu二值化處理后,藥片的字符特征可以較好地顯示出來。由于Ostu算法是一種對全局雙峰、圖像成像有一定要求的算法,因此難免有很多噪聲點的存在。從圖8(a)可知,經(jīng)過Ostu二值化處理后,可以清晰地顯示藥片表面的字符“X D”及劃痕的特征,與此同時,字符及劃痕周圍出現(xiàn)了很多白色的噪聲點。因此需要對圖像進行濾波。本系統(tǒng)采用中值濾波器來除去圖像的噪聲點。處理結(jié)果如圖8(b)。
從圖8(b)可知,字符 “X D”變細了,亮度也稍微有些變?nèi)趿?,但是白色的噪聲點減少了許多。
4實驗結(jié)果與分析
字符缺陷檢測算法的結(jié)果見圖9,其中(a)~(h)分別為原始圖像、灰度值反轉(zhuǎn)、灰度值增強、掩膜處理、伽馬校正、Ostu二值化、中值濾波處理后的效果圖;(1)和(2)分別為合格藥片及存在字符劃傷的藥片檢測的效果。
通過大量的實驗,最終確定本系統(tǒng)選擇的字符面積區(qū)間為Pa=[1 987,2 250]。字符面積特征見表1。表1字符面積特征參數(shù)合格藥片(9(1-h))字符劃傷(9(2-h))Pa2 0174 286為了進一步測試系統(tǒng)的準確性及可靠性,隨機選擇了100粒藥片,對其進行字符缺陷檢測的測試。測試結(jié)果表明,本系統(tǒng)對藥片字符劃傷的缺陷檢測準確率達92%。
5結(jié)束語
本系統(tǒng)為自主開發(fā)的智能化藥片表面字符缺陷視覺檢測系統(tǒng)。針對有字符的藥片,提出了字符缺陷檢測算法,通過提取藥片字符特征、設(shè)定相應閾值來判別待測藥片是否合格。經(jīng)測試,該系統(tǒng)準確率高,實時性好,有一定的實際應用價值。
參考文獻
?。?] 王新明.應用于藥品檢測中的圖像信息處理系統(tǒng)研究[D].西安:西北工業(yè)大學,2003.
?。?] ZHANG L Z. Automatic color printing inspection by image processing[J]. Journal of Material Technology. 2003(139):373378.
?。?] ACKLEY E M, FORD M. Inspection system: U.S. patent application 13/740, 684[P]. 2013114.
?。?] 郭柳柳,甄國涌,劉東海,等.基于FPGA高速圖像數(shù)據(jù)的存儲及顯示設(shè)計[J].電子技術(shù)應用,2014,40(11):7577,84.
[5] GASTALDO P, ZUNINO R,HEYNDERICKX I,et al. Objective quality assessment of displayed images by using neural networks [J]. Signal Processing: Image Communication,2005,20(7): 643661.
?。?] 李國芳,王力.基于改進Gamma和改進BP算法的人臉識別研究[J].微型機與應用,2015,34(4):4951.
?。?] OSTU N.A threshold selection method from graylevel histogram[J]. IEEE Trans Systems Man Cybernetic, 1978(8):6265.
?。?] 陳敏.一種自動識別最優(yōu)閾值的圖像分割方法[J] .計 算機應用與軟件, 2006, 23(4):8587.