999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于遷移學習的園藝作物葉部病害識別及應用

2021-03-26 10:47:38江朝暉
中國農(nóng)學通報 2021年7期
關鍵詞:模型

李 博,江朝暉,2,謝 軍,饒 元,2,張 武,2

(1安徽農(nóng)業(yè)大學信息與計算機學院,合肥230036;2智慧農(nóng)業(yè)技術與裝備安徽省重點實驗室,合肥230036)

0 引言

受全球氣候和環(huán)境問題的影響,植物發(fā)生的病害愈加復雜,對植物病害進行識別和防治越來越重要[1]。隨著計算機技術的發(fā)展,深度學習被應用到植物病害識別,其可縮短病害識別時間,極大減輕了農(nóng)戶的工作量。

近年來,越來越多的國內(nèi)外研究者嘗試將卷積神經(jīng)網(wǎng)絡用到植物病害識別上[2-3]。孫俊等[4]提出了改進AlexNet網(wǎng)絡對多種植物葉片病害識別方法,識別14種不同植物共26類病害,劉永波等[5]提出了一種在自然環(huán)境條件下基于深度卷積神經(jīng)網(wǎng)絡的玉米病害識別方法。DeChant Chad等[6]集成多個卷積神經(jīng)網(wǎng)絡,識別玉米大斑病。為進一步提高植物病害識別準確率,減少模型訓練需要的樣本量[7],更深層的卷積神經(jīng)網(wǎng)絡和遷移學習[8]被應用到植物病害識別。陳娟等[9]通過改進ResNet,提出了改進殘差網(wǎng)絡的園林害蟲圖像識別方法。許景輝等[10]提出基于遷移學習的卷積神經(jīng)網(wǎng)絡玉米病害圖像識別方法。

在將植物識別模型運用到實際過程中,楊林楠等[11]設計了甜玉米病蟲害的樹型圖和推理機等,基于Android系統(tǒng)手機的甜玉米病蟲害智能診斷系統(tǒng)。然而其在識別病害過程中需要用戶手動根據(jù)葉、穗、莖、籽等部位特征進行一系列配置,操作不方便。劉洋等[12]提出了將MobileNet移植到智能手機直接在手機端進行植物病害識別,減少了圖片上傳到網(wǎng)絡的時間,對網(wǎng)絡依賴性不強。這種方式雖然十分方便,卻對用戶設備有一定要求,不同設備識別時間不同,同時使用輕量級模型難以滿足用戶對作物病害高精度識別的需求。

筆者通過對深度學習在作物病害識別方面的研究[13-14],綜合考慮模型大小、識別準確率和識別時間,設計分別使用ResNet18、ResNet50和ResNet152模型進行遷移學習訓練,然后通過Flask將訓練好的園藝作物葉部病害識別模型部署到云服務器上的方案。提供園藝作物葉部病害識別Web服務,旨在盡可能滿足農(nóng)戶實際使用過程對病害識別時間和識別準確率的需求,降低病害識別對農(nóng)戶設備要求。

1 材料與方法

1.1 材料

筆者使用的PlantVillage數(shù)據(jù)集[12]包含14類園藝作物,分別是蘋果、藍莓、櫻桃、玉米、葡萄、柑橘、桃、辣椒、馬鈴薯、樹莓、大豆、南瓜、草莓、番茄。其中有26種病害葉片、12種健康葉片,共38個類別的樣本圖像。根據(jù)ResNet的輸入尺寸,將圖像的大小尺寸調(diào)整為224×224像素進行訓練和測試。

由于PlantVillage數(shù)據(jù)集的圖像是在實驗室中拍攝的,背景很干凈。然而實際應用場景圖片清晰度可能比較低,為了盡可能提高實際使用過程中園藝作物葉部病害識別的準確率,對PlantVillage數(shù)據(jù)集里的所有圖片,隨機使用3種不同的圖像處理技術中的1種或者不采取任何處理方式處理。其中3種不同的圖像處理技術包括圖像伽馬校正(Gamma correction)、噪聲注入(noise injection)、PCA顏色增強[15](PCA color augmentation)。同時,為解決實際使用中存在檢測不到園藝作物葉部的情況,利用爬蟲技術在互聯(lián)網(wǎng)上隨機爬取一些作物生長環(huán)境圖片,并將這些圖片標記為無葉片背景標簽。

