劉 豹,李 翌,李 峰,鮑 煦
(1.江蘇大學(xué) 計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212001;2.安利(中國(guó))植物研發(fā)中心有限公司,江蘇 無(wú)錫 214000)
農(nóng)產(chǎn)品的產(chǎn)量和質(zhì)量一直以來(lái)備受人們關(guān)注[1-2]。溫室環(huán)境穩(wěn)定且濕潤(rùn),易滋生各種害蟲(chóng),已經(jīng)成為影響溫室農(nóng)作物產(chǎn)量和質(zhì)量的重要因素[3-5]。傳統(tǒng)溫室害蟲(chóng)防治措施主要為使用大量化學(xué)藥物進(jìn)行消殺,對(duì)環(huán)境造成危害的同時(shí)也對(duì)人體健康產(chǎn)生了威脅[6]。隨著計(jì)算機(jī)視覺(jué)和模式識(shí)別技術(shù)的發(fā)展,害蟲(chóng)的科學(xué)防治成為可能。目前,圖像處理技術(shù)與機(jī)器學(xué)習(xí)算法相結(jié)合成為害蟲(chóng)識(shí)別領(lǐng)域新的發(fā)展方向,并逐漸形成圖像預(yù)處理、圖像分割、特征提取以及分類器構(gòu)建等標(biāo)準(zhǔn)處理流程,現(xiàn)有研究已取得了較為豐碩的成果[7-12]。然而,標(biāo)準(zhǔn)處理流程較為復(fù)雜,例如需要對(duì)粘蟲(chóng)板圖像上數(shù)量眾多的害蟲(chóng)進(jìn)行精準(zhǔn)的分割提取、選擇區(qū)分度最高的分類特征等。溫室環(huán)境中采集的粘蟲(chóng)板圖像包含大量噪聲,對(duì)目標(biāo)分割、特征選取以及最終識(shí)別的準(zhǔn)確率有較大影響,導(dǎo)致許多方法害蟲(chóng)識(shí)別率不穩(wěn)定,難以應(yīng)用于實(shí)際生產(chǎn)環(huán)境中。線性支持向量機(jī)作為機(jī)器學(xué)習(xí)領(lǐng)域應(yīng)用廣泛的分類算法[13-16],是針對(duì)小樣本訓(xùn)練數(shù)據(jù)的最佳實(shí)踐,為溫室害蟲(chóng)識(shí)別提供了新的研究方向。
溫室復(fù)雜環(huán)境下拍攝的粘蟲(chóng)板圖像中害蟲(chóng)數(shù)量多且互相之間有粘連,因此本文基于圖像分割算法與線性支持向量機(jī)構(gòu)建一個(gè)溫室害蟲(chóng)智能識(shí)別系統(tǒng)。該系統(tǒng)首先對(duì)粘蟲(chóng)板圖像灰度圖分別進(jìn)行Prewitt 和Canny 邊緣檢測(cè)[17-18],將得到的二值圖融合后再進(jìn)行全局閥值分割,實(shí)現(xiàn)目標(biāo)區(qū)域的精準(zhǔn)分割;然后對(duì)分割區(qū)域進(jìn)行特征提取,選取9 種顏色特征和3 種形態(tài)特征構(gòu)建訓(xùn)練數(shù)據(jù)集[19],完成害蟲(chóng)分類器的訓(xùn)練;最后以溫室實(shí)地采集的粘蟲(chóng)板圖像作為系統(tǒng)輸入,通過(guò)圖像分割方法獲取害蟲(chóng)圖像,根據(jù)害蟲(chóng)圖像特點(diǎn)選取分類特征,訓(xùn)練適用于溫室害蟲(chóng)識(shí)別的分類器模型,進(jìn)行飛虱和薊馬的識(shí)別研究,以期為農(nóng)民、植保人員提供一種簡(jiǎn)潔、易用、準(zhǔn)確的溫室害蟲(chóng)種類識(shí)別、數(shù)量統(tǒng)計(jì)工具,并為溫室害蟲(chóng)防治提供可靠的數(shù)據(jù)支撐。
害蟲(chóng)識(shí)別系統(tǒng)分為圖像處理、害蟲(chóng)識(shí)別和文件管理3個(gè)模塊,具體如圖1 所示。其中,圖像處理模塊主要完成圖像采集的前期處理工作,包括輸入圖像的灰度圖獲取、灰度圖像增強(qiáng)、粘蟲(chóng)板上害蟲(chóng)目標(biāo)區(qū)的分割提取等;害蟲(chóng)識(shí)別模塊的主要功能包括訓(xùn)練數(shù)據(jù)集構(gòu)建、訓(xùn)練模型實(shí)現(xiàn)害蟲(chóng)識(shí)別并對(duì)模型進(jìn)行測(cè)試等;文件管理模塊的主要功能包括粘蟲(chóng)板圖像文件的實(shí)時(shí)上傳與下載、害蟲(chóng)數(shù)量統(tǒng)計(jì)、數(shù)據(jù)庫(kù)交互以及系統(tǒng)的日常操作等,有助于提高系統(tǒng)的可用性。
Fig.1 Function module of pest identification system圖1 害蟲(chóng)識(shí)別系統(tǒng)功能模塊
1.2.1 目標(biāo)分割方法設(shè)計(jì)
不同害蟲(chóng)之間或多或少會(huì)存在一定的特征差異,基于機(jī)器視覺(jué)實(shí)現(xiàn)飛虱和薊馬識(shí)別的關(guān)鍵在于提取出這兩種害蟲(chóng)的分類特征。在溫室環(huán)境中采集的粘蟲(chóng)板圖像存在大量噪聲,害蟲(chóng)區(qū)域多、面積小且目標(biāo)區(qū)域之間存在粘連。如果使用傳統(tǒng)的單一目標(biāo)分割算法[20],難以將粘蟲(chóng)板圖像上所有目標(biāo)區(qū)域精準(zhǔn)分割出來(lái),導(dǎo)致后期識(shí)別準(zhǔn)確率低。因此,本文系統(tǒng)分別對(duì)輸入粘蟲(chóng)板圖像進(jìn)行Prewitt 邊緣檢測(cè)和Canny 邊緣檢測(cè),將得到的兩類二值圖進(jìn)行融合,然后使用全局閥值分割從粘蟲(chóng)板圖像中精準(zhǔn)提取出全部目標(biāo)區(qū)域。
在溫室環(huán)境下采集的害蟲(chóng)粘蟲(chóng)板圖像普遍存在光照不均勻、背景復(fù)雜等問(wèn)題,因此圖像分割方法必須克服復(fù)雜的背景干擾,準(zhǔn)確分割出害蟲(chóng)區(qū)域。為此,本文對(duì)傳統(tǒng)邊緣檢測(cè)方法進(jìn)行改進(jìn),結(jié)合全局閥值分割提出一套新的目標(biāo)分割流程。該系統(tǒng)圖像分割的目的是為分類器的訓(xùn)練提供特征數(shù)據(jù),分割結(jié)果對(duì)后期識(shí)別準(zhǔn)確率有很大影響,因此首先要確保目標(biāo)分割的準(zhǔn)確性,其次需要在粘蟲(chóng)板圖像中快速分割所有害蟲(chóng)區(qū)域。如果對(duì)采集的粘蟲(chóng)板原始高清圖像直接進(jìn)行分割會(huì)大大增加分割算法的計(jì)算量,降低算法效率。經(jīng)過(guò)測(cè)試發(fā)現(xiàn),將像素適當(dāng)降低不影響目標(biāo)分割的準(zhǔn)確率,因此系統(tǒng)將輸入圖像像素統(tǒng)一變換為1 500×2 000,大大提升了單張圖像的處理速度。圖像的害蟲(chóng)區(qū)域分割僅用于構(gòu)建分類器訓(xùn)練、識(shí)別數(shù)據(jù),系統(tǒng)后期可直接調(diào)用訓(xùn)練好的識(shí)別模型。
1.2.2 目標(biāo)分割方法實(shí)現(xiàn)
本文提出的害蟲(chóng)目標(biāo)區(qū)域分割算法具體流程如圖2所示。
Fig.2 Process of target segmentation algorithm for slime insect board image圖2 粘蟲(chóng)板圖像目標(biāo)分割算法流程
現(xiàn)場(chǎng)采集的原始圖像為RGB 顏色空間圖像,將RGB圖像轉(zhuǎn)換為L(zhǎng)AB 顏色空間,得到R分量和L分量灰度圖。采用灰度直方圖均衡化分別對(duì)R分量和L分量灰度圖進(jìn)行圖像增強(qiáng)操作,得到對(duì)比度更高的灰度圖像。計(jì)算公式為:
式中:rk為原圖像灰度級(jí);nk為原圖像灰度級(jí)所占像素的個(gè)數(shù);原圖的像素為M*N,SK為增強(qiáng)后的圖像灰度級(jí)。
對(duì)增強(qiáng)后的L分量灰度圖和R分量灰度圖分別使用Prewitt 邊緣檢測(cè)和Canny 邊緣檢測(cè)完成初步害蟲(chóng)圖像分割。考慮到粘蟲(chóng)板害蟲(chóng)區(qū)域面積小且數(shù)量多,將傳統(tǒng)的邊緣檢測(cè)算子擴(kuò)充為4 個(gè),以增加邊緣檢測(cè)算法的靈敏度,將更多目標(biāo)區(qū)域邊緣點(diǎn)檢測(cè)出來(lái),提升圖像分割的準(zhǔn)確率。具體計(jì)算公式為:
對(duì)兩次邊緣檢測(cè)得到的二值圖進(jìn)行融合操作,避免單次目標(biāo)分割造成的目標(biāo)區(qū)域漏檢,增加了系統(tǒng)面對(duì)不同圖像輸入時(shí)的容錯(cuò)率,至此得到初步分割結(jié)果。對(duì)初步分割結(jié)果二值圖進(jìn)行腐蝕、開(kāi)運(yùn)算等形態(tài)學(xué)處理,優(yōu)化分割結(jié)果。對(duì)優(yōu)化后的二值圖進(jìn)行全局閥值分割,得到最終害蟲(chóng)圖像分割結(jié)果。
1.3.1 數(shù)據(jù)來(lái)源
本文使用的粘蟲(chóng)板圖像數(shù)據(jù)集采集自無(wú)錫安利植物技術(shù)研發(fā)中心的一號(hào)溫室大棚(見(jiàn)圖3),大棚中共9 排農(nóng)作物,每排農(nóng)作物放置5 張粘蟲(chóng)板,放置時(shí)間為1 個(gè)月,一次可采集90 張粘蟲(chóng)板圖像。項(xiàng)目進(jìn)行過(guò)程中共前往采集6次,得到原始高清粘蟲(chóng)板圖像共540張。
Fig.3 Greenhouse圖3 溫室大棚
1.3.2 訓(xùn)練數(shù)據(jù)集構(gòu)建
常用圖像分類特征包括顏色特征、形態(tài)特征、空間特征以及紋理特征[21],通常選取區(qū)分度最高的特征組合構(gòu)建訓(xùn)練數(shù)據(jù)集。研究發(fā)現(xiàn),在飛虱、薊馬的識(shí)別過(guò)程中,對(duì)分類器貢獻(xiàn)率最高的分類特征依次為顏色特征、形態(tài)特征和紋理特征,這也符合直觀感受。觀察圖像分割得到的害蟲(chóng)圖像,飛虱成蟲(chóng)一般呈現(xiàn)白色,且體型較小,而薊馬成蟲(chóng)一般呈現(xiàn)黑色且蟲(chóng)體較長(zhǎng)、體型較大。因此,本文選取9 種顏色特征和3 種形態(tài)特征構(gòu)建訓(xùn)練數(shù)據(jù)集,完成分類器的訓(xùn)練。
顏色特征選取的為害蟲(chóng)圖像RGB 顏色空間、HSV 顏色空間以及LAB 顏色空間各分量灰度圖的一階矩(共9 個(gè)特征參數(shù))。計(jì)算方法為:
式中:ρ為所截取的害蟲(chóng)區(qū)域像素總數(shù);ρi為i點(diǎn)處像素的灰度值。
通過(guò)觀察飛虱和薊馬成蟲(chóng)的形態(tài)區(qū)別,選取目標(biāo)區(qū)域面積、周長(zhǎng)和復(fù)雜程度3 種形態(tài)特征。復(fù)雜程度的計(jì)算公式為C=P*P/4πA,其中P為目標(biāo)區(qū)域的周長(zhǎng),A 為目標(biāo)區(qū)域的面積。至此,系統(tǒng)完成了分類特征提取與訓(xùn)練數(shù)據(jù)構(gòu)建任務(wù)。
1.3.3 分類器模型構(gòu)建
常見(jiàn)分類器包括支持向量機(jī)、決策樹(shù)以及貝葉斯分類器。線性支持向量機(jī)是使用最為廣泛的分類器,其針對(duì)小樣本訓(xùn)練數(shù)據(jù)集有較好的處理能力,且使用相對(duì)簡(jiǎn)單。前期實(shí)驗(yàn)結(jié)果表明,線性支持向量機(jī)分類器對(duì)本文訓(xùn)練數(shù)據(jù)集的識(shí)別效果優(yōu)于上述其他分類器。
線性支持向量機(jī)實(shí)現(xiàn)二分類的關(guān)鍵在于在特征空間中尋找最優(yōu)分類超平面,其數(shù)學(xué)表達(dá)式見(jiàn)式(5)。最優(yōu)分類超平面要滿足距離平面最近的特征數(shù)據(jù)到分類平面的距離最遠(yuǎn)這一限制條件,根據(jù)該條件構(gòu)建二次凸優(yōu)化問(wèn)題的數(shù)學(xué)模型,目標(biāo)函數(shù)見(jiàn)式(6),限制條件見(jiàn)式(7)。
式中:w、b為待求權(quán)重,x為訓(xùn)練特征數(shù)據(jù)。
本文選取6 張粘蟲(chóng)板圖像提取特征數(shù)據(jù)進(jìn)行人工標(biāo)記用于分類器的訓(xùn)練與測(cè)試,標(biāo)記步驟為:
您當(dāng)前已標(biāo)記32只昆蟲(chóng),請(qǐng)標(biāo)記227號(hào)昆蟲(chóng):0
您當(dāng)前已標(biāo)記33只昆蟲(chóng),請(qǐng)標(biāo)記323號(hào)昆蟲(chóng):*
標(biāo)記錯(cuò)誤(僅支持0-9),請(qǐng)重新標(biāo)記!
您當(dāng)前已標(biāo)記33只昆蟲(chóng),請(qǐng)標(biāo)記323號(hào)昆蟲(chóng):1
您當(dāng)前已標(biāo)記34只昆蟲(chóng),請(qǐng)標(biāo)記332號(hào)昆蟲(chóng):0
您當(dāng)前已標(biāo)記35只昆蟲(chóng),請(qǐng)標(biāo)記153號(hào)昆蟲(chóng):0
您當(dāng)前已標(biāo)記36只昆蟲(chóng),請(qǐng)標(biāo)記82號(hào)昆蟲(chóng):q
昆蟲(chóng)標(biāo)簽保存成功==>1-1-1-A.txt
隨機(jī)抽取昆蟲(chóng)特征保存成功==>1-1-1-A.txt
其中3 張粘蟲(chóng)板圖像作為訓(xùn)練數(shù)據(jù)集,另外3 張圖像作為測(cè)試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集中共標(biāo)記害蟲(chóng)1 211 只,其中飛虱587 只,薊馬624 只,兩類害蟲(chóng)數(shù)量大致相當(dāng),保證了訓(xùn)練數(shù)據(jù)的平衡性;測(cè)試數(shù)據(jù)集中共標(biāo)記害蟲(chóng)1 463 只,其中飛虱768只,薊馬695只。
采用梯度下降法進(jìn)行分類器訓(xùn)練,訓(xùn)練好的分類模型在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上均有較好表現(xiàn),準(zhǔn)確率均達(dá)到96%以上,系統(tǒng)輸出結(jié)果為:
蟲(chóng)種識(shí)別模型:Model4April.pkl寫(xiě)入成功!
數(shù)據(jù)縮放器:Model4April_scaler.pkl寫(xiě)入成功!
訓(xùn)練集精度:0.964387
測(cè)試集精度:0.961702
后期系統(tǒng)可直接調(diào)用訓(xùn)練好的識(shí)別模型完成識(shí)別任務(wù),不需要額外的人機(jī)交互。
本文系統(tǒng)中的溫室害蟲(chóng)圖像分割算法使用PyCharm編程實(shí)現(xiàn);基于線性支持向量機(jī)的害蟲(chóng)識(shí)別模型是在Sklearn 機(jī)器學(xué)習(xí)庫(kù)的基礎(chǔ)上使用PyCharm 編程實(shí)現(xiàn);害蟲(chóng)智能識(shí)別系統(tǒng)使用PyCharm 與Python 編程實(shí)現(xiàn)。
將所有輸入圖像大小統(tǒng)一調(diào)整為高1 500 像素,長(zhǎng)2 000 像素。導(dǎo)入圖像后,粘蟲(chóng)板原始圖像存放在相應(yīng)的文件夾內(nèi),系統(tǒng)依次讀取并根據(jù)圖2 流程進(jìn)行圖像處理,根據(jù)式(1)對(duì)導(dǎo)入圖像進(jìn)行灰度圖增強(qiáng),獲得增強(qiáng)后的L分量灰度圖通過(guò)式(2)進(jìn)行邊緣檢測(cè)完成初步目標(biāo)分割,R分量灰度圖使用Canny 邊緣檢測(cè)完成初步目標(biāo)分割。系統(tǒng)對(duì)兩類邊緣檢測(cè)二值圖進(jìn)行融合操作,并按照設(shè)定閥值對(duì)融合圖像進(jìn)行全局閥值分割,最終分割結(jié)果依次保存在相關(guān)文件夾內(nèi)。
使用本文算法對(duì)采集的粘蟲(chóng)板圖像進(jìn)行分割實(shí)驗(yàn),結(jié)果見(jiàn)圖4。可以看出,該算法能有效區(qū)分目標(biāo)區(qū)域與粘蟲(chóng)板背景,而且準(zhǔn)確提取出了薊馬區(qū)域和飛虱區(qū)域。
Fig.4 Results of pest region segmentation圖4 害蟲(chóng)區(qū)域分割結(jié)果
為進(jìn)一步驗(yàn)證系統(tǒng)目標(biāo)分割算法的有效性,選取K 均值聚類分割算法[22]和大津分割算法[23]進(jìn)行比較實(shí)驗(yàn),其中L分量灰度圖使用K 均值聚類分割,R分量灰度圖使用大津分割算法,分割結(jié)果如圖5 所示??梢钥闯?,K 均值聚類算法和大津分割算法面對(duì)復(fù)雜環(huán)境下拍攝的粘蟲(chóng)板圖像時(shí)均無(wú)法準(zhǔn)確、完整地分割出所有害蟲(chóng)區(qū)域,圖像中復(fù)雜的背景噪聲降低了兩種算法分割結(jié)果的準(zhǔn)確性。
Fig.5 Comparison of different segmentation methods圖5 不同分割方法比較
Fig.6 Pest identification and statistics module圖 6 害蟲(chóng)識(shí)別統(tǒng)計(jì)模塊
為了量化比較本文目標(biāo)分割算法與以上兩種比較算法的性能,選取目標(biāo)提取準(zhǔn)確率作為評(píng)價(jià)指標(biāo)。計(jì)算公式為:
式中:EA為目標(biāo)提取準(zhǔn)確率,Ncorrect為正確提取害蟲(chóng)的數(shù)量,N為粘蟲(chóng)板上害蟲(chóng)的實(shí)際數(shù)量。
計(jì)算結(jié)果表明,K 均值聚類、大津分割算法、本文算法的目標(biāo)提取準(zhǔn)確率分別為83.2%、67.6%和96.3%,此結(jié)果為4 張粘蟲(chóng)板圖像目標(biāo)區(qū)域提取準(zhǔn)確率的平均值。分割結(jié)果表明,本文算法可對(duì)復(fù)雜環(huán)境下拍攝的粘蟲(chóng)板圖像實(shí)現(xiàn)精準(zhǔn)目標(biāo)分割,為后續(xù)特征提取、模型訓(xùn)練提供準(zhǔn)確數(shù)據(jù)源。
圖6 為害蟲(chóng)識(shí)別統(tǒng)計(jì)模塊,該模塊可實(shí)現(xiàn)一鍵自動(dòng)化圖片導(dǎo)入、圖像增強(qiáng)、目標(biāo)分割、模型識(shí)別以及數(shù)據(jù)的前端展示。數(shù)據(jù)展示面板顯示了輸入系統(tǒng)的所有粘蟲(chóng)板圖像中每一類害蟲(chóng)的數(shù)量。
構(gòu)建訓(xùn)練數(shù)據(jù)集后,系統(tǒng)采用梯度下降法對(duì)害蟲(chóng)分類器進(jìn)行訓(xùn)練。準(zhǔn)確率和精準(zhǔn)度是評(píng)價(jià)分類器訓(xùn)練效果的重要指標(biāo),其中準(zhǔn)確率為所有預(yù)測(cè)正確的樣本占總樣本的比例,精準(zhǔn)度為少數(shù)類的預(yù)測(cè)準(zhǔn)確率。
本文系統(tǒng)識(shí)別的害蟲(chóng)為飛虱和薊馬,不存在少數(shù)類,因此采用準(zhǔn)確率作為評(píng)價(jià)指標(biāo)。經(jīng)統(tǒng)計(jì),該系統(tǒng)分類器訓(xùn)練集和測(cè)試集的準(zhǔn)確率分別為96.4%和96.1%,訓(xùn)練結(jié)果比較理想。
模型訓(xùn)練完成后,采用測(cè)試數(shù)據(jù)集進(jìn)行測(cè)試。為直觀展示害蟲(chóng)分類器的識(shí)別效果,本文采用混淆矩陣的評(píng)價(jià)方式。由圖7 可知,害蟲(chóng)分類器正確識(shí)別了733 個(gè)飛虱樣本,673 個(gè)薊馬樣本。其中35 個(gè)飛虱樣本被錯(cuò)誤識(shí)別為薊馬,占全部測(cè)試數(shù)據(jù)集1 463 個(gè)樣本的2%;22 個(gè)薊馬樣本被識(shí)別為飛虱,占全部測(cè)試樣本的1.5%。經(jīng)計(jì)算,該系統(tǒng)害蟲(chóng)識(shí)別分類器的準(zhǔn)確率為96.1%,其中飛虱的識(shí)別準(zhǔn)確率為95.4%,薊馬的識(shí)別準(zhǔn)確率為96.8%。從測(cè)試結(jié)果來(lái)看,該系統(tǒng)可準(zhǔn)確區(qū)分粘蟲(chóng)板上的飛虱和薊馬,準(zhǔn)確率符合要求。
Fig.7 Confusion matrix圖7 混淆矩陣
針對(duì)溫室采集的粘蟲(chóng)板圖像中含有燈光反射、不均勻光照等復(fù)雜噪聲的問(wèn)題,本文提出一套新的目標(biāo)分割流程,實(shí)現(xiàn)了圖像目標(biāo)區(qū)域的精準(zhǔn)分割;同時(shí)基于線性支持向量機(jī),以害蟲(chóng)圖像作為輸入,實(shí)現(xiàn)了飛虱和薊馬兩種害蟲(chóng)的準(zhǔn)確識(shí)別。由于受訓(xùn)練數(shù)據(jù)的限制,本文分類識(shí)別的害蟲(chóng)只有飛虱和薊馬,導(dǎo)致應(yīng)用受到很大限制。在后續(xù)研究中可以構(gòu)建其他常見(jiàn)害蟲(chóng)的特征數(shù)據(jù)進(jìn)行模型訓(xùn)練,以進(jìn)一步提升系統(tǒng)的實(shí)用價(jià)值。