?

基于生成對抗網絡的樹種識別方法*

2024-03-12 06:51
林業科學 2024年2期
關鍵詞:殘差樹種準確率

蘇 彤 許 杰

(1. 黑龍江八一農墾大學信息工程學院 大慶 163319; 2. 山東華宇工學院信息工程學院 德州 253034)

隨著科技的不斷進步和數字技術的不斷發展,計算機視覺技術已成為當今科技領域炙手可熱的一個方向。樹種識別是計算機視覺技術細分領域中的一部分,是數字林業的重要研究內容,主要包括光譜分析和圖像處理兩大方向。在光譜分析方面,Pham等(2016)聯合激光雷達與高光譜數據對樹種進行識別,利用隨機森林確定重要特征,使用支持向量機作為分類器,分類準確率達85.42%;汪紫陽等(2019)基于可見/近紅外光譜技術,采用偏最小二乘法結合多列識別變量矩陣對9種闊葉樹種進行識別,分類準確率達98.00%,為野外樹種識別提供了可能性。在圖像處理方面,陳明健等(2017)提出一種基于葉片輪廓構建距離矩陣與角點矩陣進行樹種識別的分類方法,在Flavia數據集和Leafsnap數據集上分別取得99.61%和98.26%的識別準確率;Sarah等(2018)利用Canny算子提取樹皮和樹葉圖像的邊緣輪廓特征,使用信念函數將2種特征進行融合,并在一個包含72種樹木和灌木的公共數據庫中進行比較,將樹皮和樹葉特征融合的方法顯著提高了分類準確率;Le等(2019)采用LBP與SVM相結合的方法對4種植物葉片進行識別,分類準確率達91.85%;李龍龍等(2021)應用加權LBP算法提取葉片的關鍵幾何特征和紋理特征,使用特征加權的模糊半監督聚類算法作為分類器,在國際公認數據集和自測數據集上均取得理想識別效果。但以往大部分研究受主觀因素影響較大,試驗前需要依靠人工對原始圖像進行圖像分割、特征提取等預處理以滿足試驗要求,且特征選擇也會影響最終識別效果,對繼續提高樹種識別率帶來一定困難。

伴隨大數據時代的到來和人工智能技術的快速發展,深度學習(Hintonet al.,2006)因在圖像特征學習方面具有顯著效果而受到研究者們廣泛關注,其中卷積神經網絡(convolution neural network,CNN)(Szegedyet al.,2015)是深度學習中應用最為廣泛、成熟度最高的網絡結構。張帥等(2016)設計8層CNN模型,對PI@antNet葉片庫和自擴展葉片庫中的圖像進行訓練和識別,采用SVM和SoftMax分類器,識別率分別為91.11%和90.90%;于慧伶等(2018)設計雙路CNN模型,以充分提取葉片的邊緣和紋理特征,通過特征融合由全連接層完成識別,準確率達97.31%;宋宇鵬等(2020)提出基于注意力機制的DenseNet模型,在復雜背景樹種葉片公開數據集Leafsnap上取得91.25%的分類精確率;趙霖等(2020)提出面向機載高光譜數據的3D卷積神經網絡結構,以端到端方式處理圖像分析問題,實現對森林樹種的分類。

深度學習方法能夠取得良好識別效果,同時也需要大量訓練樣本。對原始圖像進行旋轉、鏡像、添加噪聲、改變對比度等操作可以達到一定的樣本擴充,但數據集的目標特征并未發生實質性改變,且擴充的樣本帶有大量冗余信息,會使模型失去泛化能力(張曼等,2021)。鑒于此,本研究提出一種融合生成對抗網絡(generative adversarial networks,GAN)與CNN的樹種識別方法,通過GAN生成與真實數據分布一致的樹葉圖像以實現數據擴充,將生成圖像和真實圖像一起作為分類模型的訓練數據,從而增強模型學習效果,提高模型泛化能力。

1 材料與方法

1.1 樹種圖像數據集