最終實驗數(shù)據(jù)集共61486幅圖像,通過統(tǒng)計圖片數(shù)目以及類別樣本的分布情況,隨機抽取70%的數(shù)據(jù)集作為訓練集,20%作為驗證集,剩余10%作為測試集。為方便模型訓練,將數(shù)據(jù)集中的39類圖片按0~38編號(如表1所示)制作為訓練標簽,每個編號分別代表一類圖片。

表1 實驗數(shù)據(jù)集分類

1.2 研究方法

1.2.1 模型選擇 使用何凱明等提出的ResNet[16]作為基準模型。ResNet通過在網(wǎng)絡中增加恒等映射來解決神經(jīng)網(wǎng)絡中的梯度消失問題,通過配置不同的通道數(shù)和模塊里的殘差塊(residual block)[16]數(shù)(圖1)可以得到不同的ResNet模型。綜合考慮網(wǎng)絡層數(shù)以及計算量,分別使用ResNet18、ResNet50、ResNet152在數(shù)據(jù)集上進行訓練,并對實驗結果進行對比分析,結合實際使用情況選擇合適的模型。

圖1 殘差模塊

1.2.2 遷移學習 遷移學習[17]可以加快網(wǎng)絡收斂速度,減少網(wǎng)絡訓練需要的樣本數(shù)量和時間。利用遷移學習(transfer learning),將 ResNet18、ResNet50、ResNet152預訓練模型從ImageNet數(shù)據(jù)集學到的通用圖像特征遷移到本實驗數(shù)據(jù)集上,實現(xiàn)對園藝作物病害識別。遷移學習常用的方法有特征遷移和模型遷移2種[18]。本研究使用的是模型遷移的方法(表2),重新初始化3個預訓練模型最后一層參數(shù),其他層直接使用預訓練網(wǎng)絡的權重參數(shù)并且凍結,然后再利用實驗數(shù)據(jù)集重新訓練整個模型。

表2 模型參數(shù)

2 結果與分析

實驗平臺是基于Ubuntu 18.04系統(tǒng)的服務器,硬件配置CPU是Intel(R)Xeon(R)CPU E5-2630 v4@2.20 GHz,GPU是Tesla P100-PCIe 16 G英偉達顯卡。軟件環(huán)境為 CUDA 9.6、CUDNN V7.6.3、Python 3.7、PyTorch 1.4。

2.1 遷移學習訓練實驗

將實驗數(shù)據(jù)集按照7:2:1的比例分成訓練集、驗證集和測試集。使用訓練集分別對ResNet18、ResNet50、ResNet152進行遷移訓練,獲得3種分類模型。訓練中采用批量訓練的方法將訓練集、驗證集和測試集分為多個批次(batch),每個批次中數(shù)據(jù)集圖片數(shù)量(batch size)設為64,訓練集和驗證集全部圖片通過模型作為1個周期(epoch),共迭代100個周期,學習率設置為0.001,模型優(yōu)化使用Adam[19]優(yōu)化算法實現(xiàn)。

2.2 評價指標

模型識別的準確率(accuracy)[12]計算如式(1),交叉熵(cross entropy)[20]計算如式(2),交叉熵損失函數(shù)[18]計算如式(3)。

式中,Nr是識別正確的預測數(shù),n表示數(shù)據(jù)集中樣本總數(shù)。y(i)代表真實的標簽概率分布向量表達式,代表預測概率分布向量表達式,向量元素非0即1,yj(i)是向量y(i)的元素,是向量的元素。n為訓練集的樣本數(shù),θ為模型參數(shù)。

2.3 模型訓練結果及分析

ResNet18、ResNet50、ResNet152模型訓練過程的Loss曲線和準確率變化如圖2~3所示。從曲線中可以看出,ResNet152準確率上升與Loss曲線下降速度較快,ResNet50最初準確率上升與Loss曲線下降速度都比ResNet18慢,直到ResNet18曲線逐漸收斂后才開始超過ResNet18。

圖2 訓練過程Loss曲線

圖3 訓練過程準確率曲線

表3記錄了ResNet18、ResNet50和ResNet152模型在實驗數(shù)據(jù)集上使用遷移學習訓練,測得在訓練集、驗證集和測試集上的準確率。3個模型的訓練集準確率均小于測試集的準確率,未出現(xiàn)過擬合和欠擬合現(xiàn)象。隨著神經(jīng)網(wǎng)絡層數(shù)增加,3個模型在訓練集、驗證集和測試集上識別準確率逐漸提高。

