學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

OlliHuang發表於2018-07-04

在輔助駕駛和自動駕駛等應用中,全面詳細的道路場景鳥瞰圖能幫助系統做出更合理的判斷。為此,義大利摩德納·雷焦·艾米利亞大學的研究者提出了一種使用深度網路實現從正面檢視到鳥瞰圖對映的方法,並且還為測試該架構構建了一個合成資料集。機器之心技術分析師對該論文進行了解讀。

論文地址:https://arxiv.org/pdf/1706.08442.pdf
專案地址:http://imagelab.ing.unimore.it/scene-awareness

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

1.引言

瞭解道路場景對自動駕駛而言至關重要,並且也是高階駕駛輔助系統(ADAS)的一個重要元件。很多 ADAS 都已經整合了基於視覺的演算法。這方面有三大主要正規化:中介感知方法(mediated perception approaches,基於對車輛周圍環境的理解)、行為反射方法(behavior reflex methods,駕駛動作直接由感測輸入控制)、直接感知技術(direct perception techniques,根據輸入影像生成對映等各種形式的駕駛情形的歸納總結,比如道路的鳥瞰圖)。

這篇論文的靈感來自用於 ADAS 的直接感知技術,並且提出了一種可將正面檢視(即來自儀表盤攝像頭視角)的車輛檢測對映在道路場景的鳥瞰圖上的深度學習架構,同時還能保留運動車輛的尺寸和方向資訊,如圖 1 所示。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景圖 1:該任務的簡單概述。正面檢視的車輛檢測(左圖)被對映成鳥瞰圖(右圖),同時保留位置和尺寸資訊。

2. 資料集

