黃燦燦,陳亞龍,張 偉,蔡 強
(浙江清華長三角研究院,浙江 嘉興 314006)
害蟲對茶葉品質與產量的影響不可忽視。目前,通常采用捕蟲燈誘捕茶園害蟲[1],然后對捕殺后的害蟲進行人工計數,以判斷茶樹蟲害情況。但依靠人工計數效率低且不能實現害蟲形勢的實時反饋[2],故需研究茶樹害蟲自動計數方法代替人工計數。
基于圖像處理技術的害蟲蟲情監測是研究熱點[3-5]。肖德琴等[6]研究了基于機器視覺的蔬菜害蟲計數算法,提出基于結構化隨機森林的圖像分割算法,并利用去除背景干擾和監測模型計數算子算法完成對蔬菜害蟲薊馬、煙粉虱和實蠅的識別計數;陳樹越等[7]研究了糧倉害蟲圖像的計數算法,提出一種改進的凹點檢測和精確分割點定位的分割算法,對粘連害蟲的圖像分割效果較好。但上述研究的樣本圖像采集環境較理想,未充分考慮田間原位采集圖像的復雜情況。
原位采集的樣本圖像背景復雜,主要表現為在實際田間自然條件下拍攝的害蟲圖像易受到拍攝角度以及光照等因素的影響[8-11],采集的樣本圖像通常清晰度不高、整潔度低、葉片與塵埃干擾物多,這些因素都增加了圖像處理的難度。為了解決上述問題,本試驗研究了復雜背景下茶樹害蟲圖像的計數方法。
測試使用設備及平臺:捕蟲設備為某農業物聯網公司生產的拍照式捕蟲燈;計算機1 臺(操作系統為Windows7,64bit);圖像處理軟件為Matlab(版本為2015年)。
害蟲采集于南方地區茶樹田間,采集時間為8—9月,依托當地茶田常用的具備拍照功能的捕蟲設備,采集茶樹害蟲圖像。捕蟲設備外部結構如圖1a,內部安裝有拍攝模塊用于抓拍害蟲圖像。采集到的樣本圖像如圖1b 所示。

圖1 捕蟲設備和樣本圖像
害蟲區域圖像的完整性直接影響后續計數的準確性,因此對圖像進行預處理時,需要將害蟲區域與背景進行分離。常用于分離背景與目標的方法主要有兩種:基于灰度閾值和顏色特征。
首先通過基于灰度閾值分離背景圖像,采用基于全局閾值處理的分割方法對樣本圖像進行處理,結果如圖2 所示。獲取樣本圖像直方圖(圖3a),通過顏色分量R、G、B 閾值來分割害蟲與背景,分割結果如圖3b、圖3c、圖3d 所示。從分離背景圖像的結果可知,①樣本圖像二值化階段,閾值難以確定,圖像二值化比較困難;②樣本圖像中的害蟲區域顏色特征不明顯,難以通過顏色分量閾值對害蟲區域進行提?。虎蹐D像背景中存在干擾線條,難以去除。為解決上述問題,提出一種網格劃分圖像的方法,將圖像劃分成10×10 的圖像,然后對劃分后的圖像進行處理,實現背景分割,提取害蟲區域。

圖2 基于全局閾值處理結果

圖3 基于顏色特征分割結果
樣本圖像為彩色圖像(RGB 圖像),需要轉換為灰度圖像,灰度化處理結果如圖4 所示。
2.2.1 圖像網格劃分處理 將樣本灰度圖像(圖4b)劃分成10×10 的網格,如圖5a所示。劃分后的圖像(圖5b)的灰度分布相對均勻,通過最大類間方差法獲取圖像閾值,對圖像作二值化處理。

圖4 圖像灰度化處理

圖5 害蟲區域提取過程
2.2.2 二值圖像轉化 在圖像處理中,灰度圖像轉化為二值圖像使圖像變得簡潔,且便于分離害蟲與背景區域。獲取網格圖像的閾值G用于圖像二值化處理,以圖5b 為例,通過最大類間方差法獲取其閾值G=153,將灰度值大于或等于153 的像素值轉化為白色(即255),小于153 的轉化為黑色(即0),二值化后的圖像如圖5c所示。
2.2.3 去除背景干擾線條 減少不必要的冗雜信息,凸顯感興趣的目標區域。在樣本圖像中,背景干擾線條即為多余的信息,影響對害蟲區域圖像的提取以及計數的準確率,需要在保留害蟲區域特征的前提下加以去除。
以圖5c 中的干擾線條為例,通過膨脹腐蝕來去除,先后以w1 和w2 對圖5c 做膨脹處理,處理結果如圖5d 所示。膨脹處理的結構元素記為w1 和w2。

