国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于輕量級神經網絡的農作物病害識別算法

2021-06-07 06:13:30洪惠群黃風華
沈陽農業(yè)大學學報 2021年2期
關鍵詞:農作物準確率病害

洪惠群,黃風華

(陽光學院 人工智能學院/空間數(shù)據(jù)挖掘與應用福建省高校工程研究中心,福州350015)

大多數(shù)農作物病害在可見光波段會產生某些可見癥狀,為人工診斷提供可行性[1]。隨著圖像處理技術的發(fā)展,基于深度學習的圖像分析技術常被用于農作物葉片病害檢測[2],相較于化學病害檢測,它能更早地對早期病害特征進行監(jiān)測,避免對被測農作物造成不可逆轉的破壞[2],減少農藥使用[3],利于精準農業(yè)的發(fā)展。與傳統(tǒng)圖像識別技術[4-5]相比,將深度學習網絡[6-10]運用在農作物病害檢測準確性更好,但存儲計算開銷巨大,使其在低功耗領域的應用嚴重受限。如何解決深度學習網絡部署時移動設備的計算資源緊張[11-14]的技術瓶頸?主要采取將深度學習模型部署在服務器端,返回服務器計算結果給移動設備[15]和精簡模型,減少深度學習網絡參數(shù)量[11]兩種方法。后者不依賴網絡環(huán)境,實時處理效果較好,但準確度相較前者有所降低。為保證深度學習模型能正常運行在移動端,且準確度不大幅丟失,研究人員研究了專門用于移動端設備的輕量級神經網絡[16-19]。本研究根據(jù)需要對比了多種輕量級網絡[16-19]在移動端識別農作物病害的表現(xiàn)。

1 輕量級深度學習算法簡介

1.1 ShuffleNet V1和V2網絡

ShuffleNet V1[19]是基于逐點組卷積和通道混合構建的。圖1 給出了ShuffleNet V1 單元的可視化表示,每個單元都是由Group Convolution(GConv)、Channel Shuffle和Shuffle Net單元3個基本操作[19]。

圖1 ShuffleNet V1單元示意圖Figure 1 ShuffleNet V1 unit

與AlexNet 網絡、ResNet 網絡等的其他單元相比,ShuffleNet V1 單元通常具有比較少的計算量,如:ShuffleNet V1 0.5x 僅用40MFLOPs 的計算復雜度,就達到了AlexNet 720MFLOPs的性能[19]。

ShuffleNet V2[20]是改進版本,在文獻[20]中,作者提出“設計一個高效網絡架構,僅用計算復雜度來衡量是不夠的,要遵循的 G1-G4 的 4 個準則”[20]。ShuffleNet V1 網絡違反其中G1 G2 準則。因此,作者提出了利用通道分割的操作,構建ShuffleNet V2 網絡,其單元如圖2。圖2a 在每個單元的開始,c 特征通道的輸入被分為c-c'通道和c'通道兩支[20],其中一個分支保持不變,另一個分支由3個卷積組成,令輸入和輸出通道相同以滿足G1準則。此外,圖中兩個1×1 卷積,不再是組卷積,因為已通過分割操作產生兩個組。卷積之后,把兩個分支串聯(lián)起來,可以使得通道數(shù)量保持不變,并通過通道混洗,使兩個分支間,能進行信息交流。混洗之后,下一個單元開始運算。

空間下采樣單元(圖2b),將通道分割運算進行移除,使得輸出通道數(shù)量翻倍。ShuffleNet V2 網絡遵循G1-G4 四個準則,因此架構設計十分高效[20]。本設計的ShuffleNet V2的網絡結構圖如表1。

圖2 ShufflenetV2 的模塊Figure 2 Building blocks of ShuffleNet V2 [20]

1.2 ReLU激活函數(shù)和LeakyReLU激活函數(shù)