因為獲取既包含正面檢視又包含道路場景鳥瞰圖的真實世界資料集很困難,所以該論文的作者們編制了一個有標註的合成資料集:GTAV 資料集。其中包含超過 100 萬對正面檢視-鳥瞰圖,其使用了 Script Hook V Library(http://www.dev-c.com/gtav/scripthookv/),這個庫允許人們訪問視訊遊戲《俠盜獵車手5》(GTAV,https://github.com/ai-tor/DeepGTAV)的函式。道路情形的正面檢視和鳥瞰圖是以一種交替式的方式獲取的,即在每個遊戲時間步驟,讓遊戲相機視角在正面檢視和鳥瞰圖之間切換。圖 2 展示了一些來自該 GTAV 資料集的樣本。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景圖 2:(a)從我們的 GTAV 資料集中隨機取樣的影像對,其展現了道路景觀、交通狀況、車輛型號等方面的多樣性。每個檢測結果都被看作是一個單獨的訓練樣本。(b)在後處理階段被拒絕的隨機樣本。

這篇論文的作者已經公開了 GTAV 資料集、程式碼和預訓練後的模型:http://imagelab.ing.unimore.it/scene-awareness

GTAV 資料集中每一項都構成了一個具有以下屬性的元組:

  1. 正面檢視和鳥瞰圖視角所得到的幀,解析度為 1920x1080。
  2. 各幀中車輛的識別標識和對應的車輛型號(比如:卡車)。
  3. 正面檢視和鳥瞰圖幀中邊界框的座標。這些邊界框圈出了各幀中檢測到的車輛。
  4. 對應所獲取的正面檢視和鳥瞰圖中車輛的距離和方向。

3. 模型

該論文指出將道路狀況的正面檢視對映成鳥瞰圖的問題可能會被誤認為是“不同視角的幾何檢視變換。”但是,鳥瞰圖中存在的很多目標是無法在正面檢視中看見的,這使得當只有檢視之間的直接變換時,這個問題將難以得到解決。此外,在測試階段不會給出任何鳥瞰圖,因此這個問題也不能被當作是檢視之間的對應問題進行處理。

而該論文則試圖從深度學習的角度來解決這一問題:給定儀表盤攝像頭獲取的道路正面檢視,學習從車輛上方的道路佔用圖(鳥瞰圖)。

他們提出的深度架構名為形義感知型密集投射網路(SDPN:Semantic-aware Dense Projection Network)。該架構分成兩個主要分支,如圖 4 所示。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

圖 4:該論文提出的 SDPN 的圖表示。所有層都包含 ReLU 單元,只有頂層的解碼器層除外——其使用了 tanh 啟用。座標編碼器和解碼器全連線單元的數量分別是 (256, 256, 256) 和 (1024, 1024, 512, 256, 128, 4)。

分支 1 的輸入為儀表盤攝像頭檢測到的車輛的裁切影像。輸入影像的形義特徵是使用 ResNet50 深度網路 [1] 提取的,該網路在 ImageNet [2] 上進行過預訓練,但去除了其中原本用於影像分類任務的全連線密集層。分支 1 的目標是確定應該出現在輸出檢視中的車輛以及這些車輛的形義型別(比如,是卡車還是轎車?)。

分支 2 的目標是將輸入邊界框的座標(每個邊界框 4 個座標)編碼到一個 256 維的特徵空間。

然後,正面相機獲取的輸入影像的形義特徵(通過分支 1)以及正面檢視中看見的邊界框的編碼後的座標(通過分支 2)會通過連線(concatenation)方法融合到一起。一個座標解碼器負責預測正面檢視中邊界框限定的車輛在所得到的輸出鳥瞰圖中的座標。

訓練詳情可在下面兩張程式碼截圖的相應程式碼行找到,研究者也將這些程式碼公佈在了 GitHub 上:https://github.com/ndrplz/surround_vehicles_awareness

  1. 從輸入裁切影像(在訓練之前尺寸已調整為 224x224)中減去 ImageNet [2] 的平均畫素值。
  2. ResNet50 深度網路 [1] 的引數在訓練過程中是固定的。
  3. 輸出鳥瞰圖中的基本真值座標被歸一化到 [-1,1] 範圍內。
  4. 每個全連線層之後都使用了 dropout(如所提出的 SDPN 架構的分支 2 所描述的那樣),丟棄的概率為 0.25。
  5. 該模型是端到端訓練的,損失函式為均方誤差(MSE),並且使用了 Adam 優化器 [5],引數設定為:lr = 0.001、beta_1 = 0.9、beta_2= 0.999。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

來自:https://github.com/ndrplz/surround_vehicles_awareness/blob/master/model.py

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

來自:https://github.com/ndrplz/surround_vehicles_awareness/blob/master/main.py

4. 實驗結果

該論文所提出的 SDPN 架構在以下三個基準模型上進行了評估:

基準 1:單應性(Homography

其目標是評估深度學習角度的選擇,而不是將該問題看作是一個不同檢視之間的幾何變換任務。

單應性方法是根據從訓練集中“源”和“目標”邊界框的底角收集的點,採用一種投射式變換來計算兩個檢視中對應點之間的對映。它們可被用於以最小二乘的方式估計一個“單應性”矩陣,以最小化投射誤差。但是,這種基準方法無法恢復目標邊界框的高度,因此訓練樣本的平均高度會被傳播給目標框。

基準 2:網格

網格基準方法是以一種概率方式,使用一個規則的網格量化輸入和輸出檢視中的空間位置(網格解析度固定為 108x192)。

對於輸入網格(正面檢視)中的每一格 學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景,任務目標是估計其在鳥瞰圖中所有網格單元學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景上的概率,然後找到輸入網格中每個畫素所對應的位置。

基準 3:多層感知器(MLP

作者將自己提出的 SDPN 架構與基準 3 方法比較的目的是確定 SDPN 中所使用的形義特徵的重要性,因為當有足夠多輸入框的訓練座標以及一個強大的模型時,就有可能預測出邊界框的輸出座標。

因此,該論文的作者使用 SDPN 架構中採用的幾乎同等數量的引數訓練了另一個模型(基準 3),並且在輸入到輸出座標之間使用了全連線。我們也許可以將基準 3 看作是 SDPN 架構的約簡版,只是沒有負責提取邊界框限定的車輛的特徵的分支 1。

為了評估所提出的 SDPN 架構相比於上述 3 種基準方法的表現,該論文使用了以下 4 個指標:

  • 交併比(IoU):預測得到的邊界框 BBp 相比於目標邊界框 BBt 的質量的度量(其中 A(R) 是指矩形 R 的面積):

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

  • 質心距離(CD):框中心之間的畫素距離,這能說明定位的質量;
  • 高度誤差(hE)和寬度誤差(wE):分別在邊界框的高和寬上的誤差,以相對於基本真值 BBt 尺寸的偏差百分數表示;
  • 寬高比平均誤差(arE):BBp 和 BBt 之間寬高比的差的絕對值:

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

圖 5(a) 給出了SDPN 架構相比於 3 個基準的結果。正如研究者指出的那樣,單應性和網格在將正面檢視對映成鳥瞰圖方面“過於簡單直接”。儘管 MLP 能合理估計邊界框的座標,但卻無法在鳥瞰圖中恢復邊界框的形狀,因為其沒有考慮邊界框中的視覺特徵,從而導致在質心距離(CD)方面表現不令人滿意。

該論文提出的 SDPN 架構能夠獲取目標的形義,可用作線索來估計目標檢視中邊界框限定的目標(車輛)的位置和形狀。

第二個實驗是評估離被檢測車輛的距離對對映準確度的影響。如圖 5(b) 所示,所有模型的表現都會隨距離的增大而下降,這說明當被檢測車輛距離更近時,建模會更容易,因為更近的樣本有更低的方差(比如,它們基本上都是前面的車輛或對向來車)。另一個現象是隨著距離增大,MLP 和 SDPN 之間的準確度差異也會增大,這說明視覺特徵確實對SDPN 架構的對映準確度和穩健性有貢獻。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

圖 5:(a)該論文提出的 SDPN 模型與基準方法的結果對比;(b)隨著與被檢測車輛的距離增大,IoU 表現的下降情況。

圖 6 提供了 SDPN 架構與三個基準模型的定性比較。如圖 6 所示,這些基準方法無法得到邊界框位置的合理估計,而 SDPN 架構不僅擅長預測邊界框的位置,而且還能在鳥瞰圖中恢復車輛的方向和形狀。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

圖 6:不同模型之間的定性比較。SDPN 既能預測邊界框的合理位置,還能學習車輛的方向和型別(比如卡車通常比轎車大)

他們還在一個真實世界的駕駛視訊資料集 [3] 上測試了該論文提出的 SDPN 架構,這些資料來自一個屋頂安裝的攝像頭。正面檢視中的邊界框是使用 [4] 中提出的當前最佳檢測器生成的。

該論文僅給出了定性結果,如圖 7 所示,因為這些視訊並沒有基本真值可用。儘管這個深度網路只是在合成資料上訓練的,但對邊界框的預測看起來是合理的,這說明 SDPN 架構能夠被擴充套件用於真實世界資料。

學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景

圖 7:在真實世界樣本上的定性結果。預測結果看起來是合理的,儘管整個訓練都是在合成資料上進行的。

5. 簡評

該論文研究了一個有趣的問題:如何將儀表盤攝像頭檢測到的所有車輛從正面檢視對映到道路鳥瞰圖上?

研究者貢獻了一個合成資料集(GTAV 資料集),其中包含超過 100 萬對正面檢視-鳥瞰圖;並進一步提出了一種深度網路架構(SDPN),結果表明該架構能有效地將道路場景的正面檢視對映成鳥瞰圖,同時還能保留正面相機檢測到的車輛的尺寸和形狀資訊。

參考文獻

[1]  He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 770-778 (2016)

[2]Deng, J., Dong, W., Socher, R., Li, L.J., Li, K., Fei-Fei, L.: Imagenet: A large-scale hierarchical image database. In: Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. pp. 248{255. IEEE (2009)

[3]Alletto, S., Palazzi, A., Solera, F., Calderara, S., Cucchiara, R.: Dr (eye) ve: A dataset for attention-based tasks with applications to autonomous and assisted driving. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. pp. 54-60 (2016)

[4] Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C.Y., Berg, A.C.: Ssd: Single shot multibox detector. In: European Conference on Computer Vision. pp. 21-37. Springer (2016)

[5]Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. CoRR abs/1412.6980 (2014), http://arxiv.org/abs/1412.6980

相關文章