鐘林憶,劉海峰,董力中,高 翔,黃家懌,司志恒
(1.廣東省現(xiàn)代農(nóng)業(yè)裝備研究所,廣東 廣州 510630;2.廣州市健坤網(wǎng)絡(luò)科技發(fā)展有限公司,廣東廣州 510630;3.廣東省農(nóng)業(yè)技術(shù)推廣總站,廣東 廣州 510520)
農(nóng)作物病蟲害,是農(nóng)業(yè)生產(chǎn)過程中始終繞不開的話題,各種病蟲害給農(nóng)產(chǎn)品產(chǎn)量和品質(zhì)帶來惡劣的影響[1]。近些年來,隨著新一代信息技術(shù)的快速發(fā)展,國家也加大了對農(nóng)業(yè)病蟲害智能化識別和數(shù)字化防控的政策支持力度,農(nóng)作物病蟲害智能識別的研究逐漸成為熱門。
柴阿麗等[2]以計算機(jī)視覺技術(shù)、圖像處理技術(shù)和模式識別技術(shù)為手段,研究了4 種番茄葉部病害自動識別方法,進(jìn)行了病斑區(qū)域特征參數(shù)的提取和判別模型的構(gòu)建,研發(fā)形成了一套室內(nèi)操作的圖像采集處理系統(tǒng),這套系統(tǒng)對測試樣本的識別準(zhǔn)確率達(dá)94%以上,說明了計算機(jī)視覺技術(shù)在農(nóng)作物病蟲害識別上的可行性。張建華等[3]研究了棉花病害智能識別,提出了一種基于粗糙集和BP 神經(jīng)網(wǎng)絡(luò)的棉花病害識別方法,該方法能夠有效地識別4 種棉花病害,且平均識別準(zhǔn)確率為92.72%。孫云云等[4]利用卷積神經(jīng)網(wǎng)絡(luò),研究了小樣本下的茶樹病害圖像識別,主要應(yīng)用7 種模式對茶樹葉部病害圖像樣本進(jìn)行預(yù)處理,并采用AlexNet 經(jīng)典網(wǎng)絡(luò)模型進(jìn)行樣本學(xué)習(xí)與訓(xùn)練,結(jié)果顯示該方法對3 種茶樹葉病的正確區(qū)分率達(dá)85%以上。本文研究計算機(jī)視覺下的農(nóng)作物病蟲害圖像識別技術(shù),重點解決訓(xùn)練樣本量小的現(xiàn)實情況下的識別精度問題,并構(gòu)建田間場景應(yīng)用。
本文研究采用計算機(jī)視覺、數(shù)據(jù)增廣、卷積神經(jīng)網(wǎng)絡(luò)、遷移學(xué)習(xí)、邊緣計算等技術(shù),探索基于數(shù)據(jù)增廣技術(shù)的深度卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)方法和識別模型,解決農(nóng)作物病蟲害的圖像識別問題,進(jìn)而設(shè)計基于計算機(jī)視覺與邊緣計算的智能識別裝置,解決實際生產(chǎn)的田間場景應(yīng)用問題。
1)計算機(jī)視覺。計算機(jī)視覺系統(tǒng)主要由攝像機(jī)、圖像采集器、識別模型、計算機(jī)等部分組成,用于模擬人的視覺功能。通過對空間物體進(jìn)行圖像采集,對采集的圖像進(jìn)行特征提取、抽象轉(zhuǎn)化,進(jìn)而對空間物體進(jìn)行邏輯推理和判斷,以達(dá)到空間物體判別或決策的目的[5]。
2)數(shù)據(jù)增廣。數(shù)據(jù)增廣是計算機(jī)視覺實踐常用的技術(shù),主要用于增加訓(xùn)練樣本的數(shù)據(jù)集,使訓(xùn)練樣本的數(shù)據(jù)集盡可能多樣化,提升分析模型的泛化能力[6]。目前主流的深度學(xué)習(xí)框架都帶有數(shù)據(jù)增廣技術(shù)及接口函數(shù),但框架當(dāng)前的數(shù)據(jù)增廣技術(shù)及接口函數(shù)并非適用所有的場景,這還需要根據(jù)樣本數(shù)據(jù)集的特征來確定和使用何種數(shù)據(jù)增廣方式。
3)卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計算,通過分級的、多層的網(wǎng)絡(luò)模型來進(jìn)行物體識別的算法,是深度學(xué)習(xí)最具代表的算法之一,在圖像處理方面表現(xiàn)出色,已經(jīng)被大范圍使用到語音識別、圖像識別、自然語音處理等領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)的層級結(jié)構(gòu)包括數(shù)據(jù)輸入層、卷積計算層、ReLU 激勵層、池化層、全連接層等,能夠?qū)υ紙D像數(shù)據(jù)進(jìn)行預(yù)處理、卷積計算、特征提取、壓縮圖像等處理[7]。
4)遷移學(xué)習(xí)。遷移學(xué)習(xí)是一種機(jī)器學(xué)習(xí)技術(shù),指的是一個預(yù)訓(xùn)練的模型被重新用在另一個任務(wù)中。它允許在特定數(shù)據(jù)(如ImageNet 數(shù)據(jù))上訓(xùn)練模型,然將其調(diào)整遷移到新數(shù)據(jù)集中。之所以需要遷移學(xué)習(xí),因為機(jī)器學(xué)習(xí)(監(jiān)督學(xué)習(xí))需要大量的標(biāo)注數(shù)據(jù),而標(biāo)注數(shù)據(jù)是一項龐大而繁雜的任務(wù),遷移學(xué)習(xí)可以將已學(xué)習(xí)的強(qiáng)大技能遷移到相關(guān)的問題上[8]。
5)邊緣計算。邊緣計算是指將模型運(yùn)算的功能前置到邊緣端設(shè)備,使數(shù)據(jù)在其產(chǎn)生的設(shè)備現(xiàn)場或附近得到處理和分析,而不需要先傳送到云服務(wù)中心進(jìn)行集中處理,這大大減少了模型運(yùn)算和結(jié)果響應(yīng)的時間,減少網(wǎng)絡(luò)帶寬同時保證數(shù)據(jù)的安全性和私密性[9]。
以荔枝農(nóng)作物為研究對象,收集了荔枝炭疽病、荔枝酸腐病、荔枝椿象、荔枝毛氈病等10 種荔枝病蟲害圖像樣本,每類病蟲害圖像樣本量各為20,共計200 張病蟲害圖片。對收集的原始病蟲害圖像樣本,按病蟲害種類進(jìn)行分類,制作病蟲害標(biāo)簽,建立分類后的10 種病蟲害圖像樣本集如圖1 所示。
圖1 荔枝霜疫霉病圖片采集Fig.1 Collection of pictures of litchi downy mildew
大樣本量能提升基于深度學(xué)習(xí)的病蟲害圖像識別準(zhǔn)確率,因此盡可能將收集的病蟲害圖像進(jìn)行數(shù)據(jù)增廣處理。本試驗采用圖片旋轉(zhuǎn)、色彩抖動、加入高斯噪聲、平移變換、尺度變換、對比度變化等數(shù)據(jù)增廣方法,對10 類病蟲害的200 張原始圖像樣本進(jìn)行處理,將樣本量擴(kuò)增50 倍,如圖2 所示。
圖2 荔枝銹病圖像的數(shù)據(jù)增廣Fig.2 Data expansion of litchi rust disease image
本研究中使用Inception v3 網(wǎng)絡(luò)來訓(xùn)練農(nóng)作物病蟲害識別模型。Inception v3 是谷歌提出的用于提取圖像特征的深度卷積神經(jīng)網(wǎng)絡(luò)[10]。在Inception v1 網(wǎng)絡(luò)深度有22 層,其中每個Inception 模塊中包含有1×1、3×3、5×5 的卷積層和MaxPooling 層,并使用了ReLu 作為激活函數(shù);Inception v2 中使用兩個3×3 卷積代替5×5 卷積,并提出了Batch Normalization 方法,使大型網(wǎng)絡(luò)的訓(xùn)練速度多倍加快;Inception v3 中則將Inception 模塊中的一個大卷積,拆成兩個一維卷積,從而加速運(yùn)算并減少過擬合,Inception v3 中Inception 模塊的示意圖如圖3所示。
圖3 Inception 模塊結(jié)構(gòu)Fig.3 Inception modular structure
在網(wǎng)絡(luò)結(jié)尾使用Softmax分類器輸出最終類別。Softmax 分類器會將輸入映射成(0,1)的值,即每個類別的概率,最后選取概率最大的類別作為最終輸出。
本研究還采用了遷移學(xué)習(xí)幫助網(wǎng)絡(luò)更好、更快地提取特征。一方面,樣本量小會導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的特征比較粗糙,細(xì)粒度不夠,難以表達(dá)病蟲害的共同特征;另一方面,訓(xùn)練模型需要很長的時間,采用遷移學(xué)習(xí)能夠減少模型訓(xùn)練的時間。遷移學(xué)習(xí)有兩種策略,一是在網(wǎng)絡(luò)整體上微調(diào),即在基礎(chǔ)數(shù)據(jù)集上預(yù)訓(xùn)練網(wǎng)絡(luò),然后在目標(biāo)數(shù)據(jù)集上訓(xùn)練所有層;二是凍結(jié)一部分層,然后微調(diào)其余層,因為卷積神經(jīng)網(wǎng)絡(luò)前幾層特征提取的是包含紋理過濾器和色彩斑點等通用的特征,可以不用重復(fù)學(xué)習(xí)。
使用搭建的Inception v3 神經(jīng)網(wǎng)絡(luò)模型,對荔枝病蟲害數(shù)據(jù)集進(jìn)行訓(xùn)練。訓(xùn)練模型的基礎(chǔ)環(huán)境為 64 位Windows10 系統(tǒng),并配置有Intel Core i7-7800X CPU 和NVIDIA GeForce GTX 1080Ti GPU。試驗中遷移學(xué)習(xí)所使用的預(yù)訓(xùn)練模型是在ImageNet開源數(shù)據(jù)集上訓(xùn)練的Inception v3 模型。
本研究對5 種模型方法進(jìn)行了試驗與比較,這5 種模型方法分別是:①使用傳統(tǒng)的機(jī)器學(xué)習(xí)方法訓(xùn)練荔枝病害識別模型;②在搭建的Inception v3網(wǎng)絡(luò)上直接訓(xùn)練病蟲害識別模型,不結(jié)合使用遷移學(xué)習(xí);③使用搭建的Inception v3 網(wǎng)絡(luò),采用微調(diào)(finetune)方式訓(xùn)練病蟲害識別模型,即微調(diào)最后一層分類器分類模塊;④使用搭建的Inception v3 網(wǎng)絡(luò),選擇加載部分卷積參數(shù)(訓(xùn)練最后3層),添加softmax 分類器,在已學(xué)習(xí)好的卷積基(convolutional base)基礎(chǔ)上進(jìn)行進(jìn)一步參數(shù)學(xué)習(xí),訓(xùn)練病蟲害識別模型;⑤使用搭建的Inception v3網(wǎng)絡(luò),選擇加載部分卷積參數(shù)(訓(xùn)練最后5 層),添加softmax 分類器,在已學(xué)習(xí)好的卷積基基礎(chǔ)上進(jìn)行進(jìn)一步參數(shù)學(xué)習(xí),訓(xùn)練病蟲害識別模型。
5 種模型方法試驗結(jié)果對比如下表所示。
表1 5種試驗?zāi)P头椒▽Ρ萒ab.1 Comparison of five test model methods %
從試驗結(jié)果可以看出,使用數(shù)據(jù)增廣及遷移學(xué)習(xí)技術(shù)后,相比于使用傳統(tǒng)機(jī)器學(xué)習(xí)方法以及使用神經(jīng)網(wǎng)絡(luò)模型直接訓(xùn)練方法,荔枝病蟲害識別準(zhǔn)確率提升明顯。同時使用遷移學(xué)習(xí)訓(xùn)練最后3 層時,模型識別準(zhǔn)確率最高。即適當(dāng)增加學(xué)習(xí)層數(shù)能提升模型識別準(zhǔn)確率,但卷積層學(xué)習(xí)數(shù)量不能過多,原因在于學(xué)習(xí)過多的卷積層容易造成模型過擬合,且訓(xùn)練時候的參數(shù)會變得更多,對模型識別準(zhǔn)確率造成不利影響。因此,在實際過程中,需要根據(jù)模型識別的效果來選擇合適的學(xué)習(xí)層數(shù)。
為將病蟲害識別模型部署在硬件中,設(shè)計了基于計算機(jī)視覺與邊緣計算的智能識別裝置,其邏輯設(shè)計如圖4 所示,該裝置由Jetson Nano 芯片、攝像頭模塊、4G 傳輸終端等部分組成。其中Jetson Nano 芯片是NVIDIA 公司推出的高性能AI 推理芯片,具有體積小、功耗低的特點;攝像頭模塊用于獲取外部圖像,并將圖像傳輸至Jetson Nano 中作為病蟲害識別模型的輸入;4G 傳輸終端會將最終識別的結(jié)果上傳至云端服務(wù)器[11]。
圖4 基于計算機(jī)視覺與邊緣計算的智能識別裝置邏輯設(shè)計圖Fig.4 Logic design diagram of intelligent recognition device based on computer vision and edge computing
在荔枝生長期,各種病蟲害的發(fā)生給荔枝產(chǎn)量和品質(zhì)帶來惡劣的影響[12]。荔枝病蟲害種類多,發(fā)生快,如果未能對病蟲害發(fā)生情況進(jìn)行預(yù)警,就會造成比較大的損失。因此,研究與應(yīng)用計算機(jī)視覺下的荔枝病蟲害圖像識別技術(shù),建立病蟲情監(jiān)測預(yù)警體系尤為重要。
將本研究的智能識別裝置用于農(nóng)業(yè)實際生產(chǎn)中時,通過該裝置的攝像頭模塊近距離實時拍攝荔枝的圖像或視頻,然后將拍攝的圖像或視頻傳輸至AI模塊;AI 模塊對圖像或視頻進(jìn)行處理及信息抽取,自動提煉出圖像或視頻中的一種或多種農(nóng)作物病蟲害信息;AI 模塊借助邊緣計算,根據(jù)預(yù)先寫入的訓(xùn)練模型,完成AI 識別,并將識別結(jié)果發(fā)送至服務(wù)器。服務(wù)器根據(jù)識別的荔枝病蟲害的結(jié)果,進(jìn)行信息反饋和報警,如圖5 和圖6 所示。
圖5 荔枝病蟲害圖像識別技術(shù)場景應(yīng)用Fig.5 Scene application of litchi pest image recognition technology
圖6 現(xiàn)場試驗Fig.6 Field test
當(dāng)前農(nóng)作物病蟲害圖像自動識別技術(shù)及應(yīng)用面臨著以下難題,一是農(nóng)作物病蟲害圖像的樣本難以采集,每種農(nóng)作物病蟲害圖像的樣本量往往要大于200 張以上,識別精度才有保障,而采集豐富的樣本需要耗費(fèi)大量的人力、物力和時間成本;二是農(nóng)作物病蟲害圖像識別的落地應(yīng)用問題,通常在實驗室或在已采集到病蟲害圖像的條件下,對農(nóng)作物病蟲害圖像進(jìn)行識別,但在農(nóng)業(yè)實際生產(chǎn)中,更需要的是能夠在田間自動地監(jiān)測和采集農(nóng)作物病蟲害圖像并進(jìn)行識別和警報。本研究重點針對這些難題,提出了一種基于數(shù)據(jù)增廣技術(shù)的深度卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)方法,用于搭建農(nóng)作物病蟲害識別模型,并將識別模型部署到邊緣端,設(shè)計了放置于田間,可用于農(nóng)作物病蟲害圖像識別的智能識別裝置,解決了農(nóng)作物病蟲害圖像識別的訓(xùn)練樣本量小、精度無法保證、田間落地應(yīng)用難等問題。最后以荔枝為試驗對象,構(gòu)建基于邊緣計算的荔枝病蟲害圖像識別,并進(jìn)行了試驗。試驗結(jié)果表明,基于數(shù)據(jù)增廣技術(shù)的深度卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)方法搭建的荔枝病蟲害識別模型,識別準(zhǔn)確率可達(dá)96.30%,且設(shè)計的基于計算機(jī)視覺與邊緣計算的智能識別裝置方便于圖像識別應(yīng)用落地,可為農(nóng)業(yè)病蟲害防治提供有力保障。