林相澤,張俊媛,朱賽華,劉德營
(南京農業大學工學院,南京210031)
水稻是世界三大糧食作物之一,也是中國重要的谷類糧食作物,其種植面積占全國糧食種植面積的30%以上,超過65%的中國人將水稻作為主要口糧[1]。因此,稻田害蟲防治是農業生產發展的重要部分。稻田害蟲少,水稻產量高、品質好;稻田害蟲猖獗,稻米產量少、品質差,對國家糧食安全和農業經濟的穩定發展造成嚴重威脅。
水稻在生長的不同階段都會受到不同程度、不同種類害蟲的侵害,危害中國水稻生長的害蟲主要有稻飛虱、水稻螟蟲、稻苞蟲、稻縱卷葉螟等,其中稻飛虱對水稻的影響尤為嚴重,可使水稻產量最高下降35%[2]。稻飛虱通常以群集方式在稻叢基部刺吸水稻汁液,危害水稻生長,嚴重的還會造成冒穿、黃塘、毀稈、倒伏甚至無產[3]。因此,準確獲取稻飛虱蟲情信息并及時制定合理防治措施是控制稻飛虱爆發、降低蟲害的有效途徑。
為了實現稻飛虱蟲情測報的自動化與高效化,稻飛虱圖像分類成為近幾年的研究熱點。Sarin 等[4]提出了一種基于顏色和灰度共生矩陣(gray-level co-occurrence matrix,GLCM)圖像特征訓練的支持向量機分類算法,可以自動檢測收集圖像中稻飛虱的位置和對稻飛虱的生長階段進行分類,分類精度可達87%;林相澤等[5]提出了一種基于遷移學習和Mask-CNN相結合的稻飛虱圖像分類算法,分類精度可達92.3%;Tsung 等[6]提出了一種感興趣區域(region of interest, ROI)方法來檢測稻飛虱并利用決策樹算法對分析數據進行分類識別,分類精度可達80%;Yue 等[7]探討了一種基于顏色特征和邊緣特征的多特征融合均值偏移方法,分類精度可達80%;雖然以上研究均取得了一定的成果,但是在識別速度與分類精度方面仍需進一步提高。
由于圖像稀疏表示的識別速度快、分類精度高,近年來,圖像稀疏表示技術得到了深入研究,目前已被廣泛用于圖像處理的各個領域[8]。在人工智能行業,稀疏表示已廣泛用于人臉識別與人臉修復[9];在醫學行業,醫學影像去噪、影像增強以及影像序列分析中也離不開稀疏表示[10];在電子產品行業,稀疏表示更是計算機視覺跟蹤中最常用方法之一[11]。但是,在農業工程領域中,基于稀疏表示的圖像分類還處于起步階段。
因此,為了加快稻飛虱圖像分類速度,提高識別精度,本文提出了一種基于K-SVD 和OMP 稀疏表示的稻飛虱圖像分類方法。該方法在圖像識別過程中可自行對信號進行降維,剔除多余噪聲,提高收斂速度,可對稻飛虱蟲害的預防治理提供信息和技術支持。
根據稻飛虱趨光性強的特點,稻飛虱圖像通過團隊自主研發的野外昆蟲圖像采集裝置[12-13]自動采集,裝置結構如圖1所示。

圖1 野外昆蟲圖像采集裝置Fig.1 Field insect image acquisition device
其中,工作臺基座是整個裝置的支撐部分,采用輕便牢固的鋁合金材料制成;采集工作臺由透明亞克力板和白色的確良幕布組成,盡可能保證采集背景干凈,減少拍攝干擾。根據稻飛虱的趨光性,試驗通過高壓汞燈將昆蟲吸引至采集工作臺,使用高清工業相機進行拍攝;由于拍攝環境光線較暗,拍攝裝置前方裝有環形光源,用于增強光照并使光線均勻擴散。X、Y、Z 向三向調節裝置控制相機的移動方向與拍攝距離,控制單元由臺達DVP32EH00T3 型PLC 組成并搭載于X、Z向調節裝置頂端,控制調節裝置的移動速度;相機以每次移動5 cm、停留5 s 的運動狀態在X、Z 向上進行往返運動。
整個試驗過程在無人監督的情況下自動獲取清晰完整的水稻害蟲圖像,圖像以782 像素×576 像素、JPEG 格式存儲于計算機中。
試驗地點:南京農業大學江浦農場(32°01’N ,118°37’E)、白馬國家農業科技園(31°37’N ,119°10’E)。
試驗時間:2015 年8 月至10 月、2016 年6 月至9 月、2017年8月至9月。
試驗環境:溫度20~30 ℃、相對濕度6%~8%。
試驗共采集到1 186 幅昆蟲圖像,通過在不同時間、地點下對稻飛虱圖像進行采集,有效保證了試驗數據的完整性與多樣性。采集到的圖像背景復雜、目標模糊,需要進一步對其進行分割,增強圖像的可檢測性。
本試驗采用OTSU 閾值分割法(又叫大津法)[14]對圖像進行分割,當閾值為148 時,圖像背景與目標的分割效果最佳,經OTSU處理后的圖像如圖2所示。
從圖2 可知,經過OTSU 分割處理后,背景與目標可明確進行區分,根據像素大小的不同,將目標進行提取,最終獲得300 像素×300 像素大小的單一稻田昆蟲圖像,部分結果如圖3所示。

