胡祝華,趙瑤池*,白勇,曹鳳勤
(1.海南大學信息科學技術學院,海南海口570228;2.海南大學環(huán)境與植物保護學院,海南???70228)
利用計算機圖像處理技術實現(xiàn)對儲糧害蟲的分割和正確識別是近年來儲糧蟲害綜合防治中具有活力的交叉研究方向之一[1-3]。把害蟲數(shù)量控制在對儲糧損害的水平以下,既不會因為害蟲造成損失,也不會因盲目防治造成浪費,加重對糧食和環(huán)境的污染,因此及時準確地獲取蟲害信息至關重要。
進入21世紀以來國內外學者基于圖像處理技術針對害蟲檢測和識別的研究有很多。2009年,胡濤等利用灰色理論進行儲糧害蟲的邊緣檢測[4]。2010年,張衛(wèi)芳等采用基于混合高斯模型對儲糧害蟲進行分割處理[5]。張建華等基于SVM(支持向量機)模型、遺傳算法對儲糧害蟲進行智能識別[6]。2011年,Solis-Sanchez等采用尺度不變特征的 LOSS V2算法對害蟲進行檢測和識別[7]。2012年,Xia等基于計算機視覺的多重分形分析方法,用來檢測溫室中的微小害蟲(如粉虱等)[8]。陸光等采用基于SVM的多特征融合算法對天牛圖像進行識別[9]。
上述研究方法在特定場合下都取得了較好的分割和識別效果,但由于采用了比較復雜的智能算法,在檢測和識別效率上都具有一定的局限性,很難達到實時檢測的要求。為了提高儲糧害蟲的識別效率,在保證識別正確率的前提下,筆者提出了一種基于輕量級圖像處理技術的害蟲檢測與識別快速方法。通過該方法可以快速識別出儲糧中的害蟲,為下一步的綜合防治提供及時有效的科學依據(jù)。
1.1 整體思路 以儲糧害蟲為研究對象,運用圖像處理技術實現(xiàn)對儲糧害蟲的目標檢測與識別。該方法的整體結構如圖1所示。
圖1 整體結構
獲取原始圖像后,首先需對原始圖像進行預處理和均衡操作,包括圖像格式轉換、彩色圖像灰度化、圖像灰度拉伸、二值化等操作;其次對預處理后的圖像進行形態(tài)學濾波和重建工作;接著對處理后的圖像進行目標害蟲的提取;最后將提取出的目標害蟲與庫中的信息進行配準,配準過程包括對目標蟲體的旋轉、縮放、模板匹配等操作,識別結束后給出害蟲的識別結果。
1.2 試驗測試環(huán)境 ①硬件環(huán)境:高清數(shù)碼攝像機、PC[Inter(R),Core(TM)i5-3230M CPU@2.60GHZ,2.56GB 內存]。②軟件環(huán)境:Matlab 8.1、Visual C++6.0、WIN7 操作系統(tǒng)。③試驗語言:C語言。
在拍攝以及傳輸圖像的過程中受噪聲、外部環(huán)境等因素的干擾,造成圖像質量有所下降。為此,需要增強圖像中的有用信息,改善圖像效果,使圖像中感興趣區(qū)域的特征差別更加明顯。該研究主要通過對圖像的格式轉換、灰度化、灰度拉伸以及二值化操作對圖像進行預處理分析。分析結果為后續(xù)的處理流程提供好的輸入。
2.1 圖像格式轉換與灰度化 在儲糧蟲害圖像獲取的過程中,考慮到監(jiān)控設施存儲空間大小的限制,以及圖像傳輸?shù)呢摵桑畛醯漠嬅娲鎯镴PEG格式。JPEG圖像占用空間小,但這種格式的圖像存儲方式較為復雜,涉及到Huffman編碼,對于圖像后期各方面的處理并不適合。為此,將JPEG圖像轉換為存儲方式簡單的BMP圖像,這樣對圖像的灰度化、二值化等處理比較方便,格式轉換后的效果如圖2(b)所示。
圖2 蟲害圖像預處理后的灰度拉伸效果
彩色圖像信息量很大,如果對其直接進行圖像處理將會很困難,處理的速度也會很慢,極大地降低檢測與識別的效率。因此首先需要將彩色圖像轉化成灰度圖像。該研究采用標準加權平均值法進行圖像的灰度化,如式(1)所示。
式中,wR、wG、wB分別為彩色圖像R、G、B 分量的權值,經過反復試驗測試獲取經驗值為:wR=0.299,wG=0.587,wB=0.114。
害蟲圖像灰度化后的效果如圖2(c)所示。
2.2 圖像的均衡處理 均衡處理主要包括對儲糧害蟲圖像進行灰度拉伸和圖像的二值化處理。
2.2.1 灰度拉伸。灰度化后的灰度值大部分集中在一個小范圍的區(qū)域內,給害蟲目標的分割閾值選擇帶來了一定的困難,因此需要將灰度拉伸到整個范圍,才能顯示出清晰的圖像,使得在該范圍內的像素,亮的越亮,暗的越暗,達到增強對比度的目的。灰度拉伸示意圖如圖2(a)所示。圖中,L-1表示最大灰度級,r1和r2表示進行灰度拉伸的最小輸入灰度和最大輸入灰度,s1和s2是變換拉伸后的灰度輸出,a、b、c為3段直線的斜率,因為是對圖像中的重要區(qū)域進行對比度拉伸,所以斜率b必須大于1,而a、c的值往往相等。在該試驗中 a、b、c的取值分別為:a=c=0.5,b=1.75。灰度拉伸后的效果如圖2(d)所示,從效果圖可知,灰度拉伸后害蟲圖像的對比度得到了明顯的增強,有利于二值化處理中閾值的選擇。
2.2.2 二值化處理。灰度圖像數(shù)據(jù)量仍然較大,會影響到檢測與識別的效率。二值化是將具有256個灰度等級的圖像通過閾值處理轉換成只有2個灰度等級(0、255)的圖像,二值化處理后使圖像具有更小的數(shù)據(jù)和更強的目標對比,有利于對目標圖像的進一步處理分析。二值化算法如式(2)所示。
式中,g(x,y)表示灰度圖像;f(x,y)表示生成的二值圖像,T表示所設定的閾值,閾值選擇必須恰當,過大的閾值會破壞害蟲目標輪廓,過小的閾值將會出現(xiàn)大量的噪聲。因此,采用Otsu算法[10]對T進行自動閾值選擇。二值化圖像效果如圖3(a)所示。從圖像效果可知,二值化后會產生局部噪聲,目標蟲體的一些腿部細節(jié)也會產生間斷,蟲體內部產生空洞,這樣對模板匹配會產生不利的影響。因此在目標提取前需要進行形態(tài)學運算[11]處理。
3.1 形態(tài)學運算 為了在目標蟲體提取時足夠精確,對二值化后的圖像進行了無損濾波操作,消除噪聲的同時填補蟲體目標上的空洞,采用的算法如下。
3.1.1 首先對二值圖像進行形態(tài)學開重建濾波運算。如式(3)所示。
式中,F(xiàn)表示需要被濾波的二值圖像;B表示腐蝕結構單元;FΘB表示進行形態(tài)學腐蝕操作表示形態(tài)學重建模型。具體表示如式(4)所示。
式中,I表示將要被重建的圖像;I1,I2,…,IK表示圖像I的連通單元。對蟲害二值化圖像開重建運算的效果如圖3(b)、(c)所示。從圖中可知,運算的結果不僅去除了圖3(a)中的局部噪聲,而且填補了蟲體目標中一些較大的空洞。
3.1.2 在第1步的基礎上進行形態(tài)學閉運算。開重建濾波后,再利用形態(tài)學閉運算可以彌合目標蟲體圖像中的較窄的間斷,消除小的空洞,填補圖像中細小斷裂。如式(5)所示。
式中,B表示腐蝕結構單元;A表示圖像。閉操作實際上是B先對A進行膨脹運算,然后用B進行腐蝕。閉運算的結果如圖3(d)所示,對圖3(d)進行反轉得到最終的形態(tài)學處理效果,如圖3(e)所示。從效果圖可知,經過整個形態(tài)學操作后,與圖3(a)相比,在濾除噪聲的同時,豐富了蟲體的局部細節(jié),填補了蟲體上的小空洞。
3.2 目標蟲體的提取 為了提取出感興趣區(qū)域中的目標蟲體,并統(tǒng)計出目標蟲體的面積和周長,處理了如下兩個關鍵問題。
圖3 二值化圖像的形態(tài)學操作
3.2.1 判斷當前分析的目標點是否處于正在查找的某一目標區(qū)域。采用的算法如下:①找到一個合理點(如第1次遍歷時可以尋找第1個灰度為0的點,這個點肯定是某一區(qū)域的邊界點),將該點記為點A。②在A點的右、右下、下、左下4個鄰近點中至少有一個是邊界點(一個邊界點的上下左右4個相鄰點都是黑點),將其記為B。③從B開始查找,按照右、右下、下、左下、左、左上、上、右上的順序尋找相鄰近點中的邊界點,每尋找到一個邊界點將其記為點C,并記錄該點的位置信息。④判斷點C,如果C就是A點,則表明該區(qū)域已查找完成,否則重復執(zhí)行前面的操作,直到重新找到A為止。
3.2.2 圖像中目標蟲體的提取。為了不漏掉任何一處區(qū)域,需要對圖像中的像素點逐個遍歷,將所有區(qū)域都提取出來。該研究采取的算法是:在判斷出某一蟲體目標區(qū)域后,將該區(qū)域的點寫入到新的圖像中,同時將原圖中這些像素點刪除(即將其灰度值置為255)。這樣在提取該區(qū)域的蟲體生成新圖像的同時,原圖中該部分區(qū)域也被刪除,使得查找余下蟲體區(qū)域更為方便。
4.1 識別前的預處理 蟲體提取出來后,由于生成的新圖是按照原圖的大小進行操作的,所以為了方便后面的操作,減少操作的數(shù)據(jù)量,需要將新生成的蟲體圖像的空白無效區(qū)域裁剪掉。其算法操作步驟是:找出目標的最高點、最左點、最右點以及最下點,根據(jù)這些點的坐標求出蟲體的寬和高,然后生成新圖。
采用對蟲體姿態(tài)和形體特征的配準進行害蟲的識別。在配準的過程中,必須要建立一個配準的基準,該研究以目標蟲體的最長軸在水平方向上為基準,此時需要對目標蟲體進行旋轉,找到最長軸,旋轉到水平方向。另外,在識別中目標蟲體的分辨率大小需要與模板庫中樣本的大小保持一致,因此需要對目標蟲體參照樣本大小進行縮放。
4.2 改進Hausdorff距離的模板匹配 為了抵抗噪聲的干擾,采用了基于改進Hausdorff距離的模板匹配算法[12]。改進Hausdorff距離是用來描述兩組點集之間相似程度的一種度量方法,公式為:
式中,dh(A,B)定義為待識別蟲體像素點的集合A與模板庫中樣本的像素點集合B之間的直接Hausdorff距離?!?‖表示距離范數(shù)。先生成儲糧害蟲模板庫,然后逐個計算待識別的目標蟲體與模板庫中各個樣本之間的改進Hausdorff距離Di(i=1,2,…,N),其中N為模板庫中樣本的個數(shù)。
模板匹配算法的具體步驟如下:①初始化D(I,Ti),其中I表示待識別蟲體圖像,Ti表示模板庫中的第i個樣本,令D(I,Ti)=0。②從上到下,從左至右,逐個像素掃描I,如果是0(黑色),記錄下該點 Px,y的位置;否則重復 2。③針對 Ti,以Px,y為中心的k×k鄰域內,搜索像素值為0的點,尋找與 Px,y最近的那個點,并計算到該點的距離,此距離為I和Ti在該點的最小距離。在該試驗中取3×3鄰域。④將所有計算的距離進行累加后賦給D(I,Ti)。⑤判斷I是否掃描結束,若沒有轉到步驟②,否則繼續(xù)計算,直至得到I到所有Ti的距離。⑥按照同樣的步驟可計算Ti到I的改進Hausdorff距離D(Ti,I)。⑦取 Di=Max[D(I,Ti),D(Ti,I)]。
通過算法可以得到待識別蟲體與模板庫中所有樣本之間的距離{D1,D2,…,DN},當 Di取最小時,對應的模板中樣本即為識別的結果。
以拍到的米象害蟲圖像為例,圖3(a)為蟲害圖像進行預處理后的結果,圖3(e)為形態(tài)學操作后的結果。對目標蟲體進行提取,并去掉空白無效區(qū)域,得到如圖4(a)所示的效果。旋轉到基準位置后,因為無法預知是否和模板庫中樣本的水平朝向一致,因此對旋轉完成的圖像還需進行180°的旋轉,形成左、右兩個朝向的目標蟲體。另外,為了防止在配準中出現(xiàn)較大誤差,對兩個方向的蟲體圖像都進行角度的微調,這樣在兩個方向都有了與水平方向略有角度差異(正負2度)的3幅圖像。試驗效果如圖4(b)所示。
圖4 識別前的預處理操作
對圖4(b)提取出來的目標蟲體按照模板庫中的樣本大小進行縮放操作。利用改進Hausdorff距離的模板匹配算法進行識別得到害蟲的識別結果。識別信息如圖5所示。為了進一步考察該方法的效率,針對不同儲糧害蟲圖像用相同的方法進行識別,計算出所耗費的時間和識別率如表1所示,圖像尺寸大小均為160*230。
圖5 識別結果
表1 不同儲糧害蟲的識別對比
由試驗結果可知,通過該研究提出的方法可以正確地提取和識別出一般場景中的儲糧害蟲。檢測識別的時間基本達到了實時識別的要求。
儲糧害蟲的檢測與識別是蟲害智能監(jiān)測與防治中的重要一環(huán),該研究基于計算機圖像處理技術構建了一套目標提取的快速方法,并將其應用到蟲害圖像中蟲體的分割和提取上,然后再應用快速而簡單的識別算法對蟲體進行識別。試驗結果表明,該研究提出的方法針對不是特別復雜場景中的害蟲識別具有較好的效果,并且識別的效率基本達到了實時性的要求。
[1]胡麗華,郭敏,張景虎,等.儲糧害蟲檢測新技術及應用現(xiàn)狀[J].農業(yè)工程學報,2007(11):286 -290.
[2]毛罕平,張紅濤.儲糧害蟲圖像識別的研究進展及展望[J].農業(yè)機械學報,2008(4):175 -179,186.
[3]王江寧,紀力強.昆蟲圖像分割方法及其應用[J].昆蟲學報,2011(2):211-217.
[4]胡濤,徐磊.灰色理論在儲糧害蟲圖像處理中的應用[J].湖北農業(yè)科學,2009(3):729 -731.
[5]張衛(wèi)芳,郭敏.基于圖割理論的儲糧害蟲圖像分割[J].科學技術與工程,2010(7):1661 -1664,1679.
[6]張建華,朱春華.基于遺傳算法和支持向量機的儲糧害蟲圖像識別[J].安徽農業(yè)科學,2010(17):8833 -8834.
[7]SOLIS-SANCHEZ L O,CASTANEDA-MIRANDA R,GARCIA-ESCALANTE J J,et al.Scale invariant feature approach for insect monitoring[J].Computers and Electronics in Agriculture,2011,75(1):92 -99.
[8]XIA C,LEE J M,LI Y,et al.In situ detection of small-size insect pests sampled on traps using multifractal analysis[J].Optical Engineering,2012,51(2):27001.
[9]陸光,滿慶麗,徐然.基于SVM的多特征融合的天牛圖像識別[J].森林工程,2012(4):21-25.
[10]OTSU N.A threshold selection method from gray-level histogram [J].IEEE Transaction on Systems,Man and Cybernetics,1979,9(1):62 -66.
[11]GONZALEZ R C,WOODSR E.數(shù)字圖像處理[M].阮秋琦,阮宇智,譯.3 版.北京:電子工業(yè)出版社,2011:402 -411.
[12]馮偉興,梁洪,王臣業(yè).Visual C++數(shù)字圖像模式識別典型案例詳解[M].北京:機械工業(yè)出版社,2012:88 -90.