付豪,趙學(xué)觀,翟長(zhǎng)遠(yuǎn),鄭康,鄭申玉,王秀
(1. 廣西大學(xué)機(jī)械工程學(xué)院,南寧市,530004; 2. 北京市農(nóng)林科學(xué)院智能裝備技術(shù)研究中心,北京市,100097)
隨著人口的增長(zhǎng),糧食需求量越來(lái)越大,但糧食的生產(chǎn)卻面臨巨大挑戰(zhàn),作為影響糧食質(zhì)量和產(chǎn)量的生物因素之一,雜草和作物生長(zhǎng)于同一空間,與作物爭(zhēng)奪生長(zhǎng)空間、陽(yáng)光、養(yǎng)分,同時(shí)大田中的雜草也會(huì)為害蟲提供生長(zhǎng)繁殖的環(huán)境[1],增加了殺滅害蟲的難度。
目前清除雜草的方式主要有4種:預(yù)防除草,通過消除田間雜草種子以及優(yōu)化耕作模式,減少雜草生長(zhǎng);生物除草,在田間引入雜草天敵;化學(xué)除草,通過噴施化學(xué)藥劑除草;機(jī)械除草,采用割除或翻耕覆蓋的方式清除雜草[2]。上述除草方式作用對(duì)象是大田整體區(qū)域,當(dāng)對(duì)無(wú)雜草區(qū)域進(jìn)行操作時(shí),浪費(fèi)勞動(dòng)力和增加生產(chǎn)成本,對(duì)靶除草技術(shù)只針對(duì)雜草生長(zhǎng)區(qū)域進(jìn)行工作,能有效減少雜草清除過程中無(wú)雜草區(qū)域?qū)趧?dòng)量和生產(chǎn)成本的浪費(fèi)。
對(duì)靶除草已經(jīng)成為精準(zhǔn)農(nóng)業(yè)領(lǐng)域中的研究熱點(diǎn)[3]。對(duì)靶除草技術(shù)主要包括雜草識(shí)別與雜草清除兩個(gè)過程,其中雜草識(shí)別是進(jìn)行對(duì)靶除草的首要任務(wù),傳統(tǒng)的雜草識(shí)別方法根據(jù)雜草的顏色特征、形狀特征、紋理特征、空間特征等對(duì)雜草進(jìn)行識(shí)別[4],但作物與雜草具有一定的相識(shí)性,這導(dǎo)致傳統(tǒng)的雜草識(shí)別方法精度較低。近年來(lái)深度學(xué)習(xí)方法被廣泛應(yīng)用于田間雜草識(shí)別,深度學(xué)習(xí)通過數(shù)據(jù)輸入,自動(dòng)提取雜草特征,識(shí)別出目標(biāo)雜草,識(shí)別精度遠(yuǎn)高于傳統(tǒng)的雜草識(shí)別方法?;谏疃葘W(xué)習(xí)的雜草識(shí)別方法已經(jīng)取得較多研究成果,但其在技術(shù)層面上仍然存在兩大難題:(1)田間環(huán)境復(fù)雜,深度學(xué)習(xí)對(duì)樣本的數(shù)量具有較大的依賴性。(2)深度學(xué)習(xí)計(jì)算量大,雜草實(shí)時(shí)識(shí)別對(duì)硬件要求較高。本文通過綜述深度學(xué)習(xí)硬件和軟件實(shí)現(xiàn)以及深度學(xué)習(xí)在雜草識(shí)別中的應(yīng)用,分析存在的問題,并對(duì)未來(lái)的研究方向進(jìn)行展望。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,其本質(zhì)是通過非線性映射進(jìn)行特征提取學(xué)習(xí)的一個(gè)過程,采用大量數(shù)據(jù)信息訓(xùn)練模型,得到有利于分類的特征提取參數(shù),通過多層非線性映射堆疊,將低級(jí)特征抽象組合成高級(jí)特征,把目標(biāo)抽象化表達(dá),進(jìn)而對(duì)目標(biāo)進(jìn)行分類[5-7]。深度學(xué)習(xí)相較于傳統(tǒng)的機(jī)器學(xué)習(xí),最大的優(yōu)勢(shì)在于自動(dòng)提取特征[8],有足夠的數(shù)據(jù)去訓(xùn)練模型,深度學(xué)習(xí)能夠更好地解決較復(fù)雜的問題[6]。在雜草識(shí)別時(shí)大量采用深度學(xué)習(xí)的方法,深度學(xué)習(xí)實(shí)現(xiàn)流程如圖1所示。
圖1 深度學(xué)習(xí)實(shí)現(xiàn)流程圖
主要包括數(shù)據(jù)采集以及數(shù)據(jù)集制作、模型的搭建、模型訓(xùn)練、模型評(píng)估和模型部署,這其中涉及到深度學(xué)習(xí)方法的硬件以及軟件實(shí)現(xiàn),以下對(duì)整個(gè)過程進(jìn)行詳細(xì)敘述。
深度學(xué)習(xí)需要處理大量的數(shù)據(jù),對(duì)硬件算力要求較高,在模型推理階段,需要將訓(xùn)練好的模型移植到嵌入式設(shè)備上運(yùn)行,這給嵌入式設(shè)備的計(jì)算能力以及功耗提出了巨大的挑戰(zhàn)[9]。硬件的性能直接影響深度學(xué)習(xí)模型識(shí)別效果,選擇合適的硬件能使基于深度學(xué)習(xí)的雜草識(shí)別達(dá)到更理想的效果。目前常用的深度學(xué)習(xí)硬件有CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate ARRAY)、ASIC(Application Specific Integrated Circuit)[10]。不同類型的硬件各有其優(yōu)缺點(diǎn),以下對(duì)4種類型硬件的優(yōu)缺點(diǎn)以及適用范圍進(jìn)行綜述。
CPU是最為常見的芯片,主要由計(jì)算單元、控制單元和存儲(chǔ)單元組成,遵循馮諾依曼架構(gòu),其中控制單元和存儲(chǔ)單元占了大量的空間,相比之下計(jì)算單元部分較少,這導(dǎo)致CPU處理大量數(shù)據(jù)的計(jì)算能力不強(qiáng)。但是現(xiàn)在主流的CPU主頻較高,在小規(guī)模數(shù)據(jù)計(jì)算方面要優(yōu)于GPU,相較于GPU,CPU不適合用于較為復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練階段,可以用于一些參數(shù)較少模型的推理階段。
GPU是專為圖像處理而設(shè)計(jì)的處理器,與CPU不同,其架構(gòu)由大量運(yùn)算單元組成,適合并行運(yùn)算,與包含大量加法、乘法并行運(yùn)算的深度學(xué)習(xí)模型相匹配,同時(shí)GPU有較大的內(nèi)存,能存儲(chǔ)深度學(xué)習(xí)模型大量的參數(shù),GPU成為目前深度學(xué)習(xí)領(lǐng)域應(yīng)用最廣泛的硬件[11]。王璨等[12]使用CPU運(yùn)行雜草識(shí)別模型識(shí)別玉米雜草,單張圖片平均耗時(shí)1.68 s,使用GPU硬件運(yùn)行后,單張圖片識(shí)別速度縮短為0.72 s。彭明霞等[13]采用深度學(xué)習(xí)方法識(shí)別棉田雜草,模型在CPU上運(yùn)行時(shí),單張圖片平均耗時(shí)1.51 s,采用GPU加速后,單張圖片平均耗時(shí)縮短到0.09 s。姜紅花等[14]采用NVIDIA GTX 1080Ti GPU代替CPU進(jìn)行運(yùn)算,單幅圖像平均耗時(shí)0.44 s。劉慶飛等[15]在GPU上運(yùn)行深度學(xué)習(xí)模型對(duì)雜草及作物進(jìn)行識(shí)別,對(duì)3通道圖像識(shí)別速度達(dá)到20 fps。深度學(xué)習(xí)模型在GPU上運(yùn)行速度遠(yuǎn)遠(yuǎn)高于CPU,但GPU功耗較大,這使其在小型移動(dòng)式設(shè)備上部署存在較大的限制,更適用于深度學(xué)習(xí)模型訓(xùn)練階段。但隨著NVIDIA公司推出了NVIDIA Jetson系列基于GPU的嵌入式系統(tǒng),該系統(tǒng)具有體積小、算力強(qiáng)、兼容眾多深度學(xué)習(xí)框架的特點(diǎn),使得GPU在小型移動(dòng)式設(shè)備上完成深度學(xué)習(xí)的推理階段成為了可能。
FPGA又叫做現(xiàn)場(chǎng)可編程門陣列,是一種半定制電路,用戶可根據(jù)任務(wù)要求進(jìn)行編程達(dá)到想要的邏輯操作[16],與CPU、GPU相比,具有性能高、功耗低、可硬件編程的特點(diǎn)。但為了保證編程的靈活性,電路設(shè)計(jì)上有大量冗余,導(dǎo)致工作頻率不高,同時(shí)FPGA的編程需要編程人員對(duì)硬件知識(shí)有一定的掌握,這提高了FPGA的使用門檻。
ASIC是針對(duì)某一類深度學(xué)習(xí)任務(wù)定制的硬件,其針對(duì)特定任務(wù)性能較好,能耗較低,但是與FPGA相比,ASIC硬件制作完成后不能更改,這導(dǎo)致使用靈活性較差,同時(shí)硬件的設(shè)計(jì)、制作需要花費(fèi)較長(zhǎng)的周期,導(dǎo)致成本較高。目前針對(duì)深度學(xué)習(xí)而設(shè)計(jì)的專用ASIC芯片較多,例如NVIDIA公司推出的NVIDIA Tesla P100顯卡,其性能是同期NVIDIA公司推出的GPU顯卡性能的12倍。谷歌公司針對(duì)張量計(jì)算設(shè)計(jì)了TPU芯片,2016年中國(guó)科學(xué)院計(jì)算機(jī)研究所發(fā)布了名為寒武紀(jì)的全球首個(gè)支持深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)處理芯片。
綜上所述,不同的硬件有各自的優(yōu)缺點(diǎn)[17],如表1所示,CPU與GPU相比性能較差,不適合用于模型的訓(xùn)練;GPU性能好,但是功耗高,體積大,適用于模型的訓(xùn)練階段,但在小型移動(dòng)設(shè)備上完成模型推理階段具有一定挑戰(zhàn);FPGA性能好,能耗低,但其編程較難,入門門檻高;ASCI性能好,但成本高。
表1 深度學(xué)習(xí)硬件開發(fā)情況對(duì)比Tab. 1 Comparison of deep learning hardware development
深度學(xué)習(xí)軟件實(shí)現(xiàn)主要包括以下過程,圖像采集、數(shù)據(jù)集制作、深度學(xué)習(xí)框架選擇、搭建深度學(xué)習(xí)模型、模型訓(xùn)練、模型評(píng)估以及模型部署。
1.2.1 圖像采集及數(shù)據(jù)集制作
深度學(xué)習(xí)模型需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,從而提高模型的識(shí)別準(zhǔn)確率。在雜草識(shí)別中大量的雜草及作物圖片數(shù)據(jù)可通過不同的設(shè)備進(jìn)行采集,采集后可使用labelme、labelimg等標(biāo)注工具對(duì)采集圖片進(jìn)行標(biāo)注,并將數(shù)據(jù)集按照一定比例分為訓(xùn)練集、測(cè)試集、驗(yàn)證集,用于模型的訓(xùn)練、性能評(píng)估和參數(shù)優(yōu)化。
在圖片數(shù)據(jù)的采集過程中工業(yè)相機(jī)、手機(jī)等是較為常用的圖像采集設(shè)備,工業(yè)像機(jī)、手機(jī)一般手持或者被固定安裝于移動(dòng)裝置上,并與目標(biāo)作物以及雜草保持一定的距離進(jìn)行拍攝。如Olsen等[18]采用手持高清攝像機(jī)在不同光照條件下采集了17 509張雜草及作物圖片。Suh等[19]將攝像頭安裝于1 m高的移動(dòng)平臺(tái)上,相機(jī)光軸垂直地面,移動(dòng)平臺(tái)以0.5 m/s的速度運(yùn)行,拍攝大豆與雜草圖像。劉亞田[20]使用手機(jī)對(duì)不同生長(zhǎng)時(shí)期的玉米進(jìn)行拍攝,共采集1 600張玉米雜草圖片。
無(wú)人機(jī)也常被用于圖像數(shù)據(jù)采集,張茹飛[21]使用大疆無(wú)人機(jī)并設(shè)置飛行高度為2 m,采集小麥以及雜草圖像。Alessandro等[22]使用無(wú)人機(jī)采集大面積的大豆圖像,該圖像可用于制作雜草地圖。
除了在研究時(shí)通過電子設(shè)備采集圖像并制作數(shù)據(jù)集,也可使用網(wǎng)上公開數(shù)據(jù)集獲取數(shù)據(jù)進(jìn)行研究。Sudars等[23]公開了一個(gè)由6種作物和8種雜草共1 118 張RGB圖片組成的數(shù)據(jù)集。Olsen等[18]制作了一個(gè)澳大利亞北部地區(qū)8種主要雜草數(shù)據(jù)集,該數(shù)據(jù)集總共包含17 509張圖片。其他一些網(wǎng)上公開數(shù)據(jù)集有Plant Village、Plant Seedlings Clasification[6]等。
1.2.2 深度學(xué)習(xí)框架
深度學(xué)習(xí)模型需要在深度學(xué)習(xí)框架上訓(xùn)練,常用的深度學(xué)習(xí)框架及其接口語(yǔ)言如表2所示。
表2 常用深度學(xué)習(xí)框架Tab. 2 Common deep learning frameworks
其中較為常用的框架為Tensorflow和Pytorch等,Tensorflow是Goolge于2015年發(fā)布的深度學(xué)習(xí)框架,使用的接口語(yǔ)言為C++/Python/Java等,可使用語(yǔ)言種類較多,同時(shí)其可以部署于一個(gè)或多個(gè)CPU、GPU服務(wù)器中;Pytorch是Facebook于2017年發(fā)布的深度學(xué)習(xí)框架,其優(yōu)點(diǎn)在于能實(shí)現(xiàn)強(qiáng)大的GPU加速,還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。目前Pytorch更多應(yīng)用于學(xué)術(shù)研究,而Tensorflow多應(yīng)用于工業(yè)生產(chǎn)。
1.2.3 深度學(xué)習(xí)模型
以常用于圖像分類識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)為例對(duì)深度學(xué)習(xí)模型進(jìn)行說(shuō)明。CNN是由輸入層、卷積層、池化層、全連接層以及輸出層組成的一類前饋神經(jīng)網(wǎng)絡(luò)[24],如圖2所示。輸入層是整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的輸入,在圖像分類任務(wù)當(dāng)中,輸入層輸入的是圖像的像素矩陣;卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心部分,其作用是利用卷積核檢測(cè)輸入的圖片或特征圖中不同位置的局部特征,并輸出到下一層[25],卷積層的計(jì)算過程如圖3所示,卷積核掃描輸入的像素矩陣,對(duì)應(yīng)位置的數(shù)值相乘,其和作為下一層特征圖的一個(gè)像素值,卷積核掃描完一張圖片后,即可得到一張對(duì)應(yīng)的特征圖,該特征圖作為池化層的輸入;池化層計(jì)算過程如圖4所示,采用一個(gè)選擇框,框選特征圖元素,并對(duì)其進(jìn)行計(jì)算(取框內(nèi)數(shù)據(jù)均值或者最大值),得到的結(jié)果作為下一層特征圖的像素值;全連接層主要是將提取到的特征圖轉(zhuǎn)換成列向量并映射到對(duì)應(yīng)的樣本空間[26];輸出層即輸出圖像分類結(jié)果。
圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
圖3 卷積運(yùn)算示意圖
圖4 池化運(yùn)算示意圖
目前已經(jīng)出現(xiàn)了較多成功的深度學(xué)習(xí)模型,例如VGG Net[27]、Google Net[28]、ResNet[29]等,現(xiàn)階段用于雜草識(shí)別的深度學(xué)習(xí)模型,大部分是在已有模型的基礎(chǔ)上進(jìn)行優(yōu)化設(shè)計(jì)。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型就是求取模型中各個(gè)參數(shù)最優(yōu)值,是一個(gè)監(jiān)督學(xué)習(xí)的過程。在深度學(xué)習(xí)模型訓(xùn)練階段,需要設(shè)置損失函數(shù)和優(yōu)化器,損失函數(shù)用于計(jì)算經(jīng)過一次訓(xùn)練后,模型輸出的預(yù)測(cè)值與真實(shí)值的偏差,優(yōu)化器的作用是進(jìn)行反向傳播運(yùn)算,改變神經(jīng)網(wǎng)絡(luò)參數(shù),使損失函數(shù)的值下降,最后收斂。當(dāng)損失函數(shù)收斂后,此時(shí)模型的參數(shù)較優(yōu)。在訓(xùn)練時(shí)神經(jīng)網(wǎng)絡(luò)模型的各參數(shù)的初始值可以設(shè)置為隨機(jī)值,也可以用遷移學(xué)習(xí)的方法設(shè)置初始值,即使用已訓(xùn)練好的模型參數(shù)值為所訓(xùn)練模型的參數(shù)值初始值。該方法可以減少模型訓(xùn)練的時(shí)間,同時(shí)能緩解樣本數(shù)據(jù)少導(dǎo)致訓(xùn)練出的模型精度不高的問題。Abdalla等[30]使用遷移學(xué)習(xí)的方法,用IMGNET數(shù)據(jù)集訓(xùn)練的VGG16模型參數(shù)作為雜草識(shí)別模型參數(shù)的初始值,迭代25次后,損失函數(shù)收斂,而采用參數(shù)隨機(jī)初始化的方法,迭代50次后,損失函數(shù)收斂。同時(shí)在小規(guī)模數(shù)據(jù)集上采用遷移學(xué)習(xí)的方式進(jìn)行訓(xùn)練,可以得到較好的訓(xùn)練結(jié)果,鄧向武等基于深度學(xué)習(xí)和遷移學(xué)習(xí)相結(jié)合的方法,使用650張圖片訓(xùn)練了稻田雜草識(shí)別模型,該模型在測(cè)試集上的準(zhǔn)確率達(dá)到了96.4%。
1.2.4 模型評(píng)價(jià)指標(biāo)
根據(jù)不同的雜草識(shí)別任務(wù)目標(biāo),深度學(xué)習(xí)模型有不同的性能評(píng)價(jià)指標(biāo),對(duì)于分類任務(wù),常用的模型評(píng)價(jià)指標(biāo)有準(zhǔn)確率(Accuracy)、精準(zhǔn)率(Precision)和召回率(Recall)。準(zhǔn)確率表示所有樣本都正確分類的概率,既包括正樣本也包括負(fù)樣本,樣本較多時(shí)準(zhǔn)確率不能全面評(píng)價(jià)分類模型性能;精準(zhǔn)率表示預(yù)測(cè)為正樣本的目標(biāo)中預(yù)測(cè)正確的比例,精準(zhǔn)率能表示一個(gè)類別的正確率;召回率表示所有正樣本中被檢測(cè)出來(lái)的比例;在多分類任務(wù)中,可分別計(jì)算每個(gè)類的精確率和召回率。準(zhǔn)確率、精準(zhǔn)率、召回率的計(jì)算如式(1)~式(3)所示。
(1)
(2)
(3)
式中:TP——正樣本預(yù)測(cè)成正樣本的數(shù)量;
FP——負(fù)樣本預(yù)測(cè)成正樣本的數(shù)量;
TN——正樣本預(yù)測(cè)成負(fù)樣本的數(shù)量;
FN——負(fù)樣本預(yù)測(cè)成負(fù)樣本的數(shù)量。
在目標(biāo)檢測(cè)和語(yǔ)義分割任務(wù)中,常采用交并比(Intersection over Union,IoU)評(píng)價(jià)模型的性能。交并比如圖5所示,為候選框(candidate bound)與原標(biāo)記框(ground truth bound)交集與并集的比值,交并比越大,模型性能越好,交并比計(jì)算公式如式(4)所示。
圖5 交并比示意圖
(4)
1.2.5 模型部署
深度學(xué)習(xí)應(yīng)用的最后一步為模型部署,根據(jù)雜草識(shí)別的工作要求,將訓(xùn)練好的模型部署于嵌入式設(shè)備上進(jìn)行推斷。本文以在NVIDIA Jeston Xavier NX上部署使用Pytorch框架訓(xùn)練的雜草識(shí)別模型為例,敘述深度學(xué)習(xí)模型的部署過程。在NVIDIA Jeston Xavier NX上部署使用Pytorch框架訓(xùn)練的模型有兩種方法,第一直接使用Pytorch框架進(jìn)行部署,在NVIDIA Jeston Xavier NX上配置Pytorch環(huán)境,并將訓(xùn)練好的模型拷貝到NVIDIA Jeston Xavier NX上運(yùn)行即可,這種部署方式要求嵌入式設(shè)備支持使用的神經(jīng)網(wǎng)絡(luò)框架;第二種部署方式,采用NVIDIA Jeston Xavier NX的TensorRT模塊進(jìn)行部署,采用TensorRT模塊部署時(shí),首先將Pytorch模型轉(zhuǎn)成ONNX模型,同時(shí)使用TensortRT模塊內(nèi)置函數(shù)將ONNX模型轉(zhuǎn)化成TensorRT模型,即可應(yīng)用于TensorRT框架進(jìn)行前向傳播推理。TensortRT模型將模型權(quán)重參數(shù)量化為INT8類型,同時(shí)將神經(jīng)網(wǎng)絡(luò)層與張量進(jìn)行融合,進(jìn)而能提高模型的推理速度。
嵌入式設(shè)備算力較低,在部署深度學(xué)習(xí)模型前,可以對(duì)模型進(jìn)行加速優(yōu)化,以提高在嵌入式設(shè)備上的推理性能。常用的模型優(yōu)化方法有網(wǎng)絡(luò)剪枝與稀疏化、張量分解、知識(shí)遷移。網(wǎng)絡(luò)剪枝與稀疏化是將神經(jīng)網(wǎng)絡(luò)中輸出值趨近于0的神經(jīng)元?jiǎng)h除;張量分解的主要思想是將卷積網(wǎng)絡(luò)中的張量分解為若干低秩張量,減少卷積操作的運(yùn)算量,降低對(duì)嵌入式設(shè)備的算力要求;知識(shí)遷移是基于遷移學(xué)習(xí)的思想產(chǎn)生的,將復(fù)雜的教師模型的知識(shí)遷移到學(xué)生模型上,完成對(duì)網(wǎng)絡(luò)結(jié)構(gòu)的簡(jiǎn)化[31]。
在基于深度學(xué)習(xí)的作物與雜草識(shí)別方法中,主要采用的是目標(biāo)檢測(cè)模型、語(yǔ)義分割模型和實(shí)例分割模型。目標(biāo)檢測(cè)模型用于估計(jì)特定類型目標(biāo)出現(xiàn)在圖像中的具體位置[32],雜草識(shí)別中常用的目標(biāo)檢測(cè)模型有Faster R-CNN[33]、SSD[34]、YOLO[35]等。孟慶寬等[36]將SSD網(wǎng)絡(luò)中提取到的圖像淺層細(xì)節(jié)特征與深層語(yǔ)義特征相融合增強(qiáng)目標(biāo)特征信息,融合后的特征圖作為雜草分類識(shí)別依據(jù),并用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積輕量化網(wǎng)絡(luò),采用優(yōu)化后的SSD網(wǎng)絡(luò)模型對(duì)幼苗期玉米及其伴生雜草進(jìn)行識(shí)別,平均識(shí)別準(zhǔn)確率mAP(mean Average Precision)達(dá)到了88.27%,與標(biāo)準(zhǔn)SSD模型相比,精度提高了2.66%,同時(shí)檢測(cè)速度由24.10 f/s提高到了32.26 f/s。樊湘鵬等[37]測(cè)試了VGG16、VGG19、ResNet50和ResNet101四種特征提取網(wǎng)絡(luò)的性能,綜合考慮了特征網(wǎng)絡(luò)的檢測(cè)精度、檢測(cè)速度,確定使用VGG16為特征提取網(wǎng)絡(luò)構(gòu)建優(yōu)化的Faster R-CNN模型對(duì)自然條件下棉花幼苗及其7類常見雜草進(jìn)行識(shí)別,mAP為94.21%,優(yōu)于標(biāo)準(zhǔn)SSD(87.23%)和YOLO(84.97%),但0.385 s的單張圖片處理時(shí)間高于SSD(0.297 s)和YOLO(0.314 s)。薛金利等[38]改進(jìn)YOLO_V3模型用于識(shí)別棉花及雜草,mAP達(dá)到94.06%,檢測(cè)速度為51 f/s。彭明霞等[13]設(shè)計(jì)了融合特征金字塔網(wǎng)絡(luò)的Faster R-CNN模型識(shí)別自然光照下的棉花與雜草,mAP達(dá)95.5%,比傳統(tǒng)的YOLO_V3高30%,但識(shí)別一幀圖像需要1.51 s,高于YOLO_V3(1.35 s)。李春明等[39]提出一種融合生成對(duì)抗網(wǎng)絡(luò)的Faster R-CNN模型,對(duì)正常拍攝的圖片進(jìn)行識(shí)別,mAP達(dá)到97.05%高于傳統(tǒng)Faster R-CNN(92.72%),同時(shí)單張圖片處理時(shí)間0.21 s高于傳統(tǒng)Faster R-CNN(0.14 s)。
在目標(biāo)檢測(cè)的方法中以YOLO和SSD為代表的一階段檢測(cè)模型在檢測(cè)速度上相比二階段檢測(cè)的Faster R-CNN具有一定的優(yōu)勢(shì),但檢測(cè)精度方面略低;同時(shí),采用目標(biāo)檢測(cè)的方法識(shí)別作物和雜草,能獲取雜草和作物的位置信息以及雜草的類別信息,但無(wú)法提取雜草形狀特征,判斷作物及雜草的生長(zhǎng)階段,該方法可用于不考慮雜草大小以及生長(zhǎng)階段的除草方式。
語(yǔ)義分割模型的功能是為圖像中的每一個(gè)像素點(diǎn)打上標(biāo)簽[40],在雜草識(shí)別中,即為表示作物與雜草的像素點(diǎn)打上標(biāo)簽進(jìn)行分割。Asad等[41]結(jié)合極大似然估計(jì)法對(duì)雜草作物數(shù)據(jù)集進(jìn)行標(biāo)注,采用該數(shù)據(jù)集訓(xùn)練模型,平均交并比MIoU(Mean Intersection over Union)為82.88%。孫俊等[42]提出一種深度可分離卷積的卷積神經(jīng)網(wǎng)絡(luò)模型用于甜菜與雜草圖像分割識(shí)別,MIoU為87.58%,圖片識(shí)別幀頻為42.064 f/s。You等[43]提出一種融合注意力機(jī)制及金字塔卷積的模型,用于識(shí)別甜菜和雜草,MIoU達(dá)到89.01%。Potena等[44]設(shè)計(jì)了深層神經(jīng)網(wǎng)絡(luò)用于識(shí)別蔬菜和雜草,mAP最高為91.3%,單張圖片處理時(shí)間最低為0.98 s。王璨等[12]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的玉米雜草識(shí)別方法,mAP為98.92%,單幅圖像平均耗時(shí)1.68 s。語(yǔ)義分割的方法能對(duì)作物和雜草進(jìn)行分類,并提取出雜草以及作物的外形特征,但不能對(duì)同種雜草的不同個(gè)體進(jìn)行判斷區(qū)分,無(wú)法針對(duì)單個(gè)雜草個(gè)體進(jìn)行定向除草。
實(shí)例分割是將整個(gè)圖像分成單個(gè)像素組,然后對(duì)其進(jìn)行標(biāo)記和分類,達(dá)到識(shí)別和分割圖像中每一個(gè)實(shí)例的深度學(xué)習(xí)模型。在雜草識(shí)別中常用Mask R-CNN[45]及其改進(jìn)模型做實(shí)例分割。權(quán)龍哲等[46]提出一種改進(jìn)的Mask R-CNN模型,對(duì)復(fù)雜田間環(huán)境下的雜草和玉米進(jìn)行識(shí)別,MIoU為67.5%。姜紅花等[47]提出一種基于Mask R-CNN的雜草檢測(cè)方法,在復(fù)雜背景下對(duì)玉米、雜草圖像進(jìn)行測(cè)試,mAP為78.5%高于SharpMask(68.4%)和DeepMask(46.2%),但是其單張圖片處理時(shí)間為0.285 s高于SharpMask(0.260 s)和DeepMask(0.252 s)。實(shí)例分割是語(yǔ)義分割與目標(biāo)檢測(cè)的結(jié)合,能有效獲取雜草種類、位置、輪廓等特征信息,但該方法一般算法較為復(fù)雜以及前期數(shù)據(jù)集制作較為麻煩,所以該方法在雜草識(shí)別中使用較少。針對(duì)不同的除草任務(wù)要求,可選擇相應(yīng)的雜草識(shí)別方法。
雜草分類識(shí)別就是輸入一張雜草圖片(圖片中最多只能包含一類雜草),輸出圖片中的雜草類別。深度學(xué)習(xí)方法是目前主流的圖像分類方法,在對(duì)雜草分類識(shí)別中也較為常用。趙軼等[48]基于VGG16卷積神經(jīng)網(wǎng)絡(luò)對(duì)田芥、豬殃殃、鵝腸草等12種雜草進(jìn)行分類識(shí)別,準(zhǔn)確率達(dá)95.47%,高于SVM(89.64%)和Random Forest(90.03%)。王術(shù)波等[49]基于CNN模型對(duì)小麥、花生、玉米以及3種伴生雜草(藜草、葎草、蒼耳)分類識(shí)別,準(zhǔn)確率達(dá)到95.6%。Andrea等[50]基于優(yōu)化CNN網(wǎng)絡(luò)對(duì)玉米及雜草進(jìn)行分類,準(zhǔn)確率最高為97.26%。Hu等[51]采用圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)識(shí)別馬櫻丹、銀膠菊、多刺洋槐等8種雜草,準(zhǔn)確率為98.1%。徐艷蕾等[52]基于輕量卷積網(wǎng)絡(luò)識(shí)別自然條件下玉米幼苗及8類雜草,準(zhǔn)確率為98.63%,單張圖片檢測(cè)平均耗時(shí)0.683 s。Ahmad等[53]采用VGG16識(shí)別玉米和大豆田中4種雜草(蒼耳、狗尾草、反枝莧和豚草),準(zhǔn)確率達(dá)到98.90%。Jiang等[54]設(shè)計(jì)了一種基于CNN的圖神經(jīng)網(wǎng)絡(luò)在玉米雜草數(shù)據(jù)集、萵苣雜草數(shù)據(jù)集和蘿卜雜草數(shù)據(jù)集上,準(zhǔn)確率分別為97.8%,99.37%,98.93%,均高于傳統(tǒng)CNN模型。王生生等[55]基于輕量和積網(wǎng)絡(luò)對(duì)大豆苗、禾本科雜草以及闊葉型雜草進(jìn)行分類,準(zhǔn)確率達(dá)到99.5%。
雜草分類局限于圖片中只有一種雜草,分類對(duì)象為整張圖片,該模型一般為雜草定位識(shí)別模型的研究基礎(chǔ),或用于雜草分類識(shí)別系統(tǒng)的研制。
采用深度學(xué)習(xí)的方法識(shí)別雜草,識(shí)別精度高。本文雜草識(shí)別與定位部分引用的論文當(dāng)中,平均識(shí)別準(zhǔn)確率最低的是88.27%,其中李春明等[39]設(shè)計(jì)的深度學(xué)習(xí)模型雜草識(shí)別準(zhǔn)確率達(dá)到97.5%,在雜草分類識(shí)別部分,識(shí)別準(zhǔn)確率均高于95%。
深度學(xué)習(xí)方法可以自動(dòng)提取大量特征。傳統(tǒng)圖像處理采用手工提取特征的方式,且特征提取數(shù)量較少,這可能導(dǎo)致提取的特征無(wú)法全面表征作物或雜草,同時(shí)手工提取特征需要較多的經(jīng)驗(yàn),提取特征難度較高,甚至一些目標(biāo)無(wú)法手動(dòng)提取特征,然而深度學(xué)習(xí)方法能自動(dòng)提取大量特征。
采用深度學(xué)習(xí)的方法進(jìn)行雜草識(shí)別雖然有自身優(yōu)勢(shì),但也存在較多的不足之處。主要體現(xiàn)在以下幾個(gè)方面。
1) 目前大部分學(xué)者采用監(jiān)督學(xué)習(xí)的方式進(jìn)行訓(xùn)練深度學(xué)習(xí)模型,該方法需要大量作物和雜草數(shù)據(jù),同時(shí)需要對(duì)這些圖片進(jìn)行標(biāo)注,整個(gè)過程較為繁瑣。未來(lái)可采用無(wú)監(jiān)督學(xué)習(xí)或半監(jiān)督學(xué)習(xí)的方法來(lái)解決此問題,大大減少數(shù)據(jù)集采集與標(biāo)注中所消耗的勞動(dòng)量。無(wú)監(jiān)督學(xué)習(xí)或半監(jiān)督學(xué)習(xí)使用未標(biāo)記數(shù)據(jù)集或少部分標(biāo)記數(shù)據(jù)集訓(xùn)練模型,目前對(duì)于多分類識(shí)別任務(wù),計(jì)算機(jī)無(wú)法自動(dòng)將分類好的目標(biāo)打上標(biāo)簽,這是無(wú)監(jiān)督學(xué)習(xí)的缺點(diǎn)與研究難點(diǎn)。同時(shí)隨著生成對(duì)抗網(wǎng)絡(luò)的發(fā)展,使用生成對(duì)抗網(wǎng)絡(luò)生成新的圖像數(shù)據(jù),進(jìn)而擴(kuò)充數(shù)據(jù)集,這將會(huì)成為以后研究熱點(diǎn)。
2) 深度學(xué)習(xí)方法進(jìn)行雜草識(shí)別能獲得較高的識(shí)別精度,但是深度學(xué)習(xí)模型層數(shù)較深,通過大量的卷積運(yùn)算提取圖像特征,在進(jìn)行前向推理過程中進(jìn)行大量的并行計(jì)算,當(dāng)模型部署于功率小、算力低的嵌入式設(shè)備上時(shí),雜草識(shí)別模型的圖像處理時(shí)間較長(zhǎng),難以達(dá)到實(shí)時(shí)檢測(cè)的目的。模型輕量化研究和研究模型剪枝技術(shù)、模型蒸餾等方法對(duì)模型進(jìn)行加速優(yōu)化,使模型能部署于計(jì)算能力較低的設(shè)備上是一種趨勢(shì)。
3) 模型設(shè)計(jì)復(fù)雜,無(wú)法從數(shù)學(xué)角度對(duì)模型的性能進(jìn)行分析,在進(jìn)行雜草識(shí)別模型設(shè)計(jì)時(shí),需要進(jìn)行大量的試錯(cuò),模型設(shè)計(jì)時(shí)間長(zhǎng),且需要占用大量的計(jì)算資源[56]。
基于深度學(xué)習(xí)的雜草識(shí)別模型較高識(shí)別準(zhǔn)確率是基于數(shù)量多、信息全的雜草圖像數(shù)據(jù)集訓(xùn)練得到的。在非結(jié)構(gòu)化的農(nóng)田環(huán)境中,要獲得全面的雜草數(shù)據(jù)集,需要采集不同光照、不同生長(zhǎng)周期、不同種類的雜草圖像,該過程需要花費(fèi)大量的時(shí)間和勞動(dòng)力。目前,研究人員在構(gòu)建數(shù)據(jù)集時(shí),一般只針對(duì)某個(gè)區(qū)域生長(zhǎng)的幾種類型雜草,其他科研人員采用該數(shù)據(jù)集訓(xùn)練雜草識(shí)別模型,一般會(huì)遇到數(shù)據(jù)集中雜草種類不同或缺少的問題,無(wú)法使用該數(shù)據(jù)集,進(jìn)而需要重新采集,造成大量的重復(fù)工作。
在作物的生長(zhǎng)過程中,雜草與作物相互遮擋是較為常見的情況,對(duì)于遮擋部分,目標(biāo)不完整、不易分辨,無(wú)法準(zhǔn)確提取到雜草/作物靶標(biāo)特征[57]。遮擋分為完全遮擋和部分遮擋兩種情況,雜草被完全遮擋,目前無(wú)有效方法解決,部分遮擋又可分為非目標(biāo)造成的遮擋和需要檢測(cè)的目標(biāo)造成的遮擋,對(duì)于非目標(biāo)物造成的遮擋,目前的解決辦法是采用更多的數(shù)據(jù)和更豐富的特征信息進(jìn)行模型訓(xùn)練,對(duì)于目標(biāo)物產(chǎn)生的遮擋,可借鑒圖卷積神經(jīng)網(wǎng)絡(luò)、膠囊網(wǎng)絡(luò)和目標(biāo)檢測(cè)中的推理關(guān)系網(wǎng)絡(luò)來(lái)提高部分遮擋情況下識(shí)別準(zhǔn)確率[58]。
相機(jī)的成像質(zhì)量與其曝光時(shí)間有關(guān),在運(yùn)動(dòng)狀態(tài)下曝光時(shí)間過長(zhǎng)容易引起運(yùn)動(dòng)模糊,丟失目標(biāo)區(qū)域部分特征信息,不能準(zhǔn)確地獲取雜草紋理特征和輪廓特征,影響靶標(biāo)的準(zhǔn)確識(shí)別。
在強(qiáng)光直射、光線不均條件下,易引起雜草表面整體或局部反光嚴(yán)重。成像時(shí)靶標(biāo)整體或局部紋理特征、輪廓特征變模糊,采集到的靶標(biāo)特征量變少,造成深度學(xué)習(xí)模型在分類識(shí)別時(shí)難以精確區(qū)分。
1) 農(nóng)作物和雜草植物有許多相似之處,融合光譜數(shù)據(jù)信息可以提高深度學(xué)習(xí)性能。然而,缺乏關(guān)于作物和雜草的大型數(shù)據(jù)集。有必要通過從不同的地理位置、天氣和環(huán)境中采集各種作物/雜草建造一個(gè)大型的數(shù)據(jù)集,適應(yīng)作物和雜草的不同生長(zhǎng)階段。
2) 雜草分類識(shí)別后,建立雜草作物生長(zhǎng)模型,對(duì)雜草作物長(zhǎng)勢(shì)進(jìn)行預(yù)測(cè),判斷最佳除草時(shí)間。目前大部分基于深度學(xué)習(xí)的雜草識(shí)別方法主要針對(duì)某一個(gè)生長(zhǎng)階段的雜草進(jìn)行分類識(shí)別研究,沒有建立相關(guān)模型對(duì)雜草生長(zhǎng)周期進(jìn)行預(yù)測(cè),而在進(jìn)行施藥除草時(shí),不同的雜草噴灑除草劑效果最佳階段不同,在雜草識(shí)別之后根據(jù)相關(guān)信息,建立雜草生長(zhǎng)模型,對(duì)未來(lái)雜草長(zhǎng)勢(shì)進(jìn)行預(yù)測(cè),選擇最佳的噴灑除草劑的時(shí)間是很有必要的。
3) 雜草識(shí)別模型模塊化發(fā)展,目前研究的雜草識(shí)別方法大多數(shù)只針對(duì)一種作物和與其伴生的幾種雜草,識(shí)別范圍有限,未來(lái)發(fā)展時(shí)可考慮模塊化設(shè)計(jì),即通過更換其中某個(gè)模塊的某些參數(shù),即可對(duì)其他作物與雜草進(jìn)行識(shí)別,擴(kuò)大部署雜草識(shí)別模型的設(shè)備使用范圍。
4) 2020年中國(guó)工程院發(fā)布《全球工程技術(shù)前沿2020》,農(nóng)業(yè)機(jī)器人作業(yè)對(duì)象識(shí)別與定位作為在農(nóng)業(yè)領(lǐng)域公布的11個(gè)工程研究前沿之一,與生態(tài)無(wú)人農(nóng)場(chǎng)理念的眾多關(guān)鍵技術(shù)密切相關(guān),是農(nóng)業(yè)領(lǐng)域未來(lái)發(fā)展的重要方向。雜草識(shí)別是作業(yè)對(duì)象識(shí)別與定位的重要方面,如何將識(shí)別模型部署于無(wú)人機(jī)、田間移動(dòng)平臺(tái),仍是后續(xù)研究需要解決的問題。