摘 要 隨著計(jì)算機(jī)視覺技術(shù)和深度學(xué)習(xí)領(lǐng)域的爆發(fā)式進(jìn)步,在遙感影像上進(jìn)行樹木檢測已成為深度學(xué)習(xí)模型的應(yīng)用領(lǐng)域之一。為揭示基于深度學(xué)習(xí)的樹木檢測給林業(yè)調(diào)查與監(jiān)測帶來的機(jī)遇和挑戰(zhàn),本文通過對比分析經(jīng)典的SSD、RetinaNet、YOLOv3、FasterRCNN深度學(xué)習(xí)模型在模型大小、訓(xùn)練效率和平均精度得分等維度的實(shí)際應(yīng)用表現(xiàn),給相關(guān)領(lǐng)域的進(jìn)一步研究與應(yīng)用提供參考。研究表明,4種模型隨著骨干網(wǎng)絡(luò)結(jié)構(gòu)的逐漸加深,平均精度得分顯著提高,但訓(xùn)練時(shí)長和模型大小也成倍增長,其中,SSD模型在本文數(shù)據(jù)集中的速度與性能之間的平衡性表現(xiàn)最好,采用ResNet-101骨干網(wǎng)絡(luò)的平均精度得分為0.817,其驗(yàn)證和損失函數(shù)趨勢相近,是一個(gè)功能強(qiáng)大的目標(biāo)檢測模型。文章總結(jié)并討論了當(dāng)前深度學(xué)習(xí)與目標(biāo)檢測所面臨的問題。
關(guān)鍵詞 深度學(xué)習(xí);目標(biāo)檢測;樹木檢測;林業(yè)調(diào)查
中圖分類號:S758 文獻(xiàn)標(biāo)志碼:A DOI:10.19415/j.cnki.1673-890x.2024.19.044
隨著計(jì)算機(jī)視覺技術(shù)的不斷發(fā)展,物體識別和檢測已成為熱門的研究領(lǐng)域。近年來,基于深度學(xué)習(xí)的目標(biāo)檢測算法在計(jì)算機(jī)視覺領(lǐng)域取得了長足發(fā)展,與傳統(tǒng)計(jì)算機(jī)視覺技術(shù)相比,這些模型表現(xiàn)出卓越的性能,展示出深度學(xué)習(xí)技術(shù)的潛力[1]。目標(biāo)檢測任務(wù)主要是找到圖像中的目標(biāo)位置并對其進(jìn)行分類。得益于深度學(xué)習(xí)的迅速發(fā)展,全新的目標(biāo)檢測模型呈現(xiàn)爆發(fā)式增長,各種新的結(jié)構(gòu)、方法與設(shè)計(jì)思想層出不窮,為目標(biāo)檢測領(lǐng)域的蓬勃發(fā)展帶來了更多契機(jī)。而在實(shí)際應(yīng)用中,在遙感影像上進(jìn)行樹木檢測對于環(huán)境保護(hù)、生態(tài)研究及農(nóng)業(yè)領(lǐng)域具有重要意義[2]。
目標(biāo)檢測模型需要依賴設(shè)備的圖形計(jì)算能力,即越深層次的卷積網(wǎng)絡(luò)在提供更強(qiáng)大的特征提取能力的同時(shí)也會為模型引入更多的參數(shù)量及更大的計(jì)算量,這就導(dǎo)致模型的復(fù)雜度難以得到有效控制,但為了追求更高的檢測精度往往需要在模型中添加更有效的方法,這就不得不引入更復(fù)雜的目標(biāo)檢測模型結(jié)構(gòu)。所以,如何在更好地平衡目標(biāo)檢測模型復(fù)雜度的同時(shí)兼顧檢測模型的精度是當(dāng)前目標(biāo)檢測的首要難題。而一些移動端的設(shè)備往往不具備處理大量圖形計(jì)算的能力,在實(shí)際生產(chǎn)中受制于生產(chǎn)成本,購買價(jià)格高的高性能設(shè)備常常不符合實(shí)際生產(chǎn)需求,進(jìn)一步阻礙了模型落地進(jìn)程,所以,目標(biāo)檢測模型需要兼顧高精度和更快的檢測速度。綜上所述,目標(biāo)檢測器不得不在速度和性能上獲取平衡。因此,本研究基于4種經(jīng)典的深度學(xué)習(xí)模型進(jìn)行樹木檢測,對比分析各模型的效率與精度,以期為遙感影像的樹木檢測領(lǐng)域作出貢獻(xiàn)。
1 "訓(xùn)練樣本數(shù)據(jù)集建立
1.1 "數(shù)據(jù)獲取與實(shí)驗(yàn)平臺
本研究的數(shù)據(jù)來源于網(wǎng)絡(luò)開源公共數(shù)據(jù)集,影像主要由棕櫚樹和其他樹種組成,圖像大小為132 MB,格式為Tif。訓(xùn)練深度學(xué)習(xí)模型在 Windows 11 的 Pytorch 框架下運(yùn)行,運(yùn)行環(huán)境為 CPU Inter-i5-13600KF 處理器,GPU 為 NVIDIA RTX 3060Ti,內(nèi)存為 16 GB,通過 ArcGIS Pro 3.0 軟件中的深度學(xué)習(xí)模塊利用 Python 編程語言進(jìn)行訓(xùn)練和測試。
1.2 "圖像預(yù)處理
通過標(biāo)注對象工具標(biāo)注了初始樣本800個(gè)。為了提高深度學(xué)習(xí)模型的精度,本文采用數(shù)據(jù)增強(qiáng)的方式增加訓(xùn)練樣本的數(shù)量。數(shù)據(jù)增強(qiáng)是有效增加訓(xùn)練樣本的方式,是在輸入圖像上利用特定形變(如平移、旋轉(zhuǎn)、改變亮度等)人為地增加訓(xùn)練數(shù)據(jù)集中樣本的數(shù)量。通過這種方法,從少量的初始樣本中可以構(gòu)建出一個(gè)更大的變換圖像數(shù)據(jù)集。使用不同的數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)增訓(xùn)練數(shù)據(jù)集可節(jié)省大量人力,能有效提升模型的擬合能力和泛化能力,并使深度學(xué)習(xí)模型的學(xué)習(xí)過程對不同角度、尺度、亮度和幾何失真的圖像有更好的魯棒性[3]。故本文設(shè)置的旋轉(zhuǎn)角度參數(shù)為 30°,通過對所選的初始樣本進(jìn)行水平旋轉(zhuǎn)增加樣本量以達(dá)到更好的學(xué)習(xí)效果。導(dǎo)出訓(xùn)練數(shù)據(jù)時(shí),設(shè)置圖片格式為JPG,將原始圖像切片為256×256像素,步幅為128×128(即重疊一半),元數(shù)據(jù)格式為 PASCAL Visual Object Classes。生成后的訓(xùn)練樣本數(shù)據(jù)集信息如表1所示。
2 "深度學(xué)習(xí)模型訓(xùn)練
2.1 "模型選擇
基于深度學(xué)習(xí)的目標(biāo)檢測模型主要分為 2 類。一類是基于區(qū)域提議(Region Proposal Network,RPN)的兩階段方法,第一階段通過區(qū)域提議的方法生成一系列候選區(qū)域,第二階段對候選區(qū)域提取特征進(jìn)行分類和位置回歸,經(jīng)典的模型包括 R-CNN、Fast R-CNN、FasterR-CNN等;另一類是基于回歸的單階段方法,不需要提取候選區(qū)域,直接提取輸入圖片特征,然后進(jìn)行分類和位置回歸,經(jīng)典的模型包括 YOLO 系列、SSD、RetinaNet等。
2.1.1 "RetinaNet模型
RetinaNet是由Facebook AI團(tuán)隊(duì)于2018年新提出的單階段(one-stage)目標(biāo)檢測器[4],適用于密集和小型對象[5]。因此,該模型已成為與航空和衛(wèi)星影像一起使用的流行對象檢測模型。RetinaNet 引入了 Faster RCNN 里的錨思想:當(dāng)卷積核滑動到特征圖的某一個(gè)位置時(shí),以當(dāng)前窗口的中心點(diǎn)為中心,映射到原圖的一個(gè)區(qū)域,以原圖上這個(gè)區(qū)域的中心對應(yīng)一個(gè)尺度和長寬比,成為一個(gè)錨。從檢測器的框架來看,RetinaNet是由ResNet、特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)和 2 個(gè)全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)的子網(wǎng)絡(luò)組合。RetinaNet一大亮點(diǎn)是通過采用改進(jìn)交叉熵的焦點(diǎn)損失(focal loss)作為損失函數(shù),解決了目標(biāo)檢測中正負(fù)樣本區(qū)域嚴(yán)重失衡而損失函數(shù)易被大量負(fù)樣本左右的問題。焦點(diǎn)損失 (FL) 是交叉熵?fù)p失 (CE) 的增強(qiáng)版,可用于處理單階段對象檢測模型的類不平衡問題。FL可減少簡單示例造成的損失,并使糾正錯(cuò)誤分類示例更重要。RetinaNet在小目標(biāo)檢測中表現(xiàn)良好。
2.1.2 "SSD模型
2016年,Liu等人提出了經(jīng)典的單階段算法模型單幀檢測器(SSD) ,只需傳遞一次影像即可檢測多個(gè)對象。SSD使用改進(jìn)后的VGG16提取特征,不同于以往的VGG16,SSD把全連接層換成了卷積層,并在后續(xù)又添加了幾個(gè)卷積層用于檢測,目的是檢測不同尺度的目標(biāo)[6]。SSD是速度較快的對象檢測模型之一,具有極高精度。
2.1.3 "YOLOv3模型
自Redmon等人提出YOLO[7](You Only Look Once)模型以來,經(jīng)過了多版升級,原始模型YOLO運(yùn)用網(wǎng)格劃分的方法,將目標(biāo)檢測圖像劃分成大小相同的網(wǎng)格區(qū)域。若有物體的中心點(diǎn)位于某個(gè)網(wǎng)格中時(shí),該網(wǎng)格就負(fù)責(zé)該物體的檢測,這種方法可以同時(shí)預(yù)測所有類別的概率和目標(biāo)位置,具有極快的檢測速度。2017年,Redmon 等人提出 YOLOv2[8]。YOLOv2 通過引入批歸一化加速模型收斂;隨機(jī)更換圖像尺寸進(jìn)行訓(xùn)練,讓模型能夠更快地預(yù)測不同分辨率的圖像;對預(yù)測位置進(jìn)行約束,網(wǎng)絡(luò)更加穩(wěn)定。后來,Redmon 等人又提出了YOLOv3[9]。YOLOv3 有3個(gè)創(chuàng)新點(diǎn):1)設(shè)計(jì)的特征提取網(wǎng)絡(luò)DarkNet-53 大量使用殘差連接,使用步長為 2 的卷積代替池化;2)使用特征金字塔結(jié)構(gòu),將高層的特征和淺層特征進(jìn)行融合,錨框和特征圖的尺寸只有進(jìn)行匹配后才預(yù)測;3)不再使用softmax,用邏輯回歸思想進(jìn)行分類,模型對于目標(biāo)的分類準(zhǔn)確度因此得到提升。本文也將使用YOLOv3的DarkNet-53網(wǎng)絡(luò)進(jìn)行試驗(yàn)。
2.1.4 "Faster R-CNN模型
Faster R-CNN 使用稱為區(qū)域提議網(wǎng)絡(luò) (RPN) 的卷積網(wǎng)絡(luò)替換 Fast R-CNN 中的選擇搜索算法。RPN網(wǎng)絡(luò)是一個(gè)全卷積神經(jīng)網(wǎng)絡(luò),通過共享卷積層特征可以實(shí)現(xiàn)提議的提取,RPN提取一幅像的提議只需要10 ms左右,RPN的核心思想是使用卷積神經(jīng)網(wǎng)絡(luò)直接產(chǎn)生區(qū)域提議,使用的方法本質(zhì)上就是滑動窗口, 其余的模型架構(gòu)與 Fast R-CNN 相同;將影像送入 CNN 以生成要素地圖,從該地圖中,選擇 RPN 提出的區(qū)域的要素,并由池化層調(diào)整要素大小,然后將這些要素送入具有兩個(gè)頭(softmax 分類器和邊界框回歸器)的 FC 圖層。 這種設(shè)計(jì)可提高檢測速度,幾乎可以實(shí)現(xiàn)實(shí)時(shí)檢測目標(biāo)。
2.2 "采用的骨干網(wǎng)絡(luò)模型結(jié)構(gòu)Resnet
深度殘差網(wǎng)絡(luò)(Deep Residual Networks)是當(dāng)前應(yīng)用最廣泛的 CNN 特征提取網(wǎng)絡(luò)[10]。ResNet使用殘差學(xué)習(xí)優(yōu)化深度學(xué)習(xí)的網(wǎng)絡(luò)深度問題,可降低訓(xùn)練數(shù)據(jù)中信息的冗余度,能夠擁有比以往的網(wǎng)絡(luò)模型更深的結(jié)構(gòu)[11-12]。殘差網(wǎng)絡(luò)更容易優(yōu)化,相較于其他網(wǎng)絡(luò)深度增加可能帶來的退化問題和梯度彌散或梯度爆炸問題,殘差網(wǎng)絡(luò)可以通過增加深度來獲取不同等級的豐富特征,從而提高識別圖片的準(zhǔn)確率。深度學(xué)習(xí)采取的是多層表征學(xué)習(xí),當(dāng)層數(shù)增加時(shí),其抽象層級也會增加,語義信息會更加豐富。但是過深的網(wǎng)絡(luò)層數(shù)會帶來計(jì)算量更大、訓(xùn)練時(shí)間更長的問題。為此,本研究選擇了ResNet-18、ResNet-34、ResNet-101 這3個(gè)不同深度的ResNet網(wǎng)絡(luò)作為試驗(yàn)對象,“-”后面的數(shù)字代表了 ResNet 的層數(shù),以此對比分析不同層數(shù)的ResNet骨干網(wǎng)絡(luò)模型的大小、訓(xùn)練時(shí)長、精度等表現(xiàn)。
3 "結(jié)果與分析
3.1 "4種模型的對比
本研究在選擇不同骨干網(wǎng)絡(luò)的基礎(chǔ)上,對比RetinaNet、SSD、FasterRCNN、YOLOv3這4種模型算法的效率和精度。其中模型訓(xùn)練輪數(shù)統(tǒng)一設(shè)計(jì)為20輪,批次大小根據(jù)硬件性能設(shè)為32,采用GPU進(jìn)行處理,不凍結(jié)預(yù)訓(xùn)練模型中的骨干層,骨干模型參數(shù)的權(quán)重和偏差可能會因此進(jìn)行更改,以更好地適合本研究中的訓(xùn)練樣本。將標(biāo)注好的圖像和標(biāo)簽按8︰2 的比例隨機(jī)分為訓(xùn)練集和測試集,模型訓(xùn)練完成后的具體信息如表2所示。
總體上看,模型隨著骨干網(wǎng)絡(luò)深度的增加,平均精度得分也增大。其中SSD模型的平均精度得分在選擇相同的骨干網(wǎng)絡(luò)時(shí)均為最高,RetinaNet模型次之,兩者相差不大,F(xiàn)asterRCNN模型在選擇淺層骨干網(wǎng)絡(luò)時(shí)精度最低,僅為0.536、0.586,選擇深層骨干網(wǎng)絡(luò)ResNet-101時(shí)精度提高明顯,但仍然低于前2個(gè)模型,而YOLOv3模型僅選擇了1種骨干網(wǎng)絡(luò)進(jìn)行訓(xùn)練,精度表現(xiàn)一般。大部分模型訓(xùn)練時(shí)長都在1 h左右,并隨著網(wǎng)絡(luò)深度增加,訓(xùn)練時(shí)長和模型文件大小也顯著增加,SSD模型的訓(xùn)練時(shí)長與平均精度得分表現(xiàn)最好,這可能是由于該算法通過輸入的圖像使用卷積層直接獲取分類信息和目標(biāo)特征,不再采用設(shè)置多尺度金字塔加滑動窗口遍歷滑窗的方式,采用參考框(anchor)技術(shù),降低了網(wǎng)絡(luò)訓(xùn)練計(jì)算量,提高了模型檢測速度[13]。
3.2 "SSD模型驗(yàn)證和損失函數(shù)
由于SSD模型在本文訓(xùn)練數(shù)據(jù)集中平均精度得分表現(xiàn)最好,故重點(diǎn)分析其驗(yàn)證和損失函數(shù),模型驗(yàn)證和損失函數(shù)如圖1所示。
圖1中a、b、c為基于SSD模型的3種不同骨干網(wǎng)絡(luò)訓(xùn)練后的驗(yàn)證和損失函數(shù),SSD模型在數(shù)據(jù)集中訓(xùn)練了7 000個(gè)周期,3個(gè)骨干網(wǎng)絡(luò)均在前500個(gè)周期訓(xùn)練值與驗(yàn)證值之間趨勢變化較大,在500個(gè)周期之后趨勢開始一致,但最終并未完全擬合,模型損失趨于平穩(wěn),若繼續(xù)增大訓(xùn)練周期數(shù),模型的損失值可能也不會有較大變化。
3.3 "模型收斂速度
本節(jié)中模型收斂速度是指SSD模型的不同深度ResNet網(wǎng)絡(luò)在訓(xùn)練輪數(shù)趨近于20時(shí)接近模型最優(yōu)準(zhǔn)確率的速度。如圖2所示,不同深度的ResNet網(wǎng)絡(luò),在Epochs增大時(shí),其接近模型最優(yōu)準(zhǔn)確率的速度是不同的。收斂速度越快,意味著快速穩(wěn)健的融合,避免過擬合或是陷入局部最佳狀態(tài)[14]。3個(gè)不同深度ResNet模型均未出現(xiàn)明顯的收斂抖動現(xiàn)象,最終都會收斂。ResNet-101的收斂速度是最快的,在第14輪時(shí)接近最優(yōu)準(zhǔn)確率,呈現(xiàn)出穩(wěn)定狀態(tài),并且全程都快于其余兩者。在前5輪中,ResNet-18的收斂速度快于ResNet-34,第5輪后被反超,兩者收斂趨勢相近。
4 "總結(jié)與討論
本文通過對SSD、RetinaNet、YOLOv3、FasterRCNN模型不同深度骨干網(wǎng)絡(luò)進(jìn)行效率和精度方面的對比,分析其模型損失函數(shù)和收斂速度等結(jié)果,以此探究網(wǎng)絡(luò)深度、訓(xùn)練輪數(shù)等模型參數(shù)的影響。
1)本研究標(biāo)注了原始樣本800個(gè),通過旋轉(zhuǎn)30°后擴(kuò)增圖像數(shù)據(jù)集,這種方法是有作用的,對于檢測對象尺度變化不大、類別單一的數(shù)據(jù)集節(jié)省了大量人力和時(shí)間,但發(fā)揮了多大作用并沒有進(jìn)行試驗(yàn),數(shù)據(jù)增強(qiáng)的具體方式和多元化的數(shù)據(jù)集也將是未來深度學(xué)習(xí)的研究方向之一。
2)SSD模型在本文各評價(jià)維度中擁有最好的表現(xiàn),平均精度得分為0.788~0.817,訓(xùn)練時(shí)長為38 min 2 s至1 h 6 min 1 s,文件大小為103~360 MB,并且其訓(xùn)練損失和驗(yàn)證損失值的趨勢總體趨于一致,表明SSD模型在尺度相近、樣本類別單一的數(shù)據(jù)集中是一種功能強(qiáng)大的目標(biāo)檢測方法。
3)ResNet-101深度的網(wǎng)絡(luò)模型精度要顯著高于ResNet-18和ResNet-34,骨干網(wǎng)絡(luò)越深,平均精度得分越高,但訓(xùn)練時(shí)長和模型文件大小也會成倍增加,并且隨著當(dāng)前深度學(xué)習(xí)網(wǎng)絡(luò)模型研究的不斷深入,模型的結(jié)構(gòu)表現(xiàn)出越來越深的態(tài)勢,計(jì)算也更加復(fù)雜化,模型參數(shù)多樣化,這對研究者們的硬件性能要求也會越來越高。雖然現(xiàn)在計(jì)算機(jī)的硬件設(shè)施尤其是專用于深度學(xué)習(xí)的GPU正處于快速更新升級時(shí)期,但現(xiàn)階段仍無法適應(yīng)大規(guī)模的復(fù)雜網(wǎng)絡(luò)模型,會限制其在手機(jī)、電腦等智能設(shè)備上的推廣使用,選擇哪類模型何種深度的骨干網(wǎng)絡(luò)以適配個(gè)性化的數(shù)據(jù)集是研究者們首要考慮的問題。
參考文獻(xiàn):
[1] 王卓,王健,王梟雄,等.基于改進(jìn)YOLOv4的自然環(huán)境蘋果輕量級檢測方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(8):294-302.
[2] 馮權(quán)瀧,牛博文,朱德海,等.土地利用/覆被深度學(xué)習(xí)遙感分類研究綜述[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(3):1-17.
[3] 葛程, 孫國強(qiáng). 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類研究[J]. 軟件導(dǎo)刊, 2018, 17(10): 27-31.
[4] 譚章祿, 陳孝慈. RetinaNet 圖像識別技術(shù)在煤礦目標(biāo)監(jiān)測領(lǐng)域的應(yīng)用研究[J]. 礦業(yè)安全與環(huán)保, 2020, 47(5): 65-70,76.
[5] LIN T Y, HUANG P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2):318-327.
[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector [C]// European Conference on Computer Vision. Springer, 2016: 21-37.
[7] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779-788.
[8] REDMON J, FARHADI A. YOLO9000: Better, Faster, Stronger [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 7263-7271.
[9] REDMON J, FARHADI A. YOLOv3: An incremental improvement [C]// Computer Vision and Pattern Recognition. 2018: 3523-3541.
[10] 張怡, 趙珠蒙, 王校常, 等. 基于 ResNet 卷積神經(jīng)網(wǎng)絡(luò)的綠茶種類識別模型構(gòu)建[J]. 茶葉科學(xué), 2021, 41(2): 261-271.
[11] QUANG T N, LEE S H, SONG B C. Object detection using improved bi-directional feature pyramid network[J]. Electronics, Multidisciplinary Digital Publishing Institute, 2021, 10(6): 746.
[12] YANG P Y, ZHANG G F, WANG L, et al. A part-aware multi-scale fully convolutional network for pedestrian detection[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 22(2): 1125-1137.
[13] 郭智超,鄧建球,劉愛東,等.基于改進(jìn)SSD的無人機(jī)航拍目標(biāo)檢測方法[J].兵器裝備工程學(xué)報(bào),2021,42(5):184-190.
[14] 袁銀. 基于深度學(xué)習(xí)的植物圖像識別方法研究[J]. 現(xiàn)代農(nóng)業(yè)科技, 2017, 709(23): 278-280.
(責(zé)任編輯:易 "婧)