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