• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Cache-DCN YOLOX算法的交通標(biāo)志檢測(cè)方法研究

      2024-02-29 04:21:36高尉峰王如剛王媛媛郭乃宏
      關(guān)鍵詞:交通標(biāo)志卷積精度

      高尉峰,王如剛,王媛媛,周 鋒,郭乃宏

      (1.鹽城工學(xué)院 信息工程學(xué)院,江蘇 鹽城 224051;2.鹽城雄鷹精密機(jī)械有限公司,江蘇 鹽城 224006)

      0 引言

      在無(wú)人駕駛系統(tǒng)中,交通標(biāo)志對(duì)于車輛的行駛具有非常重要的作用。作為自動(dòng)駕駛中的關(guān)鍵技術(shù),交通標(biāo)志檢測(cè)識(shí)別精度的提升對(duì)于經(jīng)濟(jì)發(fā)展、社會(huì)和諧相處都具有十分重要的意義。傳統(tǒng)的目標(biāo)檢測(cè)方法主要依靠人工自主選擇特征從而進(jìn)行訓(xùn)練,如HOG、SIFT、Haar等[1-3],該類方法不僅計(jì)算量大,且檢測(cè)速度和精度都不能滿足實(shí)際的應(yīng)用需求。隨著深度神經(jīng)網(wǎng)絡(luò)的逐漸完善,由于較強(qiáng)的特征提取能力,深度神經(jīng)網(wǎng)絡(luò)技術(shù)被廣泛應(yīng)用于目標(biāo)檢測(cè)任務(wù)中。目前,常用的目標(biāo)檢測(cè)算法有以YOLO[4-6]系列算法、SSD[7-8]系列算法為代表的單階段算法和以R-CNN[9-10]系列算法為代表的兩階段算法。其中單階段算法是將目標(biāo)檢測(cè)過(guò)程看作一個(gè)回歸問題來(lái)處理,而兩階段算法則是先產(chǎn)生一個(gè)建議區(qū)域,再對(duì)該區(qū)域進(jìn)行分類及邊界框回歸,提取特征。由于具有良好的實(shí)時(shí)性,因此,單階段檢測(cè)被更多地應(yīng)用在交通標(biāo)志檢測(cè)領(lǐng)域,許多研究人員對(duì)單階段算法進(jìn)行了優(yōu)化以便更好地檢測(cè)交通標(biāo)志。如,為了解決天氣的干擾對(duì)交通標(biāo)志檢測(cè)的影響問題,代小宇等研究人員在YOLOv5中加入了SE注意力機(jī)制并融合雙向特征金字塔BiFPN,相比于原算法,檢測(cè)精度和召回率分別提高了7.94%和4.98%[11]。針對(duì)交通標(biāo)志在圖像中占據(jù)位置小、檢測(cè)中精度較低的問題,尹宋麟等研究人員在YOLOv4的基礎(chǔ)上,使用152×152的尺度檢測(cè)層替代原有的19×19的大感受野檢測(cè)層,并加入了ECA模塊去提高算法的檢測(cè)能力,在TT100K數(shù)據(jù)集上訓(xùn)練的準(zhǔn)確率相較于原算法提升了4.58%[12]。為解決交通標(biāo)志檢測(cè)任務(wù)中,在復(fù)雜路況出現(xiàn)錯(cuò)檢漏檢的情況,趙宏等研究人員提出了一種改進(jìn)的CGS-Ghost YOLO算法,將Focus模塊用StemBlock代替進(jìn)行采樣,降低了模型的參數(shù)量的同時(shí)提高了模型的檢測(cè)精度[13]。為了提高各個(gè)類別的檢測(cè)精度,Dubey等研究人員在RetinaNet的框架上以更多層數(shù)的ResNet為基礎(chǔ)網(wǎng)絡(luò),同時(shí)提出一種兩步TSR方法,在交通標(biāo)志數(shù)據(jù)集CCTSDB上進(jìn)行分類檢測(cè),得到了較好的檢測(cè)精度[14-16]。為解決目標(biāo)檢測(cè)過(guò)程中計(jì)算量大的問題,Rachmadi等研究人員提出了一種新型的輕量級(jí)空間金字塔卷積神經(jīng)網(wǎng)絡(luò)分類結(jié)構(gòu),該結(jié)構(gòu)將每一層金字塔所學(xué)習(xí)到的特征與第一層疊加,使得每一層網(wǎng)絡(luò)所能得到的學(xué)習(xí)區(qū)域更加平滑,最后的檢測(cè)訓(xùn)練實(shí)現(xiàn)了在較低的計(jì)算量基礎(chǔ)上有著良好的檢測(cè)精度[17]。為解決交通標(biāo)志檢測(cè)速度低的問題,黨宏社等研究人員在YOLOv5算法上引入了MobileNetv3主干網(wǎng)絡(luò),結(jié)合了RFB模塊與ECA-Net模塊,并采用了Matrix NMS篩選候選框,最終對(duì)交通標(biāo)志實(shí)現(xiàn)了更快的檢測(cè)速度[18]。為解決傳統(tǒng)檢測(cè)方法速度慢、精度低的問題,呂禾豐等研究人員使用加權(quán)Cluster非極大值抑制(NMS)代替YOLOv5的加權(quán)NMS算法,提高了生成檢測(cè)框的準(zhǔn)確率,改進(jìn)后的算法比原算法提高了6.23%的準(zhǔn)確率[19]。為了解決交通標(biāo)志檢測(cè)實(shí)時(shí)性不足的問題,王林等研究人員在YOLOv3算法中融入了金字塔池化模塊SPP,并充分利用上下文信息增強(qiáng)對(duì)小目標(biāo)的檢測(cè),實(shí)現(xiàn)了更快的檢測(cè)速度,并提高了對(duì)小目標(biāo)的檢測(cè)精度[20]。從現(xiàn)有的研究結(jié)果來(lái)看,眾多學(xué)者基于單階段目標(biāo)檢測(cè)算法做出改進(jìn),能夠良好地提升檢測(cè)精度,但是對(duì)于受干擾較大的交通標(biāo)志例如遮擋、陰影或小目標(biāo)交通標(biāo)志等,無(wú)法實(shí)現(xiàn)更好的特征提取,使得檢測(cè)精度難以進(jìn)一步提高。

      為了加強(qiáng)模型的特征提取能力,本文提出了一種基于緩存方案和可變形卷積的YOLOX優(yōu)化算法。首先將骨干網(wǎng)絡(luò)中普通的卷積模塊替換成DCN可變形卷積,使得模型在應(yīng)對(duì)不規(guī)則形狀的目標(biāo)物體時(shí),能夠更加精確地感知和定位;然后使用EIOU損失函數(shù)替換原有的GIOU損失函數(shù),提高收斂速度和回歸精度;最后使用多種數(shù)據(jù)增強(qiáng)的模式來(lái)提升模型的性能,并加入cache方案提升其檢測(cè)速度及精度。

      1 YOLOX算法

      YOLOX-Darknet53算法的骨干網(wǎng)絡(luò)采用了5個(gè)ResX殘差組件和32倍下采樣的特征提取方式,并保留了先驗(yàn)的YOLOv3算法的Darknet-53骨干網(wǎng)絡(luò)和FPN頸部網(wǎng)絡(luò)。這個(gè)模型設(shè)計(jì)了3個(gè)解耦頭,采用分類和定位分離的方法來(lái)緩解深骨干網(wǎng)絡(luò)所帶來(lái)的性能瓶頸。在輸入為640×640×3的圖像下,3個(gè)解耦頭輸出尺度大小分別為20×20×85、40×40×85、80×80×85,最終拼接轉(zhuǎn)置輸出尺度大小為85×8 400。此外,該算法還使用了SPP子模塊和FPN子模塊實(shí)現(xiàn)多尺度空間特征的融合。跟之前的YOLO系列算法相比,YOLOX算法具有更好的性能,能夠?qū)崿F(xiàn)更高的準(zhǔn)確率及更快的速度。YOLOX-Darknet53的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。從圖1中可以看出,YOLOX-Darknet53中引入了大量殘差結(jié)構(gòu),主干網(wǎng)絡(luò)部分,用卷積層代替Darknet19中的最大池化下采樣層,輸入的640×640×3圖像通過(guò)堆疊的下采樣卷積和n個(gè)殘差塊,得到3張分別為原圖像1/8、1/16、1/32大小的特征圖(feature map),隨后對(duì)3張?zhí)卣鲌D進(jìn)行上采樣和下采樣,通過(guò)解耦檢測(cè)頭后,進(jìn)行多尺度特征融合,最終輸出85×8 400的圖像。

      圖1 YOLOX-Darknet53網(wǎng)絡(luò)結(jié)構(gòu)圖

      2 YOLOX算法改進(jìn)

      2.1 backbone部分改進(jìn)優(yōu)化

      各算法基本結(jié)構(gòu)如圖2所示,從圖2(a)可以看出,YOLOX中使用的是1×1與3×3卷積的Basic Block。從圖2(b)可以看出,在YOLOv6、YOLOv7中,使用的是重參數(shù)化Block,但重參數(shù)化的訓(xùn)練代價(jià)高,且不易量化,需要其他方式來(lái)彌補(bǔ)量化誤差。如圖2(c)所示,本文則將Darknet中的1×1卷積替換成3×3卷積,并將原有模塊中的3×3卷積替換成了3×3可變形卷積,利用可變形卷積的形變建模能力,提高網(wǎng)絡(luò)模型的特征提取能力,從而更精確地檢測(cè)目標(biāo)。改進(jìn)后的模型整體框架如圖3所示,從圖3中可以看出,本文的算法改進(jìn)了CspLayer中的CspBlock部分,在YOLOX的主干網(wǎng)絡(luò)中,殘差卷積的主干部分為1×1卷積和3×3卷積,改進(jìn)模型則為CspBlock中加入了3×3的可變形卷積來(lái)增大模型的感受野,加強(qiáng)模型主干特征提取網(wǎng)絡(luò)的性能。輸入的特征圖首先經(jīng)過(guò)DCNConv(Deformable Convolutional Networks Convolution),在可變形卷積中,每個(gè)位置的卷積核都會(huì)根據(jù)該位置的偏移量進(jìn)行調(diào)整,以更好地適應(yīng)目標(biāo)形狀和姿態(tài)變化,然后再通過(guò)一些附加的卷積層進(jìn)行特征提取和壓縮,最終得到預(yù)測(cè)框的類別和位置信息。在檢測(cè)交通標(biāo)志時(shí),可變形卷積所帶來(lái)了更大的感受野,能夠使得模型在檢測(cè)時(shí)能夠獲取到更豐富的關(guān)鍵特征,對(duì)于小目標(biāo)、遮擋等交通標(biāo)志的檢測(cè)能夠?qū)崿F(xiàn)更高的檢測(cè)精度。

      圖2 算法的Basic Block對(duì)比示意圖

      圖3 改進(jìn)模型整體框架圖

      可變形卷積(Deformable Convolution)是一種基于空間變形的卷積運(yùn)算方法,在卷積神經(jīng)網(wǎng)絡(luò)中常被用來(lái)處理具有空間變形特征的圖像。相較于傳統(tǒng)的卷積操作,可變形卷積具有更強(qiáng)的自適應(yīng)能力和更好的感受野控制能力,能夠?qū)δ繕?biāo)物體的不規(guī)則形狀進(jìn)行更加精確的感知和定位。

      標(biāo)準(zhǔn)的卷積操作通??梢苑譃閮刹糠郑?)在輸入的特征圖上使用標(biāo)準(zhǔn)固定網(wǎng)格進(jìn)行采樣;2)對(duì)各個(gè)采樣點(diǎn)的數(shù)值進(jìn)行加權(quán)運(yùn)算。特征圖的標(biāo)準(zhǔn)卷積可以用式(1)表示:

      y(p0)=∑pn∈Rw(pn)·x(p0+pn)

      (1)

      其中:p0為特征圖的原始位置;pn為包含采樣點(diǎn)中所列位置;R為每個(gè)分塊的索引編號(hào);w(pn)為權(quán)重;x(p0+pn)為原始圖。由式(1)可知,在標(biāo)準(zhǔn)卷積中,每個(gè)卷積核所對(duì)應(yīng)的權(quán)重是相同的。而可變形卷積則引入了額外的偏移量,使得卷積核可以基于輸入特征圖的空間變化進(jìn)行自適應(yīng)調(diào)整,因此特征圖的映射關(guān)系可以用式(2)表示:

      y(p0)=∑pn∈Rw(pn)·x(p0+pn+Δpn)

      (2)

      其中:Δpn為偏移量;x(p0+pn+Δpn)和y(p0)為原始圖以及卷積所得特征圖的映射關(guān)系,可變形卷積的操作過(guò)程如圖4所示,首先使用傳統(tǒng)的卷積核提取特征圖,得到特征響應(yīng)映射(Feature Response Map)。將上一步得到的特征響應(yīng)映射作為可變形卷積操作的輸入,對(duì)其施加一個(gè)新的卷積層,生成2N個(gè)通道的偏移量特征圖,其中N表示卷積核大小。每?jī)蓚€(gè)通道代表著一個(gè)坐標(biāo)偏移量,即用來(lái)描述卷積核在該位置上的位移距離,這些偏移量可以隨著訓(xùn)練進(jìn)行不斷地調(diào)整,以適應(yīng)不同的輸入圖像。對(duì)偏移量特征圖進(jìn)行雙線性插值,將其上采樣至與輸入特征圖相同大小,以便后面能夠使用偏移量特征圖來(lái)調(diào)整卷積核的位置和大小。最后,結(jié)合上采樣后的偏移量特征圖和原始輸入特征,在反向傳播算法的優(yōu)化下同時(shí)學(xué)習(xí)它們,以獲得動(dòng)態(tài)調(diào)整可變形卷積核的大小和位置的能力。

      圖4 可變形卷積結(jié)構(gòu)示意圖

      本文基于可變形卷積構(gòu)建basic block,在基礎(chǔ)的3×3卷積后,再使用3×3的可變形卷積進(jìn)行特征提取加強(qiáng),增大了其感受野,從而能夠更好地提取特征,提高檢測(cè)的準(zhǔn)確率。

      2.2 損失函數(shù)改進(jìn)

      損失函數(shù)是一個(gè)衡量模型預(yù)測(cè)值和真實(shí)值之間差距的函數(shù),在目標(biāo)檢測(cè)中扮演著非常重要的角色,選擇一個(gè)合適的良好的損失函數(shù)能夠加強(qiáng)模型的性能,使模型更快更好地收斂。而IoU損失函數(shù)則是一種在目標(biāo)檢測(cè)任務(wù)中常用的評(píng)估方法,它能夠很好地反映模型預(yù)測(cè)框與真實(shí)標(biāo)注框之間的重疊程度。該損失函數(shù)可以幫助模型優(yōu)化預(yù)測(cè)結(jié)果,使其更加準(zhǔn)確地匹配實(shí)際標(biāo)注,IoU及IoU的損失函數(shù)可分別用式(3)和式(4)表示:

      (3)

      (4)

      其中:B表示預(yù)測(cè)框的面積;Bi表示真實(shí)框的面積。IoU損失函數(shù)可以將預(yù)測(cè)框與真實(shí)框之間的重疊程度表示為0~1之間的值以評(píng)估檢測(cè)效果。但是在現(xiàn)實(shí)情況下,存在預(yù)測(cè)框與真實(shí)框不相交的情況,這樣就無(wú)法進(jìn)行有效地學(xué)習(xí)。此外,IoU并沒有考慮預(yù)測(cè)框與真實(shí)框之間的距離,無(wú)法精確地反映兩者之間的重合度情況。因此,在這些情況下,IoU損失函數(shù)的效果可能會(huì)受到影響。

      因此YOLOX算法使用了GIOU損失函數(shù)。GIoU損失函數(shù)的公式可用式(5)表示:

      (5)

      其中:C為最小外接矩形的面積。GIoU在計(jì)算時(shí),是以公式中的C-B∪Bi除去兩個(gè)框的其余面積,然而在預(yù)測(cè)框和真實(shí)框在相同距離的情況下,此部分面積最小,對(duì)Loss的貢獻(xiàn)也就越小,從而導(dǎo)致在垂直水平方向上回歸效果較差,模型的收斂速度慢。

      因此,本文采用了EIOU損失函數(shù)來(lái)替換YOLOX所使用的損失函數(shù)。相比于GIOU損失函數(shù),EIoU用分別計(jì)算寬高的差異值取代了縱橫比,同時(shí)引入Focal Loss解決難易樣本不平衡的問題。EIoU損失函數(shù)將最小外接矩形替換為最小化兩個(gè)框中心點(diǎn)的標(biāo)準(zhǔn)化距離,并分開計(jì)算目標(biāo)框的長(zhǎng)和寬。EIoU損失函數(shù)可用式(6)表示:

      (6)

      其中:b和bgt分別為預(yù)測(cè)框和真實(shí)框的中心點(diǎn),ρ為兩個(gè)中心點(diǎn)的歐氏距離,d為預(yù)測(cè)框和真實(shí)框最小外接矩形的對(duì)角線距離,ω、ωgt、h、hgt分別為預(yù)測(cè)框和真實(shí)框的寬度與長(zhǎng)度,cω、ch為覆蓋兩個(gè)框的最小外接矩形的寬度與長(zhǎng)度。EIoU損失函數(shù)考慮了預(yù)測(cè)框和真實(shí)框的重疊部分對(duì)結(jié)果的影響,在計(jì)算IoU時(shí),使用一個(gè)權(quán)重因子來(lái)平衡兩個(gè)框的面積,并將重疊部分的貢獻(xiàn)歸屬到各自的框中。這樣可以更準(zhǔn)確地評(píng)估預(yù)測(cè)框和真實(shí)框的位置關(guān)系,避免了GIoU中出現(xiàn)兩個(gè)框并集等于其中一個(gè)框面積的情況,提升了收斂的速度和回歸精度。

      為了解決GIoU損失函數(shù)在目標(biāo)框水平和垂直方向上誤差較大的問題,并提高收斂速度和回歸精度,本文算法采用EIoU損失函數(shù)替換原來(lái)的損失函數(shù)。EIoU損失函數(shù)將目標(biāo)框的長(zhǎng)度和寬度分開計(jì)算,從而避免了GIoU損失函數(shù)誤差較大的問題,同時(shí)提高了收斂速度和回歸精度,更準(zhǔn)確地確定兩個(gè)框的位置關(guān)系。在模型訓(xùn)練時(shí),能夠帶來(lái)更好的收斂效果,從而提高模型對(duì)于交通標(biāo)志的檢測(cè)精度。

      2.3 數(shù)據(jù)增強(qiáng)改進(jìn)

      在模型的訓(xùn)練過(guò)程中,為了保證訓(xùn)練的樣本充足,需要對(duì)樣本做數(shù)據(jù)增強(qiáng),來(lái)提高樣本的質(zhì)量和數(shù)量,從而提升模型的泛化能力。在很多目標(biāo)檢測(cè)器中,Mosaic+Mixup的混合數(shù)據(jù)增強(qiáng)方式被廣泛應(yīng)用,但是Mosaic+Mixup的數(shù)據(jù)增強(qiáng)方式失真度比較高,持續(xù)使用這種太強(qiáng)的數(shù)據(jù)增強(qiáng)對(duì)模型產(chǎn)生負(fù)面影響。于是YOLOX中采用的是強(qiáng)弱兩階段的數(shù)據(jù)訓(xùn)練方式,但是YOLOX中的訓(xùn)練引入了旋轉(zhuǎn)、切片以及翻轉(zhuǎn),導(dǎo)致box標(biāo)注產(chǎn)生誤差。

      于是對(duì)于此模塊,本文采用多種數(shù)據(jù)增強(qiáng)的方式來(lái)增加模型的性能,主要包括單圖數(shù)據(jù)增強(qiáng)以及混合類數(shù)據(jù)增強(qiáng),其中包括交通標(biāo)志圖像色相調(diào)整、飽和度調(diào)整、明度調(diào)整、平移和 Mosaic以及MixUp。但是其中取消了旋轉(zhuǎn)、切片以及翻轉(zhuǎn)的數(shù)據(jù)增強(qiáng)方式,因?yàn)椴糠纸煌?biāo)志經(jīng)過(guò)旋轉(zhuǎn)及翻轉(zhuǎn)等方式后,將會(huì)導(dǎo)致其含義改變,如圖5所示的部分交通標(biāo)志展示圖,列舉的兩種不同的交通標(biāo)志在旋轉(zhuǎn)或翻轉(zhuǎn)后,將會(huì)導(dǎo)致檢測(cè)的誤差。

      圖5 旋轉(zhuǎn)后會(huì)改變含義的部分交通標(biāo)志圖

      模型的數(shù)據(jù)增強(qiáng)模塊采用強(qiáng)弱兩階段訓(xùn)練,在前280個(gè)epoch中,模型采用了單圖數(shù)據(jù)增強(qiáng)和不帶旋轉(zhuǎn)、翻轉(zhuǎn)及剪切的Mosaic+MixUp混合數(shù)據(jù)增強(qiáng),同時(shí),將每一個(gè)訓(xùn)練樣本中的混合圖像數(shù)量由原有的4加至8,以提升強(qiáng)度以及樣本的數(shù)量。在后20個(gè)epoch中,模型使用了比較小的學(xué)習(xí)率,關(guān)閉了Mosaic+Mixup高強(qiáng)度數(shù)據(jù)增強(qiáng),同時(shí)采用了指數(shù)移動(dòng)平均(EMA),使模型在比較弱的增強(qiáng)下進(jìn)行微調(diào),通過(guò)EMA將參數(shù)緩慢更新至模型。如果關(guān)閉太早則不能發(fā)揮Mosaic等高強(qiáng)度數(shù)據(jù)增強(qiáng)模式的效果,關(guān)閉太晚則由于之前已經(jīng)過(guò)擬合,此時(shí)再關(guān)閉沒有任何增益,選擇在剩余20個(gè)epoch關(guān)閉可以避免持續(xù)使用原有數(shù)據(jù)增強(qiáng)所帶來(lái)的負(fù)面影響,同時(shí)減少誤差,提升準(zhǔn)確率。

      同時(shí)加入cache方案,由于Mosaic&MixUp涉及多張圖片的混合,在每次迭代中需要加載多張圖片來(lái)進(jìn)行訓(xùn)練,會(huì)引入更多的數(shù)據(jù)加載成本并減緩訓(xùn)練的速度。如在YOLOv5中,每次做Mosaic時(shí),4張圖片的信息都需要從硬盤中重新加載。緩存方案則是重新載入當(dāng)前的一張圖片,其余參與混合增強(qiáng)的圖片則從緩存隊(duì)列中獲取,通過(guò)犧牲一定內(nèi)存空間的方式提升效率。整體流程如圖6所示,從圖6中可以看出,cache隊(duì)列中預(yù)先儲(chǔ)存了N張已加載的圖像與標(biāo)簽數(shù)據(jù),每一個(gè)訓(xùn)練步驟只需加載一張新的圖片及其標(biāo)簽數(shù)據(jù)并更新到cache隊(duì)列中,當(dāng)需要進(jìn)行混合數(shù)據(jù)增強(qiáng)時(shí),只需要從cache中隨機(jī)選擇需要的圖像進(jìn)行拼接等處理,通過(guò)利用緩存,可以將訓(xùn)練流水線中混合圖像的時(shí)間成本顯著降低到處理單個(gè)圖像的水平,提升了模型的性能。

      由于在數(shù)據(jù)增強(qiáng)階段中取消了旋轉(zhuǎn)、切片和翻轉(zhuǎn)的數(shù)據(jù)增強(qiáng)方式,模型在檢測(cè)交通標(biāo)志時(shí)避免了box標(biāo)注產(chǎn)生的誤差,并使得部分交通標(biāo)志的檢測(cè)不會(huì)出現(xiàn)錯(cuò)誤,同時(shí)cache方案的引入減少了對(duì)數(shù)據(jù)加載的需求,能夠提升交通標(biāo)志檢測(cè)的速度。

      3 實(shí)驗(yàn)與分析

      3.1 數(shù)據(jù)集選取

      本文的實(shí)驗(yàn)采用了我國(guó)Tsinghua-Tencent100K交通標(biāo)志數(shù)據(jù)集,該數(shù)據(jù)集是騰訊和清華一起合作制作的交通標(biāo)志數(shù)據(jù)集,是目前國(guó)內(nèi)唯一基于真實(shí)場(chǎng)景的公開交通標(biāo)志數(shù)據(jù)集。數(shù)據(jù)集包含10萬(wàn)幅街景圖像,經(jīng)過(guò)計(jì)算,訓(xùn)練數(shù)據(jù)集總共包含16 527個(gè)實(shí)例,測(cè)試數(shù)據(jù)集包含8 190個(gè)實(shí)例。這些圖片包含了各種不同情形下的交通標(biāo)志圖,例如遮擋、能見度低、小目標(biāo)等情形。該數(shù)據(jù)集下的交通標(biāo)志圖所處的環(huán)境復(fù)雜,面臨的挑戰(zhàn)較多,能夠很好地檢驗(yàn)?zāi)P偷男阅埽⒄鎸?shí)地反映現(xiàn)實(shí)中不同情況下的場(chǎng)景。本次實(shí)驗(yàn)對(duì)于訓(xùn)練集、驗(yàn)證集和測(cè)試集按照8∶1∶1的比例來(lái)劃分。

      3.2 實(shí)驗(yàn)平臺(tái)及結(jié)果分析

      實(shí)驗(yàn)使用一張顯存大小為24 GB的NVIDIAGeforce3090顯卡訓(xùn)練和測(cè)試所有模型。使用pytorch1.10.0框架,Cuda版本為11.3,使用python3.8版本語(yǔ)言進(jìn)行編程。訓(xùn)練過(guò)程中對(duì)網(wǎng)絡(luò)設(shè)定的部分超參數(shù)如表1所示。其中,batch為一次訓(xùn)練所抓取的數(shù)據(jù)樣本數(shù)量,它的大小影響訓(xùn)練速度和模型優(yōu)化,設(shè)置得合理可以讓梯度下降的方向更為準(zhǔn)確,這里batch的大小設(shè)置為16;weight_decay為權(quán)重衰退,它主要是為了防止過(guò)擬合,避免梯度爆炸;max_epochs為對(duì)完整數(shù)據(jù)進(jìn)行迭代的次數(shù),一般在200以上網(wǎng)絡(luò)才會(huì)收斂;base_lr為網(wǎng)絡(luò)的基礎(chǔ)學(xué)習(xí)率,學(xué)習(xí)率過(guò)高可能會(huì)導(dǎo)致無(wú)法梯度下降,過(guò)低則可能會(huì)使網(wǎng)絡(luò)收斂速度緩慢;momentum為動(dòng)量,它可以幫助損失函數(shù)在訓(xùn)練的過(guò)程中更好地達(dá)到全局最優(yōu)的狀態(tài)。從表中可以看出,基礎(chǔ)學(xué)習(xí)率為0.001,最大訓(xùn)練代數(shù)固定為300。

      圖7為兩個(gè)算法模型在訓(xùn)練過(guò)程中的損失函數(shù)折線圖,可以看出本模型的損失函數(shù)收斂效果明顯優(yōu)于原算法。模型經(jīng)過(guò)280個(gè)epoch后,進(jìn)入后20個(gè)epoch的弱增強(qiáng)階段,進(jìn)行進(jìn)一步訓(xùn)練,由圖可見由于YOLOX算法采用的數(shù)據(jù)增強(qiáng)方式,導(dǎo)致前280個(gè)epoch和后20個(gè)epoch的訓(xùn)練差距較大,圖中A點(diǎn)為280 epoch點(diǎn),B點(diǎn)為290 epoch點(diǎn),可以看出兩點(diǎn)之間的曲率有一定的差距,說(shuō)明模型的收斂效果較差,驗(yàn)證了本文之前數(shù)據(jù)增強(qiáng)模塊的理論分析內(nèi)容,而本文算法的收斂效果整體平穩(wěn)。訓(xùn)練結(jié)束,最終原YOLOX算法模型總損失在2左右振蕩穩(wěn)定,而本模型最終則穩(wěn)定在0.3左右。

      在模型訓(xùn)練完成后,對(duì)比兩個(gè)模型的mAP值,如圖8為兩個(gè)模型的mAP值隨epoch變化的折線圖,mAP表示所有檢測(cè)類別平均準(zhǔn)確率的均值,可以用公式(7)表示:

      (7)

      圖8 mAP折線圖

      其中:∑AP為各類別的平均準(zhǔn)確率的總和,N為類別個(gè)數(shù)。作為模型訓(xùn)練性能的指標(biāo),mAP值越高,代表模型的性能越好,檢測(cè)精度越高。由圖8中可以看出,YOLOX算法在訓(xùn)練至280 epoch時(shí)其mAP值甚至有下降趨勢(shì),在后20個(gè)epoch的弱數(shù)據(jù)增強(qiáng)的作用下才進(jìn)一步提升,圖中C點(diǎn)為280 epoch點(diǎn),圖中D點(diǎn)為290 epoch點(diǎn),可以看出兩點(diǎn)之間準(zhǔn)確率有一定的差距,驗(yàn)證了本文之前數(shù)據(jù)增強(qiáng)模塊的理論分析內(nèi)容,而本模型在強(qiáng)弱兩階段訓(xùn)練過(guò)程中,mAP值穩(wěn)定提升。最終經(jīng)過(guò)300個(gè)epoch,本文模型訓(xùn)練所得的mAP值達(dá)到了67.2%,而YOLOX算法在同樣的條件下mAP值則為60.8%。相較于原算法,本算法模型的mAP值提升了6.4%,由此可以看出該算法對(duì)于網(wǎng)絡(luò)模型檢測(cè)精度的提升是有效果的。

      為了進(jìn)一步驗(yàn)證改進(jìn)算法的有效性,本文在相同的配置與參數(shù)下對(duì)加入的模塊進(jìn)行了消融實(shí)驗(yàn),消融實(shí)驗(yàn)的結(jié)果對(duì)比如表2所示。從表2中可以看出,加入的3個(gè)模塊相比較于原算法而言,mAP值都有一定程度的提升,其中加入可變形卷積模塊時(shí),提升了2.8個(gè)點(diǎn),這是因?yàn)榧尤氲腄CNConv有著很強(qiáng)的感受野控制能力,加強(qiáng)了模型的特征提取,原有的不規(guī)則交通標(biāo)志例如殘缺交通標(biāo)志等,在DCNConv的作用下能夠更準(zhǔn)確地識(shí)別出來(lái)。另外,在加入cache方案下的數(shù)據(jù)增強(qiáng)模塊時(shí),mAP又提升了3.1個(gè)點(diǎn),主要是cache方案減少了對(duì)數(shù)據(jù)加載的需求,使得模型收斂得更好,訓(xùn)練效率大大提升。同時(shí)改進(jìn)的算法在數(shù)據(jù)增強(qiáng)模塊中取消了裁剪及旋轉(zhuǎn)等增強(qiáng)方式,避免了框注釋和輸入之間的錯(cuò)位,從而避免部分交通標(biāo)志的檢測(cè)出現(xiàn)錯(cuò)誤,提升了檢測(cè)的精度。

      表2 消融實(shí)驗(yàn)結(jié)果對(duì)比

      同時(shí)將本文算法與目前主流的YOLO系列算法進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)對(duì)比結(jié)果如表3所示。由表3可以看出,在相同的配置環(huán)境下,改進(jìn)的算法的mAP值要明顯優(yōu)于其他YOLO系列的算法。與同系列的YOLOv3與YOLOv5相比,mAP_50:95值分別提升了10.9、6.9個(gè)點(diǎn),與原算法相比,改進(jìn)的算法提升了6.4個(gè)點(diǎn)。本文算法的推理速度為33.4,能夠良好地滿足實(shí)際檢測(cè)需求。綜上所述,與其他主流的YOLO算法相比,改進(jìn)的YOLOX算法在能夠滿足良好的實(shí)時(shí)性的同時(shí),有著更高的檢測(cè)精度。

      表3 不同算法實(shí)驗(yàn)結(jié)果對(duì)比

      最后為了直觀地看出所改進(jìn)后模型的網(wǎng)絡(luò)性能,以及在不同情形下的檢測(cè)效果,分別將原模型與改進(jìn)后的模型在4種不同的情形下進(jìn)行檢測(cè),分別是無(wú)遮擋大目標(biāo)、遮擋大目標(biāo)、密集小目標(biāo)以及遮擋小目標(biāo)環(huán)境下進(jìn)行檢測(cè)。檢測(cè)框中的數(shù)字為置信度,即該樣本為正樣本的概率,它與準(zhǔn)確率成正比,置信度越高越好。其環(huán)境中的交通標(biāo)志都是數(shù)據(jù)集中實(shí)際拍攝所得,能夠真實(shí)反映現(xiàn)實(shí)情況。

      圖9為檢測(cè)無(wú)遮擋大目標(biāo)時(shí)的效果圖,由圖可以看出,在檢測(cè)無(wú)遮擋大目標(biāo)交通標(biāo)志pm20時(shí),YOLOX算法和本文算法都實(shí)現(xiàn)了成功檢測(cè),但是YOLOX算法的檢測(cè)置信度為68.9%,而本文算法的檢測(cè)置信度為95.8%,遠(yuǎn)高于原算法。

      圖10為檢測(cè)遮擋大目標(biāo)時(shí)的效果圖,由圖可以看出,在檢測(cè)出現(xiàn)部分遮擋的大目標(biāo)交通標(biāo)志時(shí),YOLOX算法由于其數(shù)據(jù)增強(qiáng)引入了旋轉(zhuǎn)和切片等方式,導(dǎo)致預(yù)測(cè)框出現(xiàn)了重疊、錯(cuò)亂的情況,未能成功標(biāo)注出兩個(gè)交通標(biāo)志,其中交通標(biāo)志w55的置信度為34.9%,pl30的置信度為42.4%。而在本文算法模型中,預(yù)測(cè)框與圖像中交通標(biāo)志的重合度較高,兩個(gè)交通標(biāo)志都被正常地識(shí)別出來(lái),其中,交通標(biāo)志w55的置信度為93%,pl30的置信度為45.9%。從檢測(cè)結(jié)果中可以看出,無(wú)論是檢測(cè)精度還是預(yù)測(cè)框的重合度,本文算法都要優(yōu)于YOLOX算法。

      圖10 檢測(cè)遮擋大目標(biāo)

      圖11為檢測(cè)密集小目標(biāo)的效果圖,由圖可以看出,在檢測(cè)密集的小目標(biāo)時(shí),兩個(gè)算法的置信度基本相同,但是YOLOX算法出現(xiàn)了錯(cuò)檢,將交通標(biāo)志p12錯(cuò)檢成了p26,其置信度為32.8%。而本文算法則成功地檢測(cè)出了交通標(biāo)志p12,其置信度為33.6%??梢钥闯霰疚乃惴ㄔ跈z測(cè)密集的小目標(biāo)時(shí),也有較好的效果。

      圖11 檢測(cè)密集小目標(biāo)

      圖12為檢測(cè)遮擋小目標(biāo)的效果圖,由圖可以看出,YOLOX算法在檢測(cè)遮擋的小目標(biāo)時(shí),出現(xiàn)了漏檢的情況,未能檢測(cè)出交通標(biāo)志p23,本文算法則是成功檢測(cè)出了遮擋的小目標(biāo)交通標(biāo)志p23,其置信度為21.1%。從檢測(cè)對(duì)比圖中可以看出,本文的算法模型相對(duì)于YOLOX算法而言,具有更好的環(huán)境適配性,能夠較好地應(yīng)對(duì)不同的環(huán)境。

      圖12 檢測(cè)遮擋小目標(biāo)

      4 結(jié)束語(yǔ)

      為了提高模型對(duì)交通標(biāo)志的檢測(cè)精度,本文提出了一種基于Cache方案和DCN可變形卷積的YOLOX優(yōu)化算法。在YOLOX算法的基礎(chǔ)上,進(jìn)行了三點(diǎn)改進(jìn):首先將backbone的基本框架中的普通卷積替換成3×3普通卷積+3×3DCN可變形卷積,提高感受野,增強(qiáng)模型的特征提取能力;然后將原有的GIOU損失函數(shù)替換成EIOU損失函數(shù),解決了GIOU損失函數(shù)誤差較大的問題,并且提高了收斂的速度和回歸的精度。最后采用多種數(shù)據(jù)增強(qiáng)的方式來(lái)增加模型的性能,且加入Cache方案,通過(guò)緩存隊(duì)列提升檢測(cè)效率,并進(jìn)一步提升其檢測(cè)精度。實(shí)驗(yàn)證明本文算法能夠在多種應(yīng)用場(chǎng)景下更好地檢測(cè)識(shí)別交通標(biāo)志。

      猜你喜歡
      交通標(biāo)志卷積精度
      交通標(biāo)志認(rèn)得清
      基于雙向特征融合的交通標(biāo)志識(shí)別
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于DSPIC33F微處理器的采集精度的提高
      電子制作(2018年11期)2018-08-04 03:25:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      交通標(biāo)志小課堂
      GPS/GLONASS/BDS組合PPP精度分析
      改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
      我們歡迎你!
      申扎县| 光山县| 克东县| 噶尔县| 绵阳市| 富顺县| 池州市| 廊坊市| 武冈市| 北票市| 神农架林区| 抚宁县| 柳江县| 乐至县| 醴陵市| 弥渡县| 栾川县| 大渡口区| 贡嘎县| 崇礼县| 保山市| 长乐市| 宾川县| 金溪县| 靖宇县| 崇信县| 文水县| 上饶县| 龙里县| 北碚区| 册亨县| 桂平市| 皮山县| 定结县| 渑池县| 永宁县| 万源市| 繁峙县| 渭源县| 义乌市| 兴和县|