本研究所用數據集由10種不同樹種葉片圖像組成,包括水曲柳(Fraxinus mandshurica)、榆(Ulmus pumila)、刺槐(Robinia pseudoacacia)、紅端木(Cornusalba)、山荊子(Malus baccata)、火炬樹(Rhus typhina)、杜仲(Eucommia ulmoides)、山楊(Populus davidiana)、紫丁香(Syringa oblata)、梣葉槭(Acer negundo)。在不同時間、不同地點和天氣情況下進行圖像采集,使用不同拍攝設備、不同拍攝角度,統一將葉片置于白色背景下拍攝,每類210幅圖像;為減少訓練時間和內存空間,對采集圖像進行尺寸歸一化和均值濾波去噪預處理,將圖像大小統一為128像素×128像素,10種樹種圖像如圖1所示。

1.2 基于生成對抗網絡的葉片圖像生成方法

圖2 生成對抗網絡的基本架構Fig. 2 The basic structure of GAN

GAN核心原理的算法如下:

式中:x表示真實的圖像數據;z表示輸入G中的隨機噪聲;D(x)表示D判別為真實圖像的概率;G(z)表示生成器輸入隨機噪聲后生成的圖像;Pdata(x)表示真實圖像的數據分布;Pz(z)表示生成圖像的數據分布。G的目的是將生成圖像接近真實圖像,所以D[G(z)]越接近1越好,此時V(D,G)越來越小。D的目的是準確判斷出輸入樣本的真實性,所以D[G(z)]越接近越接近0越好,此時V(D,G)越來越大。

1.2.2 殘差條件深度卷積生成對抗網絡 自GAN問世以來,諸多學者不斷對其進行優化改進。為使生成圖像更加清晰,本研究引入深度卷積生成對抗網絡(deep convolution generative adversarial networks,DCGAN)(Radfordet al.,2015),即在GAN的基礎上引入卷積網絡模塊,利用卷積層強大的特征提取能力提升GAN性能。該模型的生成器使用轉置卷積(Zeileret al.,2014)進行上采樣,從而代替池化層;因全連接層參數過多容易使網絡過擬合,故模型去除全連接層,并在生成網絡和判別網絡中使用批量歸一化(batch normalization,BN)(Ioffeet al.,2015)操作;生成網絡的輸出層使用Tanh激活函數,其他層使用ReLU激活函數;判別網絡的所有層均使用LeakyReLU激活函數。

為使生成器生成指定類別的圖像,在DCGAN的基礎上添加類別標簽y以輔助生成樣本,在生成器中引入殘差模塊ResNet,加強特征在層與層之間的傳遞能力,以提高生成圖像質量,即殘差條件深度卷積生成對抗網絡(RC-DCGAN)。

RC-DCGAN模型以DCGAN為基礎建立,如圖3所示,輸入為(100,1,1)的隨機噪聲和(10,1,1)的類別標簽,分別經卷積核尺寸為4×4、步長為2的轉置卷積后將維度轉換為(512,4,4)的三維張量,再將二者連接成(1 024,4,4)的三維張量,分別經過4層上采樣層和卷積核尺寸為3×3、步長為1的殘差結構,再經過1次卷積核尺寸為4×4、步長為2的轉置卷積后將維度轉換為(3,128,128)的三維張量,生成一張3×128×128的圖像。

圖3 RC-DCGAN生成器結構Fig. 3 Generator structure of RC-DCGAN

判別器主要用于判斷輸入樣本的真假。對輸入圖像做卷積運算,使用Sigmoid函數判斷輸入樣本為真實圖像的概率。判別器各層參數如表1所示。

表1 RC-DCGAN判別器參數Tab. 1 Discriminator parameters of RC-DCGAN

1.3 基于卷積神經網絡的樹種識別模型

1.3.1 ResNet網絡 理論上,網絡層數越深,效果越好;但實際上,網絡層數過深會產生網絡退化問題,且當網絡堆疊到一定深度時,還會出現梯度消失或梯度爆炸問題。為解決這一問題,He等(2016)提出ResNet模型,該模型的核心是殘差塊(residual block),如圖4所示,其輸入為x、輸出為y,所以就有了恒等映射y=F(x)+x,正是由于這種跳躍連接的思想,可解決網絡退化問題,同時也加快了網絡收斂速度。

