游梓童,吳福明,趙 淼,業(yè) 寧
(南京林業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210037)
為了更有針對性地保護植物,對植物種類進行有效地自動分類越來越受到人們的關(guān)注. 植物的不同器官均可作為識別分類的依據(jù). 由于植物的花朵、果實、種子都是三維形狀的,且同一植物在不同生長階段以及不同季節(jié)均會呈現(xiàn)出一定的差異性,在生長非成熟期內(nèi)不易收集到樣本,因而識別起來較為復(fù)雜. 相較而言,植物葉片基本上處于平面狀態(tài),適合于進行二維圖像處理,且不同植物的葉型、葉片紋理、顏色等特性在各自生長環(huán)境中會產(chǎn)生較大差異[1],因此可以通過葉片形狀對不同種類的葉片進行分類識別[2].
近年來,植物葉片分類已成為計算機視覺領(lǐng)域的研究熱點. 國內(nèi)外絕大多數(shù)的植物葉片圖像識別分類任務(wù)以理想情況下的單獨葉片為研究對象,對于在自然狀態(tài)下獲得的復(fù)雜背景下的植物葉片分類研究相對較少. 田詩晨等[3]采用集成學(xué)習(xí)方法,將概念神經(jīng)網(wǎng)絡(luò)(PNN)作為弱分類器對葉片數(shù)據(jù)進行分類. 孫麗萍等[4]提出用改進的局部三值特征(LTP)與梯度方向直方圖(HOG)特征進行紋理特征融合,并使用DBN網(wǎng)絡(luò)[5]作為分類器進行樹木葉片分類識別. Alessandrini等[6]采用卷積神經(jīng)網(wǎng)絡(luò)對健康葉片與病害葉片進行了二分類研究. Song等[7]使用近紅外反射光譜(NIRS)對茶葉特征進行提取,并結(jié)合計算機視覺(CVS)對茶葉進行分類評估. Nandhini等[8]提出了一種改進的帝王蝶優(yōu)化算法對VGG16和Inception V3網(wǎng)絡(luò)進行優(yōu)化,對4種病理番茄葉片進行分類,達到了較高的分類精度. Akter等[9]使用三層卷積神經(jīng)網(wǎng)絡(luò)提取了10種醫(yī)用葉片的特征,對其進行分類. El-Maged等[10]使用高斯優(yōu)化算法對卷積神經(jīng)網(wǎng)絡(luò)(CNN)中的超參數(shù)進行優(yōu)化. Kheirkhah等[11]通過主成分分析(PCA)算法選擇出葉片主要特征對植物葉片進行分類. 張帥等[12]將卷積神經(jīng)網(wǎng)絡(luò)(CNN)與支持向量機(SVM)、SoftMax分類器結(jié)合進行訓(xùn)練,對單一背景下的葉片的分類精度可達91.11%,但對復(fù)雜背景下的葉片圖像的識別率僅有34.38%. 絕大部分現(xiàn)有研究只對單一背景下的葉片有良好的分類效果,但在自然狀態(tài)下進行植物葉片采集工作所獲得的葉片背景大多較為復(fù)雜,利用傳統(tǒng)的圖像識別方法識別植物葉片圖像存在特征難以設(shè)計和提取、識別準確率較低等不足.
本文提出一種改進的基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜背景下的葉片分類策略,通過對從中國植物圖像庫(Plant Photo Bank of China,PPBC)中獲取的數(shù)據(jù)集添加高斯噪聲、平滑和增擴數(shù)據(jù)集,增強數(shù)據(jù)的可操作性;而后采用一種抽取多個卷積層進行下采樣處理,將其組織為高階信息增強模塊的方法,使用融合級聯(lián)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)模型對植物葉片圖像進行多感受野特征提取,最終分類準確率達到87.2%. 與現(xiàn)有傳統(tǒng)卷積網(wǎng)絡(luò)對比可知,該模型針對復(fù)雜背景下的植物葉片圖像分類任務(wù)具有可行性與高分類準確率.
卷積神經(jīng)網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型,能夠隱式地從數(shù)據(jù)中不斷學(xué)習(xí)并提取深度特征信息,在計算機視覺、圖像識別等領(lǐng)域具有很強的泛化能力[13]. 卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中至少有一個卷積層用于特征提取,且卷積層級之間的神經(jīng)元具有局部連接和權(quán)值共享的特性,以減少訓(xùn)練計算量,提升模型的訓(xùn)練速度.
卷積神經(jīng)網(wǎng)絡(luò)的核心為卷積運算,包含卷積層可提取圖像的局部特征. 卷積層的核心為卷積核,當前層的特征圖經(jīng)卷積核處理之后,經(jīng)激勵函數(shù)可得到下一層的特征圖. 卷積運算的過程可描述為:
(1)
非線性激活函數(shù)用于將非線性特征引入網(wǎng)絡(luò)中,以提高神經(jīng)網(wǎng)絡(luò)對模型的表達能力. 常見的激活函數(shù)有Sigmoid函數(shù)、tanh函數(shù)、ReLU函數(shù)等,其中ReLU函數(shù)的收斂速度遠大于Sigmoid函數(shù)和tanh函數(shù). ReLU函數(shù)的表達式為:
ReLU(x)=max(0,x).
(2)
在卷積層之后的池化層用于對當前卷積層輸出的激活數(shù)據(jù)進行降維處理,在一定程度上減少神經(jīng)網(wǎng)絡(luò)的計算量,擴大感知野,維持激活數(shù)據(jù)特征尺寸的局部不變性,同時提高模型的容錯性. 池化方法按池化窗口輸出值分為最大值池化和平均池化兩種.
特征矩陣經(jīng)卷積層與池化層多次交替連接后與全連接層相連. 全連接層用于對提取的特征矩陣進一步降維處理,最后將特征矩陣輸入SoftMax分類器中進行分類標注.
神經(jīng)元感受野表示的是網(wǎng)絡(luò)內(nèi)部不同位置的神經(jīng)元對原圖像的感受范圍的大小[14]. 低層卷積層的感受野較大,表示其接收到的原始圖像的范圍越大,語義信息表達能力越強(如植物葉片所在方位、清晰度、背景亮度等),但經(jīng)卷積之后的特征圖分辨率較低,幾何信息的表達能力較弱;相反,高層卷積層的感受野較小,其提取到的特征更為細致,幾何信息[15]表達能力較強(如植物葉片的形狀輪廓特征、紋理特征等),但語義信息表達能力較弱.
神經(jīng)元感受野的大小與當前層(第k層)卷積核的大小及步長有關(guān),也與第k+1層感受野的大小有關(guān).感受野采用從最高層(靠近輸出層)卷積層依次低層計算,通過公式可逐層計算卷積層感受野的大小:
F(i)=(F(i+1)-1)×Stridei+Ksizei,
(3)
式中,F(i)為第i層卷積層的感受野大小;F(i+1)為第i+1層卷積層的感受野大小;Stridei為卷積運算的步長;Ksizei為當前層卷積核的大小.
由于復(fù)雜背景下的植物葉片圖像背景極易覆蓋葉片的特征信息,會對植物葉片特征提取工作造成干擾.因此,如何充分利用現(xiàn)有信息使網(wǎng)絡(luò)學(xué)習(xí)到植物葉片特征之間的相關(guān)性尤為重要[16].復(fù)雜背景下的植物葉片圖像中葉片區(qū)域占總圖像區(qū)域比例不同,這將導(dǎo)致圖片中葉片所占像素區(qū)域大的更偏好帶有更大感受野的卷積核,所占像素區(qū)域越小的越偏好帶有更小感受野的卷積核[17],故在卷積神經(jīng)網(wǎng)絡(luò)中不同卷積層所提取的局部特征也各不相同.對于植物葉片而言,其形狀特征、紋理特征、顏色特征均可用作分類的特性依據(jù)[18].
本文提出一種高階信息增強模塊,以充分提取葉片的形狀、紋理和顏色等特征.
高階信息增強模塊通過對卷積神經(jīng)網(wǎng)絡(luò)處理過程中的不同階段卷積層提取的葉片形狀、紋理和顏色特征等多特征進行矩陣元素級相加,防止卷積神經(jīng)網(wǎng)絡(luò)向前卷積過程中丟失信息.通過對低層卷積層和高層卷積層進行一階、二階和三階信息增強實現(xiàn)對復(fù)雜背景植物葉片特征的充分提取.實驗驗證了一階、二階和三階信息增強均不同程度地增強了卷積神經(jīng)網(wǎng)絡(luò)對復(fù)雜背景植物葉片的特征表達能力.因此,本文將以上3種信息增強部分統(tǒng)稱為高階信息增強模塊.
在卷積神經(jīng)網(wǎng)絡(luò)向前卷積過程中,高階信息增強模塊抽取卷積層對低層特征圖通過卷積進行下采樣,將卷積神經(jīng)網(wǎng)絡(luò)中高分辨率低語義信息的低層特征圖與低分辨率高語義信息的高層特征圖進行融合,將融合后的多特征作為高階信息增強模塊的特征,融合后的特征圖包含了在卷積神經(jīng)網(wǎng)絡(luò)的傳播中可能會丟失的低層細節(jié)信息,增強了高階卷積層所獲取的復(fù)雜背景下的植物葉片信息,使感受野更豐富,以提高特征的表達能力與特征的可區(qū)分性.
高階信息增強模塊對卷積神經(jīng)網(wǎng)絡(luò)中部分卷積層進行特征相加,通道數(shù)保持不變.將每層池化層之前的卷積層進行下采樣,通過計算將卷積層下采樣后得到的特征圖與最后一層池化層前的卷積層得到的特征圖尺寸及通道數(shù)調(diào)整一致.如圖1所示,設(shè)需要下采樣處理的卷積層的特征圖為Xi,Xi∈RVGG16,尺寸為[h,w,c],高階信息增強模塊中最后一層卷積層特征圖尺寸為Xi[h′,w′,c′].通過確定下采樣參數(shù),并改變通道數(shù),將高階信息增強模塊中經(jīng)下采樣獲得的各個卷積層特征圖的尺寸調(diào)整為X′i[h(2),w(2),c(2)],將各個卷積層獲得的特征圖矩陣元素級相加即構(gòu)成高階信息增強模塊.
圖1 高階信息增強模塊的形成過程
需要注意的是,高階信息增強模塊經(jīng)下采樣后的卷積層特征圖尺寸應(yīng)與最后一層卷積層特征圖尺寸保持一致,即:h′=h(2),w′=w(2),c′=c(2).
2.2 高階信息增強參數(shù)的確定
依照高階信息增強模塊中最后一個卷積層所得特征圖的尺寸,對每層池化層之前的卷積層進行下采樣,通過卷積運算將每層池化層之前的卷積層所得特征圖的尺寸與最后一個卷積層所得特征圖的尺寸保持一致,此時卷積運算中卷積核的大小為:
(4)
式中,convsize為卷積核的大小;convi為不同卷積層特征圖的尺寸,i為不同卷積層的層序號;convlast為最后一層池化層前的卷積層特征圖的尺寸.
以VGG16為例,最后一層池化層前的卷積層特征圖尺寸為14×14,其計算下采樣過程所采用的卷積核大小參數(shù)如表1所示.
表1 下采樣過程所采用的卷積核大小參數(shù)
為了更好地提取植物葉片圖像中來自低層卷積層和高層卷積層的特征信息,本文對卷積神經(jīng)網(wǎng)絡(luò)模型進行改進,使用融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)對復(fù)雜背景下的植物葉片圖像特征進行提取. 圖2為模型結(jié)構(gòu)流程圖,由于全連接層不具備特征提取能力,故只對部分卷積層進行特征相加. 將從卷積層獲得的特征信息分別通過下采樣處理輸送至特征提取路徑,下采樣過程需通過計算將卷積層下采樣后得到的特征圖與最后一層池化層前的卷積層得到的特征圖尺寸調(diào)整一致. 然后將卷積層下采樣后得到的特征圖送至高階信息增強模塊進行特征整合,通過矩陣元素級相加,獲得不同神經(jīng)元感受野下的特征圖. 將從高階信息增強模塊中獲取的信息輸送至全連接層對特征空間進行降維,最后結(jié)合Softmax分類器對植物葉片圖像進行分類.
圖2 融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)
針對本文數(shù)據(jù)集背景較為復(fù)雜、特征不易提取等特性,使用融合高階信息增強模塊的VGG16模型對數(shù)據(jù)集進行訓(xùn)練,通過高階信息增強模塊對植物葉片圖像來自低層卷積層和高層卷積層的特征進行整合,融合高階信息增強模塊后的VGG16模型結(jié)構(gòu)如圖3所示.
圖3 融合高階信息增強模塊的VGG16模型
融合高階信息增強模塊結(jié)構(gòu)的VGG16模型:采用224×224×3尺寸的植物葉片圖像作為輸入,首先通過兩層卷積(卷積核數(shù)量為64,核尺寸為3×3,步長為1)將原始圖像的通道數(shù)變?yōu)?4,高、寬不變,保留VGG16第二個卷積層的結(jié)果,尺寸為224×224×64,命名為layer_1;繼續(xù)使用卷積層對layer_2的特征圖下采樣,得到layer_4,對應(yīng)尺寸為112×112×128;同理按照VGG16原始模型繼續(xù)下采樣,分別取出第7、10、13卷積層結(jié)果,命名為layer_7、layer_10、layer_13,對應(yīng)尺寸為(56×56×256)、(28×28×512)、(14×14×512).
一階信息增強模塊:取出layer_2,使用Kernel_size=(2,2),Strides=2的卷積核對layer_2下采樣,再使用數(shù)量為128、卷積核尺寸為1×1、步長為1的卷積層對下采樣結(jié)果平滑處理,增加特征圖的channel,得到的結(jié)果與layer_4相加,命名為level_1_node_1;繼續(xù)對level_1_node_1使用最大池化下采樣與平滑操作,得到的結(jié)果與layer_7相加,命名為level_1_node_2;同理得到level_1_node_3.
二階信息增強模塊:使用Kernel_size=(2,2),Strides=2的卷積核對level_1_node_1下采樣,之后平滑操作,與level_1_node_2相加,結(jié)果命名為level_2_node_1;重復(fù)對level_2_node_1進行相同操作,得到level_2_node_2.
三階信息增強模塊:使用Kernel_size=(2,2),Strides=2的卷積核對level_2_node_2下采樣并平滑操作,然后與level_1_node_2相加,結(jié)果命名為level_3_node_1.
信息融合模塊:調(diào)整level_1_node_3、level_2_node_2、level_3_node_1特征圖尺寸與channel數(shù)量,使得與layer_13一致,之后對三維矩陣加和,結(jié)果傳入全連接層后續(xù)進行Softmax處理.
3.1.1 植物葉片數(shù)據(jù)集的來源
本文數(shù)據(jù)集來自中國科學(xué)院植物研究所植物標本館設(shè)立的專職植物圖片管理機構(gòu)-中國植物圖像庫(Plant Photo Bank of China,PPBC). PPBC的植物圖片由全國各地植物愛好者和科研人員拍照上傳,相比于大部分研究直接使用的單一或空白背景的植物圖像,來自PPBC的植物葉片圖像受拍攝地、拍攝季節(jié)、拍攝角度等各種因素的影響,背景多變,因而在圖像分類過程中更具挑戰(zhàn)性.
本研究從PPBC中收集關(guān)鍵詞為“綠蘿”(Epipremnumaureum)、“冰川茶藨子”(Ribesglaciale)、“側(cè)柏”(Platycladusorientalis)、“鵝掌楸”(Liriodendronchinense)、“福祿桐”(Polysciasguilfoylei)等9種植物圖像,每種植物挑選約300張圖像,構(gòu)建2 700張初始植物葉片數(shù)據(jù)集.
3.1.2 數(shù)據(jù)集的優(yōu)化與劃分
由于初始植物數(shù)據(jù)集來自PPBC中差異較大的數(shù)據(jù)源,可能出現(xiàn)樣本尺寸不一致、樣本重復(fù)等問題,從而影響深度學(xué)習(xí)模型的執(zhí)行效率. 為了解決該問題,本文通過以下方法提高數(shù)據(jù)置信度:
首先,對來自PPBC的植物葉片圖像進行清洗,剔除清晰度較差的圖片,減小低質(zhì)量數(shù)據(jù)對模型訓(xùn)練的影響. 在剔除不規(guī)范樣本之后,得到每類約200張圖片組成植物葉片數(shù)據(jù)集,命名為PLD數(shù)據(jù)集.
其次,對數(shù)據(jù)集進行歸一化處理,將所有植物葉片圖像尺寸調(diào)整為448×448像素;再將樣本尺寸統(tǒng)一壓縮為224×224以提高訓(xùn)練速度. 對植物葉片圖像添加高斯噪聲,達到對植物葉片圖像進行合理地近似仿真效果,增強模型的學(xué)習(xí)能力,提高模型魯棒性.
豐富的數(shù)據(jù)集有助于挖掘數(shù)據(jù)價值[19],實現(xiàn)更好的訓(xùn)練效果;當訓(xùn)練數(shù)據(jù)不足時,模型從原始數(shù)據(jù)中所獲信息較少,易產(chǎn)生過擬合. 本文使用數(shù)據(jù)增廣技術(shù)[20]增強PLD數(shù)據(jù)集,通過水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、鏡像等方式對植物葉片圖像進行擴增,實現(xiàn)數(shù)據(jù)增強. 擴增后的數(shù)據(jù)集共7 308張,命名為PLD_amp數(shù)據(jù)集.
最后,從PLD_amp數(shù)據(jù)集中選取20%作為測試集,并使用留一法將PLD_amp數(shù)據(jù)集中的剩余部分劃分為訓(xùn)練集和驗證集.
通過整體準確率(total accuracy,TA)、平均準確率(average accuracy,AA)、準確率(ACC)3個指標對 9種復(fù)雜背景下的植物葉片圖像的分類結(jié)果進行評估. 整體準確率表示被正確分類的樣本占數(shù)據(jù)樣本總數(shù)的百分比,平均準確率為植物葉片各個類別分類準確率的平均值.
本文通過采用融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)充分提取植物葉片圖像信息,對9種復(fù)雜背景下的植物葉片圖像進行分類. 將PLD_amp數(shù)據(jù)集中已劃分好的訓(xùn)練集輸入至VGG16、使用一階信息增強模塊的VGG16_h1模型、使用二階信息增強模塊的VGG16_h2模型和使用三階信息增強模塊的VGG16_h3模型中進行訓(xùn)練,通過測試集獲得模型的準確率.
實驗1在實驗過程中,設(shè)置迭代次數(shù)為100,學(xué)習(xí)率為0.001. PLD_amp數(shù)據(jù)集在各模型中的訓(xùn)練準確率和驗證準確率的表現(xiàn)情況如圖4所示.
圖4 4種模型的分類準確率
從實驗結(jié)果可看出,相比于VGG16,融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型在迭代50次后準確率曲線趨近平穩(wěn),而VGG16模型在后期仍持續(xù)震蕩,證明融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型穩(wěn)定性更好. 如表2所示,從ACC指標來看,在迭代100次后,使用融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型預(yù)測準確率均高于VGG16模型. 且相較于VGG16模型,使用融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)對測試集的測試準確率均有所提升,精度提升范圍為2.1%~2.3%. 對比實驗證明,融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)對復(fù)雜背景下的植物葉片圖像分類任務(wù)可以達到較高的準確率.
實驗2在模型訓(xùn)練過程中,對PLD_amp數(shù)據(jù)集進行3次訓(xùn)練,每次訓(xùn)練進行500次循環(huán)迭代,設(shè)置學(xué)習(xí)率為0.001,獲得最優(yōu)訓(xùn)練結(jié)果. 圖5為采用VGG16_h1、VGG16模型對PLD_amp數(shù)據(jù)集分類得到的最優(yōu)訓(xùn)練準確率和驗證準確率的對比曲線.
圖5 VGG16_h1和VGG16模型分類準確率對比曲線
從圖中可以看出,相比于VGG16,使用VGG16_h1模型獲得的準確率曲線在迭代200次后趨近平穩(wěn),而VGG16模型在后期仍持續(xù)震蕩,證明VGG16_h1模型的穩(wěn)定性更好. 從ACC指標來看,在迭代500次后,VGG16模型訓(xùn)練準確率為99.1%,VGG16_h1模型訓(xùn)練準確率為99.8%;VGG16模型預(yù)測準確率為86.6%,VGG16_h1模型預(yù)測準確率為88.3%. 對比證明,通過VGG16_h1模型對復(fù)雜背景下的植物葉片圖像分類任務(wù)可以達到較高的準確率.
實驗3采用“K折交叉驗證法”[21](cross validation)將數(shù)據(jù)集進行劃分,將PLD_amp數(shù)據(jù)集劃分為K個大小相似的互斥子集,通過分層采樣使每個子集盡可能保持數(shù)據(jù)分布的一致性;每次使用K-1個子集作為訓(xùn)練集,余下的子集做為測試集,獲取K組訓(xùn)練集與測試集,進行K次訓(xùn)練和測試,最終返回K次測試結(jié)果的均值作為性能指標,以評估VGG16_h1模型的魯棒性. 本實驗使用K=(5,10)對PLD_amp數(shù)據(jù)集進行劃分,表3所示為不同交叉驗證的分類結(jié)果.
表3 VGG16_h1交叉驗證分類結(jié)果
根據(jù)實驗1的4組對比結(jié)果,PLD_amp數(shù)據(jù)集在VGG16模型上進行訓(xùn)練,準確率為86.4%,而在VGG16_h1、VGG16_h2、VGG16_h3模型上準確率分別達到88.5%、88.3%和88.7%,相較于在VGG16模型上準確率均提高約2.1%,且準確率曲線也相對平穩(wěn). 在實驗2對VGG16_h1模型訓(xùn)練過程中,迭代500次后,3組實驗均表現(xiàn)了較高的準確率,最優(yōu)準確率達到88.3%,相較于VGG16模型準確率提升了1.7%. 實驗3采用5、10折交叉驗證法對VGG16_h1模型魯棒性進行測試,結(jié)果表明二者均對模型準確率有所提升,5折交叉驗證下準確率更好,模型準確率提升約1.4%. 以上3組實驗均證明了使用含高階信息增強模塊的VGG16模型的魯棒性,及在復(fù)雜背景下的植物葉片分類任務(wù)中改進的VGG16模型準確率有所提升.
本文使用復(fù)雜背景下的植物葉片圖像作為研究對象,運用數(shù)據(jù)增廣技術(shù)對圖像進行預(yù)處理,構(gòu)建 PLD_amp 數(shù)據(jù)集,提出了一種將底層特征通過下采樣與頂層特征進行融合,將其組織為高階信息增強模塊的方法,并使用融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型對植物葉片圖像進行多感受野特征提取. 研究結(jié)果表明,基于融合高階信息增強模塊對復(fù)雜背景下的植物葉片圖像進行分類,在迭代次數(shù)為100和學(xué)習(xí)率為0.001時,準確率達到88.7%,驗證了此融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型在特征提取階段的優(yōu)勢,表明融合高階信息增強模塊的卷積神經(jīng)網(wǎng)絡(luò)模型對復(fù)雜背景下的植物葉片圖像分類任務(wù)具有較高的可行性和高分類準確率.