ReLU激活函數(shù)是指修正線性單元,只有輸入超出閾值時,ReLU的神經元才激活,并且當輸入為正的時,導數(shù)不為零,因此允許基于梯度的學習。相比Sigmoid/tanh 函數(shù),ReLU 激活函數(shù)收斂速度更快??墒牵斴斎霝樨撝档臅r候,ReLU激活函數(shù)的學習速度可能就會變得很慢,甚至使神經元直接無效,因為此時輸入為負值而梯度為零,從而使得其權重無法更新。為解決上述問題,引入帶泄露修正線性單元函數(shù),即Leaky ReLU 函數(shù)。該函數(shù)是在ReLU函數(shù)的負值區(qū)間,引入一個泄露值(Leaky值),是ReLU函數(shù)的變體。Leaky ReLU 函數(shù)輸出對負值輸入有很小的坡度,因此導數(shù)總是不為零,能減少靜默神經元的出現(xiàn),可以允許基于梯度的學習。Leaky Re-LU函數(shù)數(shù)學表達式為:

表1 Shufflenet V2的網絡結構Table 1 Overall architecture of ShuffleNet V2

式中:ai為(1,+∞)區(qū)間內的固定參數(shù);xi為輸入;yi為輸出。

本研究通過對多種網絡結構的遷移學習,研究如何利用輕量級深度學習網絡提取農作物圖片病害特征,實現(xiàn)對葉片病害圖像的精準識別,最后將輕量級深度學習網絡ShuffleNet V2 0.5x移植到移動設備端。

2 農作物葉片病害圖片數(shù)據(jù)集

2.1 數(shù)據(jù)集來源

本研究中病害數(shù)據(jù)集大部分是從AI Challenger 2018競賽數(shù)據(jù)集獲取,按照物種、病害程度來分類,剔除兩個小樣本分類,合計有59個分類,10個物種,26種病害,共45284幅植物葉片圖像。為對比分析,將其中的番茄樣本(9種病害),共計13112張,另外抽出來做對比數(shù)據(jù)集。識別過程中,系統(tǒng)將數(shù)據(jù)集隨機分為訓練數(shù)據(jù)集和驗證數(shù)據(jù)集。每張圖中主要位置為一片葉子,背景單一。數(shù)據(jù)集中的部分病害葉片如圖3。

2.2 數(shù)據(jù)預處理

目前,大多數(shù)農作物病害識別的研究都是基于深度學習進行的,需要大量的數(shù)據(jù)樣本(大數(shù)據(jù)集)進行訓練、驗證,屬于高密集計算量的算法,對硬件資源要求高,農作物病害種類比較多,而每一種病在同一個場景下能獲得的典型圖像數(shù)據(jù)卻不多,也就是小數(shù)據(jù)集,在無法收集到大量數(shù)據(jù)樣本的情況下,課題組利用遷移學習方法,對大的數(shù)據(jù)集進行分類預訓練,然后微調參數(shù)使之適合農作物病害種類的識別,并通過對原始圖像數(shù)據(jù)進行圖像增強,擴充農作物數(shù)據(jù)集,彌補訓練數(shù)據(jù)不足,提高識別準確率。

本研究采用旋轉、翻轉、模糊、光線變換、隨機裁剪、疊加噪聲等方法對訓練集數(shù)據(jù)進行擴充,增加數(shù)據(jù)的多樣性,減少訓練階段的過度擬合,以提升網絡模型的泛化能力。由于原始圖像大小不同,可能含有冗余信息,不利于農作物病害的分類。本研究將葉片的圖像樣本歸一化為224*224*3 像素,并將處理后的圖像去均值。擴充后數(shù)據(jù)集有了顯著的增加。以其中的番茄病害數(shù)據(jù)為例,擴充數(shù)據(jù)前,訓練數(shù)據(jù)集共計包含13112幅圖像,擴充后的數(shù)據(jù)集大小為41263張圖像。算法模型使用圖像增強后的圖像數(shù)據(jù)集對模型進行訓練。

圖3 農作物葉片病害圖像示例Figure 3 Example of crop leaf disease symptoms

3 試驗結果與分析

3.1 訓練及驗證過程