2.2.4 形態學濾波處理及空洞填充 從網格圖像處理結果可以看出,經過處理后,圖像已去除了背景的干擾線條,且保留了害蟲形態輪廓特征。將10×10處理后的網格圖像重新拼接成完整圖像,處理結果如圖6a所示。
形態學濾波可以很好地去除圖像中噪聲和小顆?,F象以及平滑邊界[12]。圖6a 中害蟲區域信息保留完整,背景干擾線條完全去除,但該圖像仍然存在細小顆粒、噪聲和空洞等現象,需要進行形態學濾波處理和空洞填充。利用3×3 菱形結構元素對圖像進行濾波處理,然后進行空洞填充和平滑邊界等操作,結果如圖6b 所示。

圖6 害蟲區域提取結果
雖然害蟲區域與背景完全分離,且害蟲形態特征信息保留完整,但是圖像中存在較多的害蟲粘連現象,直接對其做計數處理,計算結果不準確。為了提升害蟲計數的準確率,需要將粘連的害蟲圖像進行分割。
分水嶺分割算法是一種基于拓撲理論的數學形態學的分割方法[13],把圖像看作地理學上的拓撲地貌,具有山谷和山脊的地理模型,圖像中每一像素點的灰度值表示該點的海拔高度,每一個局部極小值區域表示集水盆地,而集水盆地的邊界代表分水嶺。將山地模型浸入水中,山谷最低處(局部極小值區域)表面刺穿一個小洞,水進入山谷,隨著水位上漲,山谷逐漸被水淹沒,為了避免山谷與山谷之間的水匯聚到一起,建立堤壩,形成分水嶺。
由于受到噪聲、其他局部不規則結構以及區域內紋理的影響,直接運用傳統分水嶺分割算法分割圖像時會產生多個分水嶺,進而導致圖像過度分割,直接以傳統的梯度變換分水嶺算法做分割處理,圖像結果如圖7 所示。
從圖7 分割結果可知,由于害蟲區域圖像中有較多的噪聲和紋理特征,傳統的梯度分水嶺分割算法存在嚴重的過分割問題。為解決該問題,采用基于標記控制分水嶺的圖像分割算法,實現對害蟲區域分割,去除圖像粘連,在分水嶺分割前,首先對圖像進行標記(標記本身是圖像中的連通元素[14],分為內部標記和外部標記,分別完全包含目標區域和背景區域),確定圖像中內部標記和外部標記后,在標記圖像的控制下對樣本圖像進行分水嶺變換和分割處理,實現對害蟲粘連區域的分割。

圖7 傳統的基于梯度分水嶺算法分割結果
3.2.1 內部標記 內部標記代表圖像中的害蟲區域,首先對輸入圖像進行Sobel 濾波處理,然后獲取局部極小值區域的圖像,極小值像素集合表示為Rmint(f),直接獲得的極小值區域Rmint(f)中包含了許多不相關的圖像特征,運用h-極小值[15]變換,消除不相關的局部極小值以減少過分割,其中h-極小值處理后的圖像中的區域極小值即為擴展極小值,記為Eminh(f),即得到內部標記。
1)梯度圖像。梯度圖能直觀地反映圖像像素灰度變化信息,對后續分水嶺的分割效果有著至關重要的作用。通過Sobel 算子對圖像水平和垂直方向進行濾波處理,得到梯度圖像grad(f(i,j)),梯度計算公式為:

其中,grad(f)表示梯度運算,Iv和Ih分別代表So?bel算子分別檢測圖像在垂直和水平方向的梯度。
2)區域極小值Rmint(f)。區域極小值表示圖像f在高度t處的區域極小值M是像素值為t,且其外部邊緣像素值嚴格大于t的像素連通成分。
3)h-極小值變換。區域極小值Rmint(f)中標記出部分不相關的圖像特征(包括未完全去除的暗噪聲和不規則的細節紋理),h-極小值變換是通過抑制局部極小值中深度大于或等于給定閾值h的極小值,減少標記區域中不相關的圖像特征,從而減少過分割的現象。該過程主要通過在f+h中對f進行腐蝕重建來實現:

其中,h為根據經驗設定的閾值,h∈N,Hminh(f)表示h-極小值表示腐蝕重建變換。
4)擴展極小值標記Emin。Hminh(f)區域極小值即為擴展極小值集合:

5)將擴展極小值標記圖像記為fin。fin(i,j)表示圖像中的像素點:

3.2.2 外部標記 外部標記包含背景像素的圖像區域,而擴展極小值圖像中標記區域外的部分即為背景區域。因此,通過對擴展極小值標記圖像進行距離變換,獲得外部標記。
距離變換是通過對二值圖像進行操作的運算,將其轉換為灰度圖像的操作運算[16]。背景區域圖像與擴展極小值標記圖像相比,區別在于標記的區域不同,前者標記位于背景區域,后者位于害蟲區域,但兩圖像大小相同。背景區域圖像記為fm,fm=[aij],aij=1 的像素對應目標區域,aij=0 對應背景區域。將距離變換后的圖像記為fout,即為外部標記。

