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