?

基于切片推理的小目標檢測技術研究

2024-03-04 13:19劉玉雯劉文逸唐云龍何維真韓星燁
兵器裝備工程學報 2024年2期
關鍵詞:切片損失特征

劉玉雯,劉文逸,唐云龍,彭 沛,何維真,韓星燁

(西北機電工程研究所, 陜西 咸陽 712099)

0 引言

目前,無人機相關技術發展迅速,無人機以其小巧靈活、高效可控、續航能力不斷加強的顯著特點廣泛應用于民用航拍、軍事偵察、農業監測等領域[1]。在航拍視角的目標檢測中,其飛行高度越高,高分辨率成像畫面中的目標占比越小,而且成像過程中的光照變化、遮擋、背景復雜等因素都會增加目標檢測的難度。相比于常規尺寸的目標,小目標及微小目標相對于整幅圖像占比較小,特征不明顯且易受環境變化的干擾,存在漏檢、誤檢的現象,使得小目標的檢測精度僅為大目標的一半[2]。因此,通過增加多種小特征提取方法及模型優化策略從而提升小目標識別準確率,是當前目標檢測領域的一大研究熱點。

目前的小目標檢測算法主要從多尺度學習、數據增強、訓練策略、注意力機制、基于上下文檢測的角度進行算法改進[3]。2020年,針對小目標的數據預處理技術中Mosaic增強將4幅不同圖像拼接成原圖像尺寸輸入識別網絡,在不改變輸入圖像尺寸的情況下,增加了圖像中的目標數量,Copy-Paste增強通過復制粘貼的形式,將復制后的目標分布于圖像任意位置,Mixup增強將多幅圖像進行直接融合,增強后的圖像是多幅圖像相嵌的結果[4],這些預處理技術都是通過增加樣本數量來提升網絡學習效果,并未提升對小目標的特征提取能力。2020年,鄭晨斌等為增強小目標與周圍像素的交互學習,提出一種增強低層網絡特征輸出,獲取更多上下文信息的強化模型,提升了小目標特征的提取效果[5]。2021年,趙亮等針對小目標所占像素較少,可能隨網絡層加深特征減少甚至缺失的問題,提出一種全局與局部圖像特征自適應融合的小目標檢測算法,利用特征選擇模塊對圖像的不同輸出進行融合,提高了小目標檢出率[6]。2023年,謝椿輝等通過對特征提取模塊設計注意通道機制及優化損失函數的方式對YOLOv5算法進行改進,能夠有效適配航拍小目標檢測需求[7]。

本文中針對航拍視角下小目標所占像素較少,在高分辨率成像中識別精度較低且易漏檢誤檢的問題,結合小目標的先驗框尺寸及成像特點,對YOLOv5進行改進并添加輔助預測機制。使用基于上下文增強算法,增加有效特征層對局部特征的學習,減少小目標的特征缺失;使用優化后的邊界框損失函數,使網絡更加關注有效目標,提高小目標的定位精度;使用切片輔助推理算法,增加檢測網絡感受野,減少局部小目標的漏檢率。本文中提出的基于切片推理的改進YOLOv5算法,從特征網絡提取和目標檢出2個角度對網絡模型進行優化,是一種高效識別小目標的算法模型。

1 基于航拍視角的小目標分析

小目標通常是指在成像畫面中占比較少、特征不顯著且難與背景有效區分的目標。當前的目標檢測領域并未對小目標進行明確劃分,定義標準分為絕對尺度和相對尺度。因目標識別網絡需要構建有效特征層,通常是以原圖像尺寸為標準進行縮放,其中最大縮放比為32倍下采樣,故絕對尺度定義目標所占像素小于32×32區域即為小目標。國際光學學會認為,應按照目標的實際成像比例進行劃分,即絕對尺寸定義目標像素面積占比小于0.12%確定為小目標。上述是2種常規定義,還有根據面積中位數占比、目標先驗框占比進行小目標劃分[8]。小目標在航拍成像中的分布情況如圖1所示。圖中的航拍圖像源于Visdrone2019數據集,圖中的矩形框代表小目標在圖像中的定位結果,矩形框左上角的數字代表預測類別,該數據集共有10個類別,分別對應0~9的數字。圖中識別結果主要是數字0和3,分別代表預測類別結果為行人和汽車。

圖1 航拍小目標實際分布情況

