車普民
(垣曲縣測繪地理信息中心,山西垣曲 043700)
車道級高精度地圖是支撐智慧交通與無人駕駛技術(shù)實現(xiàn)的核心技術(shù)之一,交通標(biāo)志作為道路的核心元素,準(zhǔn)確獲取交通標(biāo)志是自動駕駛行為判斷過程中的必要步驟。但受限于道路環(huán)境復(fù)雜、拍攝距離等原因,道路交通標(biāo)志影像在采集中多數(shù)以小尺寸目標(biāo)為主,且正樣本個數(shù)較少。因此,如何利用海量道路采集影像來實現(xiàn)對交通標(biāo)志高精度的定位和分類,是當(dāng)前的一項研究熱點。隨著近年來深度學(xué)習(xí)技術(shù)的不斷進(jìn)步,由卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建的目標(biāo)檢測模型已經(jīng)在各種物體檢測領(lǐng)域取得很好的成果。其中,吳軍等針對輸電線路巡檢問題,提出一種以ResNet101 網(wǎng)絡(luò)和多層級聯(lián)分類器對Cascade R-CNN 改進(jìn)的輸電線路小目標(biāo)缺陷檢測方法[1],并在無人機(jī)航拍數(shù)據(jù)集上與YOLOV3 算法對比,驗證了所提出算法的有效性和優(yōu)越性;何穎等基于加權(quán)雙向特征融合技術(shù)對YOLOV5 算法進(jìn)行修改,提出一種經(jīng)濟(jì)林木蟲害目標(biāo)檢測算法[2],該算法在測試集上的平均精度達(dá)到了0.923,且推斷速度為64.9m·s-1;林思玉等通過在聚焦層網(wǎng)絡(luò)引入多尺度檢測和可變形卷積方式,實現(xiàn)了一種小建筑物目標(biāo)檢測方法[3],該方法在測試環(huán)境下與原始方法相比,對小建筑物目標(biāo)提升了3.6%,減少了小建筑物目標(biāo)漏檢、誤檢的問題。
受拍攝距離以及道路交通標(biāo)志的實際大小限制,影像中的交通標(biāo)志大多為個數(shù)較少且較為分散的小目標(biāo);此外,自動駕駛等任務(wù)在要求高精度檢測的同時對于檢測的實時性也有著較為嚴(yán)格的要求。針對以上問題,研究了一種交通標(biāo)志檢測模型,模型包括骨干網(wǎng)絡(luò)、特征金字塔、檢測輸出端3部分,骨干網(wǎng)絡(luò)首先通過特征聚焦層對輸入影像進(jìn)行無損下采樣,然后通過瓶頸結(jié)構(gòu)并聯(lián)卷積核組實現(xiàn)特征提取,特征金字塔通過多尺度特征圖拼接輸出3 個尺寸的特征圖,最終在檢測端使用自適應(yīng)錨點框機(jī)制來實現(xiàn)目標(biāo)框的檢出。
骨干網(wǎng)絡(luò)通過多層次堆疊的特征提取層和下采樣層對輸入的圖像進(jìn)行多次特征提取與下采樣,通過多張由不同大小的特征圖實現(xiàn)多尺度目標(biāo)檢測。然而網(wǎng)絡(luò)層數(shù)的不斷加深會導(dǎo)致模型計算量大幅上漲,進(jìn)而使得模型難以得到充分訓(xùn)練。為了在降低骨干網(wǎng)絡(luò)計算量的同時不對后續(xù)特征增強(qiáng)與提取造成影響,在骨干網(wǎng)格的首層使用了特征聚焦層(Focus)對圖像進(jìn)行一次無損尺寸降采樣。Focus 層通過一個2 × 2 大小的卷積核對輸入尺寸為640 × 640 × 3 的特征圖進(jìn)行橫向與縱向采樣間隔均為1 的提取切片,提取后的特征圖尺寸變?yōu)?20 × 320 × 12,聚焦層的具體結(jié)構(gòu)如圖1(a)所示。經(jīng)過提取后的特征圖被尺寸壓縮并延展到了12 個圖像通道上,由此實現(xiàn)了無損下采樣。一張影像經(jīng)過多層次的特征提取會丟失很多的目標(biāo)特征細(xì)節(jié),而檢測對象是以小尺寸目標(biāo)為主的交通標(biāo)志,這種特征細(xì)節(jié)的丟失對于小尺寸目標(biāo)來說是災(zāi)難性的,會直接導(dǎo)致模型無法獲取到足夠的目標(biāo)特征進(jìn)行學(xué)習(xí)。因此,為了特征提取過程中盡可能地保留更多原始的小尺寸目標(biāo)特征信息,通過瓶頸結(jié)構(gòu)[4]的卷積核組來構(gòu)建特征提取層,具體結(jié)構(gòu)如圖1(b)所示。瓶頸結(jié)構(gòu)首先以一個1 × 1 大小的卷積核對來自上層的特征圖進(jìn)行通道維度的壓縮,然后,使用尺寸3× 3 的卷積核進(jìn)行特征提取,并通過批量歸一化與激活函數(shù)對提取后的特征進(jìn)行歸一化與非線性化處理,來降低數(shù)據(jù)的偏移[5],最后,再次使用1×1 大小的卷積核將提取后的特征圖恢復(fù)到輸入圖的通道數(shù)。相比使用單獨的3 ×3 卷積核獨自完成特征提取與通道的壓縮,這樣的方式可以節(jié)約很多計算開銷。此外,在常規(guī)提取路徑的基礎(chǔ)上使用了殘差結(jié)構(gòu),提高提取層輸出特征圖信息復(fù)雜度的同時避免梯度消失問題[6]。在非線性激活函數(shù)方面,以參數(shù)化PReLU激活函數(shù)(Parametric Rectified Linear Unit,PReLU)作為特征的非線性激活函數(shù),具體如式(1)所示:
圖1 骨干網(wǎng)絡(luò)結(jié)構(gòu)圖
式中:x為輸入的特征值;a為可學(xué)習(xí)更新的參數(shù)。
為了保留更多的特征信息,以3×3 的卷積核作為下采樣層,通過2 倍的采樣間隔的方式實現(xiàn)對特征圖尺寸的壓縮。最終,骨干網(wǎng)格輸出5 個不同尺寸的特征圖。
來自骨干網(wǎng)絡(luò)的多尺度特征圖中,小尺寸特征擁有較多較大尺寸目標(biāo)的輪廓信息,大尺寸特征圖擁有更多目標(biāo)細(xì)粒度的紋理特征。而特征金字塔通過多尺度的特征圖跨層融合,將骨干網(wǎng)絡(luò)中不同尺寸的特征圖進(jìn)行融合,來獲取語言特征更為豐富的特征圖進(jìn)行檢測輸出。結(jié)合對小尺寸交通標(biāo)志檢測的任務(wù)特點,構(gòu)建了跨尺度多層融合特征金字塔,具體結(jié)構(gòu)如圖2 所示。
圖2 模型結(jié)構(gòu)圖
從圖2 中可以看出:所構(gòu)建的特征金字塔向檢測端輸出3 張不同尺寸圖像,而每張圖像分別來源于骨干網(wǎng)絡(luò)中的2~4 層,上兩層特征圖的0.5 倍、0.25 倍尺寸下采樣以及底層小尺寸特征圖的2 次尺寸上采樣,然后,通過通道疊加的方式拼接而來。
為了實現(xiàn)對多個尺寸目標(biāo)的檢測,基于回歸的目標(biāo)檢測模型需要使用自適應(yīng)錨點框機(jī)制,通過多個尺寸的錨點框在不同特征圖上來實現(xiàn)對相應(yīng)大小目標(biāo)的回歸檢測。而在訓(xùn)練階段,所使用的初始錨點框與真實目標(biāo)的尺寸分布越接近,模型的訓(xùn)練情況就越好。因此,通過基于K-means++非監(jiān)督聚類的自適應(yīng)錨點框算法來獲取所需要的錨點框。首先,綜合考慮特征金字塔輸出層數(shù)以及檢測計算量的開銷,確定最終所獲得的錨點框為12 個,以K-means++以訓(xùn)練集中的真實目標(biāo)框為數(shù)據(jù)進(jìn)行非監(jiān)督聚類,接著使用遺傳算法對所獲取的最終聚類中心進(jìn)行隨機(jī)變異500 次后作為最終的錨點框,最后將獲取到的12 錨點框按照3 個尺度特征圖的尺寸大小進(jìn)行分配。
由于檢測對象存在較為嚴(yán)重的正負(fù)樣本不平衡現(xiàn)象,故而在訓(xùn)練過程中使用焦點損失函數(shù)對模型進(jìn)行迭代訓(xùn)練,損失函數(shù)具體分為目標(biāo)框定位損失與目標(biāo)分類損失兩部分,具體如式(2)、式(3)所示:
式中:N為正樣本個數(shù);p為預(yù)測框分類正確概率;l?為預(yù)測框與真實框的偏移;c、g分別為目標(biāo)框的類別和正樣本目標(biāo)的位置參數(shù);φ為兩個子函數(shù)的權(quán)重值,實驗取經(jīng)驗參數(shù)設(shè)置為為目標(biāo)框類別概率;γ為超參數(shù);smoothL1如式(4)所示:
道路采集影像中的交通標(biāo)志往往尺寸較小且在單幅影像內(nèi)分布稀疏。為了讓模型充分學(xué)習(xí)目標(biāo)特征的同時,具備較好的泛化能力,首先以采集于不同時間和地點的中國交通標(biāo)志檢測數(shù)據(jù)集(CCTSDB)與清華—騰訊交通標(biāo)志數(shù)據(jù)集(TT100k)作為數(shù)據(jù)源,從中篩選出道路中最常見的4 種標(biāo)志“限速50”“限速60”“限速70”“禁止停車”作為樣本,按照4∶1 的比例劃分為訓(xùn)練集和測試集,然后對訓(xùn)練數(shù)據(jù)集進(jìn)行了樣本多樣性增強(qiáng)。模型需要尺寸統(tǒng)一的訓(xùn)練數(shù)據(jù)才能進(jìn)行訓(xùn)練,故首先通過裁剪的方式將所有訓(xùn)練集中的圖像尺寸轉(zhuǎn)化為608×608,然后隨機(jī)選取部分訓(xùn)練數(shù)據(jù)采取了旋轉(zhuǎn)、扭曲、增加高斯噪聲等方法進(jìn)行增強(qiáng)處理,通過馬賽克增強(qiáng),即通過隨機(jī)選取的方式獲取4 張訓(xùn)練樣本后按照隨機(jī)尺寸變換將4 張影像拼接為1 張尺寸與原圖相同的樣本,通過多張樣本融合的方式來提高單幅影像中正樣本目標(biāo)的數(shù)量,具體結(jié)果如圖3 所示。
圖3 馬賽克增強(qiáng)樣本示意圖
將所有強(qiáng)化后的樣本放入訓(xùn)練集參與訓(xùn)練,按照VOC 格式對所有樣本行標(biāo)注,最終參與訓(xùn)練的“限速50”樣本1287 個(標(biāo)注為Xiansu50),“限速60”樣本1452 個(標(biāo)注為Xiansu60),“限速70”樣本1351 個(標(biāo)注為Xiansu70),“禁止停車”樣本1135個(標(biāo)注為Nostop)。
為了全面客觀地評價模型性能,以單類別精度均值(Average Precision,AP)、平均精度均值(Mean Average Precision,MAP)、每秒檢測幀數(shù)(Frame Pre Second,F(xiàn)PS)3 項指標(biāo)對模型的單類別與全類別檢測精度以及檢測速度進(jìn)行評價,具體計算如式(5)所示:
式中:TP為正確檢出的正樣本;FP為錯誤檢出的負(fù)樣本;FN為未檢出的負(fù)樣本;p為檢測精確度(precision);r為檢測的召回率(recall);n為類別個數(shù),取經(jīng)驗參數(shù)n=3。同時,為了進(jìn)一步體現(xiàn)所提出模型對應(yīng)交通標(biāo)志檢測任務(wù)的優(yōu)越性,使用目前主流的回歸檢測模型YOLOv5、RetinaNet 以及Faster R-CNN 模型進(jìn)行對比測試。
模型的訓(xùn)練和測試工作均在安裝大型顯卡的圖形工作站上完成,其中CPU 型號為Intel-i9-12 900K,GPU 型號為Nvidia RTX 3090,內(nèi)存大小為32 G,硬盤為1 TB SSD,工作站的操作系統(tǒng)為Ubuntu 16.04,機(jī)器學(xué)習(xí)的開發(fā)框架為Tensor Flow 2.5.0。模型在訓(xùn)練過程中采用Adam 優(yōu)化器進(jìn)行參數(shù)優(yōu)化,其中,衰減系數(shù)為0.9,訓(xùn)練的總迭代次數(shù)為300次,每次訓(xùn)練過程中送入模型訓(xùn)練的樣本個數(shù)為12個,訓(xùn)練過程中使用動態(tài)學(xué)習(xí)率來避免局部極小值,初始學(xué)習(xí)率為0.000 1,每訓(xùn)練100 次縮小0.1倍,在訓(xùn)練過程中模型的損失變換情況如圖4 所示。
圖4 模型訓(xùn)練損失
由圖4 可以看出:在訓(xùn)練過程中,訓(xùn)練損失值經(jīng)過初期的小幅震蕩后始終保持收斂下降,最終穩(wěn)定在0.06 左右,說明在設(shè)定的參數(shù)環(huán)境下模型實現(xiàn)了較好的訓(xùn)練收斂。
使用訓(xùn)練數(shù)據(jù)集所提出模型與對比模型進(jìn)行測試,并通過選定的指標(biāo)對所有模型進(jìn)行評價。所提出模型以及參考模型對于4 個類別目標(biāo)的實際檢測效果如表1 所示。
表1 檢測指標(biāo)評價
由表1 可知:所提出交通標(biāo)志檢測模型對于4個類別的目標(biāo)均能夠?qū)崿F(xiàn)較為精準(zhǔn)的檢測,對于禁止停車類別的檢測精度達(dá)到最高水平,而在其余類別的檢測精度中表現(xiàn)相當(dāng),由此可以說明所構(gòu)建的訓(xùn)練數(shù)據(jù)集中樣本分布合理,模型對幾個類別的目標(biāo)特征都進(jìn)行了充分學(xué)習(xí)。所構(gòu)建模型對全部類別目標(biāo)的平均精度均值達(dá)到0.93 MAP,相比其余3種參考模型分別提高了9.46%、25% 以及10.78%,在輸入影像尺寸一致的情況下,所構(gòu)建模型在測試數(shù)據(jù)集上精度表現(xiàn)最佳,可以充分說明所提出結(jié)構(gòu)在檢測精度方面的優(yōu)越性。在檢測速度方面,對于全部測試數(shù)據(jù)集中的樣本,所提出模型能夠達(dá)到29 m·s-1的檢測水平,在檢測速度方面明顯優(yōu)于基于候選區(qū)域的Faster R-CNN 模型以及經(jīng)典的RetinaNet,但低于YOLOv5,而從模型的結(jié)構(gòu)中可以看出:特征金字塔結(jié)構(gòu)通過多層特征圖進(jìn)行跨尺度融合,同時使用了12 個錨點框來進(jìn)行多尺度檢測,這就使得模型在追求檢測精度的同時不可避免地犧牲了檢測速度,而相比之下YOLOv5 僅使用9 組錨點框進(jìn)行檢測,其檢測速度更快但是在精度方面略低。
所提出模型檢測結(jié)果如圖5 所示??梢钥闯觯核岢瞿P蛯τ诓煌婀?、遠(yuǎn)距離、多類別樣本密集等多種復(fù)雜的情況均能夠?qū)崿F(xiàn)較好地檢出,不僅體現(xiàn)了模型在性能方面的優(yōu)越性,也說明了所使用的訓(xùn)練集能夠?qū)δP瓦M(jìn)行充分訓(xùn)練。
圖5 檢測結(jié)果圖
針對道路環(huán)境下交通標(biāo)志快速精準(zhǔn)檢測問題,提出一種基于回歸的深度學(xué)習(xí)檢測模型,并以道路交通影像數(shù)據(jù)集CCTSDB 與TT100K 為基礎(chǔ),利用多種圖像變換算法與馬賽克拼接構(gòu)建了樣本類型更豐富、正樣本數(shù)量更多的訓(xùn)練數(shù)據(jù)集來進(jìn)一步充分訓(xùn)練模型。為全面評價模型性能,使用單類別精度均值、平均精度均值、每秒檢測幀數(shù)等幾項指標(biāo)對所提出模型與3 組對照模型進(jìn)行綜合評價。根據(jù)實際檢測結(jié)果和統(tǒng)計評價結(jié)果,得出以下結(jié)論:在檢測精度方面,模型單類別精度最高可達(dá)到0.91,并且所有類別檢測精度相當(dāng),4 種類別目標(biāo)的綜合檢測為0.93 MAP,相比3 組對比模型分別高了9.46%、25% 以及10.78%,說明所提出的檢測模型具有較高的檢測精度;在檢測速度方面,所提出模型采用3 個檢測尺度的特征金字塔,通過12 個錨點框來完成多尺度、多類別的目標(biāo)檢測,在一定程度上增加了模型的運算量,因此造成檢測速度略低于YOLOv5 模型,但是仍可達(dá)到29 m·s-1的檢測速度,具備實時檢測的性能水準(zhǔn)。
根據(jù)以上結(jié)論可以總結(jié)出:所提出的檢測模型能夠?qū)Φ缆酚跋穹秶亩喑叨取⒉煌嵌鹊慕煌?biāo)志目標(biāo)實施精準(zhǔn)快速地檢測,能夠在高精度地圖的快速采集繪制、無人駕駛決策等領(lǐng)域發(fā)揮重要作用。在未來的研究中,將對模型結(jié)構(gòu)不斷改進(jìn),同時采用更多的策略優(yōu)化訓(xùn)練數(shù)據(jù)集。