圖2 OTSU分割處理結果Fig.2 OTSU split processing result

圖3 部分數據樣本Fig.3 Partial data sample
試驗中,將白背飛虱、褐飛虱、灰飛虱歸為稻飛虱類,其他水稻害蟲均歸為非稻飛虱類。選取1 100幅單一稻田昆蟲圖像作為試驗數據。
稀疏表示是在給定的過完備字典中用盡可能少的原子來對圖像信號進行線性表示[15]。其實質是在稀疏度不變的情況下,對過完備字典上的信號進行稀疏逼近,有效提取圖像信號內部結構和本質特征,以便于對信號進行進一步壓縮、編碼等處理[16]。其稀疏表達式如下:

圖像的稀疏表示主要分為稀疏編碼和更新字典兩部分。本文采用OMP 算法[17]對輸入信號進行稀疏分解并計算重構誤差,采用K-SVD(K-means singular value decompo-sition)算法[18]對字典進行構造更新。
試驗采用OMP 算法來實現圖像信號稀疏分解。OMP 算法是一種典型的貪婪算法,其基本思想是將正交化的輸入信號作為局部最優解,從過完備字典中選擇與其最匹配的信號進行稀疏逼近并求解殘差,通過反復迭代計算來獲得全局最優解,當達到預設迭代次數N 時停止迭代[19]。具體的算法過程如下:
輸入:過完備字典D,原始信號Y,稀疏度T0;
初始化:殘差r(0)= y,索引集∧(0)= ?,J = 1;
循環執行步驟1)~5):
1)找出殘差r(J-1)與字典D 中某列dj內積最大所對應的下標;
5)如果J >N,迭代結束;否則重復1。
在課程中,教者提出辯題:“今天,武松的精神值得我們學習嗎?”正反兩方各持己見。正方認為武松無所畏懼的精神值得肯定,與其坐以待斃,不如放手一搏!反方覺得武松逞一時之勇不值效仿,醉得一塌糊涂卻險勝老虎,只能說明他運氣好。正方又指出:武松不顧一己之身為民除害,值得稱贊;反方滔滔不絕地列出武松不聽勸告,執意上岡的“罪狀”。雙方唇槍舌劍,針尖對麥芒,學生情緒高漲,現場氣氛熱烈……
對于復雜的高維圖像信號來說,構造合適的過完備字典是圖像進行稀疏表示的關鍵步驟[20]。K-SVD 算法是在K-means[2]算法的基礎上發展起來的一種聚類字典構建算法。K-SVD 算法以誤差最小原則作為基本思想、聚類最大值作為分類中心,使用K 個原子的線性組合來表示圖像信號,通過計算其與原始信號的誤差ε,選擇ε最小項進行SVD 后分解作為字典的新原子,從而達到更新字典的目的[22-23]。其目標方程為

其中T0表示非零稀疏系數上限。
算法具體流程如圖4所示。