根據圖1的分布結果,小目標在航拍成像中是真實存在且大量分布的,圖中也出現了小目標集中分布、遮擋、與背景區分度低、環境光照變差等外在變化的情況,這些影響因素都會增加小目標標注及特征提取的難度。隨深度神經網絡層數的加深,有效特征層中包含小目標的信息隨之減少,網絡學習小目標的能力逐漸減弱,從而導致檢測網絡對小目標的識別精度變差。

以Visdrone2019航拍數據集為例,將代表目標尺寸的先驗框與原圖像在寬、高方向分別進行比例分布統計,目標尺寸在原圖的占比結果如圖2所示。

圖2 Visdrone2019數據集先驗框分布

由圖2結果可知,Visdrone2019數據集中的多數目標所占像素較少,尺寸分布大多小于原圖的0.1%。該數據集是航拍圖像的典型代表,其中小目標分布較為集中,存在背景復雜難與目標有效區分的現象,故不適用于常規檢測網絡,需要針對小目標進行算法優化,提升模型訓練時對小目標的關注度及模型驗證時對小目標的檢出率。

綜上所述,為解決航拍視角中小目標尺寸較小、特征信息不明顯、環境適應性差的問題,應在模型設計中增加對小目標的特征學習,關注代表小目標的淺層網絡,通過輔助推理等方式提升小目標的識別效果。

2 基于小目標的YOLOv5目標檢測識別算法

2.1 YOLOv5目標檢測識別算法

基于深度學習的目標識別算法根據檢測流程設計的不同可分為一階段和兩階段網絡模型,由于檢測任務對識別算法實時性的要求,使算法優化工作更加偏向于對端到端學習的一階段算法進行設計改進[9-13]。針對小目標檢測識別的算法,對同屬于一階段算法的SSD網絡和YOLO網絡的優化改進研究較多,其中SSD算法的模型設計較為復雜,涉及多重卷積嵌套疊加,而YOLO網絡的模型設計較為簡明,只需在主干網絡中提取3個尺度的有效特征層進行預測,并在有效特征層之間進行信息融合,使每個特征層都包含多層圖像信息,有利于網絡整體適應于高分辨率圖像及多尺度目標的學習,從而提升檢測網絡的識別精度。YOLOv5是目前YOLO系列算法較先進且穩定的算法,網絡結構如圖3所示。

圖3 YOLOv5網絡結構圖

如圖3所示,YOLOv5主干網絡為CSPDarknet,其中包含卷積層、歸一化層、SiLU激活層及CSPLayer的Resblock大殘差模塊。CSPLayer內部使用1×1、3×3大小的卷積核,構成殘差邊,用于構建深層網絡。主干網絡中使用多組卷積與CSPLayer結合,再通過殘差減少因網絡層數增多帶來的過擬合問題。YOLOv5是在YOLOv4的基礎上進行改進,其不同之處在于YOLOv5將SPP結構放在主干網絡的底部,將多尺度卷積核應用于構建有效特征層中。在特征金字塔構建時,先使用CSPLayer進行特征融合再進行上采樣、下采用操作,最大限度保留本層特征并傳入檢測網絡。

2.2 針對小目標的YOLOv5改進策略

2.2.1使用CAM模塊增強上下文交互

因YOLOv5中3個特征圖尺度為80×80、40×40、20×20,分別代表小目標、中目標和大目標,所以淺層網絡中包含更多的小目標信息,通過提高淺層網絡特征提取或增加淺層網絡特征融合是針對小目標特征提取的有效手段[14-15]。文中提出將基于上下文增強的CAM模塊添加到YOLOv5特征融合網絡中,可有效解決小目標特征分散、特征層間語義信息差異較大的問題。CAM模塊結果如圖4所示。

圖4 CAM模塊結構

如圖4可知,CAM模塊中的擴張卷積以其特有的擴張倍率,將標準卷積進行擴張放大,在不改變特征圖尺度的前提下,擴張共享卷積核尺度,增大卷積核的感受野。為保證對特征圖的全局掃描,使用擴張倍率為1、3、5的3個3×3大小卷積核將特征圖進行多尺度提取,再通過不同的融合策略將特征提取結果進行合并。CAM模塊包含3種融合機制,分別是相加(Weighted)、拼接(Concatenation)和自適應融合(Adaptive),3種融合結構如圖5所示。

如圖5所示,相加和拼接2種融合機制先通過3個1×1卷積調整特征圖的通道數,再在維數或通道數方面進行特征融合,自適應機制通過卷積、拼接和Softmax函數獲得自適應權重,再以跳接的方式進行融合。

