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

?

基于輕量化網(wǎng)絡(luò)MobileNetV2的玉米病害識別研究

2022-08-01 04:02:06葉名煬張杰強
現(xiàn)代計算機 2022年11期
關(guān)鍵詞:殘差準(zhǔn)確率卷積

葉名煬,張杰強

(華南農(nóng)業(yè)大學(xué)電子工程學(xué)院(人工智能學(xué)院),廣州 510642)

0 引言

玉米營養(yǎng)豐富、有益健康,深受百姓喜愛,其在我國種植非常廣泛,是許多農(nóng)民夏秋季的主要經(jīng)濟來源,同時是畜牧業(yè)、養(yǎng)殖業(yè)、水產(chǎn)養(yǎng)殖業(yè)等的重要飼料來源,也是食品、醫(yī)療衛(wèi)生、輕工業(yè)、化工業(yè)等不可或缺的原料之一,在我國糧食生產(chǎn)中占有一席之地。玉米在種植過程中容易受多方面負(fù)面因素的影響,其中病害是影響生產(chǎn)的主要災(zāi)害,患病的玉米產(chǎn)量大幅下降、口感不好,主要病害有大斑病、小斑病、銹病、灰斑病等。

隨著計算機技術(shù)的日益成熟和廣為應(yīng)用,人工智能(AI)不斷升溫,受到越來越多研究人員的關(guān)注。其中深度學(xué)習(xí)在近20 年的時間里得到快速發(fā)展,被廣泛應(yīng)用于圖像處理、語音識別、自然語言處理等研究方向。在圖像處理領(lǐng)域,常用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來處理圖像分類、目標(biāo)檢測、圖像分割等問題,Krizhevsky 等發(fā)明的AlexNet網(wǎng)絡(luò)結(jié)構(gòu)在2012年的ImageNet競賽中以16.4%的錯誤率脫穎而出,比第二名的傳統(tǒng)算法低了近10 個百分點,此后又誕生了諸如VGGNet、GoogLeNet、ResNet 等 層 數(shù) 更 深、識別率更高的網(wǎng)絡(luò)。

