王能文,張 濤
江南大學(xué) 人工智能與計算機(jī)學(xué)院,江蘇 無錫 214000
隨著計算機(jī)、通信和智能信號處理技術(shù)的發(fā)展,智能交通系統(tǒng)(intelligent transportation system,ITS)越來越普及。ITS的一項關(guān)鍵技術(shù)是交通標(biāo)志檢測,它是自動駕駛技術(shù)的基礎(chǔ)。在交通標(biāo)志檢測任務(wù)中,車輛獲取的圖像幀容易受到光照強(qiáng)度和天氣條件的影響,且交通標(biāo)志目標(biāo)往往只占據(jù)整個圖像的一小部分。所以,實時交通標(biāo)志檢測仍然存在許多挑戰(zhàn)[1-2]。
首先,傳統(tǒng)的目標(biāo)檢測技術(shù)難以用于交通標(biāo)志檢測。傳統(tǒng)目標(biāo)檢測算法[3]使用滑動窗口方法或圖像分割技術(shù)生成大量的候選區(qū)域,然后為每個候選區(qū)域提取圖像特征。例如方向梯度直方圖(histogram of oriented gradient,HOG)[4]、尺度不變特征變換(scale-invariant feature transform,SIFT)[5]和Haar[6]。最后,這些特征被輸入到分類器,如支持向量機(jī)(support vector machine,SVM)[7]、自適應(yīng)增強(qiáng)[8]和隨機(jī)森林[9]等,以確定每個候選區(qū)域的類別。傳統(tǒng)方法在生成候選區(qū)域的時候需要大量的計算開銷。然而,交通標(biāo)志識別在實際應(yīng)用中對速度和精度都有著嚴(yán)格的要求。因此,傳統(tǒng)目標(biāo)檢測方法的精度和速度遠(yuǎn)遠(yuǎn)不能滿足自動駕駛的要求。
其次,基于復(fù)雜神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志檢測算法也很低效。Krizhevsky 等[10]在2012 年提出了AlexNet,這使得卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)引起了極大的關(guān)注。此后,基于深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法[11-14]進(jìn)入快速發(fā)展階段,它以更多的存儲和計算開銷為代價,實現(xiàn)了比傳統(tǒng)方法更高的精度。然而,交通標(biāo)志檢測任務(wù)的存儲空間和計算能力有限,所以,使用基于復(fù)雜神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志檢測算法也不太適用。由于上述兩種方法的不足,使用輕量級卷積神經(jīng)網(wǎng)絡(luò)檢測和識別交通標(biāo)志是目前比較理想的方法。文獻(xiàn)[15]提出一種具有類層次結(jié)構(gòu)的新型架構(gòu)級聯(lián)掃視網(wǎng)絡(luò),用于交通標(biāo)志檢測,在TT100K數(shù)據(jù)集上小目標(biāo)的平均精度提高了6%。文獻(xiàn)[16]為了聚合不同尺度的特征并抑制背景中的雜亂信息,提出一種多尺度注意金字塔網(wǎng)絡(luò),在多種交通標(biāo)志數(shù)據(jù)集上都取得了不錯的效果。文獻(xiàn)[17]在YOLOv3 主干網(wǎng)絡(luò)中融合SPP 并改進(jìn)特征金字塔網(wǎng),利用K-means 聚類算法對數(shù)據(jù)集進(jìn)行聚類分析,重新定義候選框,以提升檢測性能。文獻(xiàn)[18]在YOLOv5基礎(chǔ)上進(jìn)行各種優(yōu)化策略,包括提出區(qū)域上下文模塊、在主干部分引入特征增強(qiáng)模塊和進(jìn)行多尺度特征融合,以此來提高交通標(biāo)志檢測精度和召回率。雖然現(xiàn)有交通標(biāo)志檢測算法取得了較好的成果,但是由于交通標(biāo)志目標(biāo)小、受背景環(huán)境影響大,在實時場景中仍然存在檢測速度慢、精度低和漏檢問題。所以,實時交通標(biāo)志檢測還需要進(jìn)一步研究。
Ge等[19]提出YOLOX算法,采用SimOTA、解耦頭等改進(jìn)措施顯著提升檢測性能。YOLOX包含多種不同體量的模型,其中,YOLOX-S 模型參數(shù)量較少,比較適用于實時性要求較高的應(yīng)用場景。但YOLOX-S相比于其他體量大的模型在檢測精度上還有差距。本文提出一種改進(jìn)的YOLOX-S 實時多尺度交通標(biāo)志檢測算法,既保證了模型的實時性要求,又提高了多尺度交通標(biāo)志檢測的精度。改進(jìn)思路如下:(1)設(shè)計ResNet50-vd-dcn代替原YOLOX-S中的CSPDarknet53主干網(wǎng)絡(luò),ResNet50-vd-dcn 由最新的ResNet-D 結(jié)構(gòu)和可變形卷積網(wǎng)絡(luò)(deformable convolutional network,DCN)[20]設(shè)計而成,其減少了模型的計算量,同時也可以保證網(wǎng)絡(luò)的學(xué)習(xí)能力。(2)本文提出增強(qiáng)特征圖模塊(enhanced feature map module,EFMM),加入到主干網(wǎng)絡(luò)的三個特征層之后。EFMM采用特征圖連接流和注意力機(jī)制流,減少特征圖生成過程中的信息丟失。在保持檢測速度的同時有效地提高了模型的識別精度。(3)提出一種三通道加權(quán)雙向特征金字塔網(wǎng)絡(luò),替換原YOLOX-S 頸部的路徑聚合網(wǎng)絡(luò)(path aggregation networks,PAN)[21],增強(qiáng)對不同層級特征的信息融合能力,提高對多尺度目標(biāo)識別的能力。(4)在后處理階段,使用Focal Loss[22]損失函數(shù)解決正負(fù)樣本不平衡問題,提高模型對正樣本特征的學(xué)習(xí)能力,進(jìn)而提高模型對小目標(biāo)物體的檢測率。
本文改進(jìn)算法框架主要分為主干網(wǎng)絡(luò)、特征增強(qiáng)網(wǎng)絡(luò)、特征融合網(wǎng)絡(luò)和檢測頭,整體算法架構(gòu)如圖1所示。輸入圖片大小以416×416 為例,首先經(jīng)過ResNet50-vddcn主干網(wǎng)絡(luò)生成尺度大小為52×52、26×26、13×13的三個特征通道,其次三個通道中的特征信息再進(jìn)入特征增強(qiáng)網(wǎng)絡(luò)EFMM 進(jìn)一步提升語義信息維度,之后進(jìn)入到特征融合網(wǎng)絡(luò)中進(jìn)行交互融合。最后將融合后的特征圖輸入到檢測頭進(jìn)行檢測。
圖1 YOLOX-S網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 YOLOX-S network structure
YOLOX-S 使用CSPDarknet53 作為主干網(wǎng)絡(luò),經(jīng)查閱參考文獻(xiàn)[23]發(fā)現(xiàn),該結(jié)構(gòu)在檢測小目標(biāo)物體上會存在一定缺陷,因為使用該主干網(wǎng)絡(luò),模型在反向傳播中各個神經(jīng)元節(jié)點之間會存在梯度重復(fù)現(xiàn)象,會降低模型的整體性能,因此本文設(shè)計ResNet50-vd-dcn 替換原YOLOX-S 模型的主干網(wǎng)絡(luò)CSPDarknet53。研究表明[24],殘差網(wǎng)絡(luò)能夠提取更加豐富語義信息的特征圖,此外,ResNet-50 殘差網(wǎng)絡(luò)的模型計算量和大小遠(yuǎn)小于CSPDarknet53。本文選擇ResNet 最新的ResNet-D 結(jié)構(gòu),其中ResNet50-vd 優(yōu)化了ResNet 下采樣信息丟失問題,然后結(jié)合可變形卷積DCN,設(shè)計出ResNet50-vd-dcn作為主干特征提取網(wǎng)絡(luò),在保證模型檢測速度的同時,能夠顯著提升其在小目標(biāo)物體上的表現(xiàn)能力。
圖片中的小目標(biāo)所占像素少,并且容易受環(huán)境和背景因素等影響,直接使用YOLOX-S模型算法,在進(jìn)行卷積采樣的時候,會造成小目標(biāo)特征信息的丟失,使得模型的表示能力降低,影響小目標(biāo)物體的檢測效果。因此本文提出增強(qiáng)特征圖模塊EFMM,加入到主干網(wǎng)絡(luò)的三個特征層之后,使得模型更加關(guān)注小目標(biāo),減少特征圖生成過程中的信息丟失,在保持原有速度和精度的同時提高對小目標(biāo)的檢測準(zhǔn)確率。
首先,為了在保持檢測速度的同時提取更多的語義信息,本文提出了一種輕量級的特征圖連接流,將輸入特征圖的通道分成兩半,并在其中一個半圖上執(zhí)行三個卷積操作。由于只對卷積層使用特征圖的一半權(quán)重來抑制卷積增加的參數(shù)數(shù)量,與一般卷積相比,這種方式學(xué)習(xí)量減半。最后,通過卷積層的特征圖和另一個特征圖使用跳躍連接相互連接。其次,從淺層提取的低級特征會激活圖像中的邊緣或背景,如果模型能夠聚焦在一個物體上,它就可以檢測到小物體被捕捉到的區(qū)域。對此,本文提出一種使用重要性圖的有效注意力機(jī)制流。重要性圖由通道平均池化和sigmoid激活函數(shù)生成。輸入特征圖的像素被平均,然后歸一化到0~1。生成重要性圖時,模型不執(zhí)行卷積操作。在這個流中,模型只執(zhí)行兩個簡單的操作,沒有額外的學(xué)習(xí)。因此,它防止了檢測速度的下降。最后,將重要性圖和連接圖元素相乘,并將其添加到輸入特征圖中。通過這種方式,本文提出增強(qiáng)特征圖模塊,將其加入到主干網(wǎng)絡(luò)之后,可以有效地檢測小目標(biāo)物體。
增強(qiáng)特征圖模塊EFMM如圖2所示。首先,注意力流通過通道平均池化(channel-wise average pooling)對輸入特征F(f∈RH×W×C)的所有通道進(jìn)行壓縮,將通道中的所有像素相加,再除以通道數(shù)生成自注意力圖(self-attention map)mattn∈RH×W×1。其中C是通道數(shù),H和W分別是高和寬。通過平均輸入特征圖通道的像素值,其中高值像素被認(rèn)為是高級語義特征,生成的特征圖包含對象及其周圍區(qū)域的信息。如圖2所示,自注意力圖通過一個sigmoid 激活函數(shù)生成重要性圖(importance map)mimp∈RH×W×1。這樣,重要性圖中的像素被歸一化為(0,1),從而平滑了特征圖像素值的過渡。接近于1 的重要性圖的每個像素被認(rèn)為是最具辨別力的部分(前景),而接近于0的像素值對應(yīng)于辨別力較差的部分(背景)。通過這些操作,使得檢測器專注于對象區(qū)域。重要性圖計算公式如下:
圖2 增強(qiáng)特征圖模塊EFMMFig.2 Enhanced feature map module EFMM
最后是兩張圖的結(jié)合,在獲得重要性圖mimp和特征圖連接流mconcat后,將它們組合以生成最終的增強(qiáng)特征圖f′∈RH×W×C。重要性圖mimp充當(dāng)對象感知掩碼,并按元素乘以特征連接圖mconcat以生成對象感知特征圖。從公式(3)可以看到,通過添加對象感知特征圖和原始輸入特征圖來創(chuàng)建最終的增強(qiáng)特征圖f′。增強(qiáng)的特征圖f′用作下一個卷積層的輸入,與現(xiàn)有模型相比,其共享更高級別的特征。
YOLOX-S 的Neck 模塊使用的是路徑聚合網(wǎng)絡(luò)PANet,PANet 是在FPN 的基礎(chǔ)上再建立一條自下而上的通路,將位置信息也傳到預(yù)測特征層中,使得預(yù)測特征層同時具備較高的語義信息和位置信息。但仍然存在缺陷,由于預(yù)測特征層級之間特征利用率較低和過多的信息冗余,會導(dǎo)致特征層融合不夠充分,丟失對小目標(biāo)物體的特征信息,降低模型的檢測精度。針對PANet存在的上述缺陷,Tan 等[25]提出加權(quán)雙向特征金字塔網(wǎng)絡(luò)BiFPN,BiFPN處理每個雙向路徑作為一個特征網(wǎng)絡(luò)層,并重復(fù)同一層多次,以實現(xiàn)更高層次的特征融合?;贐iFPN 結(jié)構(gòu),同時結(jié)合大核注意力,設(shè)計了適用于本文算法的三通道加權(quán)雙向特征金字塔網(wǎng)絡(luò),如圖1所示。輸入圖像通過主干網(wǎng)絡(luò)生成特征映射{C1,C2,C3,C4,C5},最上層的C3、C4、C5三個大小不同的特征圖輸入到三通道加權(quán)雙向特征金字塔網(wǎng)絡(luò)中,進(jìn)行特征融合。該網(wǎng)絡(luò)結(jié)構(gòu)不僅可以連接不同級別之間的特征信息,還保留了相同層級的原始特征信息,將底層細(xì)節(jié)信息和高層語義信息充分融合。
本文采用大核注意力(large kernel attention,LKA[26])的方式給LKA-BiFPN特征融合網(wǎng)絡(luò)的多尺度通道分配權(quán)值。大核注意力分配權(quán)值的方式相比于原BiFPN 隨機(jī)分配權(quán)值的方式,可以顯著增加模型的感受野,提高對小目標(biāo)物體的關(guān)注度。
大核卷積可分為3 個部分,空間局部卷積、空間遠(yuǎn)程卷積和通道卷積。如圖3(a)所示,LAK 模塊寫作式(4)、(5):
圖3 LKA與Self-Attention結(jié)構(gòu)對比Fig.3 Comparison of LKA and Self-Attention structures
其中,F(xiàn)∈RC×H×W是輸入特征,Attention∈RC×H×W表示注意力圖,注意力圖中的值表示每個特征的重要性。將注意力權(quán)重與輸入特征圖進(jìn)行逐元素相乘,即可得到輸出特征圖。如圖3(b)所示,自注意力(self-attention,SA[27])雖然能夠在提取局部特征信息的基礎(chǔ)上進(jìn)一步捕捉長期依賴,并在空間維度上具有適應(yīng)性,但是它忽略了局部信息和通道維度上的適應(yīng)性。而LKA不僅可以利用本地信息捕獲長距離依賴,而且在通道和空間維度上都具有適應(yīng)性。因此,在YOLOX-S 算法中引入LKA,可以為整個算法提供更加有效的注意力引導(dǎo),從而提升算法的檢測性能。
如圖4 所示,改進(jìn)后的特征金字塔融合網(wǎng)絡(luò)將52×52 的特征圖通過一個大小為3×3 和步長為1×1 的卷積核,得到一個26×26的特征圖,并將其與52×52的特征圖進(jìn)行融合。再將26×26的特征圖進(jìn)行相同的卷積操作,得到大小為13×13的特征圖,再將其與26×26的特征圖進(jìn)行融合。最后,將最終融合的特征圖進(jìn)行2 倍和4 倍的上采樣,然后再進(jìn)行一次不同尺寸的特征融合。
圖4 LKA-BiFPN加權(quán)特征融合模塊Fig.4 LKA-BiFPN weighted feature fusion module
YOLOX-S的損失函數(shù)主要由定位損失函數(shù)(localization loss)、分類損失函數(shù)(classification loss)和目標(biāo)置信度損失函數(shù)(confidence loss)組成。檢測框位置的iou_loss,YOLOX-S 使用傳統(tǒng)的giou_loss,而分類損失和置信度損失都是采用BCE_loss的方式。
在實際的交通場景中,交通標(biāo)志目標(biāo)往往會受到光照強(qiáng)度、雨雪和霧霾等惡劣天氣的影響,另外交通標(biāo)志目標(biāo)相對較小,在檢測過程中受背景干擾影響大,正樣本和負(fù)樣本難以區(qū)分。負(fù)樣本過多會導(dǎo)致模型在訓(xùn)練過程中對正樣本學(xué)習(xí)不夠,模型性能不穩(wěn)定,召回率較低。為平衡正負(fù)樣本,本文使用Focal Loss損失函數(shù)替換置信度損失函數(shù)BCE_loss。Focal Loss 函數(shù)定義如式(6)、(7):
其中,α是解決正樣本和負(fù)樣本比例的平衡系數(shù),范圍是0 到1,γ是控制難分類樣本和易分類樣本權(quán)重的平衡系數(shù),pt是難分類樣本和易分類樣本的概率。
2.1.1 TT100K數(shù)據(jù)集
TT100K 是我國的交通標(biāo)志數(shù)據(jù)集,它提供了100 000 張包含30 000 個交通標(biāo)志實例的圖像,這些圖像場景豐富,涵蓋了光照和天氣條件的巨大變化。數(shù)據(jù)集圖像中的交通標(biāo)志較小,外加圖像包含大量的干擾背景信息,導(dǎo)致對交通標(biāo)志的檢測很困難[28]。本文選取了9 170張圖片共涵蓋了45種類型的交通標(biāo)志,訓(xùn)練集、驗證集和測試集的劃分比例按照8∶1∶1。
2.1.2 CCTSDB數(shù)據(jù)集
另外一個數(shù)據(jù)集是長沙理工大學(xué)中國交通標(biāo)志檢測數(shù)據(jù)集(CSUST Chinese traffic sign detection benchmark,CCTSDB)[29]。CCTSDB 共包含三大類交通標(biāo)志,分別是警告標(biāo)志、禁止標(biāo)志和指示標(biāo)志。其提供了15 724張訓(xùn)練集和400張測試集。本文選取15 724張訓(xùn)練集圖片進(jìn)行訓(xùn)練,另外400張圖片進(jìn)行測試。
本文實驗的操作系統(tǒng)為Ubuntu 16.04.7 LTS,CPU型號為Intel?Core ? i9-9900X CPU。GPU 型號為NVIDIA RTX 2080Ti,內(nèi)存大小為12 GB。該YOLOX-S模型是基于Pytorch 深度學(xué)習(xí)框架,Python 作為編程語言,使用CUDA 10.1,和CUDNN 7.8對GPU進(jìn)行加速。
在訓(xùn)練中,本文使用馬賽克(Mosaic)數(shù)據(jù)增強(qiáng)來提高性能。馬賽克生成的訓(xùn)練圖像與自然圖像的實際分布相差甚遠(yuǎn),而且大量的馬賽克裁剪操作會帶來很多不準(zhǔn)確的標(biāo)注框,所以在訓(xùn)練過程中,本文只在訓(xùn)練的前90%輪使用馬賽克,在后10%輪則關(guān)閉馬賽克數(shù)據(jù)增強(qiáng)策略。本文的模型都是從頭開始訓(xùn)練,所有模型均使用具有12 GB 內(nèi)存的單個NVIDIA RTX 2080Ti GPU 進(jìn)行訓(xùn)練。總共訓(xùn)練300輪,其中前20輪為模型熱身。批量大小設(shè)置為16,使用SGD來訓(xùn)練整個網(wǎng)絡(luò),動量設(shè)置為0.937,權(quán)重衰減為0.000 5,初始學(xué)習(xí)率為0.01,采用余弦退火策略降低學(xué)習(xí)率。
評估指標(biāo)主要由檢測速度和檢測精度組成。檢測精度用于評估模型對目標(biāo)準(zhǔn)確定位和分類的能力,本文實驗使用小目標(biāo)平均精度APs、小目標(biāo)平均召回率ARs、總體樣本平均精度mAP和檢測速度FPS作為評估指標(biāo)。
在TT100K 數(shù)據(jù)集上,本文設(shè)計了消融實驗和與其他主流算法的對比實驗。
2.4.1 消融實驗
消融實驗是為了驗證本文所提出的改進(jìn)是否對交通標(biāo)志檢測性能的提升有效,實驗結(jié)果如表1所示。對比分析了(1)原YOLOX-S 模型;(2)改進(jìn)模型1 是將原YOLOX-S 模型的主干網(wǎng)絡(luò)CSPDarknet53 替換成ResNet50-vd-dcn;(3)改進(jìn)模型2 是在主干網(wǎng)絡(luò)的三個特征層之后加入EFMM;(4)改進(jìn)模型3 表示修改原網(wǎng)絡(luò)的特征金字塔結(jié)構(gòu);(5)改進(jìn)模型4 表示修改原網(wǎng)絡(luò)的損失函數(shù);(6)本文模型表示同時修改主干網(wǎng)絡(luò)、加入增強(qiáng)特征圖模塊、修改特征金字塔結(jié)構(gòu)和修改損失函數(shù)。在TT100K數(shù)據(jù)集上進(jìn)行消融實驗,圖片輸入尺寸為960×960,其他實驗條件均相同。
從表1中的數(shù)據(jù)可以得出,僅將原模型的主干網(wǎng)絡(luò)替換成ResNet50-vd-dcn之后,小目標(biāo)精度下降了0.8個百分點,小目標(biāo)召回率下降1.8 個百分點,但是參數(shù)量降低0.9 MB,檢測速度由116 FPS 上升為130 FPS。僅添加增強(qiáng)特征圖模塊,在小目標(biāo)精度上提升了1.2 個百分點,在小目標(biāo)召回率上提升了1.8 個百分點。僅修改特征金字塔結(jié)構(gòu),小目標(biāo)精度提升1.1 個百分點,小目標(biāo)召回率提升0.9 個百分點。僅修改損失函數(shù),小目標(biāo)精度提升0.4 個百分點,小目標(biāo)召回率提升0.6 個百分點。將所有改進(jìn)添加到原模型中,在小目標(biāo)精度上提升2.8 個百分點,在小目標(biāo)召回率上提升4.1 個百分點,總體平均精度提升2.1 個百分點,參數(shù)下降0.3 MB,檢測速度提升了2.3 FPS。由此可見,本文提出的各項改進(jìn)效果明顯。
在主干網(wǎng)絡(luò)的改進(jìn)中,本文引入了特征增強(qiáng)模塊,其中提出了一種輕量級的特征圖連接流,將輸入特征圖的通道分成兩半,對此通過實驗驗證了這種方法的有效性。如表2 所示,方法1 是使用分割的特征圖,方法2是沒有分割的特征圖,實驗所用模型為YOLOX-S+EFMM。由實驗結(jié)果可知,將輸入特征圖的通道分成兩半,不僅模型的參數(shù)量更少、速度更快,而且小目標(biāo)平均檢測精度要高0.3個百分點。
表2 EFMM部分對比實驗Table 2 EFMM partial comparative experiments
同時,為了驗證本文提出的增強(qiáng)特征圖模塊EFMM的有效性,還與其他當(dāng)前主流的注意力機(jī)制(squeezeand-excitation,SE)[30]、坐標(biāo)注意力機(jī)制(coordinate attention,CA)[31]、(convolutional block attention module,CBAM)[32]進(jìn)行了對比。由表3得出,本文所使用的增強(qiáng)特征圖模塊相比于其他注意力機(jī)制,不僅參數(shù)量最少、速度最快,且在小目標(biāo)精度、小目標(biāo)召回率和總體目標(biāo)精度上均優(yōu)于其他注意力機(jī)制。
表3 EFMM和不同注意力對比實驗Table 3 EFMM and different attention comparative experiments
2.4.2 與主流算法對比實驗
本文的改進(jìn)模型在TT100K 數(shù)據(jù)集上測試結(jié)果與其他先進(jìn)目標(biāo)檢測器的對比結(jié)果如表4 所示。涉及的主要比較內(nèi)容包括模型的小目標(biāo)精度、小目標(biāo)召回率、總體平均精度、模型參數(shù)和檢測速度。關(guān)于檢測速度的測試,均在單個RTX 2080Ti GPU 的同一臺機(jī)器上,使用每秒1 批大小來進(jìn)行測試。其他先進(jìn)模型的測試結(jié)果來源于參考文獻(xiàn)。
表4 與先進(jìn)算法對比實驗Table 4 Comparative experiment with advanced algorithm
從表4可以得出,本文改進(jìn)后的算法在交通標(biāo)志數(shù)據(jù)集TT100K 上不論是速度還是精度相比其他一些主流算法都有一定優(yōu)勢。具體比較結(jié)果如下:本文改進(jìn)的算法相比于原YOLOX-S 算法,在小目標(biāo)精度上提升了2.8 個百分點,在小目標(biāo)召回率上提升了4.1 個百分點,在總體平均精度上提升了2.1 個百分點,而且參數(shù)量下降0.3 MB,檢測速度從116.0 FPS 提升到118.3 FPS。其中,YOLOv5-S算法的檢測速度最快,達(dá)到了125.0 FPS,參數(shù)量7.3 MB 也是最少的,但是其在小目標(biāo)精度上相比本文算法少了大約5個百分點,小目標(biāo)召回率也少了6.3個百分點。相比于基于Transformer的目標(biāo)檢測算法TSP-RCNN[37],本文算法在小目標(biāo)精度上提升6.2 個百分點,參數(shù)量更少,檢測速度優(yōu)勢更加明顯。其他算法中,小目標(biāo)精度最好的是文獻(xiàn)[18],相比本文算法低了1.5個百分點,檢測速度低了約35 FPS。
為了進(jìn)一步驗證本文改進(jìn)的YOLOX-S算法的性能以及對其他交通標(biāo)志數(shù)據(jù)集的魯棒性,本文在CCTSDB數(shù)據(jù)集上也做了相關(guān)實驗。CCTSDB 數(shù)據(jù)集中的交通標(biāo)志主要以中大型目標(biāo)為主,小目標(biāo)占比很少,所以在CCTSDB數(shù)據(jù)集上涉及的比較內(nèi)容只包括模型的大小、檢測速度和mAP。具體比較結(jié)果如表5所示。
表5 CCTSDB數(shù)據(jù)集對比實驗Table 5 CCTSDB dataset comparative experiments
從表5中可以得出,本文算法與原YOLOX-S算法相比,精度提升了1.1 個百分點,同時參數(shù)量略微降低0.3個百分點,檢測速度相差不大。在CCTSDB數(shù)據(jù)集上與一些主流算法對比結(jié)果如下,與YOLOV3、T-YOLO[42]、文獻(xiàn)[43]和文獻(xiàn)[18]相比,速度和精度均高于它們。與改進(jìn)的YOLOv3-Tiny[41]相比,本文算法速度低于改進(jìn)的YOLOv3-Tiny[41],但是精度高4.2 個百分點。與YOLOv5-S相比,在速度略低的情況下,精度高出2.4個百分點。通過實驗表明,本文提出的算法在其他交通標(biāo)志數(shù)據(jù)上也具有魯棒性。
為了能夠直觀地看出本文改進(jìn)算法的性能,從TT100K數(shù)據(jù)集中選取了3張具有代表性的圖片進(jìn)行了對比測試,對比測試結(jié)果如圖5 所示。其中,圖5(a)~(c)為原YOLOX-S模型的測試結(jié)果,圖5(d)~(f)為本文改進(jìn)算法的測試結(jié)果。對比圖5(a)和圖5(d)的結(jié)果可以得出,圖5(a)漏檢了pl60而圖5(d)檢測出來了,另外pn 和p26 的檢測精度均有所提升。對比圖5(b)和圖5(e),圖中需要檢測的目標(biāo)種類多且排列密集,圖5(e)相比于圖5(b)檢測精度更高且檢測框更準(zhǔn)確。對比圖5(c)和圖5(f),圖中待檢測目標(biāo)受光照和背景影響較大,圖5(f)檢測精度更高,p10 的精度達(dá)到了100%。綜上所述,本文改進(jìn)的算法對交通標(biāo)志的檢測要優(yōu)于原YOLOX-S。
針對目前交通標(biāo)志檢測中出現(xiàn)的小目標(biāo)占比較多,受背景干擾影響等情況,本文提出了一種基于YOLOX-S模型改進(jìn)的算法。改進(jìn)主要是通過修改YOLOX-S的主干網(wǎng)絡(luò)、引入增強(qiáng)特征圖模塊、修改特征金字塔結(jié)構(gòu)和改進(jìn)損失函數(shù)等來提高模型對交通標(biāo)志中小目標(biāo)和遮擋目標(biāo)的檢測能力,進(jìn)而增強(qiáng)模型魯棒性和檢測能力。實驗結(jié)果表明,本文改進(jìn)的模型相比于原YOLOX-S 模型,提升了交通標(biāo)志檢測精度,滿足在實時交通場景中對交通標(biāo)志檢測的準(zhǔn)確性需求。并且該模型具有很好的泛化能力,也可以用于其他類型目標(biāo)的檢測。下一步研究將圍繞使模型適應(yīng)復(fù)雜的天氣變化,在保證模型檢測速度的同時,對模型進(jìn)行優(yōu)化提升精度。