張利豐,田 瑩
遼寧科技大學(xué) 計(jì)算機(jī)與軟件工程學(xué)院,遼寧 鞍山 114000
在深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)領(lǐng)域,車輛目標(biāo)檢測(cè)一直是研究者們關(guān)注的焦點(diǎn),引領(lǐng)著許多創(chuàng)新技術(shù)的發(fā)展。從自動(dòng)駕駛系統(tǒng)的實(shí)現(xiàn),到智能交通監(jiān)控的發(fā)展,車輛目標(biāo)檢測(cè)的應(yīng)用場(chǎng)景極其廣泛[1]。車輛目標(biāo)檢測(cè)極大地提高了工作效率,減少了人力資源的消耗。然而,許多應(yīng)用場(chǎng)景對(duì)車輛目標(biāo)檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性都提出了極高的要求,同時(shí)也對(duì)計(jì)算資源和能源消耗提出了嚴(yán)格的限制。因此,如何在保證車輛目標(biāo)檢測(cè)精度的同時(shí),有效地降低計(jì)算和能源的消耗,已經(jīng)成為研究領(lǐng)域中的一大挑戰(zhàn)。
車輛檢測(cè)歷經(jīng)三個(gè)階段:設(shè)計(jì)特征、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)。傳統(tǒng)的設(shè)計(jì)特征檢測(cè)從車輛的顏色、紋理和形狀方面通過(guò)Haar[2]、HOG[3]等方法設(shè)計(jì)特征并識(shí)別。但這種方法對(duì)預(yù)設(shè)特征的依賴性較強(qiáng),耗時(shí)耗力,且對(duì)于復(fù)雜場(chǎng)景和任務(wù)往往很難設(shè)計(jì)出有效的特征。并且泛化能力較差,需要針對(duì)不同的環(huán)境和任務(wù)重新設(shè)置特征。隨著機(jī)器學(xué)習(xí)與深度學(xué)習(xí)技術(shù)的發(fā)展,更復(fù)雜的模型可以從大量的標(biāo)注數(shù)據(jù)中自動(dòng)學(xué)習(xí)出有效的特征,無(wú)需手工設(shè)計(jì),而且可以更好地反映數(shù)據(jù)的分布,提升檢測(cè)效果?;谏疃葘W(xué)習(xí)的車輛目標(biāo)檢測(cè)主流算法大致分為二階段和一階段兩大類。
這兩種方法都是在圖像中生成大量錨框,然后基于錨框進(jìn)行檢測(cè)和判斷。二階段方法通過(guò)候選框生成器產(chǎn)生候選區(qū)域,然后對(duì)候選區(qū)域進(jìn)行分類,代表算法有R-CNN系列[4-6]。一階段方法是使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行端到端的檢測(cè),直接在圖像上生成多個(gè)邊界框,并進(jìn)行定位和分類,代表算法有YOLO系列[7-13]和SSD[14]等。二階段檢測(cè)方法具有更高的準(zhǔn)確度,但是速度相對(duì)較慢,不適合車輛目標(biāo)檢測(cè)這類實(shí)時(shí)性需求較高的場(chǎng)景和任務(wù)。而一階段只提取一次特征就進(jìn)行檢測(cè),相對(duì)來(lái)說(shuō)速度更快,但是精度會(huì)有所下降。
目前,許多國(guó)內(nèi)外學(xué)者對(duì)輕量級(jí)網(wǎng)絡(luò)和車輛目標(biāo)檢測(cè)進(jìn)行了一系列研究。鄭玉珩等人[15]基于YOLOv4 與MobileViT 提出一種新型輕量化車輛檢測(cè)模型,使用CSPMobileViT 網(wǎng)絡(luò)替換原始主干網(wǎng)絡(luò),然后將PANet替換成BiFPN,并且將BiFPN中的標(biāo)準(zhǔn)卷積替換成深度可分離卷積。此外,在BiFPN 與YOLO-Head 之前添加ECA 注意力機(jī)制。最后將損失函數(shù)CIoU 替換為Focal EIoU。減少參數(shù)量以及模型大小,增加精確度。劉浩翰等人[16]基于YOLOv7-tiny模型進(jìn)行改進(jìn),使用ShuffleNet v1替換主干網(wǎng)絡(luò),降低復(fù)雜度;引入GSConv(鬼影混洗卷積)改進(jìn)Neck部分;最后采用Mish激活函數(shù),增加非線性表達(dá),提高模型的泛化能力。Dong等人[17]提出一種改進(jìn)YOLOv5的輕量化網(wǎng)絡(luò),在Neck部分引入C3Ghost和Ghost模塊;在主干網(wǎng)絡(luò)中引入注意力機(jī)制模塊CBAM,最后針對(duì)損失函數(shù)CIoU進(jìn)行改進(jìn),提高檢測(cè)精度。
以上研究雖然在速度與精度上都有所提升,但對(duì)于一些小型設(shè)備的部署來(lái)說(shuō)仍有不小的負(fù)擔(dān),并且大部分模型沒(méi)有一個(gè)特別突出的點(diǎn),無(wú)法使兩者兼顧。針對(duì)這些問(wèn)題,本文提出一種多尺度車輛目標(biāo)檢測(cè)模型RBSYOLO,首先對(duì)YOLOv8 的主干網(wǎng)絡(luò)進(jìn)行重構(gòu);其次使用改進(jìn)后的BiFPN[18]以替換原有的FPN;接著在Neck部分添加注意力機(jī)制。最后使用SoftNMS[19]對(duì)候選框進(jìn)行篩選,有效解決重疊目標(biāo)檢測(cè)困難的問(wèn)題。
YOLOv8是YOLO系列最新的模型,在YOLOv5的基礎(chǔ)上設(shè)計(jì)網(wǎng)絡(luò)模型架構(gòu),引入新的結(jié)構(gòu),進(jìn)一步提升性能與擴(kuò)展性。以深度和寬度為標(biāo)準(zhǔn),可分為YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l 和YOLOv8x 這五個(gè)網(wǎng)絡(luò),模型參數(shù)量和計(jì)算量隨著精度的提升大幅度提高,滿足不同場(chǎng)景的需求。
輸入端使用自適應(yīng)圖片縮放,調(diào)整輸入尺寸,同時(shí)使用mosaic數(shù)據(jù)增強(qiáng),提升模型的魯棒性。主干網(wǎng)絡(luò)由CBS 模塊、C2f 模塊和SPPF 模塊組成。CBS 模塊即卷積、批歸一化和SiLU激活函數(shù),這樣組合能提高模型的穩(wěn)定性,加快收斂速度,防止梯度消失。C2f模塊相較于C3 模塊增加跳層連接和額外的Split 操作,使模型的梯度流更豐富。在SPPF 模塊中,通過(guò)池化和卷積操作進(jìn)行特征融合,自適應(yīng)地融合各種尺度的特征信息,從而增強(qiáng)模型的特征提取能力。
Neck 部分對(duì)從主干網(wǎng)絡(luò)提取到的特征進(jìn)行處理,使用PAN和FPN通過(guò)自頂向下與自下向頂?shù)目鐚舆B接使特征更充分融合。Head 部分使用解耦頭結(jié)構(gòu),將檢測(cè)與分類分離,根據(jù)分類和回歸的分?jǐn)?shù)加權(quán)得到的分?jǐn)?shù)來(lái)確定正負(fù)樣本,有效提升模型性能。YOLOv8模型結(jié)構(gòu)圖如圖1所示。
圖1 YOLOv8模型Fig.1 YOLOv8 model
在YOLO系列以及其他大部分模型中,特征提取網(wǎng)絡(luò)都是自上而下的,圖像中的特征逐漸被壓縮,在一定程度上對(duì)模型的性能造成了影響。雖然在提取特征之后使用HRNet 和FPN 等多尺度融合,使得目標(biāo)檢測(cè)模型的性能得到了極大的提升,但是這種方式只能應(yīng)用在特征融合部分,在主干網(wǎng)絡(luò)中用來(lái)提取特征的效果并不理想。為此,曠視科技提出可逆連接的多列網(wǎng)絡(luò)RevColNet(reversible column networks)[20]。
RevColNet 網(wǎng)絡(luò)是一個(gè)二維網(wǎng)格狀的結(jié)構(gòu),相較于傳統(tǒng)的直筒式結(jié)構(gòu),引入了新的規(guī)?;瘮U(kuò)展維度列。且水平鏈接是可逆算子。通過(guò)增加列的維度,可以擴(kuò)展模型的參數(shù)量。由于網(wǎng)絡(luò)是可逆的,每當(dāng)計(jì)算完一個(gè)特征圖就可以將其扔掉,在反向傳播的時(shí)候再計(jì)算一次,從而減少內(nèi)存的占用。一般的特征提取主干會(huì)隨著卷積等操作造成信息丟失等問(wèn)題,影響模型對(duì)特征的學(xué)習(xí),RevColNet 采用多輸入的設(shè)計(jì),使每一列的輸入包含最多的特征信息。在列與列之間采用了可逆連接方式,可以通過(guò)后面列的信息倒推出前面列,這樣能從最后一個(gè)列倒推回第一列,保證信息在每一列之間的傳遞是無(wú)消耗的,同時(shí),在每一列的最末端加入監(jiān)督,以此約束每一列的特征提取。對(duì)應(yīng)模型結(jié)構(gòu)圖如圖2所示。
圖2 RevColNet模型Fig.2 RevColNet model
RevColNet 模型的微觀架構(gòu)如圖3 所示,圖3(a)展示了第一列每個(gè)Level 中包含的具體模塊。在這一列中,網(wǎng)絡(luò)只需自上而下通過(guò)下采樣和ConvNeXt 模塊進(jìn)行特征提取,無(wú)需進(jìn)行其他操作。圖3(b)展示了第二列及之后每列的具體操作。其計(jì)算公式如下:
圖3 RevColNet模型細(xì)節(jié)Fig.3 RevColNet model details
圖3(b)和公式(1)描述了第二列每個(gè)Level 之間的交互。Levell 的輸出Xt由三個(gè)輸入得到。Levell 的上一個(gè)Level 輸出Xt-1,前一列對(duì)應(yīng)下一行的Level 輸出結(jié)果為Xt-m+1,兩個(gè)特征通過(guò)Ft(·)調(diào)整shape 與前一列的輸出Xt-m一致,保留層級(jí)的優(yōu)勢(shì)。Ft(·)的操作包括一個(gè)融合模塊以及n個(gè)純卷積模塊。Fusion Block包含下采樣和上采樣操作兩個(gè)操作,以此調(diào)整不同層次信息的通道數(shù)使其一致,進(jìn)行通道上的加和融合信息,然后經(jīng)過(guò)卷積模塊提取特征信息。最后將輸出特征與γ倍的Xt-m進(jìn)行相加,充分進(jìn)行信息融合。公式(2)則展示了RevColNet的可逆性,通過(guò)后面列的信息可以倒推出之前列的特征信息。
本文使用RevColNet 重構(gòu)YOLOv8 主干網(wǎng)絡(luò)能有效地提升模型的特征提取能力。但RevColNet 的構(gòu)造過(guò)于復(fù)雜與繁瑣,直接引用會(huì)造成網(wǎng)絡(luò)臃腫,不適用于輕量化,于是對(duì)網(wǎng)絡(luò)做了如下改動(dòng):將RevColNet 中的列數(shù)更改為2;對(duì)Fusion Block 中的上采樣和下采樣操作重新構(gòu)建,針對(duì)高層次語(yǔ)義特征,只進(jìn)行一個(gè)復(fù)合的卷積操作來(lái)下采樣,即卷積、批歸一化和激活函數(shù)。針對(duì)低層次語(yǔ)義特征使用卷積和上采樣的方式代替原有的上采樣操作;使用YOLOv8 的C2f 替換Level 中的ConvNeXt 模塊。并且將模塊的數(shù)量改為3、6、6、9,通道數(shù)為YOLOv8 的一半。改進(jìn)之后的主干模型如圖4所示。
圖4 重構(gòu)后的主干網(wǎng)絡(luò)Fig.4 Reconstructed backbone
YOLO系列采用PAN[21]和FPN[22]的方式進(jìn)行特征融合,通過(guò)橫向連接和金字塔狀的層次結(jié)構(gòu)融合各個(gè)尺度的特征信息,能有效提升模型對(duì)多尺度目標(biāo)的檢測(cè)能力。為了使模型的性能得到提升,本文基于BiFPN結(jié)構(gòu)提出CBiFPN。
原始BiFPN 的結(jié)構(gòu)如圖5(a)所示,相較于PANet,BiFPN刪除了兩端只有一條邊的節(jié)點(diǎn),在中間的不同層級(jí)之間引入了雙向連接,這些雙向連接使特征信息在不同層次之間流動(dòng),有助于改善不同尺度和層級(jí)之間的交流,提高網(wǎng)絡(luò)處理不同尺度目標(biāo)的能力,使模型的泛化能力進(jìn)一步提升。
圖5 BiFPN模型Fig.5 BiFPN model
圖5(b)中的結(jié)構(gòu)為BiFPN 在YOLO 系列中的一般用法,即在P4 層的連接中增加一個(gè)跳躍連接。本文在BiFPN 與主干網(wǎng)絡(luò)特征之間增加了卷積操作,并且把BiFPN 的層數(shù)由五進(jìn)五出改為四進(jìn)三出,使其更適配YOLOv8,且增強(qiáng)特征提取能力。此外,特征的連接方式采用Concat 拼接,保留各層次特征信息。提出的CBiFPN如圖6所示。
圖6 CBiFPN模型Fig.6 CBiFPN model
為了使模型的性能得到進(jìn)一步的提高,本文在特征融合部分之后加入注意力機(jī)制來(lái)提升模型提取特征的能力。傳統(tǒng)注意力機(jī)制在計(jì)算通道注意力的過(guò)程中將輸入張量在空間上通過(guò)池化轉(zhuǎn)為像素,丟失了大量的空間信息,在單像素通道上計(jì)算注意力時(shí),不存在通道和空間維數(shù)之間的相互依賴性?;诳臻g和通道注意力機(jī)制CBAM 雖然緩解了這一問(wèn)題,但是二者是分離的,計(jì)算相互獨(dú)立,無(wú)法更有效地利用二者的信息。Triplet Attention[23](TA)基于很少的參數(shù)來(lái)構(gòu)建空間和通道模塊,是一個(gè)輕量且高效的注意力機(jī)制模型。Triplet Attention 通過(guò)三分支結(jié)構(gòu)來(lái)捕獲不同維度進(jìn)行交互計(jì)算注意力權(quán)重,并且使用旋轉(zhuǎn)和殘差操作來(lái)建立維度之間的依賴關(guān)系,對(duì)應(yīng)模型結(jié)構(gòu)圖如圖7所示。
圖7 TA模型結(jié)構(gòu)圖Fig.7 TA model structure diagram
Triplet Attention由三個(gè)平行分支構(gòu)成,前兩個(gè)負(fù)責(zé)通道和空間中的寬或高之間的維度交互,第三個(gè)分支類似于CBAM,用于構(gòu)建空間注意力。
三個(gè)分支中,每一個(gè)分支的輸入都為X。前兩個(gè)分支中,首先根據(jù)輸入張量X的寬或高逆時(shí)針旋轉(zhuǎn)90°,然后將旋轉(zhuǎn)得到X^經(jīng)過(guò)Z-Pool操作將通道C的維度縮減至2,即獲取維度上的最大特征值和平均特征值,然后將其拼接,得到二維張量X^*,使得該層能保留實(shí)際張量的豐富表示,同時(shí)縮小深度也進(jìn)一步減少計(jì)算量。Z-Pool的計(jì)算公式如下:
接著通過(guò)卷積核尺寸為k的卷積層,進(jìn)行批歸一化處理,再通過(guò)Sigmoid 激活層來(lái)生成注意力權(quán)重。最后將張量沿著第一步操作對(duì)應(yīng)的寬或高順時(shí)針旋轉(zhuǎn)90°,使輸出張量與輸入張量的尺寸保持一致。
在第三個(gè)分支中,對(duì)輸入張量寬和高建立交互,去除了旋轉(zhuǎn)操作。最后,將三個(gè)分支的輸出張量聚合在一起,即相加之后取平均值,具體步驟如公式(4)所示:
NMS 代表非極大值抑制(non-maximum suppression),是目標(biāo)檢測(cè)中的一個(gè)重要步驟,一般使用在訓(xùn)練完成之后驗(yàn)證階段。用于從候選框中選出最相關(guān)的目標(biāo)框,保留這些最有可能是真實(shí)目標(biāo)框的候選框,并剔除掉與保留框有較大重疊的冗余框,以避免多個(gè)重疊的候選框?qū)ν粋€(gè)目標(biāo)進(jìn)行多次檢測(cè)。
YOLOv8 使用的NMS 為“硬性”NMS,根據(jù)目標(biāo)檢測(cè)器預(yù)測(cè)的物體置信度(或得分)對(duì)所有的候選框進(jìn)行降序排序,將得分最高的框排在前面。接下來(lái),從得分最高的框開(kāi)始,使用交并比計(jì)算該框與其他剩余框的重疊度。通過(guò)計(jì)算兩個(gè)框的交集面積除以它們的并集面積來(lái)衡量框的重疊程度。對(duì)于得分最高的框,保留它,并將與其重疊度大于一定閾值的其他框剔除。這樣可以確保每個(gè)真實(shí)目標(biāo)只對(duì)應(yīng)一個(gè)檢測(cè)框。
由于NMS 的操作是二進(jìn)制的,要么保留要么剔除。而在車輛目標(biāo)檢測(cè)時(shí),由于單向通道的特殊性,目標(biāo)的重疊率較高,使用傳統(tǒng)NMS 會(huì)導(dǎo)致一些高質(zhì)量的目標(biāo)框被錯(cuò)誤地剔除。特別是當(dāng)目標(biāo)之間的重疊較大,或者目標(biāo)的大小和尺寸變化較大時(shí),NMS 可能會(huì)失效。為此,引入SoftNMS對(duì)原有NMS進(jìn)行替換。
在SoftNMS 中,當(dāng)候選框的重疊度超過(guò)閾值時(shí),不直接剔除候選框,而是通過(guò)衰減函數(shù)來(lái)降低重疊框的得分來(lái)保留一些來(lái)會(huì)被抑制的框。一般使用兩種函數(shù)來(lái)進(jìn)行處理。第一種是線性衰減函數(shù),其公式如下:
在上式中,M表示排序后得分最高的框,bi為去除M之后剩余的框,Nt表示NMS的閾值,IoU(M,bi)為M和bi的交并比,默認(rèn)使用CIoU,si為每個(gè)框包含物體的可能性大小。當(dāng)計(jì)算出的交并比不小于閾值時(shí),通過(guò)衰減函數(shù)線性減小,IoU 越大得分越小,極端情況下會(huì)導(dǎo)致線性衰減等同于普通NMS。這是由于這個(gè)公式不連續(xù),會(huì)導(dǎo)致bbox集合中的Score出現(xiàn)斷層。所以采用高斯衰減函數(shù)來(lái)替換NMS,其公式如下:
高斯函數(shù)在一定范圍內(nèi)產(chǎn)生平滑的降低效果,且越接近高斯分布的中心,懲罰力度越大。通過(guò)設(shè)置參數(shù)σ的大小來(lái)調(diào)整高斯分布的中心,使NMS 更好地優(yōu)化。并且通過(guò)指數(shù)的方式保證了連續(xù)性,實(shí)現(xiàn)了對(duì)重疊操作的優(yōu)化,在一定程度上緩解了傳統(tǒng)NMS的問(wèn)題,更好地處理密集目標(biāo)、重疊目標(biāo)以及多尺寸目標(biāo),適應(yīng)了更復(fù)雜的場(chǎng)景,提升了目標(biāo)檢測(cè)的性能。
圖8 展示了基于YOLOv8 重構(gòu)的RBT-YOLO 模型結(jié)構(gòu)。首先在特征提取的主干網(wǎng)絡(luò)部分使用RevColNet多尺度特征融合網(wǎng)絡(luò)進(jìn)行重構(gòu),在最末尾使用YOLOv8中的SPPF 模塊加強(qiáng)特征提取能力。此外每個(gè)Level 中的C2f模塊重復(fù)的個(gè)數(shù)與YOLOv8一致,為3、6、6、3,并且通道數(shù)減半。在Neck部分進(jìn)行特征融合之前使用卷積層調(diào)整通道數(shù),使得模型的參數(shù)量和計(jì)算量大幅度下降,使得模型在小型設(shè)備上的部署具有更好的優(yōu)勢(shì)。相較于之前的FPN,增加了一個(gè)連接層,可以獲取主干網(wǎng)絡(luò)中更高層次的特征信息,加強(qiáng)信息之間的交互。同時(shí)在每個(gè)輸出特征之前加入注意力機(jī)制,提升模型的特征提取能力。最后則在檢測(cè)階段使用SoftNMS 技術(shù)改進(jìn)候選框的保留規(guī)則,使模型檢測(cè)重疊目標(biāo)的性能得到提高。
圖8 RBT-YOLO模型Fig.8 RBT-YOLO model
實(shí)驗(yàn)所用操作系統(tǒng)為Win10,使用Python3.8.16、CUDA11.3、Pytorch1.11.0 深度學(xué)習(xí)框架開(kāi)發(fā)環(huán)境,在NVIDIA GEForce RTX 4070Ti顯卡上進(jìn)行訓(xùn)練。訓(xùn)練過(guò)程中使用YOLOv8s 作為基線模型,調(diào)整輸入圖片尺寸至640×640,Batchsize 設(shè)置為16,線程設(shè)置為2,初始學(xué)習(xí)率為0.01,使用余弦退火策略調(diào)整學(xué)習(xí)率,共訓(xùn)練300個(gè)epoch。
實(shí)驗(yàn)選用兩個(gè)公共數(shù)據(jù)集:Pascal VOC(visual object classes)和MS COCO(microsoft common objects in context)數(shù)據(jù)集對(duì)模型的性能進(jìn)行測(cè)試。
從Pascal VOC 2007 和2012 的訓(xùn)練集和驗(yàn)證集中提取車輛數(shù)據(jù)集car、bus、train、bicycle、motorbike這5個(gè)車輛類別共3 074 張圖片,按照8∶2 的比例隨機(jī)劃分訓(xùn)練集和驗(yàn)證集。其中訓(xùn)練集2 460 張,驗(yàn)證集614 張。從Pascal VOC 2007 測(cè)試集中隨機(jī)抽取與驗(yàn)證集同樣數(shù)量的圖片作為測(cè)試集。
MS COCO 2017 數(shù)據(jù)集中共有bicycle、car、motorcycle、train、bus、truck這6個(gè)車輛類別,從訓(xùn)練集和驗(yàn)證集中隨機(jī)抽取7 000 張,隨機(jī)劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集,比例為8∶1∶1。
本文實(shí)驗(yàn)結(jié)果使用目標(biāo)檢測(cè)常用的評(píng)估指標(biāo):準(zhǔn)確率(precision,P)、召回率(recall,R)和平均精度均值(mean average precision,mAP),其計(jì)算公式如下:
在上式中,TP(true positive):真正例,指圖片中的目標(biāo)被識(shí)別為正確的目標(biāo)。FP(false positive):假正例,指能識(shí)別出目標(biāo)所在位置,但是目標(biāo)的類別識(shí)別錯(cuò)誤。FN(false negative):假反例,正確目標(biāo)未被識(shí)別出來(lái),被認(rèn)為是其他目標(biāo),即漏檢。N代表類別數(shù)。APi就是每個(gè)類Precision-Recall 曲線下面的面積,面積越大,證明分類器越優(yōu)秀。mAP 就是指多個(gè)類別APi的平均值。此外,為了體現(xiàn)與其他模型相比在小型設(shè)備上的優(yōu)勢(shì),在此基礎(chǔ)上加入?yún)?shù)量、計(jì)算量和模型文件大小作為評(píng)價(jià)指標(biāo)。
為了驗(yàn)證所提出模型的性能,從Pascal VOC 和MS COCO 數(shù)據(jù)集中提取的車輛圖像進(jìn)行實(shí)驗(yàn)。采用3.3 節(jié)中介紹的指標(biāo)作為衡量模型性能的基準(zhǔn),并在相同的環(huán)境條件下,對(duì)本文提出的模型與當(dāng)前主流的目標(biāo)檢測(cè)以及輕量化模型進(jìn)行對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)結(jié)果如表1所示,首先將模型與經(jīng)典檢測(cè)模型Faster-RCNN、SSD、YOLOv6s 進(jìn)行對(duì)比,其中Faster-RCNN 使用ResNet50 作為主干網(wǎng)絡(luò),SSD 使用VGG 作為主干網(wǎng)絡(luò)。相較于主流檢測(cè)模型,RBT-YOLO在參數(shù)量和計(jì)算量巨大優(yōu)勢(shì)的情況下,檢測(cè)的性能也有一定的提升。
表1 與其他模型對(duì)比實(shí)驗(yàn)結(jié)果Table 1 Comparative experimental result with other models
在輕量化方面則與YOLOXs、YOLOv7-tiny、YOLOv5s和YOLOv4-tiny 四個(gè)模型進(jìn)行對(duì)比。雖然RBT-YOLO在計(jì)算量上略大于YOLOv4-tiny,但其檢測(cè)準(zhǔn)確度在兩個(gè)數(shù)據(jù)集上平均提升了18%。
為了更加充分地展示改進(jìn)的有效性,引用其他參考文獻(xiàn)進(jìn)行對(duì)比。文獻(xiàn)[24]和[25]分別基于YOLOv5 和YOLOX-nano 進(jìn)行改進(jìn),并在相同數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。結(jié)果表明RBT-YOLO在各種性能上均超過(guò)文獻(xiàn)[24],在與文獻(xiàn)[25]進(jìn)行比較時(shí),雖然輕量化和計(jì)算量上略有不足,但是在精度方面分別提升了6.8和13.0個(gè)百分點(diǎn),更加適合車輛目標(biāo)檢測(cè)在精準(zhǔn)度上的要求。
通過(guò)實(shí)驗(yàn)對(duì)比可知,與目前主流檢測(cè)和原模型相比,RBT-YOLO 在性能和輕量化上有大幅度的提升,更加適合車輛目標(biāo)檢測(cè)模型在小型設(shè)備上的部署與應(yīng)用。
圖9 和圖10 展示了改進(jìn)前后的模型在兩個(gè)數(shù)據(jù)集上每個(gè)類以及總的mAP 值和PR 曲線。圖(a)和(b)分別為原模型和RBT-YOLO 模型的PR 曲線。從圖中曲線的面積可知,提出的新模型RBT-YOLO 對(duì)每個(gè)類都有不同程度的提升,體現(xiàn)出了模型良好的性能。
圖9 YOLOv8s和RBT-YOLO在Pascal VOC車輛數(shù)據(jù)集上的PR曲線Fig.9 PR curve of YOLOv8s and RBT-YOLO on Pascal VOC vehicle dataset
圖10 YOLOv8s和RBT-YOLO在MS COCO車輛數(shù)據(jù)集上的PR曲線Fig.10 PR curve of YOLOv8s and RBT-YOLO on MS COCO vehicle dataset
為了驗(yàn)證每一步改動(dòng)的有效性,對(duì)相關(guān)創(chuàng)新模塊進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2 所示。在使用RevColNet重構(gòu)YOLOv8主干網(wǎng)絡(luò)之后,由于通道數(shù)和模塊個(gè)數(shù)的改變導(dǎo)致模型的mAP 有所下降,但GFLOPs 下降了25.2%。在原模型上加入CBiFPN之后模型的性能得到了大幅度提升,多尺度的特征融合使模型學(xué)習(xí)不同層次的信息,通過(guò)主干網(wǎng)絡(luò)之后的卷積層調(diào)整通道數(shù),降低模型計(jì)算量。輕量注意力能在幾乎不影響模型復(fù)雜度的情況下提升模型性能。NMS針對(duì)重疊目標(biāo)的候選框進(jìn)行優(yōu)化,極大地提高了模型的召回率,使模型在車輛檢測(cè)上具有更大的優(yōu)勢(shì)。通過(guò)對(duì)提出的模塊逐個(gè)添加進(jìn)行實(shí)驗(yàn),表明了每個(gè)改進(jìn)的模塊對(duì)模型的性能都是有一定的提升,體現(xiàn)出改進(jìn)模型的泛化能力。
表2 消融實(shí)驗(yàn)Table 2 Ablation experiment
為了驗(yàn)證本算法所用改進(jìn)模塊的有效性,對(duì)頸部網(wǎng)絡(luò)中BiFPN 的融合方式以及不同注意力機(jī)制進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)使用Pascal VOC 數(shù)據(jù)集,在同一環(huán)境下進(jìn)行比較。
3.6.1 不同BiFPN對(duì)比
針對(duì)多尺度的連接,使用不同連接方法會(huì)對(duì)模型的性能產(chǎn)生不同的結(jié)果,目前共有四種連接方式。
第一種為加權(quán)特征融合(Weight)??紤]到每個(gè)特征層攜帶的信息不同,在檢測(cè)中重要性占比也不同,因此對(duì)其增加一個(gè)額外的學(xué)習(xí)權(quán)重wi,使其融合不同程度的輸入信息。
第二種方式是對(duì)應(yīng)通道相加(Add),該操作需要特征向量的通道數(shù)必須相同。將經(jīng)過(guò)卷積的特征圖沿著指定維度堆疊在一起,最后對(duì)所有特征圖進(jìn)行求和,將求和之后的特征圖作為輸出。
第三種是自適應(yīng)特征融合(Adaptive)。它首先將特征圖沿著通道維度進(jìn)行拼接,對(duì)拼接后的結(jié)果進(jìn)行Softmax 操作,生成適應(yīng)性權(quán)重。將權(quán)重在上述公式中進(jìn)行替換即可得到自適應(yīng)特征融合結(jié)果。
第四種則是拼接(Concat),Concat方式將不同尺度的特征直接拼接在一起,有助于保留多尺度信息,使模型能夠更全面地感知目標(biāo)的空間層次結(jié)構(gòu),提升模型的表達(dá)能力,更好地適應(yīng)復(fù)雜的目標(biāo)場(chǎng)景。此外,將來(lái)自不同卷積層的特征拼接在一起,模型可以同時(shí)利用底層和高層的信息,提高對(duì)目標(biāo)的識(shí)別和定位準(zhǔn)確性。
在原始模型中加入改進(jìn)之后的CBiFPN,并使用四種不同的融合方式進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。
表3 BiFPN不同融合方式對(duì)比Table 3 Comparison of different fusion methods for BiFPN
從表3中的實(shí)驗(yàn)結(jié)果可以看出,拼接不需要調(diào)整權(quán)重或者進(jìn)行自適應(yīng)調(diào)整,降低了模型對(duì)權(quán)重參數(shù)的敏感性,使得模型在不同情況下更加穩(wěn)定。同時(shí)這一方式將來(lái)自不同輸入源的特征圖沿通道維度簡(jiǎn)單地拼接在一起,所有輸入特征信息都被保留在最終的特征圖中,有助于保留多樣性的特征,得到最好的效果。
3.6.2 不同注意力機(jī)制對(duì)比
為了驗(yàn)證加入的Triplet Attention 模塊對(duì)模型性能的影響,本實(shí)驗(yàn)將原始模型與不同的注意力機(jī)制結(jié)合進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表4所示。相較于其他兩種注意力機(jī)制,Triplet Attention 作為輕量型的注意力機(jī)制,在模型的參數(shù)量和計(jì)算量幾乎沒(méi)有增長(zhǎng)的情況下,使模型的性能提升最高。
表4 不同注意力機(jī)制對(duì)比Table 4 Comparison of different attention mechanisms
圖11和圖12分別展示了Pascal VOC和MS COCO數(shù)據(jù)集圖像可視化檢測(cè)結(jié)果,圖中左側(cè)為原模型檢測(cè)結(jié)果,右側(cè)為RBT-YOLO檢測(cè)結(jié)果。從圖中可以看出改進(jìn)后的模型檢測(cè)精度有明顯的提升,且針對(duì)重疊目標(biāo)也能精準(zhǔn)地識(shí)別。此外還表現(xiàn)出了對(duì)被遮擋物體有了更精準(zhǔn)的識(shí)別。圖12第一幅對(duì)比圖中原模型在檢測(cè)自行車時(shí),由于人的遮擋,顯示出三個(gè)識(shí)別框。使用RBT-YOLO檢測(cè)則去除了被分割的兩部分,保留了一個(gè)整體。并且優(yōu)化后的非極大值抑制能更好地檢測(cè)出遮擋目標(biāo),使檢測(cè)框更加準(zhǔn)確。證實(shí)了提出的RBT-YOLO在精度和重疊目標(biāo)的檢測(cè)上的高性能以及良好的泛化能力。
圖11 Pascal VOC車輛數(shù)據(jù)集的可視化對(duì)比圖Fig.11 Visual comparison plots on Pascal VOC vehicle dataset
圖12 MS COCO車輛數(shù)據(jù)集的可視化對(duì)比圖Fig.12 Visual comparison plots on MS coco vehicle dataset
本文基于YOLOv8 提出一種多尺度輕量型車輛目標(biāo)檢測(cè)模型。在RevColNet 和BiFPN 的基礎(chǔ)上對(duì)YOLOv8的主干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò)進(jìn)行重構(gòu),加強(qiáng)不同層次中特征信息的多尺度融合;使用輕量型注意力機(jī)制進(jìn)一步提取特征信息;針對(duì)道路中車輛目標(biāo)重疊過(guò)多等問(wèn)題,使用SoftNMS對(duì)候選框進(jìn)行優(yōu)化篩選。通過(guò)實(shí)驗(yàn)可知RBT-YOLO 在Pascal VOC 和MS COCO 數(shù)據(jù)集上mAP 值分別提升了2.6 和3.0 個(gè)百分點(diǎn),參數(shù)量和計(jì)算量分別下降了60.4%和60.1%,與原模型相比更加輕量以及精準(zhǔn)。與其他模型相比,RBT-YOLO更適合在小型設(shè)備上部署,滿足多樣化的需求。