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