效率狂增16倍!VRSO:純視覺靜態(tài)物體3D標(biāo)注,打通數(shù)據(jù)閉環(huán)!
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
標(biāo)注之殤
靜態(tài)物體檢測(cè)(Static object detection,SOD),包括交通信號(hào)燈、導(dǎo)向牌和交通錐,大多數(shù)算法是數(shù)據(jù)驅(qū)動(dòng)深度神經(jīng)網(wǎng)絡(luò),需要大量的訓(xùn)練數(shù)據(jù)。現(xiàn)在的做法通常是對(duì)大量的訓(xùn)練樣本在 LIDAR 掃描的點(diǎn)云數(shù)據(jù)上進(jìn)行手動(dòng)標(biāo)注,以修復(fù)長(zhǎng)尾案例。
手動(dòng)標(biāo)注難以捕捉真實(shí)場(chǎng)景的變異性和復(fù)雜性,通常無法考慮遮擋、不同的光照條件和多樣的視角(如圖1中的黃色箭頭)。整個(gè)過程鏈路長(zhǎng)、極其耗時(shí)、容易出錯(cuò)、成本頗高(如圖2)。所以目前公司都尋求自動(dòng)標(biāo)注方案,特別是基于純視覺,畢竟不是每輛車都有激光雷達(dá)。
VRSO 是一種以視覺為主、面向靜態(tài)對(duì)象標(biāo)注的標(biāo)注系統(tǒng),主要利用了 SFM、2D 物體檢測(cè)和實(shí)例分割結(jié)果的信息,整體效果:
- 標(biāo)注的平均投影誤差僅為2.6像素,約為Waymo標(biāo)注的四分之一(10.6像素)
- 與人工標(biāo)注相比,速度提高了約16倍
對(duì)于靜態(tài)物體,VRSO通過實(shí)例分割和輪廓提取關(guān)鍵點(diǎn),解決了從不同視角集成和去重靜態(tài)對(duì)象的挑戰(zhàn),以及由于遮擋問題而導(dǎo)致觀察不足的困難,從而提高了標(biāo)注的準(zhǔn)確性。從圖1上看,與Waymo Open數(shù)據(jù)集的手動(dòng)標(biāo)注結(jié)果相比,VRSO展示了更高的魯棒性和幾何精度。
(都看到這里了,不如大拇指往上滑,點(diǎn)擊最上方的卡片關(guān)注我,整個(gè)操作只會(huì)花你 1.328 秒,然后帶走未來所有干貨,萬一有用呢~)
破局之法
VRSO系統(tǒng)主要分為兩部分:場(chǎng)景重建和靜態(tài)對(duì)象標(biāo)注。
重建部分不是重點(diǎn),就是基于 SFM 算法來恢復(fù)圖像 pose 和稀疏的 3D 關(guān)鍵點(diǎn)。
靜態(tài)對(duì)象標(biāo)注算法,配合偽代碼,大致流程是(以下會(huì)分步驟詳細(xì)展開):
- 采用現(xiàn)成的2D物體檢測(cè)和分割算法生成候選
- 利用 SFM 模型中的 3D-2D 關(guān)鍵點(diǎn)對(duì)應(yīng)關(guān)系來跟蹤跨幀的 2D 實(shí)例
- 引入重投影一致性來優(yōu)化靜態(tài)對(duì)象的3D注釋參數(shù)
1.跟蹤關(guān)聯(lián)
- step 1:根據(jù) SFM 模型的關(guān)鍵點(diǎn)提取 3D 邊界框內(nèi)的 3D 點(diǎn)。
- step 2:根據(jù) 2D-3D 匹配關(guān)系計(jì)算每個(gè) 3D 點(diǎn)在 2D 地圖上的坐標(biāo)。
- step 3:基于 2D 地圖坐標(biāo)和實(shí)例分割角點(diǎn)確定當(dāng)前 2D 地圖上 3D 點(diǎn)的對(duì)應(yīng)實(shí)例。
- step 4:確定每個(gè) 2D 圖像的 2D 觀察與 3D 邊界框之間的對(duì)應(yīng)關(guān)系。
2.proposal 生成
對(duì)靜態(tài)物體的 3D 框參數(shù)(位置、方向、大小)進(jìn)行整個(gè)視頻剪輯的初始化。SFM 的每個(gè)關(guān)鍵點(diǎn)都有準(zhǔn)確的3D位置和對(duì)應(yīng)的 2D 圖像。對(duì)于每個(gè) 2D 實(shí)例,提取 2D 實(shí)例掩碼內(nèi)的特征點(diǎn)。然后,一組對(duì)應(yīng) 3D 關(guān)鍵點(diǎn)可以被視為 3D 邊界框的候選。
路牌被表示為在空間中具有方向的矩形,它有6個(gè)自由度,包括平移(、、)、方向(θ)和大?。▽挾群透叨龋???紤]到其深度,交通信號(hào)燈具有7個(gè)自由度。交通錐的表示方式與交通信號(hào)燈類似。
3.proposal refine
- step 1:從 2D 實(shí)例分割中提取每個(gè)靜態(tài)物體的輪廓。
- step 2:為輪廓輪廓擬合最小定向邊界框(OBB)。
- step 3:提取最小邊界框的頂點(diǎn)。
- step 4:根據(jù)頂點(diǎn)和中心點(diǎn)計(jì)算方向,并確定頂點(diǎn)順序。
- step 5:基于2D檢測(cè)和實(shí)例分割結(jié)果進(jìn)行了分割和合并過程。
- step 6:檢測(cè)并拒絕包含遮擋的觀察。從2D實(shí)例分割蒙版中提取頂點(diǎn)要求每個(gè)標(biāo)牌的四個(gè)角都可見。如果有遮擋,從實(shí)例分割中提取軸對(duì)齊邊界框(AABB),并計(jì)算AABB與2D檢測(cè)框之間的面積比。如果沒有遮擋,這兩種面積計(jì)算方法應(yīng)該是接近的。
4.三角化
通過三角化在3D條件下獲取靜態(tài)物體的初始頂點(diǎn)值。
通過檢查在場(chǎng)景重建期間由 SFM 和實(shí)例分割獲得的3D邊界框中的關(guān)鍵點(diǎn)數(shù)量,只有關(guān)鍵點(diǎn)數(shù)量超過閾值的實(shí)例被認(rèn)為是穩(wěn)定且有效的觀測(cè)。對(duì)于這些實(shí)例,相應(yīng)的 2D 邊界框被視為有效的觀測(cè)。通過多幅圖像的 2D 觀測(cè),將 2D邊界框頂點(diǎn)進(jìn)行三角化,以獲取邊界框的坐標(biāo)。
對(duì)于沒有在掩模上區(qū)分“左下、左上、右上、右上和右下”頂點(diǎn)的圓形標(biāo)牌,需要識(shí)別這些圓形標(biāo)牌。使用 2D 檢測(cè)結(jié)果作為圓形物體的觀測(cè)結(jié)果,使用 2D 實(shí)例分割掩模進(jìn)行輪廓提取。通過最小二乘擬合算法計(jì)算出中心點(diǎn)和半徑。圓形標(biāo)牌的參數(shù)包括中心點(diǎn)(、、)、方向(θ)和半徑()。
5.tracking refine
跟蹤基于 SFM 的特征點(diǎn)匹配。根據(jù) 3D 邊界框頂點(diǎn)的歐式距離和 2D 邊界框投影 IoU 來確定是否合并這些分開的實(shí)例。一旦合并完成,實(shí)例內(nèi)的 3D 特征點(diǎn)可以聚集以關(guān)聯(lián)更多的2D特征點(diǎn)。進(jìn)行迭代2D-3D關(guān)聯(lián),直到無法添加任何2D特征點(diǎn)為止。
6.最終參數(shù)優(yōu)化
以矩形標(biāo)牌為例,可優(yōu)化的參數(shù)包括位置(、、)、方向(θ)和大小(、),總共六個(gè)自由度。主要步驟包括:
- 將六個(gè)自由度轉(zhuǎn)換為四個(gè) 3D 點(diǎn),并計(jì)算旋轉(zhuǎn)矩陣。
- 將轉(zhuǎn)換后的四個(gè) 3D 點(diǎn)投影到2D圖像上。
- 計(jì)算投影結(jié)果與實(shí)例分割得到的角點(diǎn)結(jié)果之間的殘差。
- 使用 Huber 進(jìn)行優(yōu)化更新邊界框參數(shù)
標(biāo)注效果
也有一些具有挑戰(zhàn)性的長(zhǎng)尾案例,例如極低的分辨率和照明不足。
總結(jié)一下
VRSO 框架實(shí)現(xiàn)了靜態(tài)物體高精度和一致的3D標(biāo)注,緊密集成了檢測(cè)、分割和 SFM 算法,消除了智能駕駛標(biāo)注中的人工干預(yù),提供了與基于LiDAR的手動(dòng)標(biāo)注相媲美的結(jié)果。和被廣泛認(rèn)可的Waymo Open Dataset進(jìn)行了定性和定量評(píng)估:與人工標(biāo)注相比,速度提高了約16倍,同時(shí)保持了最佳的一致性和準(zhǔn)確性。