陳小幫,左亞堯,王銘鋒,馬 鐸
(1.廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510006;2.西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710032)
早期農(nóng)業(yè)研究中廣泛應(yīng)用了遙感技術(shù),主要基于衛(wèi)星載體和高空平臺的土壤測量或植物電磁輻射,如作物生長[1]、作物土壤[2,3]、作物定位[4]、作物區(qū)繪制[5],等等。為了準(zhǔn)確描述遙感的圖像,通常需要提取各種特征,其中包括線性特征、光譜特征、紋理特征、基于對象的特征等。特別地,高空或衛(wèi)星農(nóng)作物圖像的識別主要集中于圖像的光譜信息,如通過多光譜識別農(nóng)作物[4]、可見光的區(qū)分作物[6]、超光譜的作物害蟲檢測[7]等等。但是,受限于技術(shù)手段,多光譜傳感器成像速度有限,并且在提取遙感圖像的特征信息過程中不夠全面,圖像識別準(zhǔn)確率還存在一定的限制。同時(shí),樣本標(biāo)記的代價(jià)過高,其實(shí)施成本昂貴。因此,高光譜遙感技術(shù)對農(nóng)作物高空或衛(wèi)星圖像處理,其性能還有很大的提升空間。
在深度學(xué)習(xí)[8,9]的熱潮下,圖像識別處理的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)能夠獲取各種結(jié)構(gòu)豐富數(shù)據(jù)的本質(zhì)特征,類似人類系統(tǒng)處理數(shù)據(jù)保留有用結(jié)構(gòu)信息的作用,對農(nóng)業(yè)圖像處理也有極其有效的作用。Sa等利用深度卷積神經(jīng)網(wǎng)絡(luò)對不同水果圖像進(jìn)行測試,為自動農(nóng)業(yè)開發(fā)提供了更為先進(jìn)的物體檢測方式[10];Lottes等利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行區(qū)分農(nóng)作物與雜草莖,驗(yàn)證了該方法的可靠性并提高了莖檢測的準(zhǔn)確性[11];Kamilaris等采用深度學(xué)習(xí)技術(shù)對農(nóng)業(yè)問題進(jìn)行了研究,結(jié)果驗(yàn)證了深度學(xué)習(xí)技術(shù)優(yōu)于常用的圖像處理技術(shù)并可提供更高的精度[12];傅隆生等提出的深度學(xué)習(xí)模型進(jìn)行多簇獼猴桃果實(shí)圖像的識別方法,表明卷積神經(jīng)網(wǎng)絡(luò)在田間果實(shí)識別方面具有良好的應(yīng)用前景[13]。
然而,上述研究存在兩方面的不足。首先,利用衛(wèi)星和載人飛機(jī)兩種手段獲取圖像,存在時(shí)間和空間分辨率相關(guān)的問題,并且數(shù)據(jù)集的獲取過程中受到諸多的因素干擾,存在一定的噪聲。其次,已有研究主要以近距離拍攝的圖像作為輸入,鮮少以高空農(nóng)作物圖像直接作為輸入并結(jié)合深度學(xué)習(xí)來識別農(nóng)作物的工作。
鑒于此,本文運(yùn)用廉價(jià)和便捷的無人機(jī)作為采集手段,利用其高空間、高分辨率的優(yōu)勢,更好、更方便地采集農(nóng)作物圖像。并針對其訓(xùn)練樣本有限的困境,探討如何結(jié)合數(shù)據(jù)增強(qiáng)、農(nóng)作物圖像預(yù)處理等技術(shù),改進(jìn)VGG深度學(xué)習(xí)模型,解決無人機(jī)航拍圖像中的農(nóng)作物識別的問題,實(shí)驗(yàn)驗(yàn)證了方法的有效性。
目前,深度學(xué)習(xí)在圖像識別的方向上取到較好的效果,其主要構(gòu)成是卷積神經(jīng)網(wǎng)絡(luò)。采用卷積核與池化等非線性操作,搭建網(wǎng)絡(luò)模型,可對多媒體數(shù)據(jù)具有很強(qiáng)的識別感知能力。并且,當(dāng)目標(biāo)領(lǐng)域中僅有少量有標(biāo)簽的樣本數(shù)據(jù)甚至沒有時(shí),遷移學(xué)習(xí)能夠通過遷移已有的知識來解決該類問題。
為克服無人機(jī)所拍攝的圖像數(shù)量過少,優(yōu)化參數(shù)預(yù)訓(xùn)練過程,則可選用已訓(xùn)練好權(quán)重的卷積神經(jīng)網(wǎng)絡(luò),再用實(shí)際數(shù)據(jù)集進(jìn)行有監(jiān)督的參數(shù)微調(diào),這正好與遷移學(xué)習(xí)思想一致。因此,本文引入遷移學(xué)習(xí)用于克服目標(biāo)類別訓(xùn)練樣本不足的問題。
遷移學(xué)習(xí)這種機(jī)器學(xué)習(xí)的方法是將一個(gè)預(yù)訓(xùn)練的模型重新用在另一個(gè)任務(wù)中,與域和任務(wù)兩個(gè)概念有關(guān),其定義可參見文獻(xiàn)[14]。在概率論的角度中,可表示為P(Y|X), 因此,任務(wù)可表示為T={Y,P(Y|X)}。
給定一個(gè)源域Ds, 一個(gè)對應(yīng)的源任務(wù)Ts, 還有目標(biāo)域Dt以及目標(biāo)任務(wù)Tt, 在Ds≠Dt, Ts≠Tt的情況下,通過Ds和Ts的信息,學(xué)習(xí)到目標(biāo)域Dt的條件概率分布P(Yt|Xt), 因此有標(biāo)簽的目標(biāo)樣本可遠(yuǎn)遠(yuǎn)少于源樣本。
模型訓(xùn)練需要大量圖像,其采集工作量巨大。而引入遷移學(xué)習(xí),一方面極大地減少訓(xùn)練圖像數(shù)據(jù)集的規(guī)模,減輕無人機(jī)拍攝的工作量,同時(shí)可提高圖像訓(xùn)練速度的問題。Maxime 等[15]在VOC2007和VOC2012上利用遷移學(xué)習(xí)方法訓(xùn)練權(quán)重得到了很好的效果。
CNN是大多數(shù)最先進(jìn)的計(jì)算機(jī)視覺解決方案的核心,適用于各種任務(wù)。它將特征提取和分類兩個(gè)模塊集成一個(gè)系統(tǒng),通過識別圖像的特征來進(jìn)行提取并基于有標(biāo)簽數(shù)據(jù)進(jìn)行分類。隨著時(shí)間的推移,所提出的CNN架構(gòu)的準(zhǔn)確度越來越高。典型的深度CNN主要由卷積層、池化層和全連接層組成,將原始像素級別的特征抽象成表達(dá)能力強(qiáng)的高層特征,提供簡易、高效的特征選取過程。
在此,本文只針對VGG16[16]原模型進(jìn)行介紹。該模型為牛津大學(xué)VGG組提出,通過多次重復(fù)使用同一大小的卷積核來提取更復(fù)雜和更具表達(dá)性的特性,如圖1所示。
圖1 原模型VGG16
其網(wǎng)絡(luò)中含有參數(shù)的有16個(gè)層,采用若干個(gè)卷積層,之后緊跟一個(gè)可以壓縮圖像大小的池化層作為模型的基本框架。其中包含13個(gè)卷積層,有5個(gè)池化層,有3個(gè)全連接層與1個(gè)Softmax層。各部分采用計(jì)算算法如下:
(1)卷積層??商崛D像的不同特征,其尺寸計(jì)算原理如式(1)和式(2)
(1)
(2)
式中:ho、hi為輸出、輸入高度;wo、wi為輸入、輸出寬度;hk、wk為卷積核高度、寬度;p為填充;s為步長;網(wǎng)絡(luò)模型統(tǒng)一采用3×3的卷積核。利用j個(gè)不一樣的卷積核對圖像進(jìn)行卷積,可生成j個(gè)不一樣的特征圖,卷積層計(jì)算公式如式(3)所示
(3)
(2)池化層。主要對輸入進(jìn)行抽樣,聚合統(tǒng)計(jì)卷積層的不同特征,減少特征計(jì)算量,防止過擬合。其操作運(yùn)算原理如式(4)所示
(4)
(3)全連接層。第一個(gè)全連接層FC1有4096個(gè)節(jié)點(diǎn),上一層POOL2是7×7×512=25088個(gè)節(jié)點(diǎn),則該傳輸需要4096×25088個(gè)權(quán)值,所以其內(nèi)存開銷很大。在softmax中,類標(biāo)簽y可取k個(gè)不同的值,對于輸入的x, 設(shè)函數(shù)p(y=j|x;w) 是x屬于類別j的概率值,則計(jì)算公式如式(5)所示
(5)
式中:w為模型參數(shù)。
(4)激活函數(shù)。每個(gè)隱層的激活單元都是ReLU。相比其它激活函數(shù),在線性函數(shù)中,深度網(wǎng)絡(luò)中的ReLU表達(dá)能力更強(qiáng);而在非線性函數(shù)中,ReLU可令模型的收斂速度維持在一個(gè)穩(wěn)定狀態(tài)。利用ReLU能夠在稀疏后的模型中更好地挖掘相關(guān)特征,擬合訓(xùn)練數(shù)據(jù)。其激活函數(shù)定義如式(6)所示
f(x)=max(0,x)
(6)
為了構(gòu)建更適用于高空農(nóng)作物圖像識別的模型,通過對高空農(nóng)作物圖像進(jìn)行特征分析,利用增強(qiáng)前后模型的識別準(zhǔn)確度的變化,分別對3種模型進(jìn)行實(shí)驗(yàn)對比和分析,選取其適合的模型。并在此基礎(chǔ)上對模型進(jìn)行了改進(jìn),以提高模型的識別率。
本文利用無人機(jī)拍攝的農(nóng)作物圖像與以往的圖像識別數(shù)據(jù)有較大的區(qū)別,比如高度和視角不同,會導(dǎo)致所拍攝的圖像大小和形狀也有所差異,對圖像處理帶來一些挑戰(zhàn)。
就拍攝距離而言,農(nóng)作物圖像為高空圖像,與近距離產(chǎn)生的圖像相比,難于利用一般的神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取與識別;另外,近距離的圖像通常為單一類別,而高空的農(nóng)作物圖像包含了多種類別。無人機(jī)拍攝圖像覆蓋面積廣大,包含多種作物,從而增加農(nóng)作物分類識別的困難。
同時(shí),要求所采用的神經(jīng)網(wǎng)絡(luò)能實(shí)現(xiàn)較高的識別率,能夠?qū)μ卣鞑环置髑闆r下的農(nóng)作物識別。比如通過輸出花的數(shù)據(jù)集與無人機(jī)拍攝圖像的特征,對比第一個(gè)卷積層的特征輸出,如圖2所示,可發(fā)現(xiàn),肉眼便可以識別出近距離的雛菊,但難于準(zhǔn)確辨認(rèn)高空拍攝的黃瓜。
圖2 近距離植物與高空植物卷積層特征
為找出更加適合農(nóng)業(yè)圖像識別的模型,對Inception-V3、VGG16和VGG19這3種模型進(jìn)行對比,通過實(shí)驗(yàn)進(jìn)行選優(yōu)。保證客觀性,所有模型的基本參數(shù)都設(shè)置為:學(xué)習(xí)率為0.01;迭代次數(shù)為10 000次;采用花的數(shù)據(jù)[17],其中包含5種花,共3670張圖片,經(jīng)過翻轉(zhuǎn)增加了1倍的數(shù)據(jù)。
通過實(shí)驗(yàn),3種模型在數(shù)據(jù)翻轉(zhuǎn)前后的準(zhǔn)確率見表1。
本文對比3種模型在數(shù)據(jù)翻轉(zhuǎn)后的準(zhǔn)確率。用花的數(shù)據(jù)集翻轉(zhuǎn)后,Inception-V3準(zhǔn)確率反而降低了,另外兩種模型都有所提高。
而反觀VGG16和VGG19兩者之間的準(zhǔn)確率,相差并
表1 3種模型在數(shù)據(jù)翻轉(zhuǎn)前后的平均準(zhǔn)確度
不大,但前者平均精度更高,在訓(xùn)練過程中比后者更快,性能更好,因此本文選取VGG16為基本的模型。
在花的數(shù)據(jù)集上,VGG能得到很好的表達(dá)效果,但是部署在GPU上并非易事,因?yàn)樵摼W(wǎng)絡(luò)模型在內(nèi)存和時(shí)間上的計(jì)算要求比較高。VGG的卷積層通道數(shù)大,且網(wǎng)絡(luò)架構(gòu)weight數(shù)量相當(dāng)大,很消耗磁盤空間,訓(xùn)練非常慢,由于其全連接節(jié)點(diǎn)的數(shù)量較多,再加上網(wǎng)絡(luò)比較深,VGG16有533 MB+,VGG19有574 MB。這使得部署VGG比較耗時(shí)。
為了防止訓(xùn)練數(shù)據(jù)不足而導(dǎo)致過擬合,本文在原模型的第二個(gè)全連接層fc7添加正則化因子,提高圖像的識別率。
此外,考慮到獲取更好的分類結(jié)果,本文采用SVM分類器[18]替換掉原模型VGG16的分類器Softmax。由Vapnik開發(fā)的SVM用于二分類,其目標(biāo)是找到最佳超平面f(w,x)=w·x+b以分隔給定的數(shù)據(jù)集成為兩類。SVM通過優(yōu)化參數(shù)w解決問題
(7)
其中,WTW是L1標(biāo)準(zhǔn)化,C是懲罰因子, y′是實(shí)際標(biāo)簽,b是閾值。
為了優(yōu)化擬合問題,提供更穩(wěn)定的結(jié)果,采用hinge loss函數(shù)
(8)
為驗(yàn)證改進(jìn)模型的效果,本文默認(rèn)正則因子為0.04,采用上文提到的花的數(shù)據(jù)進(jìn)行訓(xùn)練,迭代次數(shù)均設(shè)置為 10 000 次,批處理BatchSize為200,并設(shè)置學(xué)習(xí)速率為0.01。設(shè)置SVM懲罰因子為9個(gè)因子,分別為0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8和0.9,實(shí)驗(yàn)結(jié)果表明,加入正則化后所得到的準(zhǔn)確率幾乎比無正則化的高,其對比結(jié)果如圖3所示。
圖3 模型有無正則化的準(zhǔn)確率對比
原模型VGG16與改進(jìn)后模型對比。兩種模型均用 Imagenet 數(shù)據(jù)集訓(xùn)練好了權(quán)重,再采用花的數(shù)據(jù)進(jìn)行訓(xùn)練與測試,迭代次數(shù)均設(shè)置為10 000次,批處理BatchSize為200,并設(shè)置學(xué)習(xí)速率為0.01。原模型獲得精度為0.885,在不改變正則化因子并均設(shè)置為0.04下,調(diào)整分類器SVM的懲罰因子為0.3時(shí),改進(jìn)后的模型精度為0.8904。因此,改進(jìn)后的模型識別率更高,而且可進(jìn)行因子調(diào)整,從而提高識別率,靈活性更強(qiáng),更適合作為農(nóng)作物圖像識別的模型。
確定好模型之后,研究工作進(jìn)入農(nóng)作物圖像識別的過程。本研究采用Phantom 4 Advanced無人機(jī)拍攝。有效像素為20 MP,鏡頭距離地面為5 m、10 m、15 m、30 m,可清晰拍攝尺寸為5472像素×3078像素的圖像,圖像格式為jpeg,水平分辨率與垂直分別率均為72dpi。
為解決圖像數(shù)據(jù)不足的問題,在進(jìn)行農(nóng)作物圖像識別之前,除了采用遷移學(xué)習(xí)思想,還進(jìn)行了圖像數(shù)據(jù)增強(qiáng)。并且,分析高空農(nóng)作物圖像特點(diǎn),進(jìn)行預(yù)處理以提高圖像識別率。
本文處理平臺為筆記本計(jì)算機(jī),處理器為Inter(R)Core(TM)i5-8250U CPU@1.60 GHz×8,磁盤為109.4GB,運(yùn)行環(huán)境為:Ubuntu18.04.1 64位、python3、pycharm2018.2.1社區(qū)版、tensorflow1.10版本以及可視化工具tensorboard、jupyter,選取的框架為Tensorflow[19]。
為了克服無人機(jī)拍攝的農(nóng)作物圖像數(shù)據(jù)少,遠(yuǎn)遠(yuǎn)不滿足模型訓(xùn)練的特征提取的缺點(diǎn),需利用標(biāo)記好的原始圖片進(jìn)行裁剪,從而增強(qiáng)數(shù)據(jù),以防止圖像數(shù)據(jù)過度擬合。
一般增加訓(xùn)練數(shù)據(jù)可通過圖像滑動、圖像旋轉(zhuǎn)、光學(xué)畸變、漸暈效果、顏色漸變、圖像裁剪等方法,從而使得圖像的魯棒性得到提高。Krizhevsky等[20]曾利用ImageNet進(jìn)行實(shí)驗(yàn)并得到了很好的驗(yàn)證效果。此外,結(jié)合百度的最新研究成果[21],其中的數(shù)據(jù)增強(qiáng)實(shí)現(xiàn)誤差為5.3%,是 ImageNet 上達(dá)到的最好結(jié)果,表2為1張圖進(jìn)行圖像增強(qiáng)后的數(shù)據(jù)量。從表中可知顏色漸變與圖像裁剪方式增加的數(shù)據(jù)量比較大。然而,神經(jīng)網(wǎng)絡(luò)對光源變換、顏色變換比較敏感,圖像在改變光照、變換神經(jīng)網(wǎng)絡(luò)的情況下,目標(biāo)農(nóng)作物將被識別成另外一類。在此,本文主要采用裁剪的方式增加數(shù)量集。一方面可以保證數(shù)據(jù)集的增加,同時(shí)也能減少工作量節(jié)約時(shí)間。
按照VGG模型輸入層的要求,分割圖片為224像素×224像素。由于無人機(jī)高空拍攝的目標(biāo)農(nóng)作物處于中心范圍,在原始5472像素×3078像素的圖片中心上裁剪出2240像素×2240像素的中心圖片,再將中心圖片分割成100張224像素×224像素的圖片并編號為n_1到n_100。
表2 不同增強(qiáng)方式的可能增加數(shù)量
n張?jiān)紙D片有n張中心圖片,可分割成100n張224像素×224像素的圖片,由此可實(shí)現(xiàn)一變多而增加樣本數(shù)量。圖像數(shù)據(jù)增強(qiáng)過程如圖4所示。
盡管通過數(shù)據(jù)增強(qiáng)對數(shù)據(jù)量進(jìn)行擴(kuò)充,但是為了進(jìn)一步補(bǔ)充訓(xùn)練數(shù)據(jù)的有效性,還通過google搜索圖像的方式,獲取無人機(jī)所拍攝的農(nóng)作物類別,人工挑選充實(shí)到圖像訓(xùn)練樣本集合。
為了驗(yàn)證數(shù)據(jù)增強(qiáng)對數(shù)據(jù)訓(xùn)練是否有效,利用改進(jìn)的模型,進(jìn)行數(shù)據(jù)集增強(qiáng)前后的實(shí)驗(yàn)。對花的數(shù)據(jù)集翻轉(zhuǎn)后,其數(shù)據(jù)集比原來的增加了1倍,默認(rèn)正則化因子為0.04,迭代次數(shù)均設(shè)置為10 000次,并設(shè)置學(xué)習(xí)速率為0.01,調(diào)整上文提到的SVM的9個(gè)懲罰因子。實(shí)驗(yàn)結(jié)果表明,翻轉(zhuǎn)后的準(zhǔn)確率在懲罰因子為0.04時(shí)達(dá)到了0.9082,其對比如圖5所示。
圖4 圖像數(shù)據(jù)裁剪增強(qiáng)過程
通過實(shí)驗(yàn)數(shù)據(jù)顯示,利用花的原數(shù)據(jù)進(jìn)行訓(xùn)練的準(zhǔn)確率有較大的波動,翻倍后,準(zhǔn)確率波動相對不大,并且都能在0.8以上,存在最高準(zhǔn)確率,因而,數(shù)據(jù)翻倍后對模型識別準(zhǔn)確度是有效的。
在數(shù)據(jù)預(yù)處理中,通??梢詣h除不相關(guān)的實(shí)例以及噪聲或冗余數(shù)據(jù),如此高質(zhì)量的數(shù)據(jù)將帶來高質(zhì)量的結(jié)果并降低數(shù)據(jù)挖掘的成本。
本文先利用裁剪后的農(nóng)作物圖像進(jìn)行翻轉(zhuǎn)增加1倍數(shù)據(jù)集,生成圖片路徑和標(biāo)簽列表,隨機(jī)打亂數(shù)據(jù)集,防止特定序列對學(xué)習(xí)帶來不利的影響。進(jìn)而設(shè)置隊(duì)列,將圖片分批次載入,這樣在訓(xùn)練時(shí)可從隊(duì)列中獲取一個(gè)batch,傳送至網(wǎng)絡(luò)訓(xùn)練,又有新的圖片進(jìn)入隊(duì)列,循環(huán)反復(fù)。如此,隊(duì)列能起到訓(xùn)練數(shù)據(jù)到網(wǎng)絡(luò)模型間的數(shù)據(jù)管道的作用,減少一時(shí)過多地占用內(nèi)存。在讀取到圖片后,則進(jìn)行圖像格式解碼,防止不同類型的圖像混在一起,這里圖像統(tǒng)一用jpeg。
此外,無人機(jī)拍攝的為農(nóng)作物彩色圖像,而識別的彩色圖像所包含的信息量較大,受光源變換以及顏色變換等比較敏感,也會增加數(shù)據(jù)訓(xùn)練的成本,本文對圖像特征進(jìn)行歸一化,將像素值縮放到[0,1],并進(jìn)行白化從而獲取好的特征。為了提高數(shù)據(jù)的準(zhǔn)確率,對農(nóng)作物數(shù)據(jù)集進(jìn)行了灰度處理,分別保存為無灰度和灰度的兩種數(shù)據(jù)集,并利用改進(jìn)的模型進(jìn)行了實(shí)驗(yàn)。實(shí)際數(shù)據(jù)集為9類農(nóng)作物,訓(xùn)練數(shù)據(jù)、測試集與驗(yàn)證集按8∶1∶1比例,所設(shè)置迭代次數(shù)均為10 000次,學(xué)習(xí)速率為0.001,正則化因子為0.04,通過調(diào)整上文提到的分類器SVM的9個(gè)懲罰因子,最后得到數(shù)據(jù)集有無灰度化的準(zhǔn)確率,如圖6所示。
圖6 有無灰度化的準(zhǔn)確率
實(shí)驗(yàn)數(shù)據(jù)顯示,當(dāng)SVM懲罰因子為0.8時(shí),兩種數(shù)據(jù)集分別取得最高的準(zhǔn)確率0.9680與0.9817。并且,經(jīng)過灰度化的農(nóng)作物數(shù)據(jù)集普遍比無灰度化的數(shù)據(jù)集的準(zhǔn)確率高,由此易看出,經(jīng)過灰度處理,更有利于提取高空農(nóng)作物圖像的特征,提高圖像識別準(zhǔn)確率。
為克服數(shù)據(jù)集不足的缺點(diǎn),結(jié)合遷移學(xué)習(xí)的思想,利用Imagenet數(shù)據(jù)集為VGG16模型提供最優(yōu)的初始權(quán)值,再通過預(yù)處理后的農(nóng)作物圖像對上文改進(jìn)的模型結(jié)構(gòu)進(jìn)行微調(diào)。實(shí)際高空農(nóng)作物圖像數(shù)據(jù)集為9類農(nóng)作物,訓(xùn)練數(shù)據(jù)、測試集與驗(yàn)證集按8∶1∶1比例,實(shí)驗(yàn)設(shè)置迭代次數(shù)均為10 000次,學(xué)習(xí)速率為0.001。通過TensorBoard獲取測試集的準(zhǔn)確率與損失函數(shù)圖,其變化如圖7所示。
圖7 準(zhǔn)確率與損失度
結(jié)果顯示,在迭代次數(shù)不斷增加情況下,測試集的分類誤差逐漸降低,隨著訓(xùn)練迭代到4000次時(shí),準(zhǔn)確率便趨于穩(wěn)定,且后面驗(yàn)證集和訓(xùn)練集間的誤差值相差不大,由此可得模型具有良好狀況。4000次迭代后,訓(xùn)練損失值基本上收斂穩(wěn)定,說明網(wǎng)絡(luò)模型訓(xùn)練已達(dá)到了預(yù)期的效果。
首先,結(jié)合遷移學(xué)習(xí)的思想,采用Imagenet訓(xùn)練好權(quán)重的VGG16模型實(shí)現(xiàn)農(nóng)作物圖像的識別。Imagenet數(shù)據(jù)集包含1000類的自然場景圖像,圖像總量大于100萬,與識別目標(biāo)農(nóng)作物圖像具有相似性,利用它進(jìn)行大規(guī)模網(wǎng)絡(luò)訓(xùn)練是比較合適的。在給定的Imagenet數(shù)據(jù)集為一個(gè)源域Ds和識別出該數(shù)據(jù)集圖像為學(xué)習(xí)任務(wù)Ts, 無人機(jī)拍攝的圖像作為目標(biāo)域Dt和識別出農(nóng)作物為目標(biāo)學(xué)習(xí)任務(wù)Tt。 通過利用Ds和Ts中的知識,遷移學(xué)習(xí)便能實(shí)現(xiàn)目標(biāo)預(yù)測函數(shù)f(*) 在Dt中性能的提高。其過程如圖8所示。
圖8 遷移學(xué)習(xí)過程
在實(shí)際的農(nóng)作物圖像數(shù)據(jù)集中,包含兩種輸入,一種是模型微調(diào)時(shí)已標(biāo)記農(nóng)作物圖像的輸入,另一種為待識別農(nóng)作物圖像的輸入,每種數(shù)據(jù)集均需要進(jìn)行灰度化、去均值等預(yù)處理,使圖像符合網(wǎng)絡(luò)訓(xùn)練的要求。
其次,對訓(xùn)練好權(quán)重的VGG16模型進(jìn)行改進(jìn)。在其第二個(gè)全連接層添加正則化因子,并將分類器softmax改為SVM分類器,實(shí)現(xiàn)模型優(yōu)化,防止過擬合。
接著,利用已標(biāo)記農(nóng)作物圖像對改進(jìn)的模型進(jìn)行微調(diào),合理丟棄數(shù)據(jù),防止過擬合,計(jì)算識別結(jié)果和標(biāo)記的差異,調(diào)整參數(shù),以此達(dá)到較高的識別準(zhǔn)確率。
最后,保存微調(diào)后的參數(shù),輸入待識別農(nóng)作物圖像,通過SVM分類器顯示識別結(jié)果。
完整的農(nóng)作物圖像識別算法如圖9所示。
圖9 農(nóng)作物圖像識別算法
隨機(jī)選取一張無人機(jī)高空拍攝的農(nóng)作物圖像,預(yù)處理后,輸入到上文微調(diào)好的模型中進(jìn)行圖像識別,所得結(jié)果如圖10所示。該結(jié)果為最后全連接層的特征分類,顯示玉
圖10 隨機(jī)測試識別結(jié)果
米所占的特征概率比較大,與實(shí)際相符。然而,特征概率值并不高,說明高空圖像識別的特征提取還有待完善。
本文通過遷移學(xué)習(xí)和數(shù)據(jù)增強(qiáng)方式有效地解決了無人機(jī)拍攝的目標(biāo)圖像數(shù)據(jù)集少造成的不足。分析高空拍攝農(nóng)作物圖像的特點(diǎn),對輸入圖像進(jìn)行預(yù)處理并改進(jìn)傳統(tǒng)模型,提高模型的精確度與農(nóng)作物的識別率。然而,高空圖像的特征提取還不夠完善,所取得的結(jié)果還有待提高,是本文接下來的工作。能將深度學(xué)習(xí)與農(nóng)業(yè)相結(jié)合、農(nóng)業(yè)與無人機(jī)結(jié)合、深度學(xué)習(xí)與無人機(jī)結(jié)合,對促進(jìn)傳統(tǒng)農(nóng)業(yè)向現(xiàn)代農(nóng)業(yè)的發(fā)展,具有很高的研究價(jià)值與應(yīng)用前景。