朱良寬 晏銘 黃建平
(東北林業(yè)大學(xué),哈爾濱,150040)
近年來,植物葉片識(shí)別分類技術(shù)已經(jīng)成為植物信息學(xué)的研究熱點(diǎn)。植物分類和識(shí)別一般依據(jù)植物的形態(tài)、紋理、枝干、莖葉等器官的特征。其中,植物葉片紋理顏色形態(tài)各異、差異性大,是區(qū)別植物物種的主要依據(jù)。在國內(nèi),張帥等[1]設(shè)計(jì)了一個(gè)8層卷積神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)系統(tǒng)對(duì)簡單背景和復(fù)雜背景葉片圖像進(jìn)行訓(xùn)練和識(shí)別,取得了較好的識(shí)別效果。王麗君等[2]開發(fā)了基于圖像多特征融合的觀葉種類識(shí)別系統(tǒng),系統(tǒng)提取葉片圖像的顏色、形狀和紋理特征,基于支持向量機(jī)算法實(shí)現(xiàn)識(shí)別。王丹等[3]提出使用差異性值監(jiān)督局部線性嵌入算法,充分挖掘樣本之間的類別信息,提高干旱區(qū)植物葉片的識(shí)別效率。2012年,Krizhevsky et al.[4]提出了包含7層隱藏層的AlexNet網(wǎng)絡(luò)模型,在ImageNet[5]數(shù)據(jù)集中失誤率為15.4%。之后,各種經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò)不斷涌現(xiàn),如GoogleNet[6]、VGGNet[7]、ResNet[8]等。生成式對(duì)抗網(wǎng)絡(luò)是2014年Goodfellow I et al.[9]依據(jù)零和博弈思想和納什均衡原理提出的一種數(shù)據(jù)生成模型。Odena[10]設(shè)計(jì)出SGANs,使用半監(jiān)督的方式使得G網(wǎng)絡(luò)和D網(wǎng)絡(luò)可以同時(shí)訓(xùn)練,相互促進(jìn)、相互學(xué)習(xí),能夠明顯改變生成的圖像質(zhì)量和學(xué)習(xí)的時(shí)間代價(jià)。為了找到納什均衡狀態(tài),Salimans et al.[11]提出Improved-GAN,其使用的啟發(fā)式動(dòng)機(jī)以鼓勵(lì)融合的技巧代替?zhèn)鹘y(tǒng)生成對(duì)抗網(wǎng)絡(luò)中梯度下降算法并取得不錯(cuò)的效果。
本研究嘗試提出一種新型卷積神經(jīng)網(wǎng)絡(luò)植物葉片識(shí)別方法,充分利用了深度卷積生成式對(duì)抗網(wǎng)絡(luò)算法和遷移學(xué)習(xí)算法的優(yōu)勢(shì),重點(diǎn)考慮了分類模型對(duì)于數(shù)據(jù)集的依賴性和參數(shù)訓(xùn)練的計(jì)算代價(jià)問題,旨在提高植物葉片識(shí)別精度及識(shí)別效率。
GAN[12]的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其中,生成器G接受隱變量Z作為輸入。
圖1 生成式對(duì)抗網(wǎng)絡(luò)
將判別器的損失函數(shù)為一個(gè)標(biāo)準(zhǔn)二分類問題的交叉熵。真實(shí)樣本對(duì)應(yīng)的標(biāo)簽為1,生成樣本對(duì)應(yīng)的標(biāo)簽為0。生成器的損失J(D)的形式為:
(1)
對(duì)于生成器的損失函數(shù),根據(jù)博弈形式的不同有所區(qū)別。對(duì)于最簡單的零和博弈,生成器的損失即為判別器所得:
J(G)=-J(D)。
(2)
在這一設(shè)定下,可以推出GAN的關(guān)鍵在于優(yōu)化一個(gè)判別器的值函數(shù):
V(θ,φ)=-J(D)(θ,φ)。
(3)
在實(shí)際的訓(xùn)練過程中,損失函數(shù)如下所示:
Ez(z)[lb(1-D(G(z)))]。
(4)
式中:x為來自樣本集中真實(shí)的圖片;z為輸入生成器中的噪聲;Edata為樣本的分布;Ez為噪聲分布;D(x)為D網(wǎng)絡(luò)判斷真實(shí)圖片是否真實(shí)的概率;D(G(z))為D網(wǎng)絡(luò)判斷G生成的圖片是否真實(shí)的概率。DCGAN將生成器中的全連接層替換成反卷積層,使其在大多數(shù)環(huán)境下都能穩(wěn)定訓(xùn)練[8]。
表1給出了所提出框架的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),Inception V3[13]是一種用于圖像分類的CNN。整個(gè)框架可以分為兩部分:Inception V3網(wǎng)絡(luò)基礎(chǔ)部分和融合遷移學(xué)習(xí)[14]再訓(xùn)練部分。輸入圖像首先經(jīng)過卷積、池化、Inception這幾層的處理后,可以提取出特征點(diǎn)信息。然后在整個(gè)網(wǎng)絡(luò)的末端,只替換全連接層,通過再訓(xùn)練,所有的特征圖都以一個(gè)巨大的一維向量的形式被壓平,并使用softmax函數(shù)進(jìn)行分類。
表1 Inception V3網(wǎng)絡(luò)結(jié)構(gòu)
圖2為全新學(xué)習(xí)與遷移學(xué)習(xí)對(duì)比圖,通過遷移學(xué)習(xí),可以將網(wǎng)絡(luò)模型的訓(xùn)練過程簡化,把歷史學(xué)習(xí)所得知識(shí)直接應(yīng)用到目前的任務(wù)中。本研究采用參數(shù)精調(diào)的遷移學(xué)習(xí)方法,將Inception V3改為用于葉片識(shí)別的網(wǎng)絡(luò)。
圖2 全新學(xué)習(xí)方式與遷移學(xué)習(xí)方式對(duì)比圖
基于遷移學(xué)習(xí)的模型架構(gòu)如圖3所示,首先保留訓(xùn)練好的InceptionV3 模型中所有卷積層的參數(shù),替換最后的全連接層。將尺寸為229×229×3像素的葉片圖像輸入到網(wǎng)絡(luò)模型中,經(jīng)過卷積[15]、非線性化[16]、池化[17]等操作的反復(fù)處理,最終會(huì)在全連接層輸出一個(gè)1×1×2048像素的特征向量,最后再用這個(gè)特征向量來訓(xùn)練SoftMax分類器以輸出分類結(jié)果。與傳統(tǒng)全新學(xué)習(xí)(隨機(jī)初始化網(wǎng)絡(luò)所有層的權(quán)重,從頭開始全新的訓(xùn)練)相比較,該方法有助于網(wǎng)絡(luò)快速收斂。
圖3 基于遷移學(xué)習(xí)的模型架構(gòu)
從基于CNN的模型訓(xùn)練到評(píng)估識(shí)別算法的性能,包括預(yù)處理部分,目標(biāo)識(shí)別研究的各個(gè)階段都需要適當(dāng)?shù)臄?shù)據(jù)集。如圖4所示,共選取15種植物葉片用于訓(xùn)練集與測(cè)試集中,數(shù)據(jù)來源于CVL(Computer Vision Laboratory)研究領(lǐng)域中的瑞典植物葉片[18]。
圖4 實(shí)驗(yàn)樣本
為滿足GoogleNet神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集需求,利用DCGAN網(wǎng)絡(luò),對(duì)15種葉片進(jìn)行圖像生成以擴(kuò)充數(shù)據(jù)集。圖5展示了其中4種葉片的生成效果圖。
圖5 用DCGAN方法生成的圖像
隨著迭代次數(shù)的增加,生成的葉片圖片分辨率增高,獲得數(shù)據(jù)集圖片所需的時(shí)間也會(huì)相應(yīng)增加,本文采用迭代1 000次的生成圖片作為實(shí)驗(yàn)所需的數(shù)據(jù)集。在1 175張圖像數(shù)據(jù)的基礎(chǔ)上,通過DCGAN網(wǎng)絡(luò)將數(shù)據(jù)集擴(kuò)充到10 575張。此方法優(yōu)于傳統(tǒng)的通過對(duì)原圖隨機(jī)水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、隨機(jī)縮放、隨機(jī)加入噪點(diǎn)等操作,提高了整體實(shí)驗(yàn)的快速性,使得預(yù)處理更為簡單。
模型訓(xùn)練與測(cè)試均是在Pytorch框架[22]下完成的。硬件環(huán)境配置:處理器Intel Core i7-7800X CPU @ 3.50GHz;內(nèi)存16G;操作系統(tǒng)類型64位;圖形 GeForce GTX 1080Ti。軟件環(huán)境配置:CUDA 9.0;CUDNN V7.0;Python 3.6。綜合考慮硬件的性能以及訓(xùn)練時(shí)間,實(shí)驗(yàn)中批次樣本數(shù)設(shè)置為50。測(cè)試間隔設(shè)置為1個(gè)epoch(執(zhí)行一次全部訓(xùn)練樣本)。參照Inception V3的參數(shù)設(shè)置,組合兩種學(xué)習(xí)方式(全新學(xué)習(xí)和遷移學(xué)習(xí))兩種數(shù)據(jù)擴(kuò)充方式(一種方式是利用DCGAN算法,另一種方式為傳統(tǒng)方法,即先對(duì)原始圖像進(jìn)行隨機(jī)縮放,然后隨機(jī)加入噪點(diǎn))進(jìn)行對(duì)比實(shí)驗(yàn)。
對(duì)比試驗(yàn)的結(jié)果如圖6、圖7所示。其中,藍(lán)線表示訓(xùn)練集,紅線表示測(cè)試集。橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表準(zhǔn)確率。
數(shù)據(jù)擴(kuò)充對(duì)實(shí)驗(yàn)結(jié)果的影響:在其他條件不變的情況下,分別采用傳統(tǒng)方式和DCGAN算法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的方式進(jìn)行訓(xùn)練與測(cè)試。由圖6可看出,在傳統(tǒng)的擴(kuò)充方式條件下,實(shí)驗(yàn)的迭代次數(shù)在進(jìn)行到4 000次時(shí),準(zhǔn)確率達(dá)到95%左右。而經(jīng)過DCGAN算法處理的實(shí)驗(yàn)在迭代次數(shù)為560左右時(shí),準(zhǔn)確率已經(jīng)達(dá)到95%以上,并且在迭代次數(shù)為2 000次左右時(shí),識(shí)別準(zhǔn)確率可以達(dá)到96%~97%,說明本研究提出的DCGAN擴(kuò)充數(shù)據(jù)的方法在準(zhǔn)確率和時(shí)效性方面要優(yōu)于傳統(tǒng)方法。
遷移學(xué)習(xí)對(duì)實(shí)驗(yàn)結(jié)果的影響:縱向?qū)Ρ葓D6、圖7可以看出,遷移學(xué)習(xí)對(duì)于加速網(wǎng)絡(luò)的收斂和提高訓(xùn)練與測(cè)試的準(zhǔn)確率有著明顯的促進(jìn)作用,該方法可大幅度地減少了需要訓(xùn)練的參數(shù)數(shù)量,從而減輕了GPU的計(jì)算負(fù)擔(dān),參數(shù)訓(xùn)練的迭代次數(shù)由4 000次縮短到了560次。
本研究提出一種融合DCGAN與遷移學(xué)習(xí)的植物葉片識(shí)別方法。通過DCGAN不僅可以將有限的數(shù)據(jù)集由1 175張擴(kuò)充至10 575張,而且可避免網(wǎng)絡(luò)過擬合現(xiàn)象;遷移學(xué)習(xí)可減少模型訓(xùn)練的計(jì)算代價(jià),保證模型更快收斂。實(shí)驗(yàn)結(jié)果顯示,融合了DCGAN與遷移學(xué)習(xí)的識(shí)別效率高于傳統(tǒng)擴(kuò)充方式的全新學(xué)習(xí),識(shí)別率可到達(dá)96.57%,所提出的融合方法可以在節(jié)約大量網(wǎng)絡(luò)參數(shù)計(jì)算代價(jià)的同時(shí),獲得較為滿意的識(shí)別精度。
東北林業(yè)大學(xué)學(xué)報(bào)2020年4期