自動泊車端到端算法 ParkingE2E 介紹
01 算法介紹
自主泊車是智能駕駛領(lǐng)域中的一項關(guān)鍵任務(wù)。傳統(tǒng)的泊車算法通常使用基于規(guī)則的方案來實現(xiàn)。因為算法設(shè)計復(fù)雜,這些方法在復(fù)雜泊車場景中的有效性較低。
相比之下,基于神經(jīng)網(wǎng)絡(luò)的方法往往比基于規(guī)則的方法更加直觀和多功能。通過收集大量專家泊車軌跡數(shù)據(jù),基于學(xué)習(xí)的仿人策略方法,可以有效解決泊車任務(wù)。
在本文中,我們采用模仿學(xué)習(xí)來執(zhí)行從 RGB 圖像到路徑規(guī)劃的端到端規(guī)劃,模仿人類駕駛軌跡。我們提出的端到端方法利用目標(biāo)查詢編碼器來融合圖像和目標(biāo)特征,并使用基于 Transformer 的****自回歸預(yù)測未來的航點。
我們在真實世界場景中進(jìn)行了廣泛的實驗,結(jié)果表明,我們提出的方法在四個不同的真實車庫中平均泊車成功率達(dá)到了 87.8%。實車實驗進(jìn)一步驗證了本文提出方法的可行性和有效性。
輸入:1.去完畸變的 RGB 圖 2.目標(biāo)停車位
輸出:路徑規(guī)劃
論文精讀博客參考鏈接:https://blog.csdn.net/qq_45933056/article/details/140968352
源代碼:https://github.com/qintonguav/ParkingE2E
02 算法部署后的 demo 效果展示
03 實現(xiàn)過程
3.1 算法整體架構(gòu)
多視角 RGB 圖像被處理,圖像特征被轉(zhuǎn)換為 BEV(鳥瞰圖)表示形式。使用目標(biāo)停車位生成 BEV 目標(biāo)特征,通過目標(biāo)查詢將目標(biāo)特征和圖像 BEV 特征融合,然后使用自回歸的 Transformer ****逐個獲得預(yù)測的軌跡點。
3.2 訓(xùn)練過程
注:訓(xùn)練數(shù)據(jù)集是去完畸變的圖像,在數(shù)據(jù)處理時需要對 4 路魚眼相機進(jìn)行標(biāo)定,獲取相機內(nèi)外參,對魚眼圖進(jìn)行去畸變,去完畸變的圖像會被制作成訓(xùn)練集
獲取去完畸變的 RGB 圖像和目標(biāo)停車位做為輸入:
(去完畸變的 RGB 圖像示例)
目標(biāo)停車位坐標(biāo)示例:
{
"x": 83.93134781878057,
"y": -7.080006849257972,
"z": -7.404438257656194,
"yaw": 20.95510451530132
}
使用 EfficientNet 從 RGB 圖像中提取特征;
將預(yù)測的深度分布 ddep 與圖像特征 Fimg 相乘,以獲得具有深度信息的圖像特征;
將圖像特征投影到 BEV 體素網(wǎng)格(特征的大小為 200×200,對應(yīng)實際空間范圍 x∈[?10m, 10m], y∈[?10m, 10m],分辨率為 0.1 米)中,生成相機特征 Fcam。
BEV 視圖示例:
使用深度 CNN 神經(jīng)網(wǎng)絡(luò)提取目標(biāo)停車位特征 Ftarget
在 BEV 空間,將相機特征 Fcam 和目標(biāo)停車位特征 Ftarget 進(jìn)行融合,獲取融合特征 Ffuse
使用 Transformer ****以自回歸方式預(yù)測軌跡點
預(yù)測的軌跡序列示例:
[[-0.17014217376708984, -0.010008811950683594], [-0.3298116556863353, -0.011956165423615472], [-0.4854376561367579, -0.02052420170634236], [-0.6337416331734281, -0.03509474854381417], [-0.774850889165686, -0.05409092178920946], [-0.9106318371186677, -0.07662342910150008], [-1.0429499912911764, -0.10220288211346742], [-1.1730293341546085, -0.130403150090076], [-1.3014671109093938, -0.16081194272771432], [-1.4284175031869575, -0.19315076247807056], [-1.5537739117230407, -0.22739195648381574], [-1.6773593831451739, -0.2637573983721455], [-1.7991250198403412, -0.3025803813592571], [-1.9192866870681176, -0.34410827406410627], [-2.0383187092132995, -0.3883681895794497], [-2.1567872059422366, -0.43518302389208097], [-2.275088086162824, -0.4843281463722012], [-2.393198715763861, -0.5357188397161318], [-2.5105481374226417, -0.5894858888356189], [-2.6260817537118184, -0.6458681996255287], [-2.7385546018760474, -0.7049937228225489], [-2.84701611529502, -0.7667346960596122], [-2.9513409844272736, -0.8308041149223722], [-3.0525702187102848, -0.8970783878192974], [-3.1528531887709175, -0.9658913604113011], [-3.25493913830157, -1.0379629359384206], [-3.3612681922638727, -1.1139021444876271], [-3.4725675825974993, -1.193842039192509], [-3.58588491431963, -1.2783030155644421], [-3.69307804107666, -1.3711423873901367]]
實現(xiàn)過程圖標(biāo)表示:
3.3 推理過程
在 RViz 界面軟件中使用“2D-Nav-Goal”來選擇目標(biāo)停車位
目標(biāo)停車位停車軌跡示例:
position:
x: -6.49
y: -5.82
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0目標(biāo)停車位停車軌跡示例:position:x: -6.49y: -5.82z: 0.0orientation:x: 0.0y: 0.0z: 0.0w: 1.0
獲取起始位姿,將以起始點為原點的世界坐標(biāo)轉(zhuǎn)化為車輛坐標(biāo)
起始軌跡位姿示例:
position:
x: -0.16161775150943924
y: 0.018056780251669124
z: 0.006380920023400627
orientation:
x: -0.0002508110368611588
y: 0.0008039258947159855
z: 0.010172557118261405
w: 0.9999479035823092
組合數(shù)據(jù)輸入到 transformer 進(jìn)行推理,預(yù)測軌跡序列
預(yù)測的軌跡序列示例:
[[-0.17014217376708984, -0.010008811950683594], [-0.3298116556863353, -0.011956165423615472], [-0.4854376561367579, -0.02052420170634236], [-0.6337416331734281, -0.03509474854381417], [-0.774850889165686, -0.05409092178920946], [-0.9106318371186677, -0.07662342910150008], [-1.0429499912911764, -0.10220288211346742], [-1.1730293341546085, -0.130403150090076], [-1.3014671109093938, -0.16081194272771432], [-1.4284175031869575, -0.19315076247807056], [-1.5537739117230407, -0.22739195648381574], [-1.6773593831451739, -0.2637573983721455], [-1.7991250198403412, -0.3025803813592571], [-1.9192866870681176, -0.34410827406410627], [-2.0383187092132995, -0.3883681895794497], [-2.1567872059422366, -0.43518302389208097], [-2.275088086162824, -0.4843281463722012], [-2.393198715763861, -0.5357188397161318], [-2.5105481374226417, -0.5894858888356189], [-2.6260817537118184, -0.6458681996255287], [-2.7385546018760474, -0.7049937228225489], [-2.84701611529502, -0.7667346960596122], [-2.9513409844272736, -0.8308041149223722], [-3.0525702187102848, -0.8970783878192974], [-3.1528531887709175, -0.9658913604113011], [-3.25493913830157, -1.0379629359384206], [-3.3612681922638727, -1.1139021444876271], [-3.4725675825974993, -1.193842039192509], [-3.58588491431963, -1.2783030155644421], [-3.69307804107666, -1.3711423873901367]]
將預(yù)測的軌跡序列發(fā)布到 rviz 進(jìn)行可視化
04 評估指標(biāo)
端到端實車評估:在實車實驗中,我們使用以下指標(biāo)來評估端到端停車性能。
關(guān)鍵詞解釋:
PSR:停車成功率
NSR:無車位率
PVR:停車違規(guī)率
APE:平均位置誤差
AOE:平均方向誤差
APS:平均停車得分
APT:平均停車時間
05 局限性
由于數(shù)據(jù)規(guī)模和場景多樣性的限制,我們的方法對移動目標(biāo)的適應(yīng)性較差
訓(xùn)練過程需要專家軌跡
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。