程 騰,孫 磊,侯登超,石 琴,張峻寧,陳 炯,黃 鶴
(1.合肥工業(yè)大學汽車與交通工程學院,合肥230041;2.國防科技大學電子對抗學院,合肥230037;3.蔚來汽車科技(安徽)有限公司,合肥230071)
隨著交通環(huán)境日益復雜,在高級駕駛員輔助系統(tǒng)和自動駕駛中,由于單一傳感器對目標車輛識別準確率低,不能滿足交通安全要求[1]。所以大多數(shù)自動駕駛汽車都安裝了多種傳感器,它們可以提供車輛自身和周邊環(huán)境的多模態(tài)信息。這些信息通常具有一定的互補性和一致性,可以彌補彼此間的缺陷和不足,如RGB相機可以提取稠密的特征信息,但是在光照過暗、過度曝光等情況下效果較差,并且由于相機獲取的是二維信息,因此很難捕捉到可靠的距離信息;而雷達可以有效獲取到距離信息,且不易受到外部動態(tài)環(huán)境的影響,但雷達捕捉到的環(huán)境信息過于稀疏,難以將點云數(shù)據(jù)用于高精度的感知任務[2]。因此,多模態(tài)數(shù)據(jù)融合逐漸成為人們不斷提升環(huán)境感知能力的重要方法。近年來,各國學者通過RGB相機、激光雷達、毫米波雷達、深度相機、高精度地圖、道路先驗知識等多種模態(tài)數(shù)據(jù),在數(shù)據(jù)融合、特征融合、結果融合以及輔助估計方面[3]開展了相應的融合方法研究。
數(shù)據(jù)融合,指輸出數(shù)據(jù)作為后續(xù)模型輸入的融合操作。文獻[4]中提出一種基于特征的車輛檢測方法,在算法中融合了雷達的探測數(shù)據(jù)。文獻[5]中提出了一種激光雷達與相機融合的目標檢測及跟蹤算法,相對單一傳感器檢測算法提高了魯棒性。首先從激光雷達點云數(shù)據(jù)提取出目標物的位置和大小信息,然后將目標物投影到圖像中,確定目標物在圖像中的位置,用于下一步的目標跟蹤算法。文獻[6]中則提出由攝像頭與雷達各自完成目標的檢測,然后進行數(shù)據(jù)融合,實現(xiàn)準確的目標識別。
特征融合,指對不同模態(tài)數(shù)據(jù)提取的特征進行融合,并且將輸出數(shù)據(jù)作為模型的特征向量或特征圖。文獻[7]中提出了一種基于特征融合的RGB圖像與紅外圖像融合的方法,作者基于YOLO V3模型,分別提取了2種模態(tài)特征,并設計了4種融合方案,最后實驗結果表明在網(wǎng)絡中間層進行特征融合效果最好。
結果融合,指對輸出數(shù)據(jù)作為模型的最終目標輸出,或輸入數(shù)據(jù)本身是目標輸出且融合的結果用于結果修正的融合操作。文獻[8]中分別從點云模態(tài)和圖像模態(tài)中得到兩個區(qū)域建議,并將兩個區(qū)域建議進行融合,從而得到候選包圍盒。
然而,上述的方法都是在某一特定的層融合特征或檢測結果,難以考慮多模態(tài)數(shù)據(jù)的所有特征信息?;谏鲜鰡栴},金彥亮等[9]借鑒FPN[10]的思想,提出融合多模態(tài)數(shù)據(jù)不同尺度、不同感受野的多層次特征,用以提取對感知任務更為魯棒、更為精確的特征信息。但是研究者僅根據(jù)單一感知任務直接將不同層次的特征進行了融合,沒有考慮不同的感知任務對各個層次特征是否存在不同的依賴關系。
同時,當前目標檢測仍存在如小目標檢測等難以解決的問題,根據(jù)國際組織SPIE的定義,小目標為在像素為256×256的圖像中目標面積小于80個像素,即小于原圖尺寸的0.12%可稱為小目標[11]。在神經(jīng)網(wǎng)絡的訓練過程中,不可避免地會遇到如采樣、卷積等操作,使得圖片分辨率一再降低,而小目標再送入檢測層時可能已經(jīng)只剩下幾個像素,使得圖像結構特征丟失。
基于上述問題,本文中提出一種多層次多模態(tài)融合策略,分別提取多模態(tài)的不同特征,充分利用模態(tài)數(shù)據(jù)的特征信息,并在YOLO V3基礎上擴大特征層的尺度,改進特征表示和對小目標的檢測效果,然后將不同模態(tài)的多層次特征再進行融合,得到魯棒的多層次多模態(tài)特征信息。
多層次多模態(tài)融合的網(wǎng)絡結構如圖1所示。針對二維RGB圖像與三維點云模態(tài)數(shù)據(jù),本文中通過將點云投影到圖像像素的方式[12],得到統(tǒng)一的輸入表示,并對訓練樣本進行了數(shù)據(jù)增強。在YOLO V3的基礎上,先通過ResNet特征提取網(wǎng)絡提取出兩個模態(tài)的對應特征,并引入一個新的特征層以體現(xiàn)模型在小目標物體層次的關注,最后借鑒FPN思想,將多模態(tài)的多層次特征分別進行融合,得到更為充分細致的特征表示。
作為目標檢測的經(jīng)典One-stage框架,YOLO V3在兼顧高檢測速度的同時也具有較好的檢測準確率[13],在輸入圖像分辨率為N×N大小時,經(jīng)過基于ResNet的DrakNet53特征提取網(wǎng)絡,可以得到3個大小分別為的特征圖,分別對應著圖片從低級到高級的不同層次特征信息。在檢測層則利用了FPN的思想,充分融合3種層次的信息,具體網(wǎng)絡如圖1中黑色虛線框所示。
圖1 多層次多模態(tài)融合網(wǎng)絡
ResNet網(wǎng)絡[14]采用了一種通用化的方法,針對神經(jīng)網(wǎng)絡在訓練過程中會不斷丟失信息的現(xiàn)象進行了改進。具體來說就是對每一層神經(jīng)網(wǎng)絡增加了一個輸入,這種輸入包含了來自上一次Relu(激活)之前的信息,使得網(wǎng)絡層數(shù)可以進一步加深,獲得更高級別的特征表示。
殘差單元可以表示為圖2的形式。
圖2 殘差單元
具體表達式如下:
式中:xl為第l個殘差單元的輸入;xl+1為第l個殘差單元的輸出;F為殘差函數(shù),表示學習到的殘差;h(xl)=xl為恒等映射;f為Relu激活函數(shù)。
在One-stage的目標檢測中,針對不同特征層預設的先驗框起到了重要的作用,以特征層為例,通過檢測層可以得到張量:
式中:pre_result為一個[5+class_num]的張量,class_num為要分類的類別數(shù),5代表的是[x,y,w,h,conf]5個維度的參數(shù),x、y為預測目標的中心點,w、h為預測目標的寬高偏移量,conf為預測目標存在物體的概率。
先驗框預設的準確程度關系到預測后目標框與實物的匹配程度,會影響最終目標檢測效果的評判。
圖1 中綠色框代表采用K均值法方式對訓練樣本的數(shù)據(jù)進行聚類分析調(diào)整的先驗框。該算法具體流程如圖3所示。
圖3 K均值聚類算法框圖
各個目標框長寬比到達聚類中心的距離計算公式為
IOU為兩個目標框交集與并集的面積比,如圖4所示。
圖4 IOU的定義
為了評價訓練先驗框的符合程度,可通過計算平均IOU得到準確率。平均IOU的定義為:針對每個實際目標框,先求與多個先驗框中IOU的最大值以判定貼合程度,最后求實際目標的最貼合IOU的均值。
為了節(jié)省顯存和除去圖片背景信息的干擾,原圖在送入到目標檢測網(wǎng)絡時往往需要重新定義尺寸,縮放成比較合適的大小。但在一些數(shù)據(jù)集中,有著原圖尺寸較大、諸多小目標共存等問題。針對這些目標,在經(jīng)過縮放處理,提取特征后,往往在最大的特征圖上都產(chǎn)生缺失,導致漏檢率居高不下。
為此,在YOLO V3的基礎上,本文中新增了一種利用ResNet得到的的特征層,用于實現(xiàn)對一張圖片中小目標的檢測,提取小目標物體層次的特征。并在檢測層利用FPN思想與之前的3個特征層進行融合,得到檢測范圍更廣、更細致的檢測結果。其主要架構如圖1中紅色虛線框所示。
同時,在訓練過程中仍需考慮訓練樣本中不同層次的目標的比重,在聚類得到不同層次的特征層先驗框后,單純地認為訓練和測試數(shù)據(jù)中目標分布是均勻的結論是不現(xiàn)實的,擴大層次的等級,往往能使得分布更貼近于實際。
如圖1中紫色框所示,訓練圖像在送入網(wǎng)絡之前往往需要采取適當?shù)臄?shù)據(jù)增強措施。在單圖多目標訓練過程中,經(jīng)常會存在某些類別的樣本數(shù)據(jù)過少的現(xiàn)象,導致模型學習內(nèi)容不夠充分而引發(fā)錯檢漏檢。為了解決該問題,采用數(shù)據(jù)增強方法。在傳統(tǒng)的目標檢測中,為了提高模型的魯棒性,往往采用不同程度的扭曲、裁剪和色域變換。
對于數(shù)據(jù)量少的樣本,這些增強方法并不能得到很好的效果。所以本文中采用了復制粘貼的手段來人為增加樣本的數(shù)量,在保證不對正常目標造成較大遮擋的前提下,對過少的樣本進行了復制多份的操作,具體效果如圖5所示。
圖5 復制粘貼特定樣本
在神經(jīng)網(wǎng)絡中,類似人眼的視覺系統(tǒng),網(wǎng)絡的感受野也至關重要。將圖片的輸入放大乃至原圖理論上能夠使網(wǎng)絡盡可能學習到完整的信息,但另一方面這樣會引入對背景噪聲的學習,從而降低模型的泛化程度,同時也會加大網(wǎng)絡的負擔,提高訓練難度與時長。因此合理的選取歸一化尺寸可以得到更好的檢測效果。
針對不同模態(tài)信息所具有的不同特點,可采用將三維信息轉化為二維表示的方法,主要包括:點云鳥瞰圖、點云前視圖等投影視圖,使三維數(shù)據(jù)信息也可以使用二維網(wǎng)絡處理方法,在特征提取網(wǎng)絡層面得到相同的輸入。
本文中將三維點云圖投影至前視二維RGB圖上,使其獲得獨有的深度信息,作為網(wǎng)絡輸入前的數(shù)據(jù)預處理。根據(jù)激光雷達所提供的垂直視野、水平視野、旋轉速率及分辨率等信息,利用式(6),將3D空間中的點投影展開為圓柱形表面上,以形成平面。其中:x、y、z分別表示三維點云的空間坐標;r、c表示點云投影到前視圖的位置;θ和φ分別表示觀察點的方位角和仰角;Δθ和Δφ分別為激光雷達連續(xù)射束發(fā)射器之間的平均水平和垂直角度分辨率。
隨后將三維點云中每個點蘊含的深度的信息映射到RGB空間,具體效果如圖6所示。
圖6 點云投影至前視圖
不同模態(tài)的數(shù)據(jù)側重點往往不同,在本文中,RGB圖像數(shù)據(jù)獲取的是二維信息,而處理后的投影點云數(shù)據(jù)更側重于距離以及類似語義的目標信息,在單個目標上的反應為同一深度,即同一色塊。
在多模態(tài)特征融合模塊中,本文中針對蘊含著兩種模態(tài)信息的圖片,采用了基于特征層的融合網(wǎng)絡,兩種模態(tài)的圖片經(jīng)過特征提取網(wǎng)絡分別得到相應的特征層,沿通道進行拼接,再利用1×1卷積層調(diào)整通道數(shù),得到融合后的新特征層,以特征層為例,具體融合操作如圖7所示。
圖7 多模態(tài)特征融合模塊
本文采用了Waymo數(shù)據(jù)集和蔚來汽車提供的實車數(shù)據(jù)集進行訓練和測試。具體實驗設備為RTX3090+i9-10900K,模型搭建框架采用了主流的Pytorch1.8.1+Cuda11.1,BatchSize設置為4,初始學習率為0.000 1,優(yōu)化器采用動量Adam算法,學習率衰減策略為每輪將為上一輪的0.92,每輪實驗訓練30輪。
WOD(waymo open dataset)是最近公開的自動駕駛研究的大規(guī)模數(shù)據(jù)集。數(shù)據(jù)集共提供1 000個場景用于培訓和驗證,還有150個測試場景。每個場景包含關于每臺相機200幀,有3個分辨率為1280×1920的前部相機和2個分辨率為1040×1920的側面相機。該數(shù)據(jù)集包含約115萬張圖像和99萬個車輛、行人和自行車手的2D目標框。蔚來汽車提供的實車數(shù)據(jù)集共包括2 000張圖片和約4萬個目標框。本文采用19 300張前視攝像機圖像和點云數(shù)據(jù)作為訓練和驗證數(shù)據(jù),其中訓練集17 300張圖片,測試集2 000張圖片。
本文中采用的數(shù)據(jù)集以Waymo數(shù)據(jù)集為主,與常規(guī)的目標檢測數(shù)據(jù)集VOC(visual object classes)相比,Waymo具有小目標所占比重較大的特點,如圖8所示,圖中橫坐標反映了目標相對于原圖的大小,縱坐標體現(xiàn)了比例小于規(guī)定值的目標占總目標的比重。占據(jù)Waymo數(shù)據(jù)集80%以上的都是占原圖尺寸10%以下的小目標,而VOC數(shù)據(jù)集則分布比較均勻。
圖8 WOD與VOC數(shù)據(jù)集對比
同時,若采用經(jīng)典的預設先驗框,會出現(xiàn)大中小目標在不同的尺度中分配不均勻的現(xiàn)象,如圖9所示,只有3個特征層時,第1、第2層代表的小、中目標占據(jù)了目標總數(shù)的約35%和39%。這會導致常規(guī)的大中小先驗框分布和高寬比不能很好地適應實際數(shù)據(jù)集,出現(xiàn)目標框契合度不高的情況,直接影響后期計算IOU評判模型的準確度。
圖9 先驗框分布情況
在對數(shù)據(jù)集的各類目標數(shù)量進行進一步分析后,結果如圖10所示,樣本數(shù)量為汽車遠大于行人,行人遠大于自行車手。自行車手僅僅只有2319個目標,導致自行車手的特征在模型訓練過程得不到充分學習。在深度學習目標檢測領域,根據(jù)冪次定律,模型的性能會隨著訓練樣本數(shù)量的增加而增加。在文獻[15]中,作者使用深度學習技術對3億幅圖像進行分類,發(fā)現(xiàn)隨著訓練數(shù)據(jù)的增加模型性能呈對數(shù)增長。
圖10 樣本分類情況
采用經(jīng)典的YOLO V3目標檢測框架作為實驗的基礎,考慮到原圖尺寸較大,在文獻[16]中對于2K圖片輸入時歸一化為640×640大小,圖片放大1~2倍。按照1.1~1.5節(jié)敘述的順序,設計安排了如下實驗。
實驗1:采用經(jīng)典YOLO V3網(wǎng)絡進行檢測
實驗2:在實驗1的基礎上針對數(shù)據(jù)集進行調(diào)整先驗框
實驗3:在實驗2的基礎上增加特征層尺度
實驗4:在實驗3的基礎上進行特定樣本的復制粘貼
實驗5:在實驗4的基礎上擴大輸入分辨率
實驗6:在實驗5的基礎上進行多模態(tài)融合
2.4.1 調(diào)整先驗框
如圖11左側所示,在采用經(jīng)典的預設先驗框時,檢測出的3輛汽車的目標框尺寸均較大,最近的黑色汽車的車輪甚至沒有很好地納入識別范圍。采用1.2節(jié)中論述的K均值法重新聚類,得到了更為準確的先驗框,之后訓練的模型檢測效果如圖11右側所示,匹配效果更好。聚類前后先驗框與訓練集目標的匹配程度的計算結果,預設先驗框的準確率為45.49%,而新的先驗框準確率為65.62%。
圖11 調(diào)整先驗框前后對比
2.4.2 增大尺度
由于本文采用的數(shù)據(jù)集中的小目標同時具有數(shù)量多、面積小的特點,有些場景中的目標人眼不能達到很好的識別效果。傳統(tǒng)的YOLO V3特征提取網(wǎng)絡的3個特征層已不能滿足檢測要求。在引入1.3節(jié)新增的針對小目標層次的特征層后,在640×640的輸入下,新的多層次模型分別提取出了160×160、80×80、40×40和20×20的特征層,并利用上文提及的K均值法重新得到4個特征層的12個先驗框,在進行聚類的同時統(tǒng)計了歸屬到一個特征層中目標框的數(shù)量信息,并與之前3個特征層時進行對比。
如圖12所示,更改為4個特征層后,前3個特征層分別占目標總數(shù)的約26%、28%和20%,訓練樣本的分布更為合理。檢測效果在圖13中得到了驗證,新增特征層后識別出了更多的遠處車輛。
圖12 增大尺度后先驗框分布情況
圖13 增大尺度前后對比
2.4.3 數(shù)據(jù)增強
由于自行車手的訓練樣本數(shù)量過少,導致模型的學習能力不佳。針對該問題,本文首先嘗試對行人和自行車手都進行數(shù)據(jù)增強,發(fā)現(xiàn)如果對行人也做復制粘貼操作,會使得模型對行人特征學習能力增強,而在面對自行車手時會只識別騎自行車的人,忽略自行車部分。于是選擇只對自行車手數(shù)據(jù)增強,對比結果如圖14所示,有效地識別出了自行車手。之后在實驗基礎上進行了擴大感受野、增大分辨率的操作,對比結果如圖15所示,對剛露出的小部分車頭做出了有效識別。
圖14 數(shù)據(jù)增強前后對比
圖15 增大分辨率前后對比
2.4.4 多模態(tài)融合
在融合投影點云數(shù)據(jù)時,需要保證網(wǎng)絡輸入和隨機增強的一致性。在上述實驗的基礎上,融合多模態(tài)多層次的信息后,模型的魯棒性進一步得到了提升。如圖16所示,在黑夜環(huán)境下視覺相機的功能會被削弱,但激光雷達輻射范圍內(nèi)的車輛仍被精準檢出;如圖17所示,當自行車手處于陰影中時,激光雷達可以將其與身邊車輛有效地區(qū)分開;如圖18和圖19所示,在面臨人群遮擋情況時,視覺相機可能會把多個行人歸屬為同一目標,而綜合了多模態(tài)信息后,模型的分辨能力得到了提高。
圖16 融合多模態(tài)前后的夜間表現(xiàn)
圖17 融合多模態(tài)前后的小目標表現(xiàn)
圖18 融合多模態(tài)前后的目標重疊表現(xiàn)1
圖19 融合多模態(tài)前后的目標重疊表現(xiàn)2
本文中設計方案的一系列實驗結果如表1所示,隨著網(wǎng)絡的逐步改進,其檢測效果也在逐漸增長,進而驗證了調(diào)整先驗框、增大尺度、數(shù)據(jù)增強、擴大分辯率、多模態(tài)融合等操作的有效性。
表1 實驗結果
針對不同的目標類型,樣本數(shù)量較多的值從57.93%上升至67.32%,即便是樣本數(shù)量稀少的自行車手AP值也從25.11%上升至34.29%。由此可見,對檢測效果提升較大的操作是增大尺度和多模態(tài)融合。
為了提高自動駕駛在復雜環(huán)境下的感知能力,實現(xiàn)精準、高效、可靠的目標檢測,本文中提出一種多層次多模態(tài)特征融合策略,充分挖掘了對于目標檢測任務可能需要的不同模態(tài)、不同層次的特征,并將其融合,得到多模態(tài)多層次特征。從實驗結果來看,根據(jù)提出的改進策略所提取出的特征能夠更加精確詳細地描述環(huán)境信息,最終的模型在測試中得到了51.79%的MAP值,相較于直接使用傳統(tǒng)YOLO V3提升了23.1%。