瞭解使用雷達和光達資料進行訓練的深度神經網路,如何透過 2D 平面影像來預測 3D 立體距離。
簡單規則:要是你無法判斷距離,那就別開車了吧。但問題是:判斷距離又不是那麼簡單。
人類有著兩個高解析度又高度同步的視覺感應器,也就是我們的眼睛,讓我們能在大腦中使用立體視覺處理來測量距離。
自動駕駛車中那套可以比擬人類雙眼的雙攝影機立體視覺系統,同樣十分敏感。要是攝影機略為出現不同步的情況,便會造成「時間誤差」(timing misalignment)的情況,而錯估了距離。
那正是我們使用單架攝影機資料來偵測到物體之距離的緣故,可是只使用單架攝影機的資料,又會出現另一些難題。
在出現深度神經網路前,常見使用單架攝影機影像來計算到物體之距離的方法,是假設地面是平坦的。在這種假設下,會使用攝影機影像的 2D 平面資訊來建立 3D 立體環境的模型,此時使用光學幾何結構來估算從參考車輛到物體間的距離。
這一招不見得都能適用於現實環境。上下坡道這種不平坦的地面會導致結果失真。
這種錯誤的估算結果會產生出負面影響。自動巡航控制、檢查車道切換安全性和執行車道切換,這些動作都得靠著正確判斷距離來執行。
過度估算距離(也就是判斷物體呆的距離比實際距離更遠),可能導致無法執行自動巡航控制功能,或者更嚴重的是,無法使用自動緊急煞車功能。
錯誤判斷障礙物的距離比原本的距離更近,也有可能會造成其它事故,例如在不必要時執行巡航控制或緊急煞車。
使用深度學習來取得距離
我們使用卷積神經網路及單架前置攝影機的資料,以求取得正確的距離。我們使用雷達和光達感應器的資料,當成實況資料來訓練卷積神經網路判斷與物體之間的距離。工程師知道這些資訊是準確的,因為無論道路的拓撲結構如何,發射出之雷達和光達訊號的直接反射內容都能提供到物體的精確距離資訊。
我們使用雷達和光達資料來訓練神經網路,而非靠著平坦地面的假設,讓卷積神經網路可以使用單架攝影機的資料來估算與物體之間的距離,就算車輛在上下坡時也是如此。
攝影機深度神經網路在高速公路隧道環境裡,偵測與物體之間的距離。綠色框表示偵測到的物體。每個框上方顯示的數字,指本車後軸中央與被偵測物體之間的徑向距離(單位為公尺)。
在我們的訓練過程裡,是自動產生和編碼實況資料,因此可以盡量使用這類感應器收集到的資料來訓練深度神經網路,少了人工對資源加入標籤的瓶頸。
我們使用深度神經網路估算出與物體之間的距離,加上物體偵測功能,並且以攝影機追蹤車輛的縱向控制情況(像是加速及減速)和橫向控制情況(像是車輛轉向)。如需更多使用深度神經網路來計算與物體之間距離的資訊,請至我們的 DRIVE Networks 頁面。