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