智慧駕駛技術的不斷發展,正在改變我們的出行方式和交通系統。作為其中的關鍵技術,三維重建在智慧駕駛系統中扮演著重要的角色。除去車端本身的感知、重建演算法,自動駕駛技術的落地與發展需要龐大的雲端重建能力支撐,火山引擎多媒體實驗室透過業界領先的自研三維重建技術,結合強大的雲端平台資源與能力,協助相關技術在雲端大規模重建、自動標註、真實感模擬等場景的落地與應用。
本文重點介紹火山引擎多媒體實驗室三維重建技術在動態、靜態場景的以及結合先進光場重建技術的原理與實踐,幫助大家能更好的了解和認識雲上智能三維重建如何服務智慧駕駛領域,協助產業發展。
駕駛場景重建需要對道路環境做點雲級的三維重建,與傳統的三維重建技術應用場景相比,駕駛場景重建技術有以下困難:
自動駕駛領域的重建演算法通常會採用光達、相機為主,GPS、慣導為輔的技術路線。光達可以直接獲取高精度的測距信息,能夠快速得到場景結構,透過預先進行的光達-相機聯合標定,相機所獲得的影像能夠為雷射點雲賦予色彩、語意等資訊。同時,GPS和慣導可以進行輔助定位,減少重建過程中因為特徵退化而出現的漂移現象。但是,由於多線雷射雷達售價較高,通常用於工程車輛,而在量產車上很難得到規模化的使用。
對此,火山引擎多媒體實驗室自研了一套純視覺的駕駛場景重建技術,包括靜態場景重建、動態物體重建和神經輻射場重建技術,能夠區分場景中的動靜態物體,還原出靜態場景的稠密點雲,並突出路面、指示牌、紅綠燈等關鍵要素;能夠對場景中運動物體的位置、大小、朝向和速度進行有效的估計,用於後續的4D標註;能夠在在靜態場景重建的基礎上,使用神經輻射場對場景進行重建和復現,實現自由視角的漫遊,可用於場景編輯和模擬渲染。這套技術解決方案不依賴光達,且能夠達到分米級的相對誤差,以最小的硬體成本實現接近光達的重建效果。
視覺重建技術以多視角幾何作為基礎的理論依據,要求待重建的場景或物件具有幀間一致性,即在不同影像影格中處於靜止狀態,因此需要在重建過程中剔除動態物體。根據場景中的不同要素的重要性,在稠密點雲中需要去除無關緊要的點雲,而保留一些關鍵要素點雲,因此需要事先對影像進行語義分割。 對此, 火山引擎 多媒體實驗室結合AI技術與多視角幾何基本原理,搭建了一套先進的穩健、精確完整視覺重建演算法框架。重建過程包括三個關鍵步驟 :影像預處理、稀疏重建和稠密重建 。
#車用相機拍攝過程中處在運動狀態,由於曝光時間的存在,擷取的影像中會隨著車速提高而出現嚴重的運動模糊現象。另外,出於節約頻寬和儲存空間考慮,傳輸過程中會對影像進行不可逆的有損壓縮,造成畫質的進一步降低。為此, 火山引擎多媒體實驗室使用了端到端的神經網路對影像進行去模糊處理,能夠在抑制運動模糊現象的同時對影像品質進行提升。去模糊前後的對比如下圖。
去模糊前(左) 去模糊後(右)
為了區分出動態物體,火山引擎多媒體實驗室使用了基於光流的動態物體辨識技術,能夠得到像素等級的動態物體遮罩。在之後的靜態場景重建過程中,落在動態物區域上的特徵點將被剔除,只有靜態的場景和物件將會保留。
光流(左) 運動物體(右)
稀疏重建過程中需要同時計算相機的位置、朝向和場景點雲,常用的有SLAM演算法(Simultaneous localization and mapping)和SFM演算法(Structure from Motion,簡稱SfM)。在不要求即時性的情況下,SFM演算法能夠得到更高的重建精度。但是,傳統的SFM演算法通常將每台相機當作獨立相機來處理,而車輛上通常會在前後左右不同方向佈置多個相機,這些相機之間的相對位置其實是固定不變的(忽略車輛振動帶來的細微變化)。如果忽略相機與相機之間的相對位置約束,計算出來的各相機位姿誤差會比較大。另外,當遮擋比較嚴重時,個別相機的位姿會難以計算。對此,火山引擎多媒體實驗室自研了基於相機組整體的SFM演算法,能夠利用相機之間的先驗相對位姿約束,以相機組作為整體來計算位姿,同時使用了GPS加慣導的融合定位結果對相機組中心位置進行約束,可有效提高位姿估計的成功率和準確率,並能改善不同相機間的點雲不一致現象,減少點雲分層現象。
傳統SFM(左) 相機組SFM(右)
#由於地面色彩單一、紋理缺失,傳統的視覺重建很難還原出完整的地面,但是地面上存在車道線、箭頭、文字/標識等關鍵要素,因此火山引擎多媒體實驗室採用了二次曲面來擬合地面,輔助進行地面區域的深度估計和點雲融合。和平面擬合相比,二次曲面更貼合實際道路場景,因為實際的路面往往不是理想平面。以下是分別以平面方程式和二次曲面方程式來擬合地面的效果比較。
平面方程式(左) 二次曲面方程式(右)
將雷射點雲視為真值,並將視覺重建結果與之疊加,可以直觀地衡量重建點雲的準確性。從下圖可以看到,重建點雲和真值點雲貼合度非常高,經過測量得到重建結果的相對誤差在15cm左右。
火山引擎多媒體實驗室重建結果(彩色)與真值點雲(白色)
以下是火山引擎多媒體實驗室視覺重建演算法與某主流商業重建軟體的效果比較。可以看到,和商業軟體相比,火山引擎多媒體實驗室的自研演算法重建效果更好、更完整,場景中的路牌、紅綠燈、電線桿,以及路面上車道線、箭頭等還原度非常高,而商業軟體的重建點雲非常稀疏,且路面大範圍缺失。
某主流商業軟體(左) 火山引擎多媒體實驗室演算法(右)
#在影像上對物體進行3d標註十分困難,需要藉助於點雲,當車輛只有視覺感測器時,取得場景中目標物體的完整點雲十分困難。特別是動態物體,無法使用傳統的三維重建技術來取得其稠密點雲。為提供運動物體的表達,服務於4d標註,使用3d bounding box(以下簡稱3d bbox)對動態物體進行表示,透過自研動態重建演算法取得每一時刻場景中動態物體的3d bbox姿態、大小、速度等,從而補全動態物體重建能力。
動態重建pipeline
#對車輛擷取的每個影像,先擷取場景中的動態目標,產生3d bbox的初步提議,提供兩種方式:使用2d目標偵測,透過相機位姿估計對應的3d bbox;直接使用3d目標偵測。兩種方式針對不同數據可以靈活進行選擇,2d檢測泛化性好,3d檢測可以獲得更好的初值。同時,對影像動態區域內部的特徵點進行擷取。在取得單幀影像初始3d bbox提議及特徵點後,建立多幀間資料關聯:透過自研多目標追蹤演算法建立物體匹配,並透過特徵匹配技術對影像特徵進行匹配。取得匹配關係後,將有共視關係的影像幀建立為局部地圖,建構最佳化問題求解全域一致的目標bbox估計。具體地,透過特徵點的匹配以及動態三角化技術,恢復動態3d點;對車輛運動建模,聯合優化物體、3d點、相機之間的觀測,從而獲得最優估計的動態物體3d bbox。
2d產生3d(左二) 3d目標偵測範例
動態物/影子剔除,填補#
以上是雲端智慧駕駛三維重建優秀實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!