徐光達(dá),毛國君,2+
1.福建工程學(xué)院 計(jì)算機(jī)科學(xué)與數(shù)學(xué)學(xué)院,福州350118
2.福建工程學(xué)院 福建省大數(shù)據(jù)挖掘與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,福州350118
近年來無人機(jī)技術(shù)發(fā)展迅速,無人機(jī)航拍圖像目標(biāo)檢測被應(yīng)用在多個(gè)領(lǐng)域,如城市交通[1]、精確農(nóng)業(yè)[2]、環(huán)境勘測[3]等諸多實(shí)際場景。由于航拍圖像的目標(biāo)檢測應(yīng)用豐富,研究者們圍繞其展開了大量工作。此前工作集中在滑動(dòng)窗口搜索[4]和手動(dòng)特征提取[5]上,這通常需要大量的先驗(yàn)知識(shí)和公式推導(dǎo)。隨著計(jì)算機(jī)視覺技術(shù)的快速發(fā)展,基于深度學(xué)習(xí)算法的目標(biāo)檢測表現(xiàn)出更優(yōu)異的性能,成為了主流技術(shù)被廣泛使用。
基于深度學(xué)習(xí)方法的目標(biāo)檢測算法主要可分為兩類:(1)以R-CNN(region-based convolutional neural networks)[6]、Faster R-CNN(faster region-based convolutional neural networks)[7]等算法為代表的二階段目標(biāo)檢測算法,此類算法在生成候選框的基礎(chǔ)上再回歸出目標(biāo)區(qū)域,具有較高的檢測精度。(2)以YOLO(you only look once)[8]、SSD(single shot multibox detector)[9]等為代表的一階段目標(biāo)檢測算法,它們直接對(duì)目標(biāo)的位置和類別進(jìn)行預(yù)測,具有更快的檢測速度。基于深度學(xué)習(xí)的目標(biāo)檢測方法廣泛應(yīng)用于各種實(shí)際場景[10-12],但是無人機(jī)通常被部署在大型場景中,這意味著在一幅圖像中有很多小而分布密集的物體,同時(shí)復(fù)雜多樣的背景信息也容易對(duì)待檢目標(biāo)產(chǎn)生混淆,通用的目標(biāo)檢測算法很難取得理想檢測效果。
無人機(jī)航拍圖像中的小目標(biāo)只占據(jù)圖像的一小部分,直接從細(xì)粒度局部區(qū)域獲得的信息非常有限。利用圖像中的上下文信息可以建立小目標(biāo)與其他目標(biāo)或者背景的聯(lián)系,幫助網(wǎng)絡(luò)檢測推斷。文獻(xiàn)[13]提出了一個(gè)上下文感知模塊,該模塊將原始的特征分別接一個(gè)1×1 卷積的支路和3×3 卷積的支路從而為特征圖帶來不同的感受野,達(dá)到豐富語義信息的目的,在小尺寸人臉檢測上表現(xiàn)優(yōu)異。徐堅(jiān)等人[14]將可變形卷積嵌入骨干網(wǎng)絡(luò),在不同感受野下提取多尺度特征信息,利用網(wǎng)絡(luò)的上下文信息提高無人機(jī)航拍小目標(biāo)檢測的精度。
多尺度特征是一種提高小目標(biāo)檢測率的有效方法。Faster R-CNN 和YOLO 等方法僅采用了單一尺度的特征圖,限制了特征信息的表達(dá)。為了加強(qiáng)網(wǎng)絡(luò)多尺度信息的表達(dá),結(jié)合不同層級(jí)特征圖之間的特點(diǎn),Lin 等人[15]提出了經(jīng)典的特征金字塔(feature pyramid network,F(xiàn)PN),采用自上而下的體系結(jié)構(gòu)和橫向連接,交互不同層級(jí)的特征信息。進(jìn)一步的,路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)[16]在FPN的基礎(chǔ)上添加了額外的自下而上的連接以更高效地傳遞淺層信息到高層,從而減少信息流通時(shí)的消耗。
雖然上述結(jié)構(gòu)能夠提升網(wǎng)絡(luò)多尺度表達(dá)的能力,但是在融合不同層級(jí)特征圖時(shí)直接通過元素加法進(jìn)行操作,忽略了不同層級(jí)特征圖對(duì)小目標(biāo)的貢獻(xiàn)。對(duì)于小物體而言,更需要淺層特征中的細(xì)粒度特征信息來辨別,平等融合深層特征可能會(huì)削弱淺層特征對(duì)小目標(biāo)的學(xué)習(xí)能力。并且不同特征圖之間的細(xì)膩度不同,直接采用相加或通道維度拼接的方式進(jìn)行融合,容易產(chǎn)生冗余信息和噪聲信息,影響上下文信息的獲取,干擾物體之間的關(guān)系表達(dá)。
為了獲得更充分的特征圖表示,利用不同層級(jí)特征圖聚合上下文信息,更好地檢測無人機(jī)航拍小目標(biāo)樣本。本文提出了一種多層級(jí)特征融合的無人機(jī)航拍圖像檢測方法(small target-you only look once version 5,ST-YOLOv5)。本文的主要工作包括以下三點(diǎn):(1)增加高分辨率的特征圖與原先的三個(gè)尺度特征圖一同在頸部網(wǎng)絡(luò)進(jìn)行特征融合,并且額外增加了對(duì)應(yīng)高分辨率特征圖的檢測頭用以對(duì)航拍圖像小尺度目標(biāo)進(jìn)行檢測。(2)結(jié)合無人機(jī)航拍圖像的特點(diǎn),設(shè)計(jì)多層級(jí)特征融合層。通過對(duì)四個(gè)層級(jí)的特征圖進(jìn)行融合,豐富特征圖的上下文信息,并自適應(yīng)地學(xué)習(xí)生成每個(gè)層級(jí)的權(quán)重比例,根據(jù)檢測樣本的尺度合理分配不同層級(jí)特征圖貢獻(xiàn),聚合有利于小目標(biāo)樣本的特征信息。(3)在預(yù)測網(wǎng)絡(luò)中,用解耦檢測頭替換YOLOv5 的耦合檢測頭,一定程度上減緩了目標(biāo)檢測定位任務(wù)和分類任務(wù)的沖突,加強(qiáng)對(duì)目標(biāo)的定位能力。
YOLO 系列算法兼并檢測精度和檢測速度,是最為流行的目標(biāo)檢測算法之一,目前已經(jīng)推出至YOLOv5。YOLOv5 規(guī)模由小至大分為S、M、L、X 四種規(guī)格,其網(wǎng)絡(luò)結(jié)構(gòu)都是一致的,不同的是其網(wǎng)絡(luò)寬度與網(wǎng)絡(luò)深度。對(duì)于無人機(jī)航拍圖像目標(biāo)檢測任務(wù),由于背景復(fù)雜、小目標(biāo)樣本居多,需要一定深度的網(wǎng)絡(luò)提取特征信息。綜合檢測速度與精度的需求,本文選擇了規(guī)格為L 的YOLOv5 算法作為基線方法。
如圖1 所示,YOLOv5 算法由三部分構(gòu)成,分別是主干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)、頭部網(wǎng)絡(luò)(Head)。Backbone 即在不同圖像細(xì)粒度上聚合并形成圖像特征的卷積神經(jīng)網(wǎng)絡(luò)。在YOLOv5 中,Backbone 對(duì)輸入圖像進(jìn)行特征提取,并通過下采樣操作生成5 個(gè)不同層級(jí)的特征圖{C1,C2,C3,C4,C5}。為了預(yù)測不同尺度的目標(biāo),選擇{C3,C4,C5} 3 個(gè)尺度的特征圖作為頸部網(wǎng)絡(luò)的輸入。
圖1 YOLOv5 結(jié)構(gòu)圖Fig.1 YOLOv5 structure
頸部網(wǎng)絡(luò)則是對(duì)來自主干網(wǎng)絡(luò)的3 個(gè)尺度的特征信息進(jìn)行卷積、池化等操作,從而獲得更魯棒的特征表示。頸部網(wǎng)絡(luò)中采用了FPN 和PAN 結(jié)合的方式進(jìn)行特征融合,即通過自上向下和自下而上兩條路徑融合深層與淺層特征圖,將淺層網(wǎng)絡(luò)的細(xì)節(jié)信息和深層網(wǎng)絡(luò)的語義信息有效結(jié)合,加強(qiáng)網(wǎng)絡(luò)對(duì)目標(biāo)的多尺度預(yù)測能力。
頭部網(wǎng)絡(luò)由3 個(gè)檢測頭組成,負(fù)責(zé)對(duì)特征圖上的特征點(diǎn)進(jìn)行判斷,判斷特征點(diǎn)是否有物體與其對(duì)應(yīng)。{P3,P4,P5}三層特征圖輸入檢測頭后,通過1×1卷積調(diào)整通道維數(shù)為Na×(4+1+Nc),實(shí)現(xiàn)目標(biāo)的定位與分類。其中,Na是預(yù)定義的錨框(anchor)的數(shù)量,Nc表示類別數(shù)量,4 表示對(duì)每個(gè)錨框需要預(yù)測的四維坐標(biāo)信息(x,y,w,h),1 表示類別的置信度。
ST-YOLOv5 算法的框架結(jié)構(gòu)如圖2 所示,輸入圖像經(jīng)過4 倍下采樣后得到特征圖C2。為了提取更充足的特征信息,將C2特征圖與{C3,C4,C5}一并進(jìn)行特征融合,由于高分辨率的特征圖C2保留了更多關(guān)于小目標(biāo)的細(xì)節(jié)信息,更有利于圖像中小目標(biāo)的檢測。頸部網(wǎng)絡(luò)的多層級(jí)特征融合層旨在對(duì){P2,P3,P4,P5}4 個(gè)層級(jí)的特征圖進(jìn)行融合,豐富上下文信息,使用可學(xué)習(xí)的權(quán)重系數(shù)自適應(yīng)加權(quán)融合不同層級(jí)的特征圖,根據(jù)檢測任務(wù)的需求分配不同層級(jí)特征圖的比例,更好地識(shí)別無人機(jī)航拍圖像目標(biāo)。最終,多層特征融合生成4 個(gè)尺度的新特征圖{L2,L3,L4,L5}輸入解耦檢測頭預(yù)測目標(biāo)。采用上述改進(jìn)措施后,有益于深入挖掘無人機(jī)圖像目標(biāo)檢測的關(guān)鍵特征信息,可提升YOLOv5 在無人機(jī)航拍圖像目標(biāo)檢測效果。
圖2 ST-YOLOv5 算法框架結(jié)構(gòu)圖Fig.2 Architecture of ST-YOLOv5 algorithm
YOLOv5 算法采取8 倍、16 倍、32 倍下采樣的特征圖分別預(yù)測小、中、大三種尺度的目標(biāo)樣本。而航拍圖像中目標(biāo)尺度更小,存在許多微小目標(biāo),在經(jīng)過多次下采樣后,目標(biāo)的特征信息過于稀少,原本3 個(gè)尺度的特征圖難以檢測此類極小目標(biāo)。為了提高小目標(biāo)的特征信息提取量,將特征圖C2輸入頸部網(wǎng)絡(luò)與其余3 個(gè)尺度特征圖進(jìn)行特征融合。
如圖2 所示,{C1,C2,C3,C4,C5}是5 個(gè)尺度大小的特征圖,分別對(duì)應(yīng)著{2,4,8,16,32}倍的下采樣倍數(shù)。特征圖C2與C3、C4、C5通過特征金字塔進(jìn)行特征融合,C2的分辨率更高,保留更多關(guān)于小目標(biāo)的特征信息,在特征信息傳遞的融合過程中提供更充足的目標(biāo)信息,從而加強(qiáng)了網(wǎng)絡(luò)的學(xué)習(xí)能力。COCO(common objects in context)[17]把圖像中小于32×32 個(gè)像素點(diǎn)的物體定義為小目標(biāo)物體,若輸入圖像大小為640×640 像素,{C1,C2,C3,C4,C5} 的大小分別對(duì)應(yīng)為{320×320,160×160,80×80,40×40,20×20}像素,那么小目標(biāo)在深層的特征圖中可能只保留有1 到2 個(gè)像素。因此,本文額外添加了一個(gè)適配于C2尺度大小的檢測頭,它在4 倍下采樣的特征圖上進(jìn)行目標(biāo)預(yù)測,能夠?qū)崿F(xiàn)對(duì)極小尺度目標(biāo)的檢測,從而提高對(duì)小目標(biāo)的檢測能力。
考慮小目標(biāo)檢測層的添加會(huì)帶來額外的計(jì)算開銷,本文對(duì)其進(jìn)行了消融實(shí)驗(yàn)。在增加C2參與特征融合后,由于只是添加該特征層并沒有額外增加過多的卷積層,網(wǎng)絡(luò)只增加了極少的參數(shù)量。而額外的檢測頭由于需要在4 倍下采樣的特征圖上進(jìn)行目標(biāo)預(yù)測,這為算法帶來一些額外的計(jì)算量。綜合來看,小目標(biāo)檢測層能夠在只消耗少許的計(jì)算開銷的情況下,提升算法對(duì)小目標(biāo)檢測的精確率。
特征提取網(wǎng)絡(luò)中,淺層網(wǎng)絡(luò)生成的淺層特征圖具有更多的目標(biāo)紋理特征,因此含有豐富的細(xì)節(jié)信息;而深層網(wǎng)絡(luò)生成的深層特征圖則通過更大的感受野,提取更豐富的語義信息。FPN 和PAN 結(jié)構(gòu)的目的是為了傳遞不同層級(jí)的特征圖的特征信息,融合多尺度特征,提高對(duì)不同尺寸目標(biāo)的感知能力從而提升目標(biāo)檢測的精度。然而FPN 和PANet 將不同層級(jí)特征信息以平等關(guān)系跨層融合,忽略了不同特征層之間的關(guān)系。深層網(wǎng)絡(luò)特征含有的豐富語義信息適合檢測大目標(biāo),淺層網(wǎng)絡(luò)特征含有的豐富細(xì)節(jié)信息則更適合檢測小目標(biāo),因此不同層級(jí)特征圖對(duì)任務(wù)目標(biāo)的貢獻(xiàn)是不同的。在無人機(jī)航拍圖像目標(biāo)檢測任務(wù)中,小目標(biāo)樣本所占的比重更大,簡單地融合深層特征圖信息會(huì)削弱淺層特征圖對(duì)小目標(biāo)位置信息的感知。
針對(duì)以上問題,本節(jié)設(shè)計(jì)了多層級(jí)特征融合層(multi-level feature fusion layer,MFFL),為各尺度特征層賦予不同比例權(quán)重,自適應(yīng)地調(diào)節(jié)淺層特征和深層特征的貢獻(xiàn)度,強(qiáng)化不同尺寸目標(biāo)檢測時(shí)所需要的特征信息,有效利用了4 個(gè)不同尺度特征層的淺層和深層特征,進(jìn)而豐富特征信息以指導(dǎo)無人機(jī)航拍圖像目標(biāo)檢測工作。
如圖3 所示,MFFL 對(duì)4 個(gè)層級(jí)的特征圖進(jìn)行融合重新生成新的特征圖,這里以P3經(jīng)過多層級(jí)特征融合生成新特征圖L3的過程(L2、L4、L5的生成過程與L3相同)進(jìn)行詳細(xì)說明。為了加權(quán)融合4 個(gè)層級(jí)的特征圖,需要將它們都統(tǒng)一成相同大小和相同通道數(shù)。將P4和P5進(jìn)行上采樣調(diào)整分辨率,利用3×3 的卷積層調(diào)整通道數(shù);對(duì)P2則進(jìn)行下采樣,通過1×1 的卷積層調(diào)整通道數(shù)。將調(diào)整后的特征圖R1、R2、R3、R4進(jìn)行通道維度上的整合,得到融合的特征圖R:
圖3 多層級(jí)特征融合層結(jié)構(gòu)Fig.3 Architecture of multi-level feature fusion layer
由于不同特征圖之間的細(xì)粒度不同,融合后的特征圖可能會(huì)引入沖突信息和冗余信息,降低特征圖的表達(dá)能力。為了過濾噪聲信息,通過壓縮與激勵(lì)(squeeze and excitation)模塊計(jì)算特征圖R的通道注意力,強(qiáng)調(diào)相關(guān)信息的表達(dá),減弱不相關(guān)信息的干擾。首先對(duì)輸入R∈RH×W×C進(jìn)行全局平均池化得到每個(gè)通道的全局特征:
其中,F(xiàn)sq(·)表示壓縮映射,ZC表示為特征圖R的第C個(gè)通道的全局特征空間。
隨后通過兩個(gè)全連接層W1和W2學(xué)習(xí)各個(gè)通道間的非線性關(guān)系,并使用Sigmoid 激活函數(shù)生成各個(gè)通道的權(quán)重s:
其中,F(xiàn)ex(·)表示激勵(lì)映射;σ(·)表示Sigmoid 函數(shù);δ(·)表示ReLU 函數(shù)。將權(quán)重s與特征圖R進(jìn)行相乘得到特征圖U,放大重要信息的響應(yīng),抑制無關(guān)信息的響應(yīng)。激勵(lì)與壓縮模塊通過捕獲通道之間的相關(guān)性,挖掘輸入與輸出特征通道之間的遠(yuǎn)距離依賴關(guān)系,減少冗余信息和沖突信息的干擾。
為了進(jìn)一步捕捉特征圖的空間特征,通過1×1 的卷積壓縮通道維數(shù)提取空間位置信息,然后利用Softmax 函數(shù)將特征圖在空間上的權(quán)重歸一化,得到權(quán)重矩陣W∈R4×H×W:
最后沿著通道維度把權(quán)重矩陣分割為α、β、γ、λ∈R1×H×W,得到各個(gè)層級(jí)特征圖的重要性權(quán)重參數(shù),各個(gè)層級(jí)特征圖與權(quán)重參數(shù)相乘得到融合后的新特征圖L3:
權(quán)重參數(shù)的產(chǎn)生來自不同層級(jí)特征的輸入,在模型訓(xùn)練的過程中,通過網(wǎng)絡(luò)的梯度反向傳播不斷學(xué)習(xí),自適應(yīng)地調(diào)整以適應(yīng)當(dāng)前的任務(wù)。權(quán)重參數(shù)由特征學(xué)習(xí)的更新過程不斷優(yōu)化,當(dāng)輸入數(shù)據(jù)信息包含小目標(biāo)實(shí)例居多時(shí),權(quán)重參數(shù)就會(huì)為淺層特征圖賦予更高的權(quán)值,而深層特征圖則根據(jù)檢測任務(wù)的需要賦予較低的權(quán)重以指導(dǎo)特征學(xué)習(xí),經(jīng)過淺層特征和深層特征的合理分配實(shí)現(xiàn)無人機(jī)航拍圖像目標(biāo)更精確的識(shí)別。MFFL 對(duì)輸入的特征圖{P2,P3,P4,P5}進(jìn)行融合,從不同感受野的特征層中聚合了更多的上下文信息,并自適應(yīng)加權(quán)融合各層級(jí)特征圖得到{L2,L3,L4,L5},充分挖掘了不同深度特征層的多維特征,可以更好地監(jiān)督網(wǎng)絡(luò)的特征融合過程,使融合后的特征兼顧強(qiáng)大的語義信息和豐富的紋理細(xì)節(jié)信息。
圖4 展示了不同層注意力熱力圖對(duì)比分析,直觀展示如何融合多層特征以適應(yīng)不同尺度的目標(biāo)。如圖4 所示,對(duì)于小目標(biāo)樣本,淺層特征P2、P3聚焦于目標(biāo)的細(xì)節(jié)紋理,而深層特征P4、P5則更籠統(tǒng)地關(guān)注目標(biāo)與周圍背景的抽象信息,顯然淺層特征能更好幫助定位小目標(biāo),因此L3以P2、P3的特征信息為主導(dǎo)精確定位目標(biāo),保留少量P4、P5的特征幫助減少冗余信息。總的來說,不同尺寸的目標(biāo)會(huì)改變MFFL 對(duì)各級(jí)特征的分配,使得其向有利于當(dāng)前訓(xùn)練樣本的方向傾斜。并且MFFL 在融合各級(jí)特征的過程中,獲得了在不同感受野上得到的多尺度信息,能夠更優(yōu)地挖掘目標(biāo)像素與周圍像素之間的聯(lián)系,這種物體與物體之間的關(guān)系即上下文信息有利于小目標(biāo)的檢測。
圖4 不同層注意力熱力圖Fig.4 Heatmap of attention on different layers
無人機(jī)航拍圖像中,小目標(biāo)檢測任務(wù)占據(jù)了主要地位。為了更直觀地說明MFFL 的作用,圖5 可視化了檢測小目標(biāo)時(shí)C3、P3、L3特征圖的注意力熱力圖。其中C3表示只經(jīng)過主干網(wǎng)絡(luò)提取的特征,P3表示C3經(jīng)過特征金字塔FPN 和PAN 融合后的特征,L3表示P3經(jīng)過多層級(jí)特征融合層的特征輸出。由圖5可知,C3特征可大致定位目標(biāo)位置,但是對(duì)目標(biāo)的響應(yīng)較弱。P3相比C3,對(duì)目標(biāo)的學(xué)習(xí)更加充分,使得其對(duì)物體的關(guān)注程度得到提升,但是由于特征金字塔融合的深層語義信息,也使得P3增添了目標(biāo)周圍信息的干擾。而L3則在強(qiáng)化目標(biāo)特征的同時(shí),一定程度上抑制了其他特征的干擾。由可視化分析可知,多層級(jí)特征融合層通過多級(jí)特征聯(lián)合加強(qiáng)小目標(biāo)的細(xì)節(jié)信息,減少干擾信息,提高判別性,以此提高小目標(biāo)的檢測率。
圖5 注意力圖可視化Fig.5 Visualization of attention map
YOLO 檢測頭通過卷積改變輸入特征圖的通道維數(shù),使其包含邊框坐標(biāo)、邊框置信度和對(duì)象類別數(shù)信息,完成對(duì)目標(biāo)的定位和分類的回歸。由于分類與定位任務(wù)共享一個(gè)特征圖,邊界框回歸和對(duì)象檢測任務(wù)耦合的檢測頭可以稱作耦合檢測頭(coupled head)。
然而在目標(biāo)檢測的定位和分類任務(wù)中,兩個(gè)任務(wù)所聚焦的地方不同:分類更加關(guān)注所提取的特征與已有類別哪一類最為相近,而定位更加關(guān)注與真實(shí)框的位置坐標(biāo)從而進(jìn)行邊界框參數(shù)修正。因此如果采取用同一個(gè)特征圖進(jìn)行分類和定位,效果會(huì)不好,即所謂的失調(diào)的問題[18]。例如,特征圖上的一些突出區(qū)域具有豐富的分類信息,而其邊界周圍的信息則對(duì)邊界框的回歸更具優(yōu)勢。也就是說,如果一個(gè)檢測器試圖從一個(gè)相同的空間點(diǎn)判斷分類分?jǐn)?shù)和回歸結(jié)果,那么它往往對(duì)兩個(gè)任務(wù)的適配程度不能達(dá)到最佳。文獻(xiàn)[19]對(duì)全連通頭(fully connected head)和卷積頭(convolution-head)分別輸出特征圖,發(fā)現(xiàn)全連通頭比卷積頭具有更高的空間敏感性,全連通頭具有更多的能力來區(qū)分一個(gè)完整的對(duì)象和一個(gè)對(duì)象的一部分,但不能穩(wěn)健地回歸整個(gè)對(duì)象。因此全連通頭更適合于分類任務(wù),而卷積頭更適合定位任務(wù)。這些研究說明分類和定位所關(guān)注的內(nèi)容并不一致。
無人機(jī)航拍圖像中大面積的復(fù)雜背景和多種類別目標(biāo)的干擾,使得小目標(biāo)的識(shí)別任務(wù)更具有挑戰(zhàn)性?;ハ嗾趽醯哪繕?biāo)需要精確的定位信息來確定各自的位置。為了提高航拍圖像小目標(biāo)對(duì)定位和分類的敏感性,提高定位和分類的精確度,本文用解耦檢測頭(decoupled head)對(duì)目標(biāo)進(jìn)行預(yù)測,為定位與分類任務(wù)解耦出單獨(dú)的特征通道,用于邊界框坐標(biāo)回歸和對(duì)象分類。
如圖6 所示,解耦檢測頭先對(duì)輸入特征圖使用1×1 卷積降低通道維數(shù),以減少參數(shù)量的產(chǎn)生。然后特征圖輸出分為兩條支路:一條支路負(fù)責(zé)分類任務(wù),通過兩個(gè)3×3 的卷積提取特征信息后,再使用1×1 的卷積將特征圖的通道維數(shù)調(diào)整至預(yù)測目標(biāo)的類別數(shù)量,在該特征圖上完成分類任務(wù);另一條支路負(fù)責(zé)定位任務(wù),依舊先使用3×3 卷積層提取特征,不同的是,提取特征后將特征圖分為兩個(gè),一個(gè)預(yù)測邊界框的中心坐標(biāo)以及框的高度和寬度{x,y,w,h},另一個(gè)則獲取目標(biāo)的置信度分?jǐn)?shù)判斷該點(diǎn)真實(shí)目標(biāo)框與預(yù)測框的交并比。相比耦合檢測頭直接將多種信息集成在一個(gè)特征圖,解耦檢測頭能夠有效避免不同任務(wù)需求不同特征信息的沖突,加強(qiáng)定位和分類的能力。
圖6 耦合檢測頭與解耦檢測頭的比較Fig.6 Comparison of coupled head and decoupled head
為了驗(yàn)證算法的有效性,本文在公開數(shù)據(jù)集VisDrone[20]上進(jìn)行實(shí)驗(yàn)。VisDrone 數(shù)據(jù)集是由天津大學(xué)機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘?qū)嶒?yàn)室的AISKYEYE 團(tuán)隊(duì)收集的無人機(jī)航拍圖像數(shù)據(jù)集。圖片由裝載相機(jī)的無人機(jī)捕獲,收集有不同場景、天氣、光照條件等多種情況下的航拍圖像,范圍覆蓋廣泛。數(shù)據(jù)集標(biāo)注了行人、人、汽車、面包車、公共汽車、卡車、貨車、自行車、遮陽三輪車和三輪車10 類樣本,其中包括6 471 幅訓(xùn)練集圖像、548 幅驗(yàn)證集圖像以及3 190 幅測試集圖像,共計(jì)260 萬個(gè)目標(biāo)實(shí)例樣本。
實(shí)驗(yàn)的訓(xùn)練在顯存為80 GB 的TeslaA100 服務(wù)器上進(jìn)行,測試在配置為AMD Ryzen 5 5600X CPU、GeForce GTX3060Ti GPU 的計(jì)算機(jī)上進(jìn)行。實(shí)驗(yàn)軟件環(huán)境采用Windows10 操作系統(tǒng),Pytorch 深度學(xué)習(xí)框架,python 3.8、torch 1.7.1、tqdm 4.63.0 等相關(guān)工具包。訓(xùn)練參數(shù)設(shè)置:訓(xùn)練輪次設(shè)置為100,批處理尺寸大小設(shè)置為16,初始學(xué)習(xí)率為0.001,采用Adam 優(yōu)化器。
為了更準(zhǔn)確地評(píng)估算法的性能,選取平均精度(average precision,AP)和均值平均精度(mean average precision,mAP)作為評(píng)價(jià)指標(biāo)。AP 能夠反映單個(gè)目標(biāo)類別的檢測性能,mAP 能夠反映所有類別的綜合檢測性能。AP 由精確率(Precision)和召回率(Recall)計(jì)算得到,精確率和召回率由式(6)和式(7)計(jì)算得到:
其中,TP表示被預(yù)測為正例的正樣本,F(xiàn)P表示被預(yù)測為正例的負(fù)樣本,F(xiàn)N表示被預(yù)測為負(fù)例的正樣本。
選定一個(gè)交并比(intersection over union,IOU)閾值,以該IOU 閾值下的Recall 為橫軸,Precision 為縱軸繪制PR 曲線,對(duì)PR 曲線上的精度求均值可得到該類別AP:
對(duì)所有類別的AP 求均值即可計(jì)算mAP 值:
為了驗(yàn)證ST-YOLOv5 算法的性能,本文選取了多種先進(jìn)的無人機(jī)航拍圖像目標(biāo)檢測算法進(jìn)行對(duì)比分析。表1 給出了各個(gè)算法在IOU 閾值為0.50 和0.50:0.95 時(shí)的mAP。
表1 不同算法在VisDrone數(shù)據(jù)集上的mAP 對(duì)比Table 1 mAP comparison of different algorithms on VisDrone dataset 單位:%
(1)當(dāng)IOU 閾值為0.50 時(shí),ST-YOLOv5 的mAP相比DMNet、YOLOv3、Cascade R-CNN分別高出9.00個(gè)百分點(diǎn)、20.35個(gè)百分點(diǎn)、6.67個(gè)百分點(diǎn)。與CLSAN、QueryDet、ClusDet等算法相比取得了相近的檢測精度。
(2)當(dāng)IOU 閾值為0.50:0.95 時(shí),ST-YOLOv5 的mAP 達(dá)到35.50%,在對(duì)比的算法中取得了最佳,相比CLSAN、QueryDet、ClusDet 分別高出4.80 個(gè)百分點(diǎn)、1.59 個(gè)百分點(diǎn)、3.10 個(gè)百分點(diǎn)。
從實(shí)驗(yàn)結(jié)果來看,ST-YOLOv5 在兩個(gè)IOU 下的mAP 都高于對(duì)比算法,并且在IOU=0.50:0.95 時(shí),較其他算法提升較為明顯,證明本文方法具有更強(qiáng)的定位能力。綜合來看,ST-YOLOv5 與其他的先進(jìn)算法相比展現(xiàn)出一定的優(yōu)勢,較通用的目標(biāo)檢測算法YOLOv3 和Cascade R-CNN 有明顯的提升,適用于無人機(jī)航拍圖像目標(biāo)檢測任務(wù)。
為探究添加小目標(biāo)檢測層對(duì)YOLOv5 算法檢測能力(mAP)產(chǎn)生的影響,以及小目標(biāo)檢測層所帶來的額外計(jì)算開銷,本文分別設(shè)置兩組模型對(duì)照,一組為YOLOv5,二組為添加了小目標(biāo)檢測層P2的YOLOv5,其余設(shè)置均與YOLOv5 模型相同。
實(shí)驗(yàn)結(jié)果如表2 所示,YOLOv5+P2的對(duì)照組相比一組mAP 提升了1.60 個(gè)百分點(diǎn),算法的參數(shù)量和浮點(diǎn)運(yùn)算次數(shù)分別增加了0.9 MB 和20.8 GFLOPs。實(shí)驗(yàn)證明,小目標(biāo)檢測層的添加有效地增強(qiáng)了模型的小目標(biāo)特征提取能力,在不過多增加額外參數(shù)量和計(jì)算量的情況下,一定程度上提升了網(wǎng)絡(luò)對(duì)航拍目標(biāo)檢測的平均精度均值。
表2 添加小目標(biāo)檢測層的消融實(shí)驗(yàn)結(jié)果Table 2 Ablation experiment results of adding small target detection layer
多層級(jí)特征融合層將不同特征層進(jìn)行自適應(yīng)融合,使其有利于識(shí)別小目標(biāo)物體的檢測。為探究不同融合系數(shù)對(duì)檢測性能(mAP)的影響,本文設(shè)置了多組模型對(duì)照。其中,α=β=γ=λ=0 表示基線方法,即不采用多層級(jí)特征融合層。α=β=γ=λ=0.25、α=β=γ=λ=0.50,α=β=γ=λ=0.75,α=β=γ=λ=1.00 表示各級(jí)特征以不同的固定系數(shù)進(jìn)行相加融合。Aaptiveα,β,γ,λ表示自適應(yīng)的各級(jí)特征融合系數(shù)。實(shí)驗(yàn)結(jié)果如表3 所示。
表3 不同融合系數(shù)的實(shí)驗(yàn)結(jié)果Table 3 Experiment results of different fusion coefficients
α=β=γ=λ=0 時(shí)表示采用YOLOv5 原本的結(jié)構(gòu),各級(jí)特征不參與融合。而設(shè)定固定參數(shù)為0.25、0.50、0.75 和1.00 時(shí),從表3 可知4 組固定參數(shù)都取得了低于基線方法的精度,這意味著不同特征沒有考慮訓(xùn)練樣本的尺度大小,平等融合多層特征反而對(duì)已獲得的特征信息造成了沖突,減弱了對(duì)小目標(biāo)樣本的學(xué)習(xí)能力。當(dāng)采用自適應(yīng)的α、β、γ、λ時(shí),融合參數(shù)由訓(xùn)練樣本中所需要的層級(jí)特征進(jìn)行合理分配,從大量的多尺度信息中提取有利于當(dāng)前任務(wù)的特征信息,從而提高了檢測精度。
最后,為驗(yàn)證小目標(biāo)檢測層、多層級(jí)特征融合層以及解耦檢測頭的有效性,本文設(shè)置了多組消融實(shí)驗(yàn)進(jìn)行探究。表4 給出各組實(shí)驗(yàn)10 類目標(biāo)的AP 值與mAP 值(IOU=0.50:0.95)。其中+P2表示在基線方法上添加小目標(biāo)檢測層,+MFFL 表示添加多層級(jí)特征融合層,+DH 表示添加解耦檢測頭。
從表4 中的實(shí)驗(yàn)結(jié)果可以看出,將小目標(biāo)檢測層加入特征融合和預(yù)測后,各個(gè)類別的精度都有一定提升,這是因?yàn)樾∧繕?biāo)檢測層的高分辨率保留了更多的特征信息,一定程度上提升算法對(duì)每一類的檢測精度。MFFL 通過訓(xùn)練的過程不斷優(yōu)化各層級(jí)特征的融合權(quán)重,同時(shí)其獲取的多尺度特征信息也幫助定位和分類小目標(biāo),mAP 提高了1.6 個(gè)百分點(diǎn)。解耦檢測頭在一定程度上緩解了定位任務(wù)和分類任務(wù)的沖突,在有無添加小目標(biāo)檢測層的情況下都提升了mAP。最后,集成三方面改進(jìn)的ST-YOLOv5 方法較基線方法YOLOv5 的mAP 提升4.4 個(gè)百分點(diǎn),達(dá)到最優(yōu)的檢測精度。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Ablation experiment results 單位:%
為了驗(yàn)證ST-YOLOv5 算法在實(shí)際場景中的檢測效果,選取VisDrone 測試集中多個(gè)復(fù)雜場景下的無人機(jī)航拍圖像進(jìn)行測試。檢測結(jié)果如圖7 所示,在白天與黑夜場景中,對(duì)于分布密集的小目標(biāo),例如汽車、行人等目標(biāo)樣本,可以精確回歸每個(gè)目標(biāo)的確切位置;在背景復(fù)雜的情況下,該方法能夠排除例如樹木、建筑等干擾物體的影響,正確地分類和定位目標(biāo)??偟膩碚f,本文方法在不同光照條件、背景、分布狀況的實(shí)際場景中均展現(xiàn)出較好的檢測效果,可以滿足無人機(jī)航拍圖像目標(biāo)檢測任務(wù)的需求。
圖7 不同場景檢測效果Fig.7 Detection effects in different scenarios
為了進(jìn)一步評(píng)估本文方法的性能,研究其特殊場景下的檢測能力,選取了分布密集、復(fù)雜背景、極小目標(biāo)和黑暗背景情況下的無人機(jī)航拍圖像對(duì)YOLOv5 和本文方法進(jìn)行測試,圖8 給出對(duì)比結(jié)果。
對(duì)比圖8(a),在分布密集的情況下,YOLOv5 錯(cuò)將摩托車識(shí)別為自行車,且存在大量目標(biāo)漏檢的情況,而ST-YOLOv5 則能精確地進(jìn)行識(shí)別。對(duì)比圖8(b),在復(fù)雜背景下,ST-YOLOv5 依舊識(shí)別出邊緣的行人,而YOLOv5 則因?yàn)閺?fù)雜的背景信息干擾了對(duì)目標(biāo)的正確檢測。對(duì)比圖8(c),對(duì)于極小目標(biāo),STYOLOv5 特征學(xué)習(xí)更為充分,相比YOLOv5 沒有產(chǎn)生漏檢的情況。對(duì)比圖8(d),夜間低照度影響了YOLOv5 對(duì)檢測目標(biāo)的判斷,誤將兩輛摩托車識(shí)別為汽車。
圖8 檢測效果對(duì)比Fig.8 Comparison of detection effects
從對(duì)比情況來看,ST-YOLOv5 通過多層級(jí)特征的融合獲取更充分的小目標(biāo)特征信息,并從大量的多尺度信息中提取有利于目標(biāo)定位分類的信息,相比YOLOv5 減少了漏檢、誤報(bào)的情況,對(duì)處于復(fù)雜背景的無人機(jī)圖像小目標(biāo)具備更強(qiáng)的辨識(shí)能力。
本文提出一種多層級(jí)特征融合的無人機(jī)航拍圖像目標(biāo)檢測算法ST-YOLOv5,旨在充分利用不同層級(jí)特征的多尺度信息,使其適用于航拍圖像中小目標(biāo)的檢測。改進(jìn)的算法使用更高分辨率的特征圖參與特征融合,提取更充足的特征信息。針對(duì)無人機(jī)航拍圖像小目標(biāo)實(shí)例多的特點(diǎn),提出了多層級(jí)特征融合層MFFL,融合不同特征層級(jí)聚合上下文信息,并且通過自適應(yīng)學(xué)習(xí)動(dòng)態(tài)調(diào)節(jié)各輸入特征層的權(quán)重,合理分配檢測任務(wù)所需求的特征信息比例,有效改善對(duì)小目標(biāo)的細(xì)節(jié)感知能力。為了在無人機(jī)圖像復(fù)雜背景中精準(zhǔn)定位目標(biāo),使用解耦檢測頭代替耦合檢測頭緩和分類任務(wù)和定位任務(wù)的沖突。從實(shí)驗(yàn)結(jié)果來看,ST-YOLOv5 對(duì)不同航拍場景下的不同類別目標(biāo)均有較好的檢測效果,改進(jìn)后的算法與多種先進(jìn)算法相比取得了最優(yōu)的檢測精度,顯著提升了基線方法YOLOv5對(duì)無人機(jī)航拍小目標(biāo)的檢測能力。