圖5 CAM模塊融合機制

2.2.2優化邊界框定位損失函數

邊界框定位損失是預測框與真實框差異的回歸計算結果,代表模型對目標識別輸出結果的定位精度,通常使用交并比(IOU)作為2個矩形框差異的衡量標準。常見的IOU、GIOU、DIOU函數針對矩形框間面積或中心點歐式距離進行改進,訓練結果存在回歸收斂慢、訓練結果不均衡等問題。YOLOv5的邊界框損失函數為CIOU,該函數在DIOU基礎上增加了兩矩形框間的長寬一致性對比,如式(1)所示:

(1)

式(1)中:v判斷預測框與真實框的長寬比是否一致,若一致結果為0;α表示為權重系數。

小目標尺寸較小,對預測框的定位精度要求更高,故文中使用Focal_EIOU損失函數對小目標的邊界框定位損失進行改進。EIOU函數是將預測框與真實框的寬高差異最小化,將長寬比的影響因子拆開計算,從而產生更好的收斂速度和定位結果。Focal函數是解決訓練樣本不平衡的問題,利用長尾數據分布規律,把高質量的先驗框和低質量的先驗框分開,增加回歸誤差較小的預測框對結果的占比。將二者結合后,Focal_EIOU函數如式(2)所示:

(2)

式(2)中:LIOU為IOU損失;Ldis為距離損失;Lasp為方位損失;γ為控制異常值抑制程度的參數。

2.2.3檢測網絡添加切片輔助推理

小目標是由少量像素構成,缺乏足夠的細節特征,傳統檢測網絡易忽視局部小目標,故提出使用切片輔助推理檢測網絡,提高小目標檢出效果。切片輔助推理(slicing aided hyper inference and fine-tuning for small object detection,SAHI),是一種通過切片輔助推理和管道微調的高效檢測網絡,通過對圖像進行重疊切分,使得小目標相對于原輸入圖像產生較大的像素區域,有利于提升對局部小目標的關注從而減少小目標的漏檢率。SAHI輔助切分原理,如圖6所示[16]。

由圖6可知SAHI的切片推理過程,先將原圖進行切片劃分并限制切片步長即切片區域在原圖中的滑動設置,再將切片結果進行相同寬高比例的區域分割,分割后的切片結果相互獨立,最后根據分割結果分別進行預測,因滑動切片處理會使預測結果出現重復,所以需要使用非極大值抑制算法對重復預測區域進行篩選合并,再還原至原圖尺寸得到最終的推理預測結果。

SAHI使檢測網絡對圖像特征掃描更加細致,增強了局部區域中小目標的特征檢出能力,是一種高效的基于局部信息增強的小目標檢測算法。

2.2.4改進的YOLOv5結構

YOLOv5的網絡結構主要考慮常規目標的檢測精度及模型泛化性應用,并未過多關注目標尺度的極限情況,所以模型訓練的收斂方向更傾向于中大尺度目標,小目標會因其特征提取不充分、訓練數據不平衡等因素在識別結果中表現較差。改進后的YOLOv5模型如圖7所示。

圖6 切片輔助推理原理圖

圖7 改進的YOLOv5模型

圖7中,YOLOv5主干網絡輸出80×80、40×40、20×20大小的3個尺度特征層,根據上、下采樣等特征融合方式輸出YOLOHead1,YOLOHead2,YOLOHead3,即代表小、中、大尺度的包含淺層特征和語義信息的有效特征圖,將代表稀疏特征提取的CAM模塊添加至特征融合的前端,使小目標特征提取更具泛化效果。Detect表示模型的預測階段,包含真實標注結果與模型預測的差值、預測類別置信度等輸出結果的計算和表示。在預測階段添加SAHI的切片推理,通過放大局部特征的像素占比,提升小目標的檢出率;在預測結果評估階段,添加改進的Focal_EIOU函數,在模型參數迭代更新中提高預測框的定位精度。

2.3 目標識別算法評價指標

1) AP(average precision)、mAP(mean average precision)

AP、mAP均代表目標識別準確率,AP是相對單類目標的識別精度,mAP是多類目標的識別精度取均值。在模型訓練時可能存在正負樣本不均衡或某類目標分布較多的情況,導致識別結果出現某類目標AP較高而整體mAP較低的情況,故在分析網絡模型性能時應根據數據分布情況選擇合適的識別精度評價指標進行結果的總和分析。

2) 準確率(precision)和召回率(Recall)

準確率是真正的正樣本數除以檢測的總數,如式(3):