采用卷積神經(jīng)網(wǎng)絡(luò)提取特征的做法也已經(jīng)成為農(nóng)作物病害識別的主流趨勢。李靜等提出了一種基于改進GoogLeNet卷積神經(jīng)網(wǎng)絡(luò)模型的玉米螟蟲害圖像識別方法,平均識別率達到96.44%;王佳盛等基于AlexNet 構(gòu)建全卷積神經(jīng)網(wǎng)絡(luò)模型用于提取荔枝表皮缺陷,模型表現(xiàn)優(yōu)于常規(guī)算法;陸健強等提出一種基于Mixup算法和卷積神經(jīng)網(wǎng)絡(luò)的柑橘黃龍病果實識別模型,模型優(yōu)化后準(zhǔn)確率達到94.29%。對于農(nóng)作物病害識別,模型在實際應(yīng)用的過程中通常不在電腦端上運行,而是在移動端設(shè)備上運行,這樣更方便從業(yè)人員取樣識別。因此農(nóng)作物病害識別模型應(yīng)具有體積小、參數(shù)量少、運行速度快的特點。本研究通過開源項目獲取玉米病害的數(shù)據(jù)集,并基于輕量化網(wǎng)絡(luò)MobileNetV2(https://arxiv.org/abs/1801.04381)構(gòu)建了一個四類識別器,可以實時識別病害的類別。

1 網(wǎng)絡(luò)特點

1.1 深度可分離卷積

深度可分離卷積(如圖1 所示)是MobileNet系列網(wǎng)絡(luò)的一大亮點,它可以拆解為單通道卷積和逐點卷積。對于傳統(tǒng)卷積而言,輸入的圖像要和每一個卷積核進行卷積運算,輸出圖像有多少個通道取決于前面有多少個卷積核,單通道卷積中,每個卷積核僅負(fù)責(zé)輸入圖像的一個通道,輸出圖像的通道數(shù)與輸入的圖像是保持一致的。逐點卷積和傳統(tǒng)卷積的運算沒有本質(zhì)差別,只是采用了1×1的卷積核,常用于特征矩陣的升維和降維操作。

圖1 深度可分離卷積

假設(shè)輸入圖像的width 和height 均為D、通道數(shù)為,所采用卷積核的width 和height 均為D,輸出圖像的通道數(shù)為,對傳統(tǒng)卷積,計算量為:

對深度可分離卷積,由于采用了單通道卷積和逐點卷積兩種操作,計算量為:

兩者進行對比:

若采用3 × 3 卷積核,即D= 3,可知在得到相同尺寸輸出的情況下,采用單通道卷積和逐點卷積結(jié)合的方式相比傳統(tǒng)卷積節(jié)省了大約9 倍的計算量。借助這種可分解的卷積操作,雖然層數(shù)變多了,但速度也有所提升,這使得MobileNet成為一種輕量級的卷積神經(jīng)網(wǎng)絡(luò)。

1.2 倒殘差結(jié)構(gòu)

在resnet 網(wǎng)絡(luò)所采用的殘差結(jié)構(gòu)中,先用1 × 1 的卷積核對輸入矩陣進行降維,再提取特征,最后用1 × 1 的卷積核對輸入矩陣進行升維。MobileNetV2 所采用的倒殘差結(jié)構(gòu)則與之相反,先升維,提取特征,最后再降維,考慮到維度的變化像一個瓶頸,因此也叫瓶頸結(jié)構(gòu)。如圖2 所示。倒殘差結(jié)構(gòu)使用ReLU6 激活函數(shù),可以有效避免特征信息的大量損失。值得注意的是,當(dāng)輸入與輸出shape 相同且步距(Stride)為1時,輸入與輸出有一條殘差邊相連,將輸入與輸出直接進行相加,這種結(jié)構(gòu)可以使得網(wǎng)絡(luò)在較深的時候依舊可以進行訓(xùn)練。

圖2 MobileNetV2的倒殘差結(jié)構(gòu)

1.3 整體結(jié)構(gòu)

如圖3 所示,MobileNetV2 網(wǎng)絡(luò)由卷積層、池化層以及一系列瓶頸結(jié)構(gòu)(bottleneck)所構(gòu)成。代表擴展因子(bottleneck 中通道擴展的倍數(shù)),代表輸出通道數(shù),是bottleneck 的迭代次數(shù),是步距,是分類數(shù)。Conv2d 就是普通的標(biāo)準(zhǔn)卷積操作,avgpool 表示全局平均池化,以這種方式代替1280 個神經(jīng)元的連接層,可以有效防止過擬合。

圖3 MobileNetV2整體結(jié)構(gòu)

2 數(shù)據(jù)準(zhǔn)備與處理

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

本實驗使用由數(shù)據(jù)科學(xué)競賽網(wǎng)站Kaggle 提供的New Plant Diseases Dataset,共計9145 張圖片。數(shù)據(jù)集包含正常玉米、銹病、大斑病、灰斑病四種類別,訓(xùn)練集與測試集數(shù)量之比約為8 ∶2。具體圖片數(shù)量見表1。

表1 數(shù)據(jù)集概述

圖4 玉米病害樣本

2.2 預(yù)處理

所有圖片統(tǒng)一裁剪成224×224的大小,由于識別病害需要考慮到顏色,因此不對圖像進行二值化處理,僅對RGB 分量作歸一化處理,即將0-255 之間的數(shù)字統(tǒng)一處理到0 到1 之間,如此可以加速卷積神經(jīng)網(wǎng)絡(luò)的運算。由于數(shù)據(jù)集的上傳者已對圖片進行過隨機旋轉(zhuǎn)角度、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)等數(shù)據(jù)增強操作,本實驗不需要進行額外的增強處理。

3 實驗環(huán)境

3.1 TensorFlow框架

TensorFlow 是一個基于數(shù)據(jù)流編程的符號數(shù)學(xué)系統(tǒng),也是目前深度學(xué)習(xí)領(lǐng)域主流的開發(fā)平臺,深受眾多用戶青睞。其具有優(yōu)秀的構(gòu)架設(shè)計,通過“張量流”進行數(shù)據(jù)傳遞和計算,用戶可以很容易地、可視化地看到張量流動的每一個環(huán)節(jié),可輕松地在CPU/GPU 上部署,進行分布式計算,為大數(shù)據(jù)分析提供計算能力的支撐;另外,TensorFlow 跨平臺性好,靈活性強,不僅可以在Linux、Mac 和Windows 系統(tǒng)中工作,甚至還可安裝在移動終端。

3.2 運行環(huán)境

運行環(huán)境見表2。

表2 運行環(huán)境

4 模型訓(xùn)練

本實驗采用MobileNetV2 網(wǎng)絡(luò)對7316 份訓(xùn)練樣本提取特征并完成分類任務(wù)。作為對照,用經(jīng)典CNN 模型LeNet處理同樣的數(shù)據(jù)集,方便說明效果。訓(xùn)練時每進行完一個epoch 便保存當(dāng)前狀態(tài)下的準(zhǔn)確率以及損失值,為的是之后用可視化的手段觀察模型是否收斂,只有收斂狀態(tài)下得出的結(jié)論才具有參考價值。

