與城市環(huán)境的復(fù)雜性和高速公路駕駛的風(fēng)險相比,停車場景的特點是低速、空間有限和高可控性。這些特點為在車輛中逐步部署端到端自動駕駛能力提供了可行的途徑。最重要的是自動泊車對時間不敏感,而自動駕駛幀率至少要做到15Hz以上。這樣就對存儲和算力需求降低很多。
上海交通大學(xué)的五位學(xué)生發(fā)表了一篇端到端自動泊車的論文:《ParkingE2E: Camera-based End-to-end Parking Network from Images to Planning》,比較接近落地,由于是學(xué)術(shù)研究,這些學(xué)生沒有得到汽車產(chǎn)業(yè)界的支持,因此他們?nèi)匀皇褂昧藗鹘y(tǒng)PC,論文里只是含糊地說用了英特爾的UNC小型臺式機或者叫Mini PC。實際UNC性能千差萬別,一般是英特爾9代或9代以上的CPU,也有用12代筆記本電腦低功耗CPU的,16GB或16GB以上的內(nèi)存。這樣的電腦CPU算力仍然是英偉達(dá)Orin的2-4倍,AI能力自然很低,但有強大的CPU支撐,整體上處理AI任務(wù)時,差不多近似或略超英偉達(dá)Orin的性能。換句話說,這個可以用英偉達(dá)Orin來實現(xiàn),具備落地的可能性。
有一點需要指出,找尋停車位目前最佳或主要傳感器仍然是超聲波,視覺還是不如超聲波雷達(dá),因此論文中省略了車位尋找這一過程,論文應(yīng)該是使用了AUTOWARE開源無人駕駛系統(tǒng),這是日本名古屋大學(xué)開發(fā)的基于ROS2的開源無人駕駛系統(tǒng),主要用于科研。其中導(dǎo)航和可視化模塊是RVIZ。論文直接用RVIZ模塊選定車位。
使用端到端神經(jīng)網(wǎng)絡(luò)Nθ來模仿專家軌跡進(jìn)行訓(xùn)練,定義數(shù)據(jù)集為:
軌跡索引 i∈[1,M],軌跡點索引 j∈[1,Ni],相機索引 k∈[1,R],RGB圖像 I,軌跡點 P 和目標(biāo)停車位 S。重新組織數(shù)據(jù)集為:
和
其中 Q 表示預(yù)測軌跡點的長度,R 表示 RGB 相機的數(shù)量。端到端網(wǎng)絡(luò)的優(yōu)化目標(biāo)如下:
其中 L 表示損失函數(shù)。
以 RGB 圖像和目標(biāo)停車位作為輸入。所提出的神經(jīng)網(wǎng)絡(luò)包括兩個主要部分:輸入編碼器和自回歸軌跡解碼器。通過輸入 RGB 圖像和目標(biāo)停車位,將 RGB 圖像轉(zhuǎn)換為 BEV 特征。然后,神經(jīng)網(wǎng)絡(luò)將 BEV 特征與目標(biāo)停車位融合,并使用 Transformer 解碼器以自回歸方式生成下一個軌跡點。
多視角 RGB 圖像被處理,圖像特征被轉(zhuǎn)換為 BEV(鳥瞰圖)表示形式。使用目標(biāo)停車位生成 BEV 目標(biāo)特征,通過目標(biāo)查詢將目標(biāo)特征和圖像 BEV 特征融合,然后使用自回歸的 Transformer 解碼器逐個獲得預(yù)測的軌跡點。
在 BEV 視圖下對輸入進(jìn)行編碼。BEV 表示提供了車輛周圍環(huán)境的俯視圖,允許自車檢測停車位、障礙物和標(biāo)記。同時,BEV 視圖提供了不同駕駛視角下一致的視點表示,從而簡化了軌跡預(yù)測的復(fù)雜性。
相機編碼器:在 BEV 生成流程的開始,骨干網(wǎng)使用 EfficientNet 從 RGB 輸入中提取圖像特征
各個尺寸EfficientNet性能對比
上圖是各個尺寸EfficientNet性能對比,最高性能是6600萬參數(shù),準(zhǔn)確率84.3%,不過1200萬參數(shù)也達(dá)到了81.6%,這也說明CNN并不適合Scaling Law,此外CNN模型參數(shù)少,并不意味著計算量就一定低。
LSS算法
受英偉達(dá)LSS啟發(fā),學(xué)習(xí)圖像特征的深度分布,LSS是英偉達(dá)2020年提出的一種經(jīng)典的自下而上的構(gòu)建BEV特征的3D目標(biāo)檢測算法,通過將圖像特征反投影到3D空間生成偽視錐點云,通過EfficientNet算法提取云點的深度特征和圖像特征并對深度信息進(jìn)行估計,最終將點云特征轉(zhuǎn)換到BEV空間下進(jìn)行特征融合和后續(xù)的語義分割任務(wù)。也是國內(nèi)最常見的BEV算法,典型代表就是地平線。
并將每個像素提升到 3D 空間。
然后,將預(yù)測的深度分布ddep與圖像特征Fimg相乘,以獲得具有深度信息的圖像特征。通過相機的外部和內(nèi)部參數(shù),將圖像特征投影到 BEV 體素網(wǎng)格中,生成相機特征。
為了將目標(biāo)停車位與相機特征 Fcam 對齊,根據(jù)指定的停車位位置在 BEV 空間生成目標(biāo)熱圖作為目標(biāo)編碼器的輸入。隨后,使用深度 CNN 神經(jīng)網(wǎng)絡(luò)提取目標(biāo)停車位特征 Ftarget 以獲得與 Fcam相同的維度。在訓(xùn)練期間,目標(biāo)停車位由人類駕駛軌跡的終點確定。通過在 BEV 空間對齊相機特征 Fcam和目標(biāo)編碼特征 Ftarget ,并使用目標(biāo)特征通過交叉注意力機制查詢相機特征,可以有效地融合兩種模態(tài)。位置編碼確保了在將特定 BEV 位置的特征關(guān)聯(lián)時,相機特征和目標(biāo)特征之間的空間對應(yīng)關(guān)系得以保持。使用 Ftarget 作為查詢,相機特征 Fcam 作為Key和Value,并采用注意力機制,獲得融合特征 Ffuse。
編碼器方面,軌跡序列化將軌跡點表示為離散標(biāo)記。通過序列化軌跡點,位置回歸可以轉(zhuǎn)換為標(biāo)記預(yù)測。隨后利用 Transformer 解碼器以自回歸方式預(yù)測軌跡。BEV 特征作為Key和Value,而序列化序列作為查詢,使用 Transformer 解碼器以自回歸方式生成軌跡點。在訓(xùn)練期間,在序列點中添加位置嵌入,并通過掩碼未知信息來實現(xiàn)并行化。在推理過程中,給定 BOS 做開始標(biāo)記,然后 Transformer 解碼器按順序預(yù)測后續(xù)點。然后將預(yù)測的點追加到序列中,重復(fù)此過程直到遇到 EOS終止標(biāo)記或達(dá)到指定的預(yù)測點數(shù)。
控制過程中,以 t0 表示停車開始時刻,使用端到端神經(jīng)規(guī)劃器基于當(dāng)前時刻 t0 到當(dāng)前時刻 t 的相對姿態(tài) egot0→t 來預(yù)測路徑 Tt0=Nθ′(It0,S)。目標(biāo)轉(zhuǎn)向角 Atar可以通過后輪反饋(RWF)方法獲得,表達(dá)式如下:
根據(jù)來自底盤的速度反饋 Vfeed 和轉(zhuǎn)向反饋 Afeed,以及設(shè)置的目標(biāo)速度 Vtar 和計算出的目標(biāo)轉(zhuǎn)向 Atar,使用級聯(lián) PID 控制器實現(xiàn)橫向和縱向控制。生成新的預(yù)測軌跡后,Tt0 和 egot0→t被重置,消除了在整個車輛控制過程中依賴全局定位的必要性。
作者設(shè)置了四種不同類型的停車場作為測試和訓(xùn)練,有室內(nèi),有全開放,有兩側(cè)和單側(cè)。
通過在RViz界面軟件中使用“2D-Nav-Goal”來選擇目標(biāo)停車位,如上圖,每次只能選一個??縄MU獲取起始位姿,將以起始點為原點的世界坐標(biāo)轉(zhuǎn)化為車輛坐標(biāo)。模型接收來自環(huán)視攝像頭的當(dāng)前圖像和目標(biāo)停車位,以自回歸方式預(yù)測后續(xù)n個軌跡點的位置。將預(yù)測的軌跡序列發(fā)布到 RViz 進(jìn)行可視化顯示,讓用戶更直觀看到泊車過程,為用戶增加信心??刂破鞲鶕?jù)路徑規(guī)劃結(jié)果、自車姿態(tài)和反饋信號來操控車輛,將車輛停放到指定的停車位中。值得注意的是,目標(biāo)點和預(yù)測軌跡點的坐標(biāo)在車輛坐標(biāo)系中表示,確保軌跡序列和BEV特征在一致的坐標(biāo)基礎(chǔ)上表達(dá)。這種設(shè)計還使整個系統(tǒng)獨立于全局坐標(biāo)系。
關(guān)于神經(jīng)網(wǎng)絡(luò)的細(xì)節(jié),BEV特征的大小為200×200,對應(yīng)實際空間范圍x∈[?10m, 10m], y∈[?10m, 10m],分辨率為0.1米。在Transformer解碼器中,軌跡序列化的最大值Nt為1200。軌跡解碼器生成長度為30的預(yù)測序列,實現(xiàn)了推理精度和速度的最佳平衡。使用PyTorch框架,神經(jīng)網(wǎng)絡(luò)在NVIDIA GeForce RTX 4090 GPU上訓(xùn)練,batch size為16,總共訓(xùn)練時間約為8小時,使用了40,000幀數(shù)據(jù)。測試數(shù)據(jù)包括大約5,000幀。
測試結(jié)果如上,L2距離(L2 Dis.)指的是預(yù)測軌跡和真實軌跡航點之間的平均歐幾里得距離。這個指標(biāo)評估模型推理的精確度和準(zhǔn)確性。Hausdorff距離(Haus. Dis.)指的是兩個點集之間的最小距離的最大值。這個指標(biāo)從點集的角度評估預(yù)測軌跡與真實軌跡的匹配程度。傅里葉描述符差異(Four. Diff.)可以用來測量軌跡之間的差異,值越低表示軌跡之間的差異越小。這個指標(biāo)使用一定數(shù)量的傅里葉描述符將實際和預(yù)測軌跡表示為向量。
停車成功率(PSR)描述的是自車成功停放在目標(biāo)停車位的概率。
無車位率(NSR)未能在指定停車位停放的失敗率。
停車違規(guī)率(PVR)指的是車輛輕微超出指定停車位但沒有阻礙或妨礙相鄰?fù)\囄坏那闆r。
平均位置誤差(APE)是自車成功停放時目標(biāo)停車位置與自車停止位置之間的平均距離。
平均方向誤差(AOE)是自車成功停放時目標(biāo)停車方向與自車停止方向之間的平均差異。
平均停車得分(APS)是通過綜合評估停車過程中的位置誤差、方向誤差和成功率來計算的。得分在0到100之間分布。
這個試驗有個缺點,那就是停車位的尋找可能會影響自動泊車。在RViz上,停車位只是一個坐標(biāo)點。但在真實場景中,停車位可能不是一個清晰的坐標(biāo)點,超聲波雷達(dá)或視覺找到停車位,需要確定幾何中心為關(guān)鍵坐標(biāo)點,這個需要全局定位。而這種端到端自動泊車似乎很難做全局定位,特別是地下停車場。
端到端和傳統(tǒng)算法比,地下停車場和雙側(cè)停車場仍然是難點,違規(guī)率超過了50%,這完全無法接受,這也表明純粹端到端很難應(yīng)用,必須添加人工規(guī)則,單側(cè)停車場表現(xiàn)還不錯。純粹從算力和存儲帶寬看,自動泊車領(lǐng)域用端到端沒有難度。
免責(zé)說明:本文觀點和數(shù)據(jù)僅供參考,和實際情況可能存在偏差。本文不構(gòu)成投資建議,文中所有觀點、數(shù)據(jù)僅代表筆者立場,不具有任何指導(dǎo)、投資和決策意見。