圖4 殘差塊結構Fig. 4 Structure of the residual block

一個簡單的殘差塊由卷積層、批處理歸一化層和非線性激活函數ReLU組成,一個殘差單元的輸出可表示為:

單位減排量價格往往是項目業主最關注的問題,但在目前二級市場價格不景氣的情況下,我國的項目業主幾乎沒有議價的能力。有的認為只要項目減排量能賣出去,執行國家發改委最低價就可以,有的則一味追求高價而卻忽視其他。在選擇買家時,建議借助環境交易所平臺或咨詢公司的推薦,尋找多個買家報價。價格的確定不僅要看國際市場形勢,還要綜合考慮對方資信情況、不能交付的風險、支付風險、預付資金情況及違約風險、語言條件、管轄風險、法律適用風險等因素,因此未必選最高報價的買家,要選最合適的買家及報價。

式中:xl表示殘差單元的輸入;F(xl,Wl)表示殘差單元的殘差函數;Wl表示殘差單元的權重參數。

1.3.2 基于RseNet的樹種識別模型構建 根據葉片圖像尺寸,設計基于ResNet的樹種識別模型,該模型卷積層深度為30層,主要包括3部分,第一部分包含1層卷積層,第二部分主要是殘差結構,分別由3、4、4、3個殘差模塊組成,每個殘差塊由2層卷積組成,第三部分為自適應平均池化和全連接層,使用Softmax作為輸出層激活函數,輸出一個10維的概率向量,對概率值大小進行判斷,最終根據得到的判斷結果實現對樹種的分類。整個網絡模型的具體參數如表2所示。

2 結果與分析

2.1 試驗環境

本研究在Windows操作系統下進行,安裝Pycharm編程環境,使用Pytorch1.10.0深度學習框架,采用Python3.8語言進行具體編程實現整個網絡模型。試驗硬件配置信息為:5核Intel(R) Xeon(R) Silver 4210R CPU @ 2.40 GHz處理器,60 GB運行內存(RAM),選用NVIDIA GeForce RTX 3090顯卡,顯存容量為24 GB,可大幅提高運行速度,節省訓練時間。

2.2 基于RC-DCGAN的圖像生成

基于CNN的模型訓練需要大量數據樣本,本研究首先利用GAN對葉片圖像進行擴充?;赗CDCGAN模型進行葉片圖像生成,在學習真實樣本分布前需擴充樣本,對原始2 100幅圖像進行鏡像操作,并分別旋轉90°和180°得到5個副本,通過這種方式使數據量擴充為原來的6倍,達12 600幅圖像,GAN可學習到更加完善的分布。之所以選擇該擴充操作,是因為其具有特征不變、無關特征不增加等優勢。

訓練初始,給所有隨機數設置一個隨機種子,以便之后進行試驗復現;生成器和判別器均使用Adam作為優化器,其中beta1設置為0.5,beta2設置為0.999;批次數量設置為128,訓練周期設置為10 000;生成器和判別器設置不同學習率(Heuselet al.,2017),其中,生成器的學習率為0.000 4,判別器的學習率為0.000 2;在實際代碼中使用反轉標簽訓練生成器(Guoet al.,2020),即讓生成圖像使用真實標簽0進行訓練,真實圖像使用生成圖像的標簽1進行訓練。為對比殘差結構對生成效果的影響,在參數設置和訓練輪數相同的情況下,使用未改進DCGAN模型進行生成訓練,對比各自生成效果,如圖5所示。

圖5 DCGAN和RC-DCGAN生成效果對比Fig. 5 Comparison of DCGAN and RC-DCGAN generation effect

由圖5可知,使用DCGAN模型生成的圖像存在葉片圖像模糊且紋理信息丟失的現象,而使用RCDCGAN模型生成的葉片圖像輪廓平滑清晰,且紋理信息充分,能夠貼合真實圖像??梢?,相比DCGAN模型,在訓練數據集和參數設置相同的情況下,本研究模型生成的圖像質量更高,表明在生成器中嵌入殘差結構,有利于提高生成圖像質量。因此,本研究選擇使用RC-DCGAN生成模型對數據樣本進行擴充。

