涂小妹,包曉安,吳 彪,金瑜婷,4,張慶琪
1.浙江廣廈建設職業(yè)技術大學 建筑工程學院,浙江 東陽 322100
2.浙江理工大學 計算機科學與技術學院(人工智能學院),杭州 310018
3.浙江理工大學 理學院,杭州 310018
4.浙江廣廈建設職業(yè)技術大學 信息學院,浙江 東陽 322100
5.山口大學 東亞研究科,日本 山口753-8514
目標檢測一直以來是計算機視覺領域的研究熱點之一,其任務是返回給定圖像中的單個或多個特定目標的類別與矩形包圍框坐標[1-3]。目前兩大主流目標檢測算法:(1)基于候選區(qū)域的雙階段目標檢測算法,以RCNN(region-CNN)為代表,雙階段檢測算法準確率高,但是訓練和推理階段速度慢,不能滿足實時要求[4-5];(2)基于直接回歸的單階段目標檢測算法,以SSD(single shot multi-box detector)和YOLO(you only look once)為代表[6-10],單階段檢測算法在準確率和運行速度上能達到一個均衡,是目前目標檢測中使用較多的一種檢測框架[11-12]。本文主要以單階段YOLO 系列算法為研究基礎,針對現(xiàn)實場景中對目標預測框定位要求較高的場景,提出了一種檢測精度較高、定位較準確的檢測模型(YOLO-T)。
YOLO系列檢測框架主要分為主干網(wǎng)絡、特征融合網(wǎng)絡、特征解碼網(wǎng)絡。主干網(wǎng)絡提取特征,特征融合網(wǎng)絡融合多層語義特征信息,特征解碼網(wǎng)絡根據(jù)具體任務解碼網(wǎng)絡的輸出。為了充分利用主干網(wǎng)絡提取的特征,2017年,Lin等人[13]提出了特征金字塔網(wǎng)絡(feature pyramid networks,F(xiàn)PN),用于構建多尺度特征獲取高級語義信息。FPN 以及基于FPN 的改進版[14-18]在單階段檢測算法上表現(xiàn)出不錯的效果。2018年,Liu 等人[14]考慮到網(wǎng)絡淺層特征信息對于目標分割的重要性,提出了PANet(path aggregation network)網(wǎng)絡,該網(wǎng)絡從一個多尺度特征金字塔中捕獲遠程淺層特征,提高了模型檢測精度。2020 年,Tan 等人[15]在PANet 的基礎上提出了BiFPN(bi-directional feature pyramid network),該網(wǎng)絡在每個層級添加殘差連接進行反復堆疊來融合特征。2022 年,Luo 等人[17]提出了通道增強特征金字塔網(wǎng)絡(channel enhancement feature pyramid network,CE-FPN),該網(wǎng)絡既實現(xiàn)了通道增強又實現(xiàn)了上采樣的亞像素跳躍融合方法。以上這些網(wǎng)絡模型檢測準確率較高,但模型推理速度較慢,參數(shù)量較大,用于YOLO 網(wǎng)絡會使其失去實時性。于是許多基于YOLO 系列的輕量級模型應運而生。2021 年,Hu 等人[19]將YOLOv3-Tiny 網(wǎng)絡中的卷積層替換為深度分布偏移卷積和移動反向瓶頸卷積,并設計漸進式通道級剪枝算法在保持檢測性能的同時減少了參數(shù)量和計算成本。2022 年,邱天衡等人[20]基于YOLOv5網(wǎng)絡提升檢測精度的同時,使用Ghost 模塊對網(wǎng)絡進行輕量化,減少模型復雜度和參數(shù)量。2022年,楊小岡等人[21]在基于改進YOLOv5的基礎上,使用深度可分離卷積以及對網(wǎng)絡進行迭代通道剪枝,以降低模型的參數(shù)量和計算量。
YOLO 系列網(wǎng)絡在實際工業(yè)應用中備受青睞,2021 年,Ge 等人[10]提出了YOLOX,在網(wǎng)絡寬度和深度不斷遞增的過程中,按照主干特征提取網(wǎng)絡大小,YOLOX 可以分為S、M、L、X。YOLOX-S 使用的主干特征提取網(wǎng)絡網(wǎng)絡最小,模型更輕量化,但在實際工業(yè)應用場景中發(fā)現(xiàn)YOLOX-S 對目標邊界框的回歸不夠準確,如圖1 所示。YOLOX-M/L/X 模型隨著網(wǎng)絡寬度和深度的加深,模型具有更好的檢測和識別性能,但會受到硬件條件的制約,難以滿足對檢測實時性和目標框回歸準確率要求都很高的應用場景。針對這個問題,本文基于YOLOX-S 算法提出了一種檢測精度較高、定位較準確的目標檢測算法YOLO-T。
圖1 檢測框與真實框的IOUFig.1 IOU of prediction box and ground truth box
(1)在路徑聚合特征金字塔網(wǎng)絡(path aggregation feature pyramid networks,PAFPN)中,本文提出了采用shortcut 連接方式進行跨層特征之間融合,利用TDCA(three-dimensional coordinate attention)對PAFPN 內(nèi)特征進行注意力加權的方法。該方法不僅能將淺層特征傳遞到特征解碼網(wǎng)絡中,保留淺層語義信息,又解決了融合淺層特征信息的特征金字塔網(wǎng)絡存在信息冗余的問題。
(2)考慮到坐標注意力機制(coordinate attention,CA)[22]只在X和Y方向進行特征聚合,而忽略了通道Z方向的特征加權,本文在CA的基礎上,提出了三維坐標注意力(TDCA),其在特征的X、Y和Z三個方向上進行注意力增強,有效地將空間坐標信息和通道特征信息整合到生成的注意權重中。
(3)在正負樣本標簽分配策略中,本文沿用了更精準的SimOTA 采樣策略,但在cost 代價函數(shù)中,使用了軟標簽高質(zhì)量焦點損失(soft label quality focal loss,soft-QFL)和GIOULoss 聯(lián)合作為cost 代價損失以及網(wǎng)絡的分類和回歸損失,通過在目標區(qū)域采集高質(zhì)量的樣本來有效地加速模型收斂。
YOLO 系列算法直接對預測的目標物體進行回歸,在精度要求不高的情況下,速度能達到實時檢測。經(jīng)過不斷研究發(fā)展,2021 年,Ge 等人[10]提出了YOLOX,YOLOX 由Backbone、Neck 和Head 等部分組成。Backbone采用CSPDarknet提取圖片的特征信息;Neck 部分采用PAFPN 的特征金字塔結構,實現(xiàn)不同尺寸特征信息的傳遞,解決多尺度問題;Head部分采用解耦頭,分別計算定位、分類和置信度任務,再通過非極大值抑制(non-maximum suppression,NMS)對最終檢測結果進行后處理。2022年,汪斌斌等人[23]基于YOLOX 檢測模型以及遷移學習方法實現(xiàn)了玉米雄穗的高精度識別。2022年,楊蜀秦等人[24]提出了基于改進YOLOX 的單位面積麥穗檢測方法,利用采樣框直接實現(xiàn)了單位面積麥穗計數(shù)。YOLOX 在實時檢測任務中有一個良好的表現(xiàn),但YOLOX 也還有優(yōu)化的空間,如YOLOX 算法的目標預測框定位不夠準確,如圖1 所示,檢測框與目標框的IOU 較低。圖1(a)綠色真實框與帶分類置信度綠色預測框的IOU值為0.55,圖1(b)左邊目標dog 的綠色真實框與帶分類置信度藍色預測框的IOU值為0.69,圖1(c)紅色飛機的綠色真實框與帶分類置信度紅色預測框的IOU值為0.53。
故本文將YOLOX-S 作為研究的基礎網(wǎng)絡,主要改進了三方面:(1)在網(wǎng)絡的Neck 部分,采用shortcut連接方式進行跨層特征之間融合,保留淺層語義信息(如邊緣輪廓特征);(2)提出了TDCA注意力算法,并利用TDCA 注意力對Neck部分的內(nèi)部特征進行加權融合,通過給特征賦予權重來保留有用信息和去除冗余信息;(3)改進標簽分配策略與損失函數(shù),在計算SimOTA 的損失矩陣時,采用聯(lián)合soft-QFL 和GIOULoss 的計算方法,在保證不損失效率的同時增強了性能。
YOLOX 的Neck 部分是PAFPN,基于PANet[14]創(chuàng)建了自下而上的FPN 增強,加速了底層信息的流動,能快速融合各層語義信息。FPN 是利用圖像金字塔的方式進行多尺度變化增強,與圖像金字塔不同的是,F(xiàn)PN 是將主干網(wǎng)絡提取的特征圖壘成金字搭,使用自上而下的方式進行特征融合,目的是融合高低層語義信息提高特征的表達能力,為網(wǎng)絡的輸出提供更多有效信息?;贔PN 的改進還有BiFPN、DRFPN(dual refinement feature pyramid networks)、CE-FPN、Aug-FPN(augmented FPN)等[15-18]。其中BiFPN、CE-FPN 以及Aug-FPN 的結構如圖2 所示,BiFPN[15]在每個層級添加殘差連接進行反復堆疊融合特征。CE-FPN[17]實現(xiàn)了通道增強和上采樣的亞像素跳躍融合方法,減少了由于通道縮減而造成的信息丟失。Aug-FPN[18]通過一致監(jiān)督縮小特征融合前不同尺度特征之間的語義差距,減少了金字塔最高層特征圖的信息損失。上述通過反復自上而下和自下而上的特征融合結構來提高檢測精度,但這樣的結構增加了計算復雜度,損失了檢測速度。
圖2 BiFPN、CE-FPN以及Aug-FPN的網(wǎng)絡結構圖Fig.2 Network structure diagram of BiFPN,CE-FPN and Aug-FPN
本文在改進FPN 的同時,還使用深度可分離卷積(depthwise separable convolution)模塊代替主干特征提取網(wǎng)絡中的基礎卷積結構,深度可分離卷積由逐通道卷積(depthwise convolution,DW)和逐點卷積(pointwise convolution,PW)兩部分組成。DW 是一個卷積核對應特征圖的一個通道,一個通道只被一個卷積核卷積,生成的特征圖通道數(shù)和輸入通道數(shù)一樣。PW 與常規(guī)卷積運算類似,卷積核尺寸為1×1×C×N,C為上一層的通道數(shù),N為新特征圖通道數(shù)。因此,在計算量相同的情況下,Depthwise Separable Convolution 可以將神經(jīng)網(wǎng)絡層數(shù)做得更深,在實際工業(yè)應用中能輕量化網(wǎng)絡模型,降低深度學習模型對硬件的要求。
注意力機制是認知科學領域的學者發(fā)現(xiàn)人類處理信息時采用的機制,后來把這種機制引入到卷積神經(jīng)網(wǎng)絡[25]。SENet(squeeze-and-excitation networks)[26]通過Squeeze 和Excitation 兩個模塊得到特征通道的注意力權值,完成通道特征重標定。CBAM(convolutional block attention module)[27]在SENet 的 基礎上使用GAP(global average pooling)和GMP(global max pooling)兩個池化進行Squeeze操作,更充分地提取通道特征。之后,有學者提出Dual Attention Network[28]、Selfcalibrated Convolutions[29]和Strip pooling[30]等。2021年,周勇等人[31]提出了弱語義注意力的遙感圖像可解釋目標檢測,利用弱語義分割網(wǎng)絡產(chǎn)生強化目標特征的注意力權重值,抑制背景噪聲。2022 年,李飛等人[32]提出了混合域注意力YOLOv4 的輸送帶縱向撕裂多維度檢測,改進了輕量級網(wǎng)絡MobileNetv3 的特征提取性能。2022年,王玲敏等人[33]提出了一種改進YOLOv5的安全帽佩戴檢測方法,該算法在YOLOv5的主干網(wǎng)絡中添加CA 注意力機制,將位置信息嵌入到通道注意力當中,使網(wǎng)絡可以在更大區(qū)域上進行注意。本文算法是在CA[22]注意力基礎上提出了TDCA 注意力算法,在CA 的基礎上捕獲了通道感知注意力特征,提高了注意力的信息融合。
本文以YOLOX-S 為基礎網(wǎng)絡提出了改進網(wǎng)絡YOLO-T,使用TPA-FPN(TDCA path aggregation feature pyramid networks)和TDCA 改進了網(wǎng)絡的Neck 部分來提高網(wǎng)絡的回歸精度和收斂速度,使用Depthwise Separable Conv 模塊改進Backbone 中的卷積結構來降低網(wǎng)絡模型的復雜度,網(wǎng)絡模型結構如圖3 所示。YOLO-T 在特征融合部分利用Backbone 中不同位置的3個特征層,分別位于中間層、中下層、底層。中間層保留了較多的淺層特征信息(如輪廓、紋理和顏色等)。中下層保留了一些屬性特征(如某一時刻目標的狀態(tài))。底層則保留了高級語義信息,高層語義性越強,模型的分辨能力也越強,但高層語義信息容易丟失小目標特征。當網(wǎng)絡輸入大小為640×640 的3通道RGB 圖像時,經(jīng)實驗得出用于特征融合的中間層feat1=(80,80,256)、中下層feat2=(40,40,512)和底層feat3=(20,20,1 024)在保持計算量的情況下效果最好。在feat1、feat2和feat3特征層輸入Neck部分之前使用TDCA 注意力機制完成特征重標定。Neck 部分采用TPA-FPN,Head部分沿用YOLOX-S的解耦頭結構。
圖3 YOLO-T網(wǎng)絡結構Fig.3 YOLO-T network structure
注意力機制通過權重重標定,給特征圖中的信息賦予不同的權重,達到加強有用信息、抑制無用信息的目的。Hou等人[22]通過在X和Y兩個方向上聚合特征的信息,提出了一種為輕量級網(wǎng)絡設計的協(xié)調(diào)注意力機制(coordinate attention,CA),CA 模型的加入可以有效提高模型的收斂速度和監(jiān)測精度。事實上,在深度卷積神經(jīng)網(wǎng)絡中,特征圖不僅有X和Y兩個方向的空間信息,還存在通道Z方向的通道信息,而CA 注意力機制忽略了Z方向的通道信息。對于特征圖數(shù)據(jù),分別利用不同的卷積模塊學習不同方向的信息權重,然后通過可學習的加權融合方式獲取輸入特征圖的權重,也以此進行X、Y和Z方向的信息交流,充分利用X、Y方向的空間信息和Z方向的通道信息,稱為三維坐標注意力(TDCA),結構如圖4所示。
圖4 三維坐標注意力TDCAFig.4 3D coordinate attention TDCA
在結構中對于輸入特征圖F∈R C×H×W,X、Y和Z方向的注意力模塊計算公式如下所示:
經(jīng)過X、Y和Z方向的權重特征提取后,將Z方向的特征分別與X和Y方向的特征融合,公式如下所示:
式中,ZX∈RC×H×1和ZY∈RC×1×W是X與Z方向,Y與Z方向的通道權重重標定,將ZX轉(zhuǎn)置與ZY沿Y方向進行Concat,Z∈RC/r×1×(W+H)為ZX和ZY結合后的結果特征圖,其中r為通道的系數(shù),取0.5,降低通道數(shù)以減少計算量。BaseConv2 表示卷積的基本單元,包含卷積層、BN 層和Silu 激活函數(shù)。將Z分割成ZX′和ZY′,分別對它們進行卷積和激活操作,可表示為:
fconv2d為1×1 卷積為恢復縮放的通道數(shù)操作,最后將得到的兩個空間解碼權重圖與輸入特征進行點乘,完成特征權重重標定,TDCA輸出公式如下所示:
Fout∈RC×H×W為TDCA 網(wǎng)絡結構的輸出。通過X和Y方向捕獲方向感知和位置感知信息,利用Z方向捕獲跨通道信息,使模型更加精準地定位和識別感興趣的目標,能夠更加有針對性地提取圖像特征,提升圖像識別效果。表1 是從對比實驗角度證明TDCA網(wǎng)絡結構的有效性。
表1 各種注意力機制與TDCA在YOLOX-S下對比Table 1 Comparison of various attention mechanisms and TDCA in YOLOX-S
表1 為YOLOX-S 與加入SE、CBAM、CA 以及TDCA 注意力模塊后在PASCAL VOC2007+2012 數(shù)據(jù)集上訓練測試的精度對比。從表1中可以看出,加入注意力機制后普遍能夠提升網(wǎng)絡的精度,而在加入TDCA 后,在mAP@0.50:0.95 指標上比最優(yōu)的CA機制提高了0.4 個百分點,比YOLOX-S 算法提高了3.7 個百分點。在mAP@0.50 指標上,TDCA 相較于最優(yōu)的CA 機制提高了0.6 個百分點,相比原始算法提高了1.5 個百分點。對算法成本進行分析,從表1中可以看出,TDCA 與基礎網(wǎng)絡YOLOX-S 相比檢測速度和模型大小有所增加,但是與其他注意力機制相比都相差不大。因此,從3個方向提取特征注意力信息是對CA模塊有效的改進方向。
相比此前的輕量級網(wǎng)絡上的注意力方法,TDCA存在以下優(yōu)勢:首先,它不僅能捕獲跨通道的信息,還能捕獲方向感知和位置感知的信息,這能使模型更加精準地定位和識別感興趣的目標;其次,TDCA靈活且輕量,可以很容易地插入經(jīng)典模塊,如Mobile-NeXt[34]提出的sandglass block;最后,作為一個預訓練模型,TDCA可以在輕量級網(wǎng)絡的基礎上給下游任務帶來增益,特別是那些存在密集預測的任務。
FPN 自頂而下的融合方式極大地利用了高低層特征語義信息,從而提高了特征的表達能力。因此,基于FPN 的改進算法常在融合方式上進行創(chuàng)新,例如PANet 網(wǎng)絡[14]從自頂向下再從自底向上融合方式提高特征融合能力,BiFPN[15]網(wǎng)絡利用反復堆疊的方式進行特征融合。上述兩種融合方式能有效地保證特征之間的信息交流,但是特征內(nèi)的信息重要程度卻被忽略了。此外,特征融合過程中的自頂而下和自底向上的融合方式會使特征內(nèi)的語義信息被稀釋,從而會損失特征圖內(nèi)部的一些較重要的信息。本文提出了TPA-FPN 網(wǎng)絡結構,如圖5 所示,在PAFPN 特征融合網(wǎng)絡中采用shortcut 連接方式進行跨層特征融合,保留其淺層語義信息。但是,融合了跨層特征的特征圖信息存在冗余,于是在PAFPN 網(wǎng)絡結構中加入TDCA網(wǎng)絡結構,對特征內(nèi)的重要信息進行X、Y和Z方向的加權,TDCA 網(wǎng)絡結構通過給特征賦予權重來保留有效信息和去除冗余信息。
圖5 TPA-FPN網(wǎng)絡結構Fig.5 TPA-FPN network structure
主干網(wǎng)絡不同階段的特征圖對應的感受野不同,它們表達的信息抽象程度也不一樣,在Backbone網(wǎng)絡中抽取特征豐富的C3、C4、C5三層做特征融合,C3、C4、C5除了在自頂向下過程中與鄰層特征融合之外,還通過短連接(shortcut)進行跨層級特征融合,將保留的淺層信息傳遞到間隔層。但以這種方式做信息融合,容易產(chǎn)生信息冗余。解決方法是在特征融合之前以及在自頂向下和自底向上特征融合過程中,加入TDCA 三維坐標注意力網(wǎng)絡,通過注意力調(diào)節(jié)特征信息的重要程度,提高特征的信息表達能力,從而保留有用信息和去除冗余信息。最后特征融合網(wǎng)絡TPA-FPN 輸出尺度大小為80×80×256、40×40×512、20×20×1 024 的特征層P3、P4、P5,作為目標檢測網(wǎng)絡中分類和回歸特征的依據(jù)。
在TPA-FPN 特征融合網(wǎng)絡中,不同特征層之間自上向下融合需要對尺寸較小的特征進行上采樣,自下向上的特征融合過程中需要對尺寸大的特征進行下采樣,本文使用的上采樣方法為雙線性插值法,下采樣方法為普通卷積操作,將下采樣或上采樣后的特征圖與底層特征或高層特征進行concat連接。
表2 為在PASCAL VOC2007+2012 數(shù)據(jù)集上訓練測試的精度對比結果。以YOLOX-S 網(wǎng)絡結構為基礎,在Neck 部分分別使用FPN、PAFPN 和TPAFPN 作為算法1、算法2 和算法3。在算法3 的基礎上,將主干網(wǎng)絡結構中的卷積結構替換成Depthwise Separable Conv 模塊降低網(wǎng)絡模型的復雜度,作為對比算法4。
表2 FPN、PAFPN和TPA-FPN在YOLOX-S下對比Table 2 Comparison of FPN,PAFPN and TPA-FPN in YOLOX-S
由表2 可知,算法3 中的TPA-FPN 在推理速度上略低于FPN 和PAFPN,但在高交并比要求下TPAFPN 比PAFPN 的mAP@0.50:0.95 指標提升了3.7 個百分點,mAP@0.50 指標提升了1.5 個百分點。表明跨層級特征融合和利用TDCA 網(wǎng)絡結構保留有效信息和去除冗余信息能提高網(wǎng)絡對邊界框的回歸精度。算法4使用了Depthwise Separable Conv模塊,雖然在準確率上有所降低,但能有效地對網(wǎng)絡進行輕量化,模型大小減少了64.3%,由檢測速度(FPS)指標可知,模型檢測速度提升了33.0%。模型大小的降低和檢測速度(FPS)的提升能有效減少在實際應用場景下模型對硬件的要求。參數(shù)量的降低能有效減少在實際應用場景下模型對硬件的要求。通過TPAFPN 結構使特征金字塔網(wǎng)絡能更好地融合各層語義信息,可以更好地回歸目標邊界框,契合高交并比下的工業(yè)目標檢測任務。
目標檢測中預測定位的過程是模型開始訓練時先在圖像的每個位置生成一系列錨框,網(wǎng)絡結構按照一定的規(guī)則將錨框分成正負樣本,但由于圖像中目標的數(shù)量有限,這樣生成的錨框大部分都是背景,導致模型訓練樣本不均衡。因此,在正負樣本標簽分配策略中,本文沿用YOLOX-S中更精準的SimOTA采樣策略,但在cost代價函數(shù)中,本文使用了soft-QFL作為cost 代價損失和分類損失??紤]到one-hot 標簽中0 和1 的絕對情況下,本文的soft-QFL 分為兩種情況:(1)half soft-QFL將正類別中的1使用IOU的值代替,其他類別的值使用0;(2)soft-QFL 在正類別中的1使用IOU的值代替的情況下,其他類別的值使用(1-IOU(gt,anchor))/C,結構如圖6 所示。在原基礎網(wǎng)絡中回歸損失函數(shù)使用的是IOULoss,本文針對IOU 存在當錨點與真實框沒有相交時,不能反映兩者的距離關系,使用GIOULoss 作為網(wǎng)絡的回歸損失。上述改進目的是通過在目標區(qū)域采集高質(zhì)量的樣本來有效地加速模型收斂,從而改善目標正負樣本標簽分配不均衡的問題。改進的SimOTA 采樣策略如式(8)所示,其中ai的值作為樣本的標簽,ai的值越大表示此錨點更接近真實框。
圖6 改進的SimOTA采樣策略Fig.6 Improved SimOTA sampling strategy
IOU(gt,anchor)表示目標真實框gt與生成的anchor錨點框之間的IOU 值,C表示總類別。在分類損失中,將one-hot 編碼中的1 替換為ai的值,0 替換為(1-IOU(gt,anchor))/C,這樣更能反映出錨點與真實樣本的關系,如式(9)所示:
式中,pi表示預測為第i類的概率,β為調(diào)節(jié)參數(shù),實驗取值為2。當anchor是難分的正樣本時,ai的值偏低,1-ai的值偏高,而Lcls在逐漸降低的過程中,網(wǎng)絡就相當于增加了難分正負樣本的loss權重,使得網(wǎng)絡在訓練時不會花太多時間在易分的負樣本上,加快了模型收斂。
利用IOU 指導正負樣本標簽的分配,再與分類置信度損失函數(shù)進行聯(lián)合預測,在速度無損的情況下能有效地改善正負樣本不均衡問題。表3 中的消融實驗為在PASCAL VOC2007+2012 數(shù)據(jù)集上的精度對比結果,基礎網(wǎng)絡采用YOLOX-S,“√”代表引入模塊,實驗環(huán)境參數(shù)以及網(wǎng)絡超參數(shù)設置如3.1 節(jié)所示。
表3 標簽分配策略與損失函數(shù)的mAP對比Table 3 Comparison of mAP of label allocation strategy and loss function
在表3 中對比1、2 組實驗發(fā)現(xiàn),使用half Soft-QFL 進行改進的模型在mAP@0.50:0.95 和mAP@0.50 的指標上有所下降,而通過對比1、2、3 組實驗可以看出,Soft-QFL 的表現(xiàn)比half Soft-QFL 在mAP@0.50:0.95 指標上提高了3.2 個百分點,在mAP@0.50指標上提高了1.0個百分點。分析half Soft-QFL可能是使用IOU 指標作為正類別的標簽反而削弱了損失函數(shù)的表現(xiàn),Soft-QFL 則是在改變正類別時,對負類別也進行了改進,并同時作用于損失函數(shù),從而使模型表現(xiàn)出良好的效果。對比1、4 組實驗,GIOULoss在mAP@0.50:0.95 指標上比原算法提高了1.2 個百分點,有一個較好的效果。通過5、6 組實驗可以看出,soft-QFL+GIOULoss的表現(xiàn)效果最好。
從結構上分析在基于錨框檢測的目標檢測算法中,使用Soft-QFL 和GIOULoss聯(lián)合能有效改善網(wǎng)絡檢測精度,使網(wǎng)絡訓練更穩(wěn)定,加速網(wǎng)絡訓練收斂速度。
為了公平分析和評估本文提出的算法性能,實驗測試環(huán)境配置如下:CPU 為Intel?Xeon?Gold 5218R CPU@2.10 GHz,64 GB 內(nèi) 存,Ubuntu16.04 操作系統(tǒng),2 張GeForce RTX3090 型號的顯卡。運行環(huán)境配置如下:Python 版本為3.7,Pytorch 版本為1.9.0,CUDA 版本為10.2。網(wǎng)絡運行的超參數(shù)設置如下:網(wǎng)絡訓練分為凍結訓練和解凍訓練,凍結訓練50 個epoch后再進行解凍訓練,凍結訓練的batch-size設置為64,解凍訓練的batch-size 設置為32,動量參數(shù)為0.937,學習率初始值為0.01,最小值為0.000 1,隨著網(wǎng)絡的訓練,學習率進行余弦退火衰減,解凍階段訓練300 個epoch,并使用Adam 優(yōu)化算法更新網(wǎng)絡權重。
超參數(shù)置信度閾值、NMS 閾值的作用是剔除每一類別中的重復預測框,其取值對模型性能有一定影響。通過非極大值抑制(NMS)算法,本文設計了一組超參數(shù)置信度閾值和NMS 閾值的靈敏度實驗。根據(jù)NMS算法思想,置信度閾值和NMS閾值過大容易將正確的預測框剔除,過小不能達到去除重復框的效果。實驗結果表示,在置信度閾值取值0.45,NMS閾值取值0.50時,本文算法展現(xiàn)出較好的性能。
算法1非極大值抑制(NMS)算法
本實驗的評價指標使用平均檢測精度(mAP@0.50、mAP@0.50:0.95)和檢測速度(FPS)作為模型的衡量標準,平均檢測精度能有效地評估模型的性能,包括識別準確率、定位準確率,檢測速度能有效地衡量模型的推理性能,是實際工業(yè)應用中的重要指標。其中,mAP@0.50 表示IOU 閾值為0.50 時的mAP;mAP@0.50:0.95 表示步長為0.05 的IOU 閾值從0.50到0.95 的各個mAP 的平均值。mAP@0.50 主要體現(xiàn)目標檢測模型的識別能力,mAP@0.50:0.95 由于IOU 最高取值達到了0.95,IOU 取值高主要體現(xiàn)目標定位效果以及邊界框回歸能力。mAP 的值與模型的性能呈正相關,F(xiàn)PS 表示每秒檢測圖像的數(shù)量,其值越大表示檢測速度越快。
mAP表示平均檢測精度即P-R曲線下方的面積,P-R 曲線是以準確率(Precision)為縱軸,召回率(Recall)為橫軸的二維曲線。具體計算公式如式(10)~式(12):
式中,TP表示為真正例樣本數(shù);FP表示為假正例樣本數(shù);FN表示為假反例樣本數(shù)。Precision 表示預測樣本中的正樣本數(shù)占所有實際正樣本數(shù)的比例。Recall 表示預測樣本中的正樣本數(shù)占所有預測樣本的比例,Precision與Recall呈負相關。
PASCAL VOC 數(shù)據(jù)集是計算機視覺挑戰(zhàn)賽公開的數(shù)據(jù)集,常被用來檢驗目標檢測模型的性能。PASCAL VOC2007+2012 是兩個年份公開發(fā)布數(shù)據(jù)集的并集,此數(shù)據(jù)集更復雜,使用該數(shù)據(jù)集對模型性能進行驗證可增加數(shù)據(jù)量,同時也更具說明性。該數(shù)據(jù)集包含20 類檢測目標,模型的訓練集使用PASCAL VOC2007+2012 數(shù)據(jù)集中的train+val 部分,共16 551 張圖像,模型的測試集使用PASCAL VOC 2007數(shù)據(jù)集中的test部分,共4 952張圖像。
為了驗證YOLO-T模型的性能,本實驗將與以下算法做對比:(1)雙階段目標檢測算法Faster R-CNN[35]、Mask R-CNN[4]和Cascade R-CNN[5];(2)高精度單階段算法RetinaNet[36]和以SSD[6]為基礎改進的ASSD(attentive single shot multibox detector)[37]算法;(3)單階段無錨框算法FCOS(fully convolutional one-stage object detection)[38]和ATSS(adaptive training sample selection)[39]算法;(4)以YOLO系列為基礎的YOLOv3[20]算法以及改進的輕量級算法YOLOv4-mobileNetv2[20]、YOLOv4-ghostNet[20]、YOLOv5-S[20]和YOLOX-S。與以上算法對比結果如表4所示。
表4 PASCAL VOC2007測試集上各目標檢測算法對比實驗Table 4 Comparative experiment of each object detection algorithm on PASCAL VOC2007 test set
由表4 可知,本文提出的YOLO-T 在檢測精度上有著顯著優(yōu)勢,在PASCAL VOC2007測試集上mAP@0.50 的精度達到了85.2%,相較于基礎網(wǎng)絡YOLOXS 提高了1.3 個百分點,而能體現(xiàn)定位效果和邊界框回歸能力的mAP@0.50:0.90精度達到了62.8%,相較于基礎網(wǎng)絡YOLOX-S 提高了3.8 個百分點,說明YOLO-T網(wǎng)絡結構能有效提高預測定位的檢測精度;與雙階段檢測器相比,mAP@0.50 提高了5.6~7.8 個百分點;與單階段經(jīng)典算法SSD 以及基于SSD 改進的ASSD 算法相比有4.6 個百分點和2.2 個百分點的提升;與高精度RetinaNet 算法以及單階段無錨框的FCOS 和ATSS 算法相比,YOLO-T 網(wǎng)絡結構更展現(xiàn)了其優(yōu)勢,檢測精度都有大幅度提升;相比于有相同baseline 的輕量化網(wǎng)絡YOLOv4-mobileNetv2、YOLOv4-ghostNet、YOLOv5-S 和YOLOX-S,雖然檢測速度不如基礎網(wǎng)絡YOLOX-S,但是檢測精度上有著明顯的優(yōu)勢。總體來看,在檢測精度和檢測速度兼具的條件下,YOLO-T在眾多模型中的表現(xiàn)更加出色。
由于超參數(shù)置信度閾值和NMS閾值的取值對模型性能有一定影響,本文設計了一組超參數(shù)的靈敏度實驗。根據(jù)非極大值抑制(NMS)算法,選取了9組數(shù)據(jù)對模型的性能進行測試。在取值的過程中,閾值過大容易將正確的預測框剔除,過小不能達到去除重復框的效果。因此,本文的置信度閾值從0.40到0.50 以0.05 為步長遞增,NMS 閾值從0.30 到0.50以0.1為步長遞增,實驗結果如表5所示。
表5 超參數(shù)置信度閾值、NMS閾值的實驗結果Table 5 Experimental results of hyperparameter confidence threshold and NMS threshold
根據(jù)表5的實驗結果,不同的超參數(shù)置信度閾值和NMS閾值對模型性能有一定影響。當置信度閾值取0.45,NMS 閾值取0.50 時,模型的mAP@0.50:0.95指標最高;當置信度閾值取0.50,NMS 閾值取0.50時,模型的mAP@0.50 指標最高。綜上實驗結果,實驗中測試的超參數(shù)置信度閾值設為0.45,NMS 閾值為0.50。
本文還對VOC數(shù)據(jù)集的場景圖像進行定性評價分析,效果如圖7 所示。圖7 中(a)和(b)為經(jīng)過CA注意力和TDCA注意力處理后的加權熱力圖,圖7(a)中從左到右預測框與真實框的IOU 值分別為0.55、0.69 和0.53,圖7(b)中從左到右預測框與真實框的IOU 值分別為0.79、0.99 和0.78。從圖中可以看出,和CA 注意力機制相比,加入TDCA 后,網(wǎng)絡對檢測目標區(qū)域的定位和關注程度都獲得了提升,證明在Neck部分加入TDCA能更好地融合關鍵特征信息。
圖7 注意力機制CA與TDCA的熱力圖對比Fig.7 Heat map comparison of attention mechanism CA and TDCA
第1 組實驗對cat 進行檢測,目標cat 由于衣物的遮擋,將身體和頭部分開了,此時圖7(a)檢測器出現(xiàn)定位不準確,只檢測到了頭部以下的部分,而圖7(b)檢測定位較圖7(a)準確,IOU 提高了0.24。從熱力圖中也可看出,TDCA比CA更能關注到目標的特征。第2 組實驗中兩個目標較聚集,從對比圖來看,圖7(b)的模型對左側(cè)的目標定位比圖7(a)模型準確,IOU提高了0.3。第3組實驗對較明顯的大目標aircraft進行檢測,圖7(b)模型定位性能表現(xiàn)得比圖7(a)好,IOU 提高了0.25,但是在小目標person 的檢測上,YOLO-T模型檢測效果略遜色。但總體來說,YOLO-T在目標定位上要優(yōu)于基礎網(wǎng)絡,平均IOU 提高了26%,證明網(wǎng)絡提取到了更加豐富的語義信息,表現(xiàn)出更好的性能。YOLO-T 更適合于定位要求較高的現(xiàn)實場景。
本文算法從TDCA、TPA-FPN 和Soft-QFL 三方面對YOLOX-S 進行改進,為探究各改進方法的有效性,在基線網(wǎng)絡YOLOX-S 的基礎上設計了4 組消融實驗,實驗數(shù)據(jù)集使用3.3 節(jié)的PASCAL VOC2007+2012 數(shù)據(jù)集,每組實驗所采用的實驗環(huán)境、網(wǎng)絡超參數(shù)以及訓練技巧均相同,實驗結果如表6 所示。其中,TPA-FPN 代表所提Neck 結構,Depthwise Separable Conv 模塊代表修改主干特征提取網(wǎng)絡中的基礎卷積結構,Soft-QFL 代表提出的標簽分配策略與損失函數(shù),由于TDCA 結構是融入到TPA-FPN 結構中的,不對TDCA模塊進行消融實驗。
表6 各改進模塊在YOLOX-S框架下的消融實驗Table 6 Ablation experiment of each improved module under framework of YOLOX-S
由表6可知,以YOLOX-S為基礎,加入TPA-FPN模塊后mAP@0.50:0.95 提升了3.7 個百分點,mAP@0.50 提升了1.5 個百分點,TPA-FPN 網(wǎng)絡結構融入了TDCA注意力機制,mAP@0.50:0.95指標的提高說明模型對目標預測框的回歸能力提高了,使預測的目標框與真實目標框更接近,這對需要更準確定位的回歸任務來說,加入TPA-FPN 是非常有效的;其次,使用了Soft-QFL 改進標簽分配策略以及損失函數(shù),mAP@0.50:0.95 提升了1.6 個百分點,mAP@0.50 提升了0.3 個百分點。Soft-QFL 通過改進標簽分配策略以及損失函數(shù)來提升網(wǎng)絡模型的識別能力,Soft-QFL 在幾乎不消耗網(wǎng)絡的訓練和推理性能的基礎上,提高了網(wǎng)絡檢測精度。此外,由于網(wǎng)絡結構引入了TPA-FPN 模塊,模型的復雜度增加,網(wǎng)絡檢測速度和模型參數(shù)量有所增大。
在YOLO-T 主干網(wǎng)絡中引入Depthwise Separable Conv 模塊代替普通卷積模塊,由表2 和表6 可知,引入深度可分離卷積模塊mAP@0.50:0.95 和mAP@0.50準確率只降低了0.8個百分點和0.1個百分點,但模型的參數(shù)量和網(wǎng)絡復雜度減少了64.3%。最終的YOLO-T 網(wǎng)絡模型達到了速度和檢測精度兩方的平衡,并且模型對目標預測框的擬合能力進一步增強,在實際應用中對硬件的要求更小,能被用于需要定位更加準確的工業(yè)應用場景中。
為了進一步評估YOLO-T 目標檢測模型的精度和定位效果,本文在類型更多、圖像環(huán)境更加復雜的COCO 數(shù)據(jù)集上進行實驗。COCO 數(shù)據(jù)集是由微軟提供的大型目標檢測數(shù)據(jù)集,具有數(shù)據(jù)類別多和目標尺寸跨度大等特點。實驗中將COCO2017 數(shù)據(jù)集中的訓練集隨機劃分為包含105 539 張圖像的train和11 727 張圖像的val,并在包含5 000 張圖像的COCO2017 驗證集上進行測試。主要評估不同IOU閾值下的平均精度。其中,不同IOU 閾值下的平均精度可以體現(xiàn)模型的定位效果,高IOU 閾值代表預測框和真實框重合度的標準更加嚴格。實驗數(shù)據(jù)中YOLOX-S 和YOLO-T 通過實驗得到,實驗環(huán)境和參數(shù)設置如3.1節(jié)所示。
如表7 所示,在COCO 數(shù)據(jù)集上,YOLO-T 的mAP@0.50:0.95 達到了42.0%,較原YOLOX-S 提高了2.4 個百分點,mAP@0.50 提高了0.8 個百分點,mAP@0.75提高了2.8個百分點。在不同的IOU閾值下,mAP@0.50:0.95 指標漲點最多,這也說明本文算法對預測框定位以及邊界框回歸能力有著明顯的優(yōu)勢。對比其他的檢測算法YOLOv5-S、YOLOv3、RefineDet 和FAENet,mAP@0.50:0.95 也有著顯著的提高,由此說明YOLO-T在復雜場景下也具有較好的預測框定位效果和檢測性能。
表7 COCO數(shù)據(jù)集上的對比實驗Table 7 Comparative experiments on COCO dataset
本文基于YOLOX-S 網(wǎng)絡結構提出了一種改進的目標檢測算法YOLO-T,目的是改進YOLOX-S 算法對目標預測框定位不準確的問題。采用TDCA、TPA-FPN 和Soft-QFL 結構對網(wǎng)絡的精度和目標框邊界的回歸能力進行提升。使用Depthwise Separable Conv 改進Backbone 中的卷積模塊使模型輕量化,平衡了檢測速度和檢測精度。在PASCAL VOC2007+2012 數(shù)據(jù)集上,YOLO-T 和YOLOX-S 相比,模型大小減少了64.3%,檢測速度提升了23.7%,mAP@0.50提高了1.3 個百分點,mAP@0.50:0.95 提高了3.8 個百分點。因此YOLO-T是一種檢測精度較高、定位較準確的目標檢測模型,適用于對定位要求較高的現(xiàn)實場景。但YOLO-T 仍有改進的空間,如Neck 部分可以再使用較低分辨率的特征圖,可以更好地對小目標進行檢測。