林相澤,張俊媛,朱賽華,劉德營
(南京農(nóng)業(yè)大學(xué)工學(xué)院,南京210031)
水稻是世界三大糧食作物之一,也是中國重要的谷類糧食作物,其種植面積占全國糧食種植面積的30%以上,超過65%的中國人將水稻作為主要口糧[1]。因此,稻田害蟲防治是農(nóng)業(yè)生產(chǎn)發(fā)展的重要部分。稻田害蟲少,水稻產(chǎn)量高、品質(zhì)好;稻田害蟲猖獗,稻米產(chǎn)量少、品質(zhì)差,對國家糧食安全和農(nóng)業(yè)經(jīng)濟的穩(wěn)定發(fā)展造成嚴(yán)重威脅。
水稻在生長的不同階段都會受到不同程度、不同種類害蟲的侵害,危害中國水稻生長的害蟲主要有稻飛虱、水稻螟蟲、稻苞蟲、稻縱卷葉螟等,其中稻飛虱對水稻的影響尤為嚴(yán)重,可使水稻產(chǎn)量最高下降35%[2]。稻飛虱通常以群集方式在稻叢基部刺吸水稻汁液,危害水稻生長,嚴(yán)重的還會造成冒穿、黃塘、毀稈、倒伏甚至無產(chǎn)[3]。因此,準(zhǔn)確獲取稻飛虱蟲情信息并及時制定合理防治措施是控制稻飛虱爆發(fā)、降低蟲害的有效途徑。
為了實現(xiàn)稻飛虱蟲情測報的自動化與高效化,稻飛虱圖像分類成為近幾年的研究熱點。Sarin 等[4]提出了一種基于顏色和灰度共生矩陣(gray-level co-occurrence matrix,GLCM)圖像特征訓(xùn)練的支持向量機分類算法,可以自動檢測收集圖像中稻飛虱的位置和對稻飛虱的生長階段進行分類,分類精度可達87%;林相澤等[5]提出了一種基于遷移學(xué)習(xí)和Mask-CNN相結(jié)合的稻飛虱圖像分類算法,分類精度可達92.3%;Tsung 等[6]提出了一種感興趣區(qū)域(region of interest, ROI)方法來檢測稻飛虱并利用決策樹算法對分析數(shù)據(jù)進行分類識別,分類精度可達80%;Yue 等[7]探討了一種基于顏色特征和邊緣特征的多特征融合均值偏移方法,分類精度可達80%;雖然以上研究均取得了一定的成果,但是在識別速度與分類精度方面仍需進一步提高。
由于圖像稀疏表示的識別速度快、分類精度高,近年來,圖像稀疏表示技術(shù)得到了深入研究,目前已被廣泛用于圖像處理的各個領(lǐng)域[8]。在人工智能行業(yè),稀疏表示已廣泛用于人臉識別與人臉修復(fù)[9];在醫(yī)學(xué)行業(yè),醫(yī)學(xué)影像去噪、影像增強以及影像序列分析中也離不開稀疏表示[10];在電子產(chǎn)品行業(yè),稀疏表示更是計算機視覺跟蹤中最常用方法之一[11]。但是,在農(nóng)業(yè)工程領(lǐng)域中,基于稀疏表示的圖像分類還處于起步階段。
因此,為了加快稻飛虱圖像分類速度,提高識別精度,本文提出了一種基于K-SVD 和OMP 稀疏表示的稻飛虱圖像分類方法。該方法在圖像識別過程中可自行對信號進行降維,剔除多余噪聲,提高收斂速度,可對稻飛虱蟲害的預(yù)防治理提供信息和技術(shù)支持。
根據(jù)稻飛虱趨光性強的特點,稻飛虱圖像通過團隊自主研發(fā)的野外昆蟲圖像采集裝置[12-13]自動采集,裝置結(jié)構(gòu)如圖1所示。
圖1 野外昆蟲圖像采集裝置Fig.1 Field insect image acquisition device
其中,工作臺基座是整個裝置的支撐部分,采用輕便牢固的鋁合金材料制成;采集工作臺由透明亞克力板和白色的確良幕布組成,盡可能保證采集背景干凈,減少拍攝干擾。根據(jù)稻飛虱的趨光性,試驗通過高壓汞燈將昆蟲吸引至采集工作臺,使用高清工業(yè)相機進行拍攝;由于拍攝環(huán)境光線較暗,拍攝裝置前方裝有環(huán)形光源,用于增強光照并使光線均勻擴散。X、Y、Z 向三向調(diào)節(jié)裝置控制相機的移動方向與拍攝距離,控制單元由臺達DVP32EH00T3 型PLC 組成并搭載于X、Z向調(diào)節(jié)裝置頂端,控制調(diào)節(jié)裝置的移動速度;相機以每次移動5 cm、停留5 s 的運動狀態(tài)在X、Z 向上進行往返運動。
整個試驗過程在無人監(jiān)督的情況下自動獲取清晰完整的水稻害蟲圖像,圖像以782 像素×576 像素、JPEG 格式存儲于計算機中。
試驗地點:南京農(nóng)業(yè)大學(xué)江浦農(nóng)場(32°01’N ,118°37’E)、白馬國家農(nóng)業(yè)科技園(31°37’N ,119°10’E)。
試驗時間:2015 年8 月至10 月、2016 年6 月至9 月、2017年8月至9月。
試驗環(huán)境:溫度20~30 ℃、相對濕度6%~8%。
試驗共采集到1 186 幅昆蟲圖像,通過在不同時間、地點下對稻飛虱圖像進行采集,有效保證了試驗數(shù)據(jù)的完整性與多樣性。采集到的圖像背景復(fù)雜、目標(biāo)模糊,需要進一步對其進行分割,增強圖像的可檢測性。
本試驗采用OTSU 閾值分割法(又叫大津法)[14]對圖像進行分割,當(dāng)閾值為148 時,圖像背景與目標(biāo)的分割效果最佳,經(jīng)OTSU處理后的圖像如圖2所示。
從圖2 可知,經(jīng)過OTSU 分割處理后,背景與目標(biāo)可明確進行區(qū)分,根據(jù)像素大小的不同,將目標(biāo)進行提取,最終獲得300 像素×300 像素大小的單一稻田昆蟲圖像,部分結(jié)果如圖3所示。
圖2 OTSU分割處理結(jié)果Fig.2 OTSU split processing result
圖3 部分?jǐn)?shù)據(jù)樣本Fig.3 Partial data sample
試驗中,將白背飛虱、褐飛虱、灰飛虱歸為稻飛虱類,其他水稻害蟲均歸為非稻飛虱類。選取1 100幅單一稻田昆蟲圖像作為試驗數(shù)據(jù)。
稀疏表示是在給定的過完備字典中用盡可能少的原子來對圖像信號進行線性表示[15]。其實質(zhì)是在稀疏度不變的情況下,對過完備字典上的信號進行稀疏逼近,有效提取圖像信號內(nèi)部結(jié)構(gòu)和本質(zhì)特征,以便于對信號進行進一步壓縮、編碼等處理[16]。其稀疏表達式如下:
圖像的稀疏表示主要分為稀疏編碼和更新字典兩部分。本文采用OMP 算法[17]對輸入信號進行稀疏分解并計算重構(gòu)誤差,采用K-SVD(K-means singular value decompo-sition)算法[18]對字典進行構(gòu)造更新。
試驗采用OMP 算法來實現(xiàn)圖像信號稀疏分解。OMP 算法是一種典型的貪婪算法,其基本思想是將正交化的輸入信號作為局部最優(yōu)解,從過完備字典中選擇與其最匹配的信號進行稀疏逼近并求解殘差,通過反復(fù)迭代計算來獲得全局最優(yōu)解,當(dāng)達到預(yù)設(shè)迭代次數(shù)N 時停止迭代[19]。具體的算法過程如下:
輸入:過完備字典D,原始信號Y,稀疏度T0;
初始化:殘差r(0)= y,索引集∧(0)= ?,J = 1;
循環(huán)執(zhí)行步驟1)~5):
1)找出殘差r(J-1)與字典D 中某列dj內(nèi)積最大所對應(yīng)的下標(biāo);
5)如果J >N,迭代結(jié)束;否則重復(fù)1。
在課程中,教者提出辯題:“今天,武松的精神值得我們學(xué)習(xí)嗎?”正反兩方各持己見。正方認(rèn)為武松無所畏懼的精神值得肯定,與其坐以待斃,不如放手一搏!反方覺得武松逞一時之勇不值效仿,醉得一塌糊涂卻險勝老虎,只能說明他運氣好。正方又指出:武松不顧一己之身為民除害,值得稱贊;反方滔滔不絕地列出武松不聽勸告,執(zhí)意上岡的“罪狀”。雙方唇槍舌劍,針尖對麥芒,學(xué)生情緒高漲,現(xiàn)場氣氛熱烈……
對于復(fù)雜的高維圖像信號來說,構(gòu)造合適的過完備字典是圖像進行稀疏表示的關(guān)鍵步驟[20]。K-SVD 算法是在K-means[2]算法的基礎(chǔ)上發(fā)展起來的一種聚類字典構(gòu)建算法。K-SVD 算法以誤差最小原則作為基本思想、聚類最大值作為分類中心,使用K 個原子的線性組合來表示圖像信號,通過計算其與原始信號的誤差ε,選擇ε最小項進行SVD 后分解作為字典的新原子,從而達到更新字典的目的[22-23]。其目標(biāo)方程為
其中T0表示非零稀疏系數(shù)上限。
算法具體流程如圖4所示。
圖4 試驗流程圖Fig.4 Experimental flow chart
試驗選取500 幅稻飛虱圖像作為過完備字典數(shù)據(jù)、200 幅稻飛虱圖像作為原始輸入圖像,再取稻飛虱圖像(rice planthopper,RPH) 和 非 稻 飛 虱 圖 像(non-rice planthopper,nRPH)各200幅,并按照3:1的比例分成測試集和驗證集2 部分。經(jīng)試驗測試,迭代次數(shù)為500 時,分類精度趨于穩(wěn)定,稻飛虱的重構(gòu)誤差均低于0.1,而非稻飛虱的重構(gòu)誤差均在0.1以上,所以試驗設(shè)定重構(gòu)誤差值設(shè)為0.1。
字典特征選取文獻[24]中的20 個優(yōu)化特征,其中包括顏色特征中向量L 的熵、能量與偏度;形態(tài)特征中的球狀性、矩形度和Hu不變矩;紋理特征中的能量、逆差矩和熵等,并標(biāo)記為M1。為了增強試驗結(jié)果的可信度,選取文獻[25]和[26]中的20 個特征進行對比驗證,其中包括7組Hu 不變矩和13 組傅里葉描述子,并標(biāo)記為M2。稻飛虱與非稻飛虱的部分特征參數(shù)如表1所示。其中M1類特征分別為熵、能量、偏度、球狀性、矩形度與逆差矩;M2類特征分別為3個傅里葉描述子與3個Hu不變矩。
表1 水稻昆蟲特征參數(shù)Table 1 Feature parameters of rice insect
獲得良好的過完備字典,是圖像進行有效分類的關(guān)鍵。因此,為了保證試驗的準(zhǔn)確性,初始過完備字典數(shù)據(jù)從樣本集中隨機選取,部分初始字典如圖5所示。
圖5 部分初始字典樣本集Fig.5 Partial initial dictionary sample set
由于初始過完備字典中存在大量背景信息,通過對初始字典進行迭代更新,可有效剔除無關(guān)信息,盡量保留用于重構(gòu)的顯著特征。進行初次迭代時,使用OMP算法對初始字典進行稀疏編碼,計算輸入信號的初始稀疏系數(shù)x0。在滿足稀疏度的約束下,使用K-SVD 算法對字典進行逐列更新并重構(gòu)誤差ε,直至更新完字典的全部原子。當(dāng)?shù)螖?shù)滿足設(shè)定值時,停止迭代。重構(gòu)后的部分字典如圖6所示。
圖6 部分重構(gòu)字典樣本集Fig.6 Partially reconstructed dictionary sample set
如圖6 所示,將初始過完備字典中的圖像按列分割,并提取相應(yīng)的顯著特征。更新時,不帶有顯著特征的圖像塊將會被帶有顯著特征的圖像塊取代,從而到達字典更新的目的。所以,重構(gòu)后的字典樣本均是帶有顯著特征的圖像塊。在M1和M2類特征下分別生成過完備字典D1、D2。
選取合適的稀疏度是提高分類速度的關(guān)鍵。任意選取M1和M2特征各3 組測試重構(gòu)誤差隨著稀疏度的變化趨勢,結(jié)果如圖7所示。
圖7 重構(gòu)誤差變化趨勢Fig.7 Reconstruction error trend
從圖7中可以看出,隨著稀疏度T0的增加,重構(gòu)誤差不斷減小。在T0= 1,...,6 時,ε 隨著T0的增加而快速降低,變化幅度在0.4~0.6 之間;在T0= 6,...,11 時,ε 的變化幅度在0.2~0.3之間,趨勢較為平緩;但在T0=12時,ε的數(shù)值陡然下降且均小于0.1;在T0= 12,...,18 時,變化趨勢幾乎趨于平穩(wěn),并且在T0=18 時,ε 達到最小并且不再隨著稀疏度的變化而改變。可見,在T0=6、12、18 時,ε 會發(fā)生明顯變化。因此,本文選取T0=6、12、18 時對全部試驗數(shù)據(jù)進行測試。
首先,每次選取1組稻飛虱的M1和M2類特征信號作為原始參考值,然后使用多組稻飛虱特征信號依次進行測試,分別在過完備字典D1、D2下進行稀疏重構(gòu),最后,分別在T0=6、12、18 時計算重構(gòu)誤差。部分計算結(jié)果如表2所示。
根據(jù)表2 可知,T0=6 時,M1和M2的重構(gòu)誤差ε 的變化 范 圍 在0.02~0.09 之 間;T0=12 時,ε 的 變 化 范 圍 在0.003~0.02 之間;T0=18 時,ε 的變化范圍在0.002~0.02 之間。隨著稀疏度T0數(shù)值的升高,重構(gòu)誤差ε逐漸減小,但是ε均低于0.1。重構(gòu)誤差變化趨勢如圖8所示。
表2 不同稀疏度M1和M2類特征的重構(gòu)誤差Table 2 Reconstruction errors of feature M1and M2 under different sparsity T0
圖8 M1和M2特征的重構(gòu)誤差變化趨勢Fig.8 Reconstruction error variation trend of feature M1and M2
從圖8 中可以看出,T0=6 時的重構(gòu)誤差最大,與T0=12、18 時重構(gòu)誤差平均相差0.037 1;在T0=12 與T0=18時,重構(gòu)誤差相差很小,幾乎難以區(qū)分。圖像越稀疏,分類速度越快,但是重構(gòu)誤差也最大。即當(dāng)T0=6 稀疏度最高,分類速度最快,重構(gòu)誤差最大;T0=18時,稀疏度最低,分類速度最慢,但是重構(gòu)誤差最小,但是相對于T0=12 時的重構(gòu)誤差變化甚微。所以,綜合稀疏程度與重構(gòu)誤差兩方面考慮,當(dāng)T0=12 時,重構(gòu)速度與分類效果最好。因此,選取T0=12 作為最優(yōu)稀疏度并在此稀疏度下測試稻飛虱與非稻飛虱的重構(gòu)誤差。
3.3.1 數(shù)據(jù)分類結(jié)果
經(jīng)大量試驗驗證,稻飛虱的重構(gòu)誤差ε 均在0.1 之下,因此,將ε 的閾值設(shè)定為0.1,當(dāng)ε 小于0.1 時判斷為稻飛虱,否則為非稻飛虱。
當(dāng)T0=12 時,分別選取M1和M2類特征信號,在字典D1、D2上對稻飛虱與非稻飛虱進行稀疏重構(gòu)并計算重構(gòu)誤差,部分試驗結(jié)果如表3所示。
表3 稻飛虱與非稻飛虱圖像的重構(gòu)誤差(T0=12)Table 3 Reconstruction error of rice planthopper and non-rice planthopper image(T0=12)
由表3 可知,當(dāng)T0=12,在2 種不同的分類特征下,稻飛虱的重構(gòu)誤差ε約在0.01左右,而非稻飛虱的重構(gòu)誤差ε均在0.2以上,根據(jù)重構(gòu)誤差對圖像進行明確分類,分類精度分別達到93.3%和94.1%,平均分類精度可達93.7%。
3.3.2 圖像分類結(jié)果與分析可視化
為了明顯區(qū)分圖片目標(biāo)與背景,圖像使用imagesc函數(shù)將像素矩陣中的元素數(shù)值按大小轉(zhuǎn)化為不同顏色,并顯示在坐標(biāo)軸的不同位置。在圖像彩色通道下,輸入一幅300 像素×300 像素大小的稻飛虱圖像作為參考,分別提取稻飛虱和非稻飛虱的M1和M2組特征在更新后的過完備字典D1和D2上進行重構(gòu),結(jié)果如圖9所示。
圖9 M1和M2特征的重構(gòu)結(jié)果Fig.9 Reconstruction result of feature M1and M2
從圖9 中可以看出,稻飛虱重構(gòu)圖像與原始圖像基本一致,吻合度極高,可獲得良好重構(gòu);非稻飛虱重構(gòu)圖像模糊,難以辨認(rèn),對原圖像還原程度低,不可稻飛虱圖像進行稀疏重構(gòu)。
試驗結(jié)果表明,在2 組不同的分類特征下,稻飛虱與非稻飛虱的重構(gòu)誤差值差別大,重構(gòu)圖像吻合度區(qū)別明顯。因此,本文所提出的方法對采集到稻田昆蟲圖像可進行有效分類。
為了證明本文方法的優(yōu)越性,將本文方法與SVM、BP 神經(jīng)網(wǎng)絡(luò)方法進行比較。選取M1、M2特征的稻飛虱與非稻飛虱圖像各500幅作為訓(xùn)練樣本,不重復(fù)的400幅稻飛虱圖像和100 幅非稻飛虱圖像按照3:1 的比例分成驗證樣本與測試樣本進行分類實驗,其中,SVM 設(shè)置懲罰系數(shù)為100,核參數(shù)為0.07,BP神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)節(jié)點個數(shù)為20,輸出節(jié)點個數(shù)為2,初始權(quán)值與偏差均設(shè)為0,Sigmoid 參數(shù)設(shè)為0.5;迭代次數(shù)均為500。試驗結(jié)果如表4所示。
表4 對比試驗結(jié)果Table 4 Comparative test results
根據(jù)表4 可知,SVM 的分類精度為65.5%,BP 神經(jīng)網(wǎng)絡(luò)的分類精度為78%。傳統(tǒng)的圖像分類方法分類精度均在80%以下,而本文所提方法的分類精度可達到93.7%。比傳統(tǒng)分類方法的分類精度分別提高15.7 和28.2個百分點。稀疏表示在圖像初步處理時進行閾值分割,并結(jié)合稀疏表示的算法復(fù)雜程度低、數(shù)據(jù)處理量少的特點,使處理速度遠大于傳統(tǒng)的分類方法。與BP神經(jīng)網(wǎng)絡(luò)1.0 幀/s(即每1 s 處理1 幀圖像)和SVM 0.5 幀/s(即每2 s處理1幀圖像)的檢測速率相比,稀疏表示檢測速率可達到6幀/s,分類速度分別提高5和5.5幀/s。。
1)結(jié)合稻飛虱趨光性強的生物特點,通過使用團隊自主研發(fā)的野外昆蟲圖像采集裝置在無人監(jiān)督的情況下對稻飛虱圖像進行采集,為試驗提供完整的圖像數(shù)據(jù)集。
2)試驗采用OMP 算法對原始圖像進行稀疏表示,結(jié)合K-SVD 算法對字典進行構(gòu)造更新并計算重構(gòu)誤差。在稀疏度不同、分類特征不同的情況下,對稻飛虱和非稻飛虱分別進行重構(gòu)與分類。
3)試驗結(jié)果表明,在稀疏度為12時,圖像分類效果最好。與傳統(tǒng)的圖像分類算法SVM、BP神經(jīng)網(wǎng)絡(luò)進行對比,本文提出的方法分類速度到達6.0幀/s,且平均識別精度達到93.7%,可以為稻飛虱的蟲情控制提供信息和技術(shù)支持。