鮑文霞,吳 剛,胡根生,張東彥,黃林生
(安徽大學 農(nóng)業(yè)生態(tài)大數(shù)據(jù)分析與應用技術國家地方聯(lián)合工程研究中心,安徽 合肥 230601)
快速、準確識別農(nóng)作物病害對提高農(nóng)作物的產(chǎn)量及質(zhì)量具有重大意義.為了高效控制蘋果病害,提高蘋果的產(chǎn)量及質(zhì)量,研究人員采用傳統(tǒng)的機器學習方法識別各種類型的蘋果葉片病害.傳統(tǒng)方法需要大量的圖像預處理及分割,工作量大且缺乏靈活性.由于病害區(qū)域的顏色、形狀、紋理等信息復雜,因此很難保證分割的區(qū)域為目標特征區(qū)域,這會導致特征提取的效率及識別的準確率降低.
近年來,卷積神經(jīng)網(wǎng)絡(convolutional neural network, 簡稱CNN)在模式識別領域取得了一定的成績.與傳統(tǒng)方法不同,CNN可自動從原始病害葉片圖像數(shù)據(jù)中提取病斑特征,然后對提取的特征自動進行分類識別.Mohanty等在開源數(shù)據(jù)集PlantVillage的基礎上,使用GoogleNet和AlexNet識別14種農(nóng)作物的26種病害,結果表明參數(shù)微調(diào)后的GoogleNet預訓練模型的病蟲害識別精度最高.孫俊等以PlantVillage數(shù)據(jù)集及病害葉片圖像為研究對象,通過對AlexNet網(wǎng)絡進行改進,得到了較高的識別率.Baranwal等通過具有2層卷積及2全連接層的網(wǎng)絡,能識別蘋果的3種病(黑星病、灰斑病及雪松銹病)害葉片.Geetharamani等定義了1個卷積核大小為3×3的3層卷積,在每層卷積后接一個最大池化層,經(jīng)3層卷積3層最大池化后,再通過2個全連接層進行特征融合,最后送入Softmax進行分類,分類精度高達96.46%.Ferentinos等以復雜背景和簡單背景下的病害葉片圖像為研究對象,使用VGG16,GoogLeNet,AlexNet等網(wǎng)絡模型進行訓練,結果表明VGG16的效果最好.Guan等先按病害嚴重程度對蘋果灰斑病害葉片進行分級,后通過VGG16,VGG19,ResNet50,InceptionV3的預訓練模型進行遷移學習,結果表明遷移學習后的VGG16識別效果最好.
研究表明,深度CNN網(wǎng)絡模型在農(nóng)作物病害葉片識別領域取得了較好的效果.但是,上述網(wǎng)絡模型存在以下問題:①AlexNet,VGG16等網(wǎng)絡模型通過全連接層進行特征融合、參數(shù)優(yōu)化,延長了模型的收斂時間,當訓練樣本數(shù)不足時易導致模型過擬合.②尋找一個合適的網(wǎng)絡層數(shù)需反復實驗、比較,缺乏靈活性,選取的層數(shù)過淺易致欠擬合、過深易致過度擬合.③每層限定了卷積核的大小,不能針對植物病害葉片上病斑的不同尺度自適應調(diào)節(jié)卷積核的大小,降低了特征提取的效率.針對上述問題,該文利用在ImageNet數(shù)據(jù)集上的預訓練模型初始化瓶頸層的參數(shù);在VGG16網(wǎng)絡模型的基礎上,去掉全連接層,在瓶頸層后采用選擇性核(selective kernel,簡稱SK)卷積模塊及全局平均池化,以減少模型的訓練時間、提高識別的準確率.
選取蘋果的健康葉片圖像及蘋果葉片上發(fā)病概率較高的5種病(黑星病、灰斑病、雪松銹病、斑點落葉病和花葉病)害葉片圖像為研究對象,其中健康、黑星病、灰斑病和雪松銹病葉片圖像來自PlantVillage數(shù)據(jù)集,斑點落葉病和花葉病葉片圖像來自Google網(wǎng)站.實驗中所有圖像的像素均為224×224,各類葉片圖像如圖1所示.
(a)為健康葉片;(b)為病害程度一般的黑星病葉片,有少許黑色斑點;(c)為病害程度嚴重的黑星病葉片,有大量黑色斑點;(d)為灰斑病葉片;(e)為病害程度一般的雪松銹病葉片,有少量橘紅色斑點;(f)為病害程度嚴重的雪松銹病葉片,表面接近枯萎,有大量病斑;(g)為斑點落葉病葉片,有褐色小圓點;(h)為花葉病葉片,病斑呈鮮黃色.圖1 各類葉片圖像
通過數(shù)據(jù)增廣,可增加噪聲數(shù)據(jù),提升模型的泛化能力,提高模型的魯棒性.該文首先按4∶1將原始數(shù)據(jù)集劃分為訓練集及測試集,對訓練集中數(shù)據(jù)量小的病害類別進行數(shù)據(jù)增廣,其具體操作有:圖像隨機旋轉(zhuǎn)、裁剪、縮放,圖像鏡像操作、平移變換,圖像亮度、對比度增強等.表1給出了不同類型的訓練集、增廣后的訓練集及測試集圖像數(shù).
表1 不同類型的訓練集、增廣后的訓練集及測試集圖像數(shù)
在植物葉部病害識別領域,VGG16網(wǎng)絡模型通過預訓練模型得到了較好的識別結果.但是,VGG16網(wǎng)絡模型中,一方面,卷積核大小均為3×3,不能自適應調(diào)整其感受野的大??;另一方面,其全連接層復雜的參數(shù)優(yōu)化操作會導致模型過擬合,且增加模型的訓練時間.因此,該文在VGG16網(wǎng)絡模型的基礎上,使用遷移學習的策略,利用預訓練模型初始化瓶頸層參數(shù),且在瓶頸層后接一個SK卷積模塊,重新訓練網(wǎng)絡參數(shù),使網(wǎng)絡能根據(jù)輸入特征圖自適應選擇卷積核,提高多尺度特征提取的水平,提升對葉片微小病斑識別的能力.將全局平均池化代替全連接層,能加快網(wǎng)絡模型的收斂、減少模型參數(shù),解決全連接層因大量參數(shù)優(yōu)化而帶來的過擬合問題.改進后的網(wǎng)絡模型結構如圖2所示,其中藍色矩形框表示卷積和激活操作,黃色矩形框表示池化操作,藍色矩形框及黃色矩形框共同構成網(wǎng)絡的瓶頸層,最右邊長方形的長度表示該類病害出現(xiàn)概率的大小.
圖2 改進后的網(wǎng)絡模型結構
圖3為全連接及全局平均池化示意圖.特征提取后,全連接層產(chǎn)生了大量的參數(shù),這些參數(shù)的優(yōu)化會加大模型的復雜度、延長模型的收斂時間、導致過擬合.通過采用全局平均池化,不僅可以解決全連接層中過多參數(shù)優(yōu)化導致的模型收斂速度較慢的問題,而且可以增強網(wǎng)絡的抗過擬合能力.通過特征圖像素的平均值得到1維特征向量,此過程沒有涉及參數(shù)的優(yōu)化,因此防止了過擬合.
圖3 全連接(左)及全局平均池化(右)示意圖
傳統(tǒng)CNN大多在每一特征層上設置相同大小的卷積核.盡管GoogleNet在同一層采用多個卷積核,但并不能根據(jù)輸入特征圖的大小自適應調(diào)整卷積核,影響了特征提取的效率.采用SKNet中的SK卷積,能讓網(wǎng)絡根據(jù)輸入特征圖自適應選擇大小適當?shù)木矸e核,從而提高特征提取的效率.SK卷積由分離、融合、選擇3部分構成.
(1) 分離.分離操作中,利用多個卷積核對輸入特征向量進行卷積,形成多個分支.對分別進行大小為3×3和5×5的卷積操作,得到′∈R
××和″∈R
××兩個特征向量.圖4為 SKNet中的SK卷積示意圖.⊕表示元素相加;?表示元素相乘.圖4 SKNet中的SK卷積示意圖
(2) 融合.設計門控機制,以分配流入下一個卷積層的信息流.在融合過程中,將前面卷積得到的′和″做如下式所示的像素融合=′+″.(1)
對融合后的,通過全局平均池化壓縮全局信息.圖4中s
的第c
維度特征s
,可由的第c
維度特征經(jīng)全局平均池化后得到,如下式所示(2)
全局平均池化后,將得到的特征送入全連接層處理,進一步壓縮特征,以降低特征維度及提高特征的提取效率.壓縮后的特征為
z
=δ
(Β(w
)),(3)
其中:δ
為函數(shù)ReLU;B表示批量歸一化;z
∈R
×1,w
∈R
×,通過設置衰減比r
確定參數(shù)d
的大小,其表達式為d
=max(C
/r
,L
),(4)
其中:L
的大小一般取32.(3) 選擇.在Softmax操作后,通過注意力機制,得到a
,b
軟注意力向量為(5)
其中:,∈R
×,表示的第c
行,a
為a
的第c
個元素;及b
同理.通過對應的權重矩陣及卷積核加權求和,得到輸出特征為
=[,,…,],(6)
其中:∈R
×,=a
′+b
″,a
+b
=1.實驗采用TensorFlow深度學習框架,其硬件及軟件配置如表2所示.
表2 硬件及軟件配置
n
設為3,基數(shù)L
設為32.從特征圖中,可更直觀看到每層的特征.圖5給出了蘋果灰斑病圖像及其特征圖,為方便可視化,只列出25個通道特征圖.
(a)為原圖;(b),( c), (d), (e)分別為原圖經(jīng)圖2中Conv1_1, Conv3_1, Conv5_1, Pool5操作后得到的特征圖.圖5 蘋果灰斑病圖像及其特征圖
為了驗證筆者所提網(wǎng)絡模型對蘋果葉部病害識別的性能,需要比較同一條件下不同網(wǎng)絡模型的識別準確率、訓練時間.識別準確率的表達式為
(7)
其中:TP表示第i
種病害(包括健康葉片)分類正確數(shù),F(xiàn)P表示第i
種病害(包括健康葉片)分類錯誤數(shù),N
為病害總數(shù).表3展示了增廣后的訓練集圖像經(jīng)不同網(wǎng)絡模型訓練后的識別準確率、生成的模型大小及訓練時間.
表3 不同網(wǎng)絡模型性能對比
由表3可知,不同CNN模型的識別準確率、訓練時間以及模型大小存在較大差異.淺層模型AlexNet準確率只有91.53%,深層模型VGG16,VGG19,ResNet50的準確率分別達到了93.80%,93.50%,93.65%,這得益于遷移學習的運用.通過加載預訓練模型參數(shù),充分學習到了蘋果葉部病斑的特征,解決了由于訓練樣本不足而帶來的過擬合問題.該文模型的準確率達到了94.70%,這是因為在VGG16模型的特征輸出層采用了SK卷積模塊,提升了模型的多尺度特征提取能力.AlexNet,VGG16,VGG19生成的模型較大,而該文模型生成的模型大小只有70.2 MB,節(jié)省了計算成本.
圖6展示了不同網(wǎng)絡模型經(jīng)過不同訓練輪數(shù)后的識別準確率.從圖6中可以看出,與其他模型相比,該文模型收斂最快.這是因為全連接層的大量參數(shù)優(yōu)化耗時較長,而全局平均池化無繁雜的參數(shù)優(yōu)化操作,加快了模型的收斂速度.
圖6 不同網(wǎng)絡模型經(jīng)過不同訓練輪數(shù)后的識別準確率
蘋果病害初期葉片病斑相對較小,使用傳統(tǒng)CNN不易準確識別.筆者在傳統(tǒng)VGG16網(wǎng)絡模型的基礎上,提出了一個改進的網(wǎng)絡模型,使用預訓練模型初始化瓶頸層參數(shù),采用SK卷積塊及全局平均池化.該模型提高了識別微小病斑的能力,提升了葉部病害識別的準確率,加快了網(wǎng)絡模型的收斂速度,降低了時間開銷.