2.3 基于ResNet30的樹種識別

2.3.1 模型參數調試 初步搭建好ResNet30模型后,需對模型的一系列參數進行反復調試,以尋求適合模型訓練的最佳參數。本研究從批量大?。╞atch size)、學習率(learning rate)和隨機失活(dropout)3個參數的取值分析對模型性能的影響,結果如圖6所示。

圖6 不同參數取值的測試準確率曲線Fig. 6 Test accuracy curves for different parameter values

1) 批量大?。╞atch size)對模型性能的影響。在合理范圍內,batch size越大,其確定梯度下降的方向越準,收斂速度越快,引起震蕩越??;但如果batch size過大,則可能出現局部最優情況。如圖6a所示,batch size為64的曲線收斂速度較慢且趨于收斂后波動幅度明顯,batch size為256的準確率相較batch size為128的準確率沒有提高反而下降,說明一味增大batch size并未獲得較高精度,雖迭代次數減少,但若想達到較高精度,其消耗時間也大大增加,從而對參數的修正也更加緩慢。當batch size為128時可以兼得性能和效率,更利于網絡訓練。

2) 學習率(learning rate)對模型性能的影響。學習率對模型訓練結果影響較大,不當的學習率會導致模型訓練時出現震蕩現象。本試驗采用指數衰減法對學習率進行調整,其中乘法因子gamma為0.9,分別以0.01、0.001和0.000 1作為初始學習率。如圖6b所示,隨著網絡訓練次數增加準確率曲線均收斂,初始學習率為0.01和0.000 1時收斂速度相當,但初始學習率為0.01時準確率更高。

3) 隨機失活(dropout)對模型性能的影響。CNN對圖像識別分類性能優越,由于全連接層是所有神經元與前一層全部神經元相連接,因此擁有大量參數,隨著網絡規模增大,訓練過程會出現過擬合問題。本研究在最后一層卷積層和全連接層加入dropout,分別以0.5、0.6、0.7作為抑制率訓練模型,如圖6c所示,當抑制率為0.6和0.7時模型的識別準確率較低且收斂速度慢,抑制率為0.5時識別準確率高且收斂速度快。

綜合以上分析,對各種超參數進行組合測試,最終得到一組識別效果好、訓練速度快、性能穩定的模型參數:batch size為128,初始學習率為0.01,dropout為0.5;采用Adam算法作為優化器,訓練次數為300。

2.3.2 不同擴充方法對試驗結果的影響 為驗證基于GAN的擴充方法和基于傳統圖像處理的擴充方法對模型性能的影響,分別采用鏡像、旋轉、改變對比度等傳統擴充方法和RC-DCGAN生成模型擴充圖像11 400幅,最終確定參與訓練的數據集13 000幅、測試集500幅,試驗對比結果如圖7所示。

圖7 試驗對比結果Fig. 7 Experimental comparison results

使用傳統圖像處理擴充方法在前5 000次迭代中,訓練準確率和測試準確率呈逐漸上升趨勢,迭代至4 000次時,測試準確率達94.50%左右,最后逐漸收斂于96.50%;在訓練集和測試集之間有間隙,存在過擬合現象。使用RC-DCGAN擴充圖像方法,測試準確率在迭代至1 000次時就已達94.50%,迭代至2 000次左右時,準確率達97%~98%,迭代完成后收斂于98.35%,模型未發生過擬合。對比2個試驗的訓練和測試過程,在相同模型結構、同等數量訓練集和參數設置情況下,使用RC-DCGAN擴充樣本方法,模型的準確率和性能優于傳統圖像處理擴充方法。

2.3.3 不同網絡模型對試驗結果的影響 為評價該分類模型性能與方法的有效性,選取一些在樹種識別分類中表現良好的國內外研究的模型與本研究模型進行對比,統一模型輸入大小為128像素×128像素在測試集上的分類準確率對比結果如表3所示。在相同訓練集和訓練批次的情況下,本研究設計的ResNet30模型比其他神經網絡模型分類準確率均高,平均識別準確率為97.20%;由于本研究模型深度較深,因此在訓練時也需要較多時間。

表3 不同分類模型比較Tab. 3 Comparison of different classification models

