隨著自動駕駛技術的快速發展,仿真軟件在開發過程中扮演著越來越重要的角色。仿真傳感器與環境不僅能夠加速算法驗證,還能在安全可控的條件下進行復雜場景的重復測試。
本文將分享如何利用自動駕駛仿真軟件配置仿真傳感器與搭建仿真環境,并對腳本進行修改,優化和驗證4個魚眼相機生成AVM(Around View Monitor)合成數據的流程。通過這一過程,一同深入體驗仿真軟件的應用潛力!
一、流程概述
AVM是一種通過多相機實現車輛周圍環境的實時監控和顯示的系統,廣泛應用于自動駕駛和高級駕駛輔助系統(ADAS)的環境感知中。本文基于仿真軟件與腳本生成AVM圖像的流程如下所示:

首先,在Unreal Engine中配置標定投影參數所需的地圖,并在仿真器中為車輛部署4個方向的魚眼相機;
其次,基于相機內參進行去畸變,并記錄求解投影矩陣所需的關鍵參考值,例如AVM畫幅尺寸、參考點的相對坐標、參考區域的大小與位置、車輛與參考區域的距離等;
隨后,在完成了角點提取預處理的標定圖像中快速選取參考點,生成單方向的BEV視圖,重復4次完成標定去畸變;
后文將對每個流程進行具體描述。
二、仿真傳感器與環境配置
對于AVM功能而言,通常需要配備4個及以上的大FOV相機以拍攝車輛周圍的圖像,在此基礎上還可配備雷達以更好地獲取車輛周圍的障礙物信息。

由于本文所使用仿真軟件的相機傳感器可以直接輸出識別對象(車輛、行人等)的2D、3D邊界框真值,所以只需配置4個方向的魚眼相機即可滿足整體需求:
(1)前置魚眼相機:安裝在前方車標附近,約15°俯視角;
(2)后置魚眼相機:安裝在后備箱附近,約25°俯視角;
(3)左、右側魚眼相機:分別安裝在左右后視鏡下方,約40°俯視角與相對車縱軸約100°的偏航角。

除了傳感器的配置,考慮到腳本是通過選取地面點,求解相機到地面的投影矩陣,并轉換生成BEV視圖進行組合,所以還需要構建一張特征明顯、易于辨認標定效果的地圖。
本文所使用的仿真軟件支持在Unreal Engine中進行地圖編輯與導出,并帶有一定數量的3D資產庫,因此可以基于一張基礎室內地圖,布置一定數量的正方形黑白標定板,根據需要搭建一個標定地圖:

首先,在Unreal Engine中打開項目,并進入室內合成地圖;
然后,從3D資產庫中選擇100cm×100cm×5cm的標定板靜態網格體,拖放到地圖中;
隨后,通過直接拖動模型上的變換工具或者修改側邊欄中的變換屬性框調整標定板的位置與姿態;
進而,配置標定板的材質,以黑色、白色的交替順序鋪展標定板;
最終形成一個長方形的標定區域。

批量鋪展的過程可以拆分為對2×2的標定板組合實施橫向與縱向陣列,完成后的地圖如圖所示,整體是一個6m×11m的矩形區域,車輛放置在中間2m×5m的矩形區域中。
三、圖像處理與AVM合成驗證集
如前文所述,本文使用的AVM腳本是基于車輛四周,位于相鄰兩個相機重疊視野的標定物,通過選取參考投影區域實現魚眼相機到BEV的轉化,以前視魚眼相機為例:

首先,由于是仿真傳感器的標準OpenCV魚眼相機模型,焦距、中心像素位置、畸變參數等內參均已知,可直接使用OpenCV的去畸變函數實現去畸變,如圖6的(c)到(d)所示;
其次,設定圖6(a)與(b)所示關鍵參數,確定圖像上的點對應的真實世界位置,進而計算尺度:
(1)AVM視野總寬total_width = 2 × shift_width + 6 × board_size;
(2)AVM視野總長total_height = 2 × shift_height + 11 × board_size;
(3)board_size為標定板邊長,此處為100,單位cm;
(4)shift_width與shift_height為視野延伸距離,單位cm;
(5)左上角投影點projection_point_0:(shift_width + 100, shift_height),以此類推右上角、左下角、右下角投影點坐標,形成投影區域;
(6)inner_height與inner_width為投影區域相對車輛的橫向、縱向距離,單位cm,由此可以推算出自車所處區域;
而后,對去畸變相機圖像追加Shi-Tomasi角點提取處理,并增加半自動采點的模式切換,自動選取鼠標點擊像素位置周圍歐式距離最小的角點,保障準確度的同時提升效率;
最后,如圖6(d)選取4個角點,形成與(b)對應的參考投影區域,輸出的BEV視圖如圖6(e)所示。

以此類推可以得到4個方向的BEV視圖及對應的投影參數,結合車輛圖層作為覆蓋,即可生成對應傳感器布置下的二維AVM合成圖像,如圖7所示,其中每個像素分辨率為1cm2。

通過仿真軟件,一方面可以在控制算法不變的情況下尋找出更優的傳感器外參布局,另一方面也可以在控制傳感器不變的情況下在多種不同場景驗證,進而迭代優化AVM算法的表現。結合相機傳感器自帶的標注信息,后續也可以進行包括障礙物識別在內的更多功能驗證。

四、總結與展望
本文介紹了基于aiSim仿真軟件生成AVM合成數據的完整流程,包括傳感器與地圖的配置、圖像處理與BEV視圖生成以及最終的AVM合成驗證。
不難看出,仿真軟件的高效性與靈活性保障了在安全可控的環境中快速驗證算法性能的可行性,并可以通過多場景測試與參數優化改進算法,最終提升其綜合表現。
-
傳感器
+關注
關注
2557文章
51788瀏覽量
759174 -
數據
+關注
關注
8文章
7226瀏覽量
90232 -
算法
+關注
關注
23文章
4652瀏覽量
93801 -
仿真
+關注
關注
50文章
4164瀏覽量
134569 -
AVM
+關注
關注
0文章
13瀏覽量
10774
發布評論請先 登錄
相關推薦
利用合成數據和NVIDIA ISAAC Sim加速機器人訓練

NVIDIA提供用于AI訓練的合成數據生成工具
一文看懂 DRIVE Replicator:合成數據生成加速自動駕駛汽車的開發和驗證
語音合成數據的重要性:訓練高質量語音合成模型的關鍵
語音合成數據的重要性:打造自然流暢的語音合成體驗
語音合成技術與語音合成數據,賦予聲音新的可能性
自動駕駛合成數據科普一:不做真實數據的“顛覆者”,做“杠桿”

評論