3.2.3 深度閾值h的選擇 擴展極小值變換中設定的深度閾值h,主要作用是消除深度大于h的極小值,減少分水嶺過分割的區域。h值大小直接影響圖像分割的效果,太大會濾除部分極小值區域而造成欠分割;太小對局部極小值抑制作用不足,導致過分割。但對于如何確定閾值h,目前還缺少有效的方法[17],針對該捕蟲設備所獲取的樣本圖像,以過分割率ηg、欠分割率ηq和誤分割率ηw衡量算法分割優劣的指標。過(欠)分割率指由于過(欠)分割導致害蟲數量多于(少于)實際數量,其比值即為過(欠)分割率,過分割和欠分割均屬于誤分割。因此,推出下式:

無論是過分割還是欠分割,均導致計數準確率下降,只有當過分割率與欠分割率相等時,誤分割率才能達到最低,計數準確率相對最高。因此,從樣本圖像再隨機選取10 幅進行閾值h的測試試驗,在h<5和h>25 時,會出現嚴重的欠分割和過分割,因此在進行測試試驗階段,閾值h的取值范圍確定為[5,25],步長為1。在每一個閾值下,計算10 幅圖像的過分割率、欠分割率和誤分割率,并求其平均值,結果如圖8 所示。

圖8 閾值h 對分割率的影響曲線
通過上述的閾值h測試試驗結果可知,當h為14 時,誤分割率達到最小為4.86%,不同閾值分割效果如圖9 所示。

圖9 深度閾值h 對分割結果影響
3.2.4 分水嶺分割結果 距離變換的結果圖像中,較暗的區域對應害蟲區域,較亮的區域(即外部標記)對應背景。首先,對結果圖像作分水嶺變換得到分水嶺線,即為粘連害蟲的分割線,如圖10e 所示。結合圖10e 對圖10b 做分割處理,最終得到分割結果,如圖10f所示。

圖10 標記控制分水嶺算法分割流程
3.2.5 魯棒性測試 為了驗證圖像預處理和分割算法的穩定性,對圖像添加椒鹽噪聲、高斯噪聲和斑點噪聲進行試驗,為了保證圖像中害蟲特征不被破壞,在對應方差范圍下,添加的噪聲的方差分別為0.05、0.01 和0.01。然后對添加噪聲后的圖片分別進行害蟲區域提取和分水嶺分割(閾值h仍取14),結果如圖11 所示。

圖11 不同噪聲環境測試
樣本圖像添加了不同噪聲,但是圖像預處理過程中進行了形態學處理,因此噪聲對算法整體影響相對較小,且從表1 結果可知,對比添加噪聲后的處理結果,算法平均耗時和誤分割率差距較小,進一步確定算法在不同噪聲影響下具有一定的魯棒性。

表1 不同噪聲條件下測試結果
在圖像預處理階段,采用網格劃分圖像的處理方法去除干擾線條,實現圖像中背景害蟲區域的分離,然后通過控制標記分水嶺分割算法,分離圖像中粘連的害蟲區域,最后完成圖像的分割,算法的流程如圖12 所示。

圖12 算法流程
從采集的樣本圖像隨機選取10 幅采用上述算法進行圖像處理,統計圖像中連通區域數目作為害蟲的數目,計數結果如表2 所示。由表2 可知,以人工計數為基準,直接對樣本圖像中害蟲進行計數時,由于圖像中存在害蟲粘連的問題,計數準確率相對較低,平均準確率為77.9%;經過標記控制的分水嶺分割算法,分離了圖像的粘連害蟲區域,平均準確率為91.8%,比直接計數的準確率提升了13.9個百分點。

表2 害蟲計數結果
以南方地區茶樹田中常用的某型號害蟲捕捉設備采集的樣本圖像為研究對象,通過分離背景對樣本圖像進行分割處理,分析了難以提取害蟲區域的原因,提出了將圖像按網格劃分,結合形態學處理方法,在保留害蟲形態特征信息的前提下,提取害蟲區域;針對圖像中害蟲區域粘連的問題,采用擴展極小值標記分水嶺分割算法,建立圖像的內外部標記,經過多次閾值測試試驗確定深度閾值為14 時,圖像分割效果最佳,以此完成對粘連圖像的分割;對分割后圖像連通區域進行計數,得到害蟲數目。該算法計數的平均準確率為91.8%,相較于直接計數,準確率提升了13.9 個百分點,能夠滿足害蟲蟲情監測需求,為茶園害蟲快速自動計數提供了技術支撐。