(3)

召回率是預測為正例的樣本中預測正確的數量除以真正的正樣本數量,如式(4):

(4)

3 實驗分析

3.1 實驗平臺搭建及數據集預處理

本次網絡構建基于Python 3.8.1和Pytorch 1.13.1框架搭建,在Tesla T4顯卡和NVIDIA GeForce GTX 3090Ti GPU的配置環境下完成訓練和測試。文中的對比實驗采用公開數據集Visdrone2019進行訓練,網絡抓取UAV-ROAD數據進行算法驗證測試。

在數據集預處理階段,對Visdrone2019訓練集的先驗框大小進行聚類,其中不同顏色區域代表不同的聚類結果,顏色區域分布越廣,代表數據在該聚類中心的結果越集中,聚類中心即聚類結果根據數據分布進行更新,如圖8所示。得到3種不同比例和尺寸的9個結果(3,5)、(4,9)、(9,8)、(6,14)、(10,19)、(16,12)、(20,23)、(34,16)、(47,37)。

根據聚類結果可知,小目標先驗框尺寸較小,與YOLOv5中默認設置的先驗框相差較大,為使預測結果更加符合小目標真實尺寸,在模型訓練前將先驗框聚類結果進行替換,使模型在訓練學習中更傾向于小目標分布。

圖8 Visdrone2019數據集先驗框聚類結果

3.2 訓練參數對比

為驗證CAM模塊中多尺度擴張卷積對小目標局部特征的提取效果,從特征提取和特征融合2個角度分別進行基于CAM的改進對比實驗。對比實驗模型參數如表1所示。

表1 模型參數對比

表1記錄了實驗中各模型參數變化情況,使用模塊參數和算法參數對比各改進模塊對YOLOv5模型運算的影響,其中Layers表示神經網絡層數,GFLOPs表示模型計算復雜度。在主干網絡中,將CAM替換SPPF,對比2種模塊實驗參數可知,CAM的參數量較大,算法復雜度較高;對比CAM的3種融合方式,weight和concat都是在維數或通道進行拼接,參數量和模型結構一致,adaptive包含殘差結構,模型參數量大,算法層數較多。

根據參數數據及算法計算復雜度對比可知,在主干網絡中使用殘差結構進行多層特征提取,將改進模塊放置于融合網絡的處理方式能夠增強目標特征表達,且改進后的融合網絡與原算法相比,模型參數差異較小,是一種參數量變化較少的改進分支結構。

3.3 損失值對比

邊界框回歸結果是衡量目標定位精度的關鍵,基于YOLO算法的損失值包含置信度損失、分類損失和定位損失如式(5)所示:

L(o,c,O,C,l,g)=λ1Lconf(o,c)+λ2Lcla(O,C)+

λ3Lloc(l,g)

(5)

式(5)中:λ1、λ2、λ3為平衡系數;Lconf、Lcla、Lloc分別為置信度損失、分類損失和定位損失。置信度損失用于模型判別目標與背景;分類損失用于判別目標是否屬于該類型;定位損失用于判別模型預測結果是否準確。

采用批梯度下降的方式,對CAM在主干網絡和融合網絡改進的多種結構分別進行訓練。對Visdrone2019中的訓練集和驗證集進行隨機組合,隨機選取80%作為訓練集,每次訓練進行100次迭代,批量大小設置為16,初始學習率為0.01,權重衰減為0.000 5,不進行額外數據增強處理。使用YOLOv5默認損失函數,以50個epoch為例進行對比,3種損失函數對比結果如圖9所示。

圖9 邊界框損失函數對比

圖9中“head-cam-weight”為本文中的改進框架,可見幾組改進結構對于目標分類較為準確,邊界框損失基本在20個epoch趨于穩定,而本文中提出的改進方式收斂速度最快,在12個epoch趨于穩定;置信度損失函數中,前10個epoch的數值變化劇烈,本文中的改進算法在5個epoch時存在小幅波動后趨于穩定;邊界框定位損失中,各改進方式的變化趨勢較為相似,基本在0.11左右收斂結束。因此,將CAM模塊添加至YOLOv5特征融合網絡并使用“weight”融合方式在檢測網絡的損失函數中收斂最快,數據波動較小。

另外,針對小目標進行了邊界框定位損失函數優化,采用Focal_EIOU替代CIOU函數,分別對比CIOU、EIOU及Focal_EIOU在CAM改進框架中的損失值收斂效果,如圖10所示。