表3 不同模型訓練結果 %

3 模型部署

3.1 開發(fā)環(huán)境的搭建

Flask[21]是Armin Ronacher使用Python編寫的一個輕量級Web框架,它之所以被歸類為輕量級Web框架,是因為其本身相當于一個內(nèi)核,不需要特定的工具或庫,使用Flask-extension來管理各種擴展[22]。Flask很容易使用,簡單幾行代碼就可以搭建一個穩(wěn)定Web應用。由于模型訓練的代碼同樣使用Python編寫,所以安裝好Flask后可以直接使用模型訓練過程的軟件環(huán)境部署訓練好的模型,降低了模型部署的難度。

筆者在Linux操作系統(tǒng)下進行開發(fā),硬件配置CPU和GPU與模型訓練一樣。軟件環(huán)境在模型訓練過程中使用的軟件環(huán)境基礎上,通過Python的包安裝程序pip安裝Flask,然后創(chuàng)建code和models文件夾分別保存源代碼和訓練好的3個模型。開發(fā)IDE使用微軟開發(fā)的免費跨平臺編輯器Visual Studio Code,通過安裝擴展支持不同的編程語言開發(fā)。

3.2 3種識別模式設計

訓練好的ResNet18、ResNet50、ResNet152的模型大小分別是43.3、92.0、224.6 MB。在GPU上測試結果表明模型加載時間分別是48.2、81.3、160 ms,識別單張圖像的時間分別是10.9、17.9、33.7 ms。綜合考慮模型大小、識別準確率及識別時間對識別結果的影響設計了快速、標準和準確3種識別模式,3種識別模式分別使用訓練好的ResNet18、ResNet50、ResNet152模型。

其中快速模式由于識別時間最快可以最快得到結果,適合網(wǎng)絡速度慢時使用;準確模式識別精確度最高,適合網(wǎng)絡速度快時使用;標準模式平衡了識別精確度和識別時間是默認識別模式。農(nóng)戶可根據(jù)實際使用過程中的網(wǎng)絡情況選擇相應的識別模式,減少網(wǎng)絡對應用的影響。

3.3 基于Flask的園藝作物病害葉部識別網(wǎng)頁應用開發(fā)

應用開發(fā)的軟件是Visual Studio Code,分為前端和后端開發(fā)。前端使用HTML和JavaScript編寫,由于PyTorch訓練模型的代碼和Flask開發(fā)網(wǎng)頁后臺的代碼同樣使用Python編寫,因此后端使用Python編寫,降低了開發(fā)難度,程序工作流程圖如圖4所示。

圖4 病害識別程序流程圖

園藝作物病害識別網(wǎng)頁應用案例如圖5所示,分別有選擇圖片按鈕、模式選擇3個復選框和識別按鈕。用手機或者數(shù)碼相機采集屬于PlantVillage數(shù)據(jù)集中的14類園藝作物葉部病害圖像,點擊選擇圖片并且選擇采集的圖片;根據(jù)實際使用中網(wǎng)絡速度和對準確率的需求選擇相應的識別模式;然后點擊識別按鈕后,自動將圖片壓縮成WebP格式[23-24]再上傳到服務器上,并對圖片進行處理,包括將圖像的大小尺寸調(diào)整為224×224像素、圖像濾波等操作;然后在服務器端利用GPU加速[25]模型推理,最后輸出識別結果并且顯示在網(wǎng)頁上。

圖5 病害識別網(wǎng)頁應用例子

4 結論

筆者對PlantVillage數(shù)據(jù)集進行預處理和擴充得到實驗數(shù)據(jù)集,分別使用ResNet18、ResNet50和ResNet152 3種預訓練模型在實驗數(shù)據(jù)集上進行遷移學習訓練,得到3種園藝作物葉部病害識別模型,設計快速、標準和準確3種識別模式,并開發(fā)園藝作物葉部病害識別網(wǎng)頁應用,可識別14類園藝作物的26種葉部病害。

(1)不同深度模型大小、識別準確率、識別時間不同,將深度模型部署到實際生產(chǎn)中應綜合考慮模型特點和用戶期望。