本研究是在pycharm 平臺下選用Python語言開發(fā)的,先使用ImageNet大數(shù)據(jù)集進行網絡預訓練,對網絡參數(shù)進行優(yōu)化,隨后將收集到的農作物病害圖像數(shù)據(jù)集,隨機分為訓練數(shù)據(jù)集、驗證數(shù)據(jù)集,并進行圖像預處理,接著把訓練數(shù)據(jù)集、驗證數(shù)據(jù)集分別送到各個預訓練的深度學習網絡,進行訓練、驗證、優(yōu)化,使網絡模型能夠更有效地識別出農作物病害,并達到較高的準確率,對比分析Xception、MobileNet V2、ShuffleNet V1 以及ShuffleNet V2等網絡。系統(tǒng)總體框圖如圖4。本研究中,基于Shuffle Net V2網絡的農作物病害識別流程如圖5。分別采用ReLU 和LeakyReLU 激活函數(shù)進行ShuffleNet V2 網絡模型的構建及對比,利用模型遷移完成ShuffleNet V2模型訓練及優(yōu)化。

圖4 系統(tǒng)總體框架Figure 4 Overall framework of the system

圖5 基于ShuffleNetV2網絡的農作物病害識別流程Figure 5 The process of crop disease identification based on ShuffleNet V2 network

3.2 模型結果比較

綜合考慮目前安卓手機的性能水平和不同規(guī)模下、不同網絡的計算復雜度,本研究通過對比了ShuffleNet V1 網絡、ShuffleNet V2 網絡、MobileNet V2 網絡、Xception 網絡,在不同規(guī)模的計算復雜度、訓練準確率、訓練損失率和運算速度(表2)。為了更好地比較,結果按照計算的復雜性級別分組,圖像尺寸為224*224,GPU批處理大小選擇8,ARM批處理大小選擇1。由表2可知,Xception 1x在圖像識別方面的表現(xiàn)不錯,ShuffleNet V1 0.5x(g=3)計算復雜度最小,同時,訓練準確率相對較好,ShuffleNet V2 0.5x網絡表現(xiàn)相對不錯,計算復雜度也比較小。與ShuffleNet V1 0.5x(g=3)相比,ShuffleNet V2 0.5x 模型在ARM 上的表現(xiàn)稍好,因此,本研究將對ShuffleNet V2 0.5x 模型進行移植。MobileNet V2 0.6 網絡在ARM 的表現(xiàn)相對比較不好??傮w上各個網絡的識別準確率還有待提高,這其中跟數(shù)據(jù)集也有很大的關系,部分分類的訓練數(shù)據(jù)量不夠,后續(xù)將繼續(xù)優(yōu)化完善數(shù)據(jù)集。

表2 幾種網絡的計算復雜度、準確率、損失率及速度對比Table 2 Comparison of several network architectures over computing complexity, accuracy,loss rate and speed(the image size is 224 × 224)

為驗證分類準確率和數(shù)據(jù)集的關系,更好地進行對比分析,將其中的番茄樣本抽出來做對比數(shù)據(jù)集。由表3 可知,不同數(shù)據(jù)集進行模型訓練時,準確率不大一樣,其中,項目組對番茄病害數(shù)據(jù)集進行整理,使得每個分類圖片數(shù)量比較均勻,相較于全部病害的數(shù)據(jù)集,準確率有所上升。同時,本研究通過多次試驗發(fā)現(xiàn),物種的類型和疾病種類的識別準確率比較高,疾病的嚴重程度的識別準確率相對較低,說明分類錯誤的部分原因是由于病害的嚴重程度難以區(qū)分。

3.3 模型的改進方案

多種網絡比較后,針對選用的ShuffleNet V2 0.5x 模型,筆者進行了改進。對比了LeakyReLU 激活函數(shù)和ReLU 激活函數(shù)在模型中的表現(xiàn)后,發(fā)現(xiàn)LeakyReLU 激活函數(shù)能改進當輸入為負值時,ReLU 函數(shù)的缺陷,并進行相應的測試。由于在深度學習中,對數(shù)據(jù)集的要求通常是數(shù)量龐大的、質量高的,且有標簽,自采集的數(shù)據(jù)集,由于受到人力、物力的影響,往往達不到要求。因此,本研究利用遷移學習技術,在Image Net 數(shù)據(jù)集上預先進行預訓練,以解決上述問題。在遷移學習中,將網絡參數(shù)前面幾層進行固定,最后一層進行微調,以改善因數(shù)據(jù)集不大造成的模型過擬合問題,并在驗證集上進行驗證,得到了較好的準確率。預訓練后,在自有數(shù)據(jù)集上分別采用不同的激活函數(shù)進行訓練。通過對比Leaky ReLU 激活函數(shù)和ReLU 激活函數(shù),在ShuffleNetV2模型上的表現(xiàn),發(fā)現(xiàn)采用Leaky Re-LU 激活函數(shù)能較好地解決部分落到硬飽和區(qū)的輸入的對應權重無法更新的問題。在自有數(shù)據(jù)集上進行訓練,采用不同激活函數(shù)的訓練集與驗證集的準確度如圖6。由圖6 可知,當模型采用ReLU 激活函數(shù),驗證集的識別準確度是85.6%,訓練集的識別準確度是84.8%,而當模型采用Leaky ReLU 激活函數(shù),訓練集的識別準確度是86.5%,驗證集的準確度是85.1%。因此,在ShuffleNet V2 網絡結構不發(fā)生改變的情況下,選用Leaky ReLU 激活函數(shù),可在稍微提高了網絡模型的準確度。