圖10 改進算法邊界框定位損失函數對比

由圖10可知,邊界框定位損失函數為CIOU或EIOU,函數收斂變化差異較小,而Focal_EIOU在訓練初始階段的損失值明顯下降,且隨迭代次數的增加趨于穩定。綜上,Focal_EIOU適用于改進后的網絡結構,且提升了數據集中小目標的定位精度。

3.4 識別結果分析

3.4.1數據集識別結果分析

因Visdrone2019數據集包含10個類別,且各類樣本分布不均,選取數據集中目標分布較多的4個類別進行識別效果對比,將IOU閾值均設置為0.5,選取20%的數據進行驗證,使用目標識別評價指標對改進結構的目標識別效果進行對比,各類目標識別結果如表2所示。

表2 目標識別結果對比

從表2可知,改進算法(FPN-cam-weight-Focal_EIOU)的識別準確率最高,在檢測小車(car)、行人(pedestrian)、卡車(truck)、摩托車(motor)等小目標的效果上提升明顯,對比原YOLOv5模型,分別提升了4.4%、2.1%、1.5%、2.4%。對比數據集全類別的PR曲線變化,可以看到小車的準確率和召回率結果最優,對改進算法的應用效果最好,如圖11所示。

圖11 改進算法在Visdrone2019數據集的PR曲線

綜上,可見改進算法相比于原YOLOv5識別準確率明顯提升,尤其是小車這種目標分布較多且特征顯著的類別,改進算法的特征提取能力較強且訓練效果最好。

3.4.2小目標檢出結果分析

為了驗證本文中提出的在檢測網絡中添加SAHI切片輔助推理算法,在高分辨率圖像中小目標的檢出率方面的提升效果,在網絡中抓取1080P分辨率的UAV-ROAD視頻數據。將切片重疊率設置為0.2,切片步長為512,切片寬高比一致,并使用NMS篩選重疊率高的檢測框。將原YOLOv5檢測網絡及本文中改進檢測算法進行對比,識別結果如圖12所示,圖中矩形框及標號代表了算法預測結果,依據數據集的數字-類別對應關系,在圖中直接進行類別顯示和置信度標注,如“car 0.71”代表算法預測圖中的小目標類別為汽車,且該目標為汽車的置信度概率為0.71。

圖12 檢測網絡識別結果對比

由圖12可知,在同幀圖像中原YOLOv5檢測網絡識別出12輛小車,未識別出行人;改進檢測網絡識別出26輛小車和8個行人??梢?改進的檢測網絡對于高分辨率中的小目標檢出效果較好,使圖中右上角容易被忽視的行人及左上角遠處的車輛,通過切片的方式,使網絡能夠檢測識別局部區域內的有效目標,提升了整幅圖像中小目標的檢出率,且在同一位置的目標識別精度有所提高,證明了本文中改進算法能夠有效提升小目標檢測效率。

4 結論

本文中的改進算法從模型特征融合、目標矩形框定位及目標檢出率3個方面進行優化,使用公開數據集進行算法對比驗證,實驗結果證明了本文中的改進算法在小目標檢測精度及檢出率方面均優于原YOLOv5算法,是一種針對小目標的高效識別檢測網絡。

1) 根據高分辨率圖像中小目標先驗框寬高占比,驗證了小目標是大量分布且像素占比僅為0.1%左右,通過對目標數據集先驗框尺寸聚類,得到符合該數據集的9個聚類結果,并將其應用于模型訓練中。

2) 本文中改進算法在特征融合中使用CAM模塊,提升了局部特征感受野,增強了小目標與其周圍像素的交互式學習;在目標矩形框定位中使用Focal_EIOU損失函數,增加了有效識別結果的關注度,顯著提升了圖像中小目標的定位精度,使得單類別識別精度提升4.4%。

3) 將SAHI輔助推理算法應用于檢測網絡中,通過切片的方式增加局部區域中小目標的檢測效果,通過與原YOLOv5檢測網絡的對比,小目標檢出率提升為原來的2倍。

猜你喜歡
切片損失特征
胖胖損失了多少元
如何表達“特征”
不忠誠的四個特征
玉米抽穗前倒伏怎么辦?怎么減少損失?
抓住特征巧觀察
基于SDN與NFV的網絡切片架構
腎穿刺組織冷凍切片技術的改進方法
一般自由碰撞的最大動能損失
損失
冰凍切片、快速石蠟切片在中樞神經系統腫瘤診斷中的應用價值比較
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合