圖8給出了本研究樹種識別模型對10種樹種測試結果的混淆矩陣,每一行表示模型預測類別,每一列表示樹種實際類別??梢?,刺槐、杜仲、紅端木、火炬樹、水曲柳、榆圖像較其他樹種特征差異更明顯,取得100.00%的識別準確率;梣葉槭部分圖像在某些細節特征上與山荊子、杜仲存在相似之處,出現誤判現象,識別準確率為90.00%;紫丁香與山楊在輪廓特征上存在相似之處,有4張紫丁香圖像被誤判成山楊;山楊取得98.00%的識別準確率;山荊子和紫丁香取得92.00%的識別準確率。由于測試集圖像和訓練集圖像具有相同大小和背景,因此,10種樹種的平均識別準確率達97.20%。

圖8 測試集圖像識別結果混淆矩陣Fig. 8 Confusion matrix of test set images recognition results

3 討論

CNN模型訓練通常需要大量標記樣本,但在實際工作中采集大量數據和圖像標記成本較高,當訓練樣本缺失時,容易出現過擬合和陷入局部最優解等現象(Krizhevskyet al.,2017)。為解決過擬合問題,本研究在DCGAN模型基礎上對生成器進行改進,在輸入端添加類別標簽以控制生成過程,在生成器中嵌入殘差結構以提高生成圖像質量。通過生成圖像可以看出,RC-DCGAN生成的圖像相較DCGAN生成的圖像無論是輪廓還是紋理特征,圖像質量均有很大提升,但在一些局部細節特征部分生成的圖像相較于真實圖像還有差距,這也導致在分類模型中對于輪廓特征相似的個別樹種圖像出現誤判現象,如何提高生成圖像質量仍需更進一步深入研究。

本研究以10種樹種葉片圖像為研究對象,共采集2 100幅圖像,使用RC-DCGAN擴充數據集11 400幅,雖然解決了數據集問題,但模型訓練時試驗參數的設置也是至關重要的,本研究在batch size、dropout、learning rate參數的取值上做了對比試驗。

1) batch size:分別選取每批次訓練64、128、256張圖像,可以發現,適當增大batch size,可以加快模型收斂速度,提升準確率;然而,過大的batch size容易使模型陷入局部最優解,導致精度下降。當batch size為128時能取得較好效果。

2) dropout:分別選取比率為0.5、0.6、0.7的dropout,忽略一定比率的特征選擇器,從而減少特征器間的相互作用,避免模型過于依賴某些局部特征,從而提高模型泛化能力??梢园l現,dropout為0.5時能取得理想結果。

3) learning rate:學習率控制模型參數更新的步伐,學習率過小,梯度下降速度過慢,會增大尋優時間;學習率過大,梯度下降速度加快,但通常越過最小點,導致模型不收斂甚至震蕩。本研究采用初始學習率分別為0.01、0.001、0.000 1的指數衰減策略調整學習率,當初始學習率為0.01時,識別準確率最高。

4 結論

本研究融合生成對抗網絡與卷積神經網絡,提出聯合模型基于葉片圖像對樹種進行分類識別。為滿足卷積神經網絡對大量訓練集的需要,首先使用生成對抗對圖像進行擴充,然后設計基于殘差網絡的分類模型,使用原始圖像和生成圖像作為訓練集對樹種進行識別。在本研究10種常見樹種葉片圖像上利用ResNet30模型取得97.20%的平均識別準確率,相較傳統圖像擴充方法,精確度提升2.25%。使用生成對抗網絡擴充樣本方法的識別率高于傳統圖像擴充方法,可利用生成對抗網絡為目前農業領域圖像數據不足的現狀提供一個新的解決方法。

猜你喜歡
殘差樹種準確率
基于雙向GRU與殘差擬合的車輛跟馳建模
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
基于殘差學習的自適應無人機目標跟蹤算法
基于遞歸殘差網絡的圖像超分辨率重建
高速公路車牌識別標識站準確率驗證法
常綠樹種在新疆的應用現狀
城市綠化樹種選擇,只顧眼前你就輸了
一個樹種的國家戰略
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合