(2)3種預訓練模型對原始的PlantVillage數(shù)據(jù)集進行遷移學習訓練,平均識別準確率分別是95.50%、96.06%、96.68%,經(jīng)過預處理的數(shù)據(jù)集上訓練的模型具有更高的精度,同時在PlantVillage數(shù)據(jù)集原有分類基礎上增加了無葉片背景的分類,在實際使用過程具有更高的魯棒性。

(3)園藝作物葉部病害識別在服務器端進行,基于Flask框架開發(fā)的Web應用具有很好的穩(wěn)定性,可滿足多個用戶同時使用,對用戶設備要求較低,無需安裝額外應用,簡單易用。

5 討論

筆者結合農(nóng)戶實際使用情況,通過對原始的PlantVillage數(shù)據(jù)集進行數(shù)據(jù)增強,使用多個模型作為預訓練模型進行遷移學習訓練,得到不同的園藝作物病害識別模型,解決病害訓練樣本不足的問題[5]。綜合比較模型大小、識別準確率和識別時間設計了快速、標準和準確3種病害識別模式,提供了病害識別Web服務。滿足實際使用過程農(nóng)戶對病害識別時間和識別準確率的需求,降低了病害識別對農(nóng)戶設備要求[12],為農(nóng)戶提供更加方便、精確和廉價地園藝作物葉部病害識別服務。但是由于PlantVillage數(shù)據(jù)集提供的園藝作物種類以及病害種類有限,很多病害還無法識別,同時作物在不同生長階段病害呈現(xiàn)的特征也不同,因此還需要進一步補充數(shù)據(jù)集,這也是筆者后期研究工作的重點。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數(shù)模型及應用
p150Glued在帕金森病模型中的表達及分布
函數(shù)模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲国产天堂久久综合| 国产在线精品99一区不卡| 啊嗯不日本网站| 亚洲精品波多野结衣| 亚洲人成影院午夜网站| 在线观看免费AV网| 人妻丰满熟妇αv无码| 国产一区成人| 四虎在线高清无码| 日韩精品久久久久久久电影蜜臀| 国产精品永久不卡免费视频| av免费在线观看美女叉开腿| 天堂中文在线资源| 亚洲人成人无码www| 国产呦视频免费视频在线观看| 国产午夜人做人免费视频| 在线五月婷婷| 中文字幕乱码中文乱码51精品| 国产精选小视频在线观看| 亚洲乱码在线播放| 国产美女一级毛片| 国产成人精品高清在线| 久久午夜影院| 97青青青国产在线播放| 国产精品尹人在线观看| 国产青青操| 国产精品主播| 无码有码中文字幕| av一区二区无码在线| 中文字幕在线日本| 中文字幕无码av专区久久| 91精品亚洲| a级毛片毛片免费观看久潮| 色婷婷亚洲综合五月| 亚洲国产精品一区二区第一页免| 午夜色综合| 欧美日韩在线亚洲国产人| 99尹人香蕉国产免费天天拍| 亚洲最大福利视频网| 欧美成人一级| 热99re99首页精品亚洲五月天| 中国特黄美女一级视频| 国产黄色免费看| 色综合中文字幕| 久久毛片基地| 欧美日韩精品综合在线一区| 国产在线98福利播放视频免费| 韩日免费小视频| 国产成人无码Av在线播放无广告| 久久人与动人物A级毛片| 毛片大全免费观看| 成人av专区精品无码国产| 久久无码高潮喷水| 欧美亚洲激情| 欧美日本在线| 国产美女精品一区二区| 亚洲人成网站日本片| 无码视频国产精品一区二区| 青青久久91| 欧美a在线视频| 一级毛片在线播放免费| 真实国产精品vr专区| 小说区 亚洲 自拍 另类| 真实国产乱子伦视频| 国产欧美专区在线观看| 欧美一区二区福利视频| 91小视频在线观看免费版高清| 久久中文无码精品| 国产欧美又粗又猛又爽老| 亚洲成A人V欧美综合天堂| 亚洲日本中文综合在线| 亚洲欧美日本国产专区一区| 97超爽成人免费视频在线播放| 日韩欧美网址| 国产手机在线ΑⅤ片无码观看| 在线播放真实国产乱子伦| 成人国产精品一级毛片天堂| 在线va视频| 亚洲欧美极品| 一区二区午夜| 国产网站一区二区三区| 国产91av在线|