表3 兩個數(shù)據(jù)集在不同網絡下的準確率Table 3 Accuracy of the two data sets in different networks

圖6 不同激活函數(shù)下的訓練集與驗證集的準確度Figure 6 Accuracy of training sets and verification sets under different activation functions

4 討論與結論

傳統(tǒng)的農作物病害識別主要依賴專業(yè)人員進行判斷或化學檢測[1-3,7],耗時長,成本高,無法廣泛推廣,基于圖像處理的農作物病害識別[4-10]可以實時對早期病害特征進行監(jiān)測,并能廣泛推廣,避免對被測農作物造成不可逆轉的破壞,利于精準農業(yè)的發(fā)展?;趫D像處理的農作物病害識別分為基于傳統(tǒng)圖像識別技術[4-5]和基于深度學習的圖像識別技術[6-10],其中,后者準確率更高,但對計算機資源要求較高。為更廣泛地幫助農民朋友進行農作物病害監(jiān)測,需要將深度學習網絡部署在手機端上,解決移動端資源有限與深度學習網絡所需資源巨大的矛盾。目前,主要采取將深度學習模型部署在服務器端,返回服務器計算結果給移動設備[15]和精簡模型,減少深度學習網絡參數(shù)量[11]兩種方法,后者不依賴網絡環(huán)境,實時處理效果較好。因此,本研究采用精簡模型,減少深度學習網絡參數(shù)量的方法,即輕量級別級深層神經網絡進行研究。

本研究結果表明,使用ShuffleNet V2 0.5x網絡可以較為快速有效地對多種作物葉片的病害類型進行分類。在識別過程中,物種的類型和疾病種類的識別準確率比較高,疾病的嚴重程度的識別準確率較低。不同數(shù)據(jù)集對訓練過程稍有影響,可通過數(shù)據(jù)擴充來提高模型訓練的效率。通過對比Leaky ReLU 和ReLU 激活函數(shù)在ShuffleNetV2 模型上的表現(xiàn),發(fā)現(xiàn)采用Leaky ReLU 激活函數(shù)能較好地解決部分落到硬飽和區(qū)的輸入的對應權重無法更新的問題,并稍微提高識別的準確率由原來的85.6%提高到86.5%。

猜你喜歡
農作物準確率病害
土壤污染與農作物
軍事文摘(2024年6期)2024-02-29 10:01:50
高溫干旱持續(xù) 農作物亟須“防護傘”
俄發(fā)現(xiàn)保護農作物新方法
夏季農作物如何防熱害
早春養(yǎng)羊需防六大病害
小麥常見三種病害咋防治
葡萄病害周年防治歷
煙臺果樹(2021年2期)2021-07-21 07:18:28
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
黑水县| 台山市| 阿拉尔市| 郓城县| 温州市| 平谷区| 阿坝县| 垣曲县| 义乌市| 吉首市| 大姚县| 西城区| 扬中市| 绥德县| 法库县| 石台县| 福建省| 抚松县| 北京市| 乳源| 墨竹工卡县| 无极县| 云林县| 日土县| 邵阳县| 兴山县| 青田县| 博野县| 斗六市| 佛冈县| 临颍县| 阿坝| 开封县| 虎林市| 错那县| 铁力市| 电白县| 留坝县| 景泰县| 朝阳市| 涿鹿县|