圖4 試驗流程圖Fig.4 Experimental flow chart
試驗選取500 幅稻飛虱圖像作為過完備字典數據、200 幅稻飛虱圖像作為原始輸入圖像,再取稻飛虱圖像(rice planthopper,RPH) 和 非 稻 飛 虱 圖 像(non-rice planthopper,nRPH)各200幅,并按照3:1的比例分成測試集和驗證集2 部分。經試驗測試,迭代次數為500 時,分類精度趨于穩定,稻飛虱的重構誤差均低于0.1,而非稻飛虱的重構誤差均在0.1以上,所以試驗設定重構誤差值設為0.1。
字典特征選取文獻[24]中的20 個優化特征,其中包括顏色特征中向量L 的熵、能量與偏度;形態特征中的球狀性、矩形度和Hu不變矩;紋理特征中的能量、逆差矩和熵等,并標記為M1。為了增強試驗結果的可信度,選取文獻[25]和[26]中的20 個特征進行對比驗證,其中包括7組Hu 不變矩和13 組傅里葉描述子,并標記為M2。稻飛虱與非稻飛虱的部分特征參數如表1所示。其中M1類特征分別為熵、能量、偏度、球狀性、矩形度與逆差矩;M2類特征分別為3個傅里葉描述子與3個Hu不變矩。

表1 水稻昆蟲特征參數Table 1 Feature parameters of rice insect
獲得良好的過完備字典,是圖像進行有效分類的關鍵。因此,為了保證試驗的準確性,初始過完備字典數據從樣本集中隨機選取,部分初始字典如圖5所示。

圖5 部分初始字典樣本集Fig.5 Partial initial dictionary sample set
由于初始過完備字典中存在大量背景信息,通過對初始字典進行迭代更新,可有效剔除無關信息,盡量保留用于重構的顯著特征。進行初次迭代時,使用OMP算法對初始字典進行稀疏編碼,計算輸入信號的初始稀疏系數x0。在滿足稀疏度的約束下,使用K-SVD 算法對字典進行逐列更新并重構誤差ε,直至更新完字典的全部原子。當迭代次數滿足設定值時,停止迭代。重構后的部分字典如圖6所示。

圖6 部分重構字典樣本集Fig.6 Partially reconstructed dictionary sample set
如圖6 所示,將初始過完備字典中的圖像按列分割,并提取相應的顯著特征。更新時,不帶有顯著特征的圖像塊將會被帶有顯著特征的圖像塊取代,從而到達字典更新的目的。所以,重構后的字典樣本均是帶有顯著特征的圖像塊。在M1和M2類特征下分別生成過完備字典D1、D2。
選取合適的稀疏度是提高分類速度的關鍵。任意選取M1和M2特征各3 組測試重構誤差隨著稀疏度的變化趨勢,結果如圖7所示。

圖7 重構誤差變化趨勢Fig.7 Reconstruction error trend
從圖7中可以看出,隨著稀疏度T0的增加,重構誤差不斷減小。在T0= 1,...,6 時,ε 隨著T0的增加而快速降低,變化幅度在0.4~0.6 之間;在T0= 6,...,11 時,ε 的變化幅度在0.2~0.3之間,趨勢較為平緩;但在T0=12時,ε的數值陡然下降且均小于0.1;在T0= 12,...,18 時,變化趨勢幾乎趨于平穩,并且在T0=18 時,ε 達到最小并且不再隨著稀疏度的變化而改變。可見,在T0=6、12、18 時,ε 會發生明顯變化。因此,本文選取T0=6、12、18 時對全部試驗數據進行測試。
首先,每次選取1組稻飛虱的M1和M2類特征信號作為原始參考值,然后使用多組稻飛虱特征信號依次進行測試,分別在過完備字典D1、D2下進行稀疏重構,最后,分別在T0=6、12、18 時計算重構誤差。部分計算結果如表2所示。
根據表2 可知,T0=6 時,M1和M2的重構誤差ε 的變化 范 圍 在0.02~0.09 之 間;T0=12 時,ε 的 變 化 范 圍 在0.003~0.02 之間;T0=18 時,ε 的變化范圍在0.002~0.02 之間。隨著稀疏度T0數值的升高,重構誤差ε逐漸減小,但是ε均低于0.1。重構誤差變化趨勢如圖8所示。

表2 不同稀疏度M1和M2類特征的重構誤差Table 2 Reconstruction errors of feature M1and M2 under different sparsity T0

