NVIDIA自動駕駛實驗室:自動駕駛汽車如何借助環繞攝像頭實現目標跟踪

作者 NVIDIA Developer

將時態信息添加到深度學習當中,使自動駕駛汽車能夠預測周圍移動目標的未來軌跡。

自動駕駛實驗室

這是NVIDIA DRIVE Labs自動駕駛實驗室系列視頻的第五集,在上一集中我們介紹了NVIDIA借助循環神經網絡(RNN)預測目標的未來移動軌跡。在自動駕駛實驗室系列視頻中,我們將以工程技術為重點的視角關注實現自動駕駛汽車的各個挑戰以及NVIDIA DRIVE AV軟件團隊如何應對這些問題。

如今,道路上的許多汽車配備了先進的駕駛輔助系統,依靠前後攝像頭來實現自動巡航控制(ACC)和車道偏離警示。然而,要實現完全的自動駕駛,則需要攝像頭擁有完整的360度全方位環繞視野。

攝像頭目標跟踪是自動駕駛汽車攝像頭環繞視野流程(即感知)的主要組成部分。當檢測目標出現在連續的攝像頭圖像當中時,該軟件會對其進行跟踪並用獨特的標識編號進行標記。

目標跟踪的準確性對於目標距離以及速度預估的可靠性起著關鍵作用。它也能夠減少遺漏或誤檢的障礙物,並防止這些檢測結果傳輸到自動駕駛汽車計劃和控制功能當中,從而導致系統根據這些輸入做出停車或加速等錯誤決策。

我們的環繞攝像頭目標跟踪軟件目前採用了六個攝像頭,能夠實現360度全方位的感知,讓汽車擁有無盲點的視野。該軟件在全六個攝像頭圖像中對目標進行跟踪,並用獨特的識別編碼標記所檢測目標在圖像中的位置以及碰撞時間(TTC)的預估。

被跟踪目標的外觀模型由從目標內部所選的特徵點構成。這些特徵點由Harris角點檢測算法(Harris Corner Detector)得來,並且在目標旋轉和平移的狀態下也不會發生丟失。聚焦角點的小模板由Lucas-Kanade模板特徵追踪算法在不同的圖像金字塔比例下進行跟踪。環繞攝像頭目標跟踪軟件借助這些特徵點,對目標的比例變化、平移和碰撞時間(TTC)進行預測。

圖1-目標跟踪和碰撞時間計算圖表

跟踪器初始化延遲和

從列表裡移除虛假的跟踪物體

提早識別目標並將其確定為準確跟踪對於減少控制功能的延遲至關重要。 NVIDIA低跟踪器初始化延遲(目前約為90毫秒)使汽車即使在高速行駛的過程中,也能夠對突然需要停車的情況做出正確響應。在對汽車所在路徑及其左右車道中存在的目標進行檢測時,相較於物體探測儀,我們同時實現了更高的精確率和召回率。

圖-2:針對目標#5722的低跟踪器初始化延遲,汽車的一角剛剛出現在圖像的左邊就能夠被跟踪到。

由於物體移出畫面外而導致的虛假跟踪是誤檢制動的主要原因。在不遺漏任何目標跟踪的情況下,借助低延遲從列表裡移除虛假的跟踪物體是一件具有挑戰性的任務。 NVIDIA的跟踪軟件可以在30到150毫秒內移除虛假的跟踪物體,並且不會導致其他目標的遺漏。

圖-3:當目標#4588從圖像左側移出時,不會導致任何誤檢信息的產生

低檢測頻率下目標跟踪軟件的準確性和可靠性

如果每個圖像幀都需要在六個攝像頭上運行目標檢測,可能會增加整體系統的延遲。根據不同的應用程序,開發者可以選擇減少目標檢測的頻率,比如每三個畫面幀運行一次目標檢測軟件。這樣的設計能為其他計算釋放資源,但就讓目標跟踪變得更具挑戰性。

在NVIDIA的實驗中,我們觀察到,即使在目標跟踪頻率降低的情況下,目標跟踪軟件仍而可以達到高精確率、高召回率以及跟踪識別的穩定性。

圖-4:儘管目標#6812相對於測試車輛來說速度差為約為100英里/小時,但目標跟踪軟件仍在它距離測試車輛150米處成功實現了跟踪。目標跟踪軟件每三個圖像幀運行一次。

環繞目標跟踪系統已經成功在測試車輛處於自動駕駛的模式下,完成超過20,000英里的道路測試。

這些測試在不同的季節、路線、時間段、照明條件、高速公路以及城市道路上進行,並且沒有發現或收到任何由於目標檢測失敗而造成脫離的報告。

NVIDIA DriveWorks軟件開發套件(SDK)包含目標跟踪模塊。 CPU和CUDA均可採用,並且能夠根據用戶偏好在CPU或GPU上進行調試。

NVIDIA提供兩個版本以便為軟件流程整體資源調度提供靈活性。我們觀察到使用GPU比CPU速度快七倍。我們同時也發現,借助流程調度的靈活性以實現CPU和GPU處理之間的轉換,NVIDIA AV軟件堆棧的整體延遲性得到了改進。例如,讓目標檢測軟件其中一個攝像頭在CPU上運行,另外五個攝像頭在GPU上運行。

參考論文:

Chris Harris and Mike Stephens (1988). “A Combined Corner and Edge Detector”. Alvey Vision Conference. 15.

Simon Baker and Iain Matthews. 2004. Lucas-Kanade 20 Years On: A Unifying Framework. Int. J. Comput. Vision 56, 3 (February 2004), 221-255.