為了加快網(wǎng)絡(luò)的收斂,MobileNetV2 的初始化使用遷移學(xué)習(xí)的方式,加載預(yù)先在ImageNet數(shù)據(jù)集上訓(xùn)練好的權(quán)重,固定模型的主干參數(shù),訓(xùn)練過程中不再更新這部分參數(shù),僅訓(xùn)練最后的全連接層(Fully Connected Network)。池化方式為全局平均池化,優(yōu)化器為自適應(yīng)矩估計優(yōu)化器,初始化learning rate 為0.001,損失函數(shù)為交叉熵?fù)p失函數(shù)(categorical crossentropy),每批次處理量為16,訓(xùn)練輪數(shù)30個epoch。

LeNet 是最早的CNN 模型之一,起初用于識別手寫數(shù)字,它由3 層卷積層、2 層池化層、1 層全連接層、1 層輸出層構(gòu)成,卷積層的激活函數(shù)為Relu,池化層為最大池化(max pool?ing),優(yōu)化器為SGD 優(yōu)化器(Stochastic Gradient Descent),損失函數(shù)為交叉熵?fù)p失函數(shù),同樣訓(xùn)練30 個epoch。

5 結(jié)果分析

圖5的折線圖展示了MobileNetV2 的訓(xùn)練過程,training accuracy 為訓(xùn)練集的準(zhǔn)確率,valida?tion accuracy 為驗證集準(zhǔn)確率,training loss 為訓(xùn)練集代價函數(shù),validation loss 為驗證集代價函數(shù),折線的走向可以反映各個參數(shù)的收斂、飽和等趨勢。能夠看出,隨著訓(xùn)練輪數(shù)從0 到30逐漸增加,training accuracy 呈上升趨勢,20 輪以后接近100%。而對validation accuracy 而言,前期上升在小范圍內(nèi)有震蕩,但在第15個epoch之后準(zhǔn)確率在96%~97%之間上下波動。從代價函數(shù)折線圖可以看出,由于采用了遷移學(xué)習(xí)的方式,代價函數(shù)收斂較快,曲線的變化也比較平穩(wěn)。

圖5 MobileNet測試結(jié)果

圖6為采用LeNet 的結(jié)果,同樣隨著訓(xùn)練輪數(shù)的增加,training accuracy 總體是上升的,但是由于所有參數(shù)從頭開始訓(xùn)練,準(zhǔn)確率在第15 個epoch 之前波動較大,最后在95%附近上下波動。交叉熵?fù)p失最后為0.2 左右,略高于MobileNet的對應(yīng)值。

圖6 LeNet測試結(jié)果

結(jié)合表3對比可以得出,采用了倒殘差結(jié)構(gòu)的MobileNetV2 網(wǎng)絡(luò)在層數(shù)較深的情況下仍然保證了較高的準(zhǔn)確率,且略微高于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)LeNet。得益于深度可分離卷積的操作,Mobile?NetV2模型的參數(shù)量僅為后者的十分之一,模型大小只有8.95 MB,非常適合在手機等移動設(shè)備上運行,不需要占用太多計算資源。

表3 網(wǎng)絡(luò)對比

6 結(jié)語

本文分析了MobileNetV2 網(wǎng)絡(luò)在識別農(nóng)作物病害上的優(yōu)勢,并在TensorFlow 平臺上搭建了MobileNetV2 和LeNet 兩個網(wǎng)絡(luò),用于識別Kaggle 上的玉米病害數(shù)據(jù)集。結(jié)果表明,Mo?bileNetV2 以更少的參數(shù)量和更高的準(zhǔn)確率完成了分類任務(wù),該輕量化網(wǎng)絡(luò)亦可應(yīng)用于其他農(nóng)作物的病害識別,具有一定現(xiàn)實意義。

猜你喜歡
殘差準(zhǔn)確率卷積
基于雙向GRU與殘差擬合的車輛跟馳建模
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗分析
基于殘差學(xué)習(xí)的自適應(yīng)無人機目標(biāo)跟蹤算法
基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
高速公路車牌識別標(biāo)識站準(zhǔn)確率驗證法
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
昭觉县| 东乡族自治县| 和林格尔县| 蓝田县| 临洮县| 武胜县| 铜梁县| 阿巴嘎旗| 青河县| 建阳市| 镇康县| 稷山县| 赣州市| 荆门市| 夹江县| 甘谷县| 民县| 广饶县| 广昌县| 平南县| 菏泽市| 微山县| 诸暨市| 繁峙县| 微博| 福海县| 清丰县| 静安区| 景谷| 河南省| 垣曲县| 麻城市| 朝阳区| 樟树市| 裕民县| 七台河市| 阿合奇县| 望奎县| 锡林浩特市| 凤台县| 辽源市|