圖8 M1和M2特征的重構誤差變化趨勢Fig.8 Reconstruction error variation trend of feature M1and M2
從圖8 中可以看出,T0=6 時的重構誤差最大,與T0=12、18 時重構誤差平均相差0.037 1;在T0=12 與T0=18時,重構誤差相差很小,幾乎難以區分。圖像越稀疏,分類速度越快,但是重構誤差也最大。即當T0=6 稀疏度最高,分類速度最快,重構誤差最大;T0=18時,稀疏度最低,分類速度最慢,但是重構誤差最小,但是相對于T0=12 時的重構誤差變化甚微。所以,綜合稀疏程度與重構誤差兩方面考慮,當T0=12 時,重構速度與分類效果最好。因此,選取T0=12 作為最優稀疏度并在此稀疏度下測試稻飛虱與非稻飛虱的重構誤差。
3.3.1 數據分類結果
經大量試驗驗證,稻飛虱的重構誤差ε 均在0.1 之下,因此,將ε 的閾值設定為0.1,當ε 小于0.1 時判斷為稻飛虱,否則為非稻飛虱。
當T0=12 時,分別選取M1和M2類特征信號,在字典D1、D2上對稻飛虱與非稻飛虱進行稀疏重構并計算重構誤差,部分試驗結果如表3所示。

表3 稻飛虱與非稻飛虱圖像的重構誤差(T0=12)Table 3 Reconstruction error of rice planthopper and non-rice planthopper image(T0=12)
由表3 可知,當T0=12,在2 種不同的分類特征下,稻飛虱的重構誤差ε約在0.01左右,而非稻飛虱的重構誤差ε均在0.2以上,根據重構誤差對圖像進行明確分類,分類精度分別達到93.3%和94.1%,平均分類精度可達93.7%。
3.3.2 圖像分類結果與分析可視化
為了明顯區分圖片目標與背景,圖像使用imagesc函數將像素矩陣中的元素數值按大小轉化為不同顏色,并顯示在坐標軸的不同位置。在圖像彩色通道下,輸入一幅300 像素×300 像素大小的稻飛虱圖像作為參考,分別提取稻飛虱和非稻飛虱的M1和M2組特征在更新后的過完備字典D1和D2上進行重構,結果如圖9所示。

圖9 M1和M2特征的重構結果Fig.9 Reconstruction result of feature M1and M2
從圖9 中可以看出,稻飛虱重構圖像與原始圖像基本一致,吻合度極高,可獲得良好重構;非稻飛虱重構圖像模糊,難以辨認,對原圖像還原程度低,不可稻飛虱圖像進行稀疏重構。
試驗結果表明,在2 組不同的分類特征下,稻飛虱與非稻飛虱的重構誤差值差別大,重構圖像吻合度區別明顯。因此,本文所提出的方法對采集到稻田昆蟲圖像可進行有效分類。
為了證明本文方法的優越性,將本文方法與SVM、BP 神經網絡方法進行比較。選取M1、M2特征的稻飛虱與非稻飛虱圖像各500幅作為訓練樣本,不重復的400幅稻飛虱圖像和100 幅非稻飛虱圖像按照3:1 的比例分成驗證樣本與測試樣本進行分類實驗,其中,SVM 設置懲罰系數為100,核參數為0.07,BP神經網絡的輸入層神經節點個數為20,輸出節點個數為2,初始權值與偏差均設為0,Sigmoid 參數設為0.5;迭代次數均為500。試驗結果如表4所示。

表4 對比試驗結果Table 4 Comparative test results
根據表4 可知,SVM 的分類精度為65.5%,BP 神經網絡的分類精度為78%。傳統的圖像分類方法分類精度均在80%以下,而本文所提方法的分類精度可達到93.7%。比傳統分類方法的分類精度分別提高15.7 和28.2個百分點。稀疏表示在圖像初步處理時進行閾值分割,并結合稀疏表示的算法復雜程度低、數據處理量少的特點,使處理速度遠大于傳統的分類方法。與BP神經網絡1.0 幀/s(即每1 s 處理1 幀圖像)和SVM 0.5 幀/s(即每2 s處理1幀圖像)的檢測速率相比,稀疏表示檢測速率可達到6幀/s,分類速度分別提高5和5.5幀/s。。
1)結合稻飛虱趨光性強的生物特點,通過使用團隊自主研發的野外昆蟲圖像采集裝置在無人監督的情況下對稻飛虱圖像進行采集,為試驗提供完整的圖像數據集。
2)試驗采用OMP 算法對原始圖像進行稀疏表示,結合K-SVD 算法對字典進行構造更新并計算重構誤差。在稀疏度不同、分類特征不同的情況下,對稻飛虱和非稻飛虱分別進行重構與分類。
3)試驗結果表明,在稀疏度為12時,圖像分類效果最好。與傳統的圖像分類算法SVM、BP神經網絡進行對比,本文提出的方法分類速度到達6.0幀/s,且平均識別精度達到93.7%,可以為稻飛虱的蟲情控制提供信息和技術支持。