蔡漢明 隨玉騰 張鎮(zhèn) 曾祥永
摘要 為了滿足現(xiàn)代化、機(jī)械化農(nóng)業(yè)生產(chǎn)的目標(biāo),降低模型的計(jì)算量,使農(nóng)作物病害分類模型更適用于資源受限制的設(shè)備,提出了一種以深度可分離卷積為主的神經(jīng)網(wǎng)絡(luò)模型。利用深度可分離卷積和卷積相結(jié)合的方法取代標(biāo)準(zhǔn)卷積,計(jì)算量可降低至標(biāo)準(zhǔn)卷積的12%左右,并且大大減少網(wǎng)絡(luò)模型的參數(shù)量。通過(guò)進(jìn)一步減少通道數(shù)、改變網(wǎng)絡(luò)輸入圖片大小的等方式,獲得12種參數(shù)量和計(jì)算量不同的模型。結(jié)果顯示,對(duì)含有復(fù)雜背景和光照不均勻的10類農(nóng)作物的27種病害樣本圖片進(jìn)行分類,該研究提出的模型準(zhǔn)確率為98.26%,且參數(shù)量?jī)H904 K。
關(guān)鍵詞 深度可分離卷積;病害識(shí)別;圖像處理;深度學(xué)習(xí)
中圖分類號(hào) S1265;TP126文獻(xiàn)標(biāo)識(shí)碼 A
文章編號(hào) 0517-6611(2019)11-0244-03
doi:10.3969/j.issn.0517-6611.2019.11.070
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Abstract In order to meet the goal of modern and mechanized agricultural production and reduce the computational load of the model,the crop disease classification model is more suitable for equipment with limited resources.A neural network model based on depthwise separable convolution was proposed.By combining depthwise separable convolution with 1×1 convolution,instead of standard convolution,the calculation amount could be reduced by 8~9 times,and the parameters of the network model could be greatly reduced.By further reducing the number of channels and changing the size of network input pictures,12 models with different parameters and computational load were obtained.Results showed that the accuracy of the proposed model was 98.26% and the parameters were only 904 K for the classification of 27 kinds of crop disease samples with complex background and uneven illumination.
Key words Depthwise separable convolution;Disease recognition;Image processing;Deep learning
作者簡(jiǎn)介 蔡漢明( 1960—) ,湖北武漢人,教授,從事計(jì)算機(jī)輔助設(shè)計(jì)與制造研究。*通信作者,碩士研究生,從事計(jì)算機(jī)集成制造研究。
收稿日期 2018-12-26
農(nóng)作物病害會(huì)直接影響其品質(zhì),導(dǎo)致蔬菜減產(chǎn),是種植者經(jīng)濟(jì)損失的主要原因之一。由于病害種類較多,不能及時(shí)確診病害類型,導(dǎo)致農(nóng)作物病害越來(lái)越嚴(yán)重。因此,準(zhǔn)確及時(shí)地確定農(nóng)作物病害類型是治療農(nóng)作病害的關(guān)鍵點(diǎn)。
隨著計(jì)算機(jī)和模式識(shí)別等技術(shù)的發(fā)展,研究人員利用機(jī)器學(xué)習(xí)和圖像處理等方法對(duì)植物葉片疾病識(shí)別進(jìn)行研究。田凱等[1]通過(guò)圖像處理提取茄子葉片上褐紋病病斑特征,構(gòu)建Fisher判別器,對(duì)茄子褐紋病的識(shí)別精度達(dá)到了90%。劉娜等[2]通過(guò)圖像處理和BP神經(jīng)網(wǎng)絡(luò)技術(shù),構(gòu)建了一種黃瓜葉部病害識(shí)別系統(tǒng),對(duì)多種病害的平均識(shí)別精度達(dá)到了94.06%。田有文等[3]通過(guò)提取葡萄葉片病害彩色圖像的紋理特征,提出了一種基于支持向量機(jī)的病害識(shí)別方法,取得比BP神經(jīng)網(wǎng)絡(luò)更好的結(jié)果。杜海順等[4]通過(guò)提取葉片特征和病害特征,將其合并并歸一化,提出了一種雙權(quán)重協(xié)同表示分類方法對(duì)多種農(nóng)作物的多種疾病識(shí)別取得了91.67%的準(zhǔn)確率。但是這種通過(guò)提取葉片特定圖像特征并通過(guò)傳統(tǒng)的分類算法的方式圖片預(yù)處理過(guò)程較復(fù)雜,抗干擾能力、魯棒性較差,處理速度較慢,對(duì)于計(jì)算和存儲(chǔ)資源有限的移動(dòng)設(shè)備沒(méi)有足夠的支持。
近年來(lái),深度學(xué)習(xí)的特征提取和識(shí)別方法取得了較大的進(jìn)步,卷積神經(jīng)網(wǎng)絡(luò)大范圍的應(yīng)用于各種圖像分類[5-6]、目標(biāo)檢測(cè)[7-9]、人臉識(shí)別[10]等任務(wù)中,并在各研究方向中取得優(yōu)異的成績(jī)。
卷積神經(jīng)網(wǎng)絡(luò)也普遍運(yùn)用于農(nóng)作物病害識(shí)別,馬浚誠(chéng)等[11]通過(guò)一種復(fù)合顏色特征與傳統(tǒng)區(qū)域生長(zhǎng)算法結(jié)合,構(gòu)建了一個(gè)基于卷積神將網(wǎng)絡(luò)的黃瓜病害識(shí)別系統(tǒng),對(duì)多種黃瓜葉片疾病的平均識(shí)別精度達(dá)到95.7%。龍滿生等[12]通過(guò)遷移學(xué)習(xí)和數(shù)據(jù)擴(kuò)充的方式,使用AlexNet對(duì)油茶葉片的5種病害識(shí)別準(zhǔn)確率達(dá)到了96.53%。對(duì)PlantVillage 中14 種植物的26 種病害以及部分健康植物的圖像樣本,Mohanty 等[13]使用AlexNet 、GoogLeNet 模型,進(jìn)行分類識(shí)別訓(xùn)練,識(shí)別精度可達(dá)到97.82%和99.35%。孫俊等[14]提出一種改進(jìn)的AlexNet卷積神經(jīng)網(wǎng)絡(luò),在PlantVillage數(shù)據(jù)集上達(dá)到98.32% 的識(shí)別準(zhǔn)確率。
但是一般來(lái)說(shuō)卷積神經(jīng)網(wǎng)絡(luò)模型參數(shù)量大、計(jì)算量大、對(duì)使用設(shè)備要求較高,導(dǎo)致普及性較差。鑒于此,筆者提出一種基于深度可分離卷積[15-16]的神經(jīng)網(wǎng)絡(luò)模型,結(jié)合批次歸一化技術(shù)使其加速收斂、精度提高,得到一種參數(shù)量和計(jì)算量較小、適用于移動(dòng)設(shè)備和資源受限的設(shè)備模型。對(duì)10類農(nóng)作物的27種病害樣本進(jìn)行分類,以期可以應(yīng)用于實(shí)際生產(chǎn)管理中。
1 材料與預(yù)處理
1.1 材料
數(shù)據(jù)集有10個(gè)物種,27種病害,10個(gè)健康分類,共37個(gè)分類。每張圖包含1片或者多片農(nóng)作物的葉子。數(shù)據(jù)集隨機(jī)分為訓(xùn)練集(90%)、測(cè)試集(10%)。其中,訓(xùn)練集有32 739張圖片,測(cè)試集有4 982張圖片。部分訓(xùn)練樣本如圖1所示。圖1中,1~4為蘋(píng)果健康、黑星病、灰斑病、雪松銹病;5~6為櫻桃健康、白粉病;7~11為玉米健康、灰斑病、銹病、葉斑病、花葉病毒;12~15為葡萄健康、黑腐病、輪斑病、褐斑病;16~17為柑橘健康、黃龍病;18~19為桃健康、瘡痂病;20~21為辣椒健康、瘡痂病;22~24為馬鈴薯健康、早疫病、薯晚疫病;25-26為草莓健康、葉枯病;27-37為番茄健康、白粉病、瘡痂病、早疫病、晚疫病菌、葉霉病、斑點(diǎn)病、茄斑枯病、番茄紅蜘蛛損傷、黃化曲葉病毒病、花葉病毒病。
1.2 預(yù)處理
與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)一致,深度可分離卷積神經(jīng)網(wǎng)絡(luò)的輸入圖片不需要對(duì)圖片做復(fù)雜的預(yù)處理操作(病斑分割等)和設(shè)計(jì)特征,只需要輸入原始圖像就可以通過(guò)反向傳播逐層學(xué)習(xí)獲取特征。但是由于圖片樣本數(shù)量有限性,為了提高模型在測(cè)試集上的適應(yīng)性,故需要對(duì)訓(xùn)練集樣本進(jìn)行擴(kuò)充。一般對(duì)圖片的操作有隨機(jī)明亮度、對(duì)比度、飽和度調(diào)整,添加噪聲和模糊。為減少訓(xùn)練輪數(shù),該研究選擇對(duì)訓(xùn)練集樣本進(jìn)行線下擴(kuò)充,對(duì)樣本進(jìn)行4個(gè)角度(0°、90°、180°、270°)的旋轉(zhuǎn),以及各個(gè)方向上的水平和垂直翻轉(zhuǎn),把原始訓(xùn)練數(shù)據(jù)集擴(kuò)充為原來(lái)的8倍,共261 912張訓(xùn)練樣本。
由于數(shù)據(jù)集中圖片大小、寬高比不一致,故將圖片進(jìn)行邊緣填充,用均值像素將其補(bǔ)充為方形,然后縮放至像素的大小存儲(chǔ)在硬盤(pán)中。
2 模型構(gòu)建與訓(xùn)練
一般卷積神經(jīng)網(wǎng)絡(luò)有多層卷積、池化層、激勵(lì)層、全連接層,后接softmax分類器用于分類。與標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類似,該研究構(gòu)建一種以深度可分離卷積和卷積相結(jié)合的神經(jīng)網(wǎng)絡(luò)。
2.1 深度可分離卷積
假設(shè)標(biāo)準(zhǔn)卷積的卷積核大小為Dk×Dk×M×N,對(duì)于標(biāo)準(zhǔn)卷積操作可以認(rèn)為輸入Fin×Fin×M的特征圖,輸出是Fout×Fout×N。其中Fin代表輸入特征圖的大小,F(xiàn)out代表輸出特征圖的大小,M、N分別是輸入和輸出的通道數(shù),Dk是卷積核的大小。所以標(biāo)準(zhǔn)卷積核的計(jì)算量如式1:
使用一個(gè)逐深度卷積和一個(gè)11的卷積組成的深度可分離卷積可以代替?zhèn)鹘y(tǒng)卷積,如圖2所示。對(duì)于Dk×Dk×M的逐深度卷積核,其計(jì)算量如公式2:
可以看出逐深度卷積核非常高效,計(jì)算量較少。但是只對(duì)輸入通道做卷積,并沒(méi)有產(chǎn)生新的特征,所以需要跟隨一個(gè)11卷積,對(duì)輸出通道做線性結(jié)合,產(chǎn)生新的特征。深度可分離卷積的計(jì)算量如式3:
所以,對(duì)于輸入輸出通道數(shù)和卷積核相等的卷積操作計(jì)算量比較公式如下:
由于該模型采用的是深度可分離卷積,所以能降低至標(biāo)準(zhǔn)卷積計(jì)算量的12%左右。
對(duì)于深度可分離卷積的參數(shù)量,計(jì)算方式如下:
對(duì)于標(biāo)準(zhǔn)卷積的參數(shù)量,計(jì)算方式如下:
所以,對(duì)于輸入輸出通道數(shù)和卷積核相等的卷積操作參數(shù)量比較如下:
2.2 網(wǎng)絡(luò)模型
為了簡(jiǎn)化模型描述,定義標(biāo)準(zhǔn)卷積模塊和深度可分離卷積模塊如圖5、6。無(wú)論是卷標(biāo)準(zhǔn)卷積、深度可分離卷積、標(biāo)準(zhǔn)卷積,后面都接批次歸一化層和激勵(lì)層。
采用逐深度可分離的網(wǎng)絡(luò)模型如下:
由于該研究目的是將網(wǎng)絡(luò)模型使用在資源受限制的移動(dòng)設(shè)備上,在保證模型準(zhǔn)確率的前提下降低模型參數(shù)量和模型計(jì)算量是該研究目標(biāo)。由于模型計(jì)算量和模型通道數(shù)量相關(guān),參數(shù)量與輸入圖片尺寸大小相關(guān)。設(shè)計(jì)輸入不同模型如下表:
2.3 模型訓(xùn)練
該試驗(yàn)采用pytorch深度學(xué)習(xí)框架,Windows 7旗艦版64位操作系統(tǒng),CPU為Intel i5-3210m,內(nèi)存8 G。
2.4 模型比較與分析
該研究設(shè)計(jì)的6種模型、經(jīng)典分類網(wǎng)絡(luò)Resnet 18和Alexnet比較結(jié)果見(jiàn)表2??梢钥闯?,準(zhǔn)確率相差不到0.1%的情況下,該研究提出的模型參數(shù)量遠(yuǎn)遠(yuǎn)小于Alexnet和Resnet,推理速度分別是1.77、4.92倍,更適用于資源受限制的設(shè)備。
3 小結(jié)
針對(duì)傳統(tǒng)方法準(zhǔn)確率不高、標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量過(guò)多、計(jì)算量偏大等問(wèn)題,筆者采用深度可分離卷積對(duì)多種植物的多種疾病類型進(jìn)行分類試驗(yàn),并與多種經(jīng)典分類模型進(jìn)行比較,該研究提出的模型參數(shù)量?jī)H為904 K的情況下,測(cè)試集準(zhǔn)確率達(dá)到98.06%。
由此可見(jiàn),深度可分離卷積不僅能對(duì)多種植物的多種疾病有較好的特征提取、分類能力,且模型參數(shù)量和計(jì)算量均大大降低,為降低硬件成本打下了堅(jiān)實(shí)的基礎(chǔ),從而方便后續(xù)植物葉片病害識(shí)別系統(tǒng)的研究與開(kāi)發(fā)。
參考文獻(xiàn)
[1] 田凱,張連寬,熊美東,等.基于葉片病斑特征的茄子褐紋病識(shí)別方法[J].農(nóng)業(yè)工程學(xué)報(bào),2016,32(S1):184-189.
安徽農(nóng)業(yè)科學(xué),J.Anhui Agric.Sci. 2019,47(11):247-248,282