首頁  >  文章  >  科技週邊  >  自動駕駛與軌跡預測看這篇就夠了!

自動駕駛與軌跡預測看這篇就夠了!

WBOY
WBOY轉載
2024-02-28 19:20:03925瀏覽

軌跡預測在自動駕駛中承擔著重要的角色,自動駕駛軌跡預測是指透過分析車輛行駛過程中的各種數據,預測車輛未來的行駛軌跡。作為自動駕駛的核心模組,軌跡預測的品質對於下游的規劃控制至關重要。軌跡預測任務技術堆疊豐富,需熟悉自動駕駛動/靜態感知、高精地圖、車道線、神經網路架構(CNN&GNN&Transformer)技能等,入門難度很高!許多粉絲期望能夠盡快上手軌跡預測,少踩坑,今天就為大家盤點下軌跡預測常見的一些問題和入門學習方法!

入門相關知識

1.預習的論文有沒有切入順序?

A:先看survey,problem formulation, deep learning-based methods裡的sequential network,graph neural network和Evaluation。

2.行為預測是軌跡預測嗎

耦合和行為並不相同,耦合通常指目標車可能採取的動作,例如變換車道、停車、超車、加速、左轉、右轉或直行。而軌跡則指具有時間資訊的具體未來位置點。

3.請問Argoverse資料集裡提到的資料組成中,labels and targets指的是什麼呢? labels是指要預測時間段內的ground truth嗎

在右邊的表格中,OBJECT_TYPE欄通常代表自動駕駛車輛本身。資料集通常為每個場景指定一個或多個待預測的障礙物,並將這些待預測目標稱為target或focal agent。有些資料集也會為每個障礙物提供語義標籤,例如車輛、行人或自行車等。

Q2:車輛和行人的資料形式是一樣的嗎?我的意思是說,例如一個點雲點代表行人,幾十點代表車輛?

A:這種軌跡資料集裡面其實給的都是物體中心點的xyz座標,行人和車輛都是

Q3:argo1和argo2的資料集都是只指定了一個被預測的障礙物吧?那在做multi-agent prediction的時候 這兩個資料集是怎麼用的

argo1只指定了一個障礙物,而argo2卻可能指定了多達二十個。然而,即使只指定了一個障礙物,這並不會影響您模型的能力來預測多個障礙物。

4.路徑規劃一般考慮低速與靜態障礙物  軌跡預測結合的功能是? ?關鍵snapshot?

A:」預測「自車軌跡當成自車規劃軌跡,可以參考uniad

5.軌跡預測對於車輛動力學模型的要求高嗎?就是需要數學和汽車理論等來建立一個精準的車輛動力學模型麼?

A:nn網路基本上不需要哈,rule based的需要懂一些

6. 模糊的新手小白,應該從哪裡在著手拓寬一下知識面(還不會代碼撰寫)

A:先看綜述,把心智圖整理出來,例如《Machine Learning for Autonomous Vehicle's Trajectory Prediction: A comprehensive survey, Challenges, and Future Research Directions》這篇綜述去看看英文原文

7.預測與決策啥關係捏,為啥我覺得好像預測沒那麼重要?

A1(stu): 默认预测属于感知吧,或者决策中隐含预测,反正没有预测不行。A2(stu): 决策该规控做,有行为规划,高级一点的就是做交互和博弈,有的公司会有单独的交互博弈组

8.目前頭公司,一般預測是屬於感知大模組還是規控大模組?

A:預測是出他車軌跡,規控是出自車軌跡,這兩個軌跡還互相影響,所以預測一般放規控。

Q: 一些公開的資料,例如小鵬的感知xnet會同時出預測軌跡,這時候又感覺預測的工作是放在感知大模組下,還是說兩個模組都有自己的預測模組,目標不一樣?

A:是會互相影響,所以有的地方預測和決策就是一組。例如自車規劃的軌跡意圖去擠別的車,他車一般狀況是會讓道的。所以有些工作會把自車的規劃當成他車模型輸入的一部分。可以參考下M2I(M2I: From Factored Marginal Trajectory Prediction to Interactive Prediction). 這篇思路差不多,可以了解 PiP: Planning-informed Trajectory Prediction for Autonomous Driving

#9.argoverse的這種車道中線地圖,在路口裡面沒有車道線的地方是怎麼得到的呀?

A: 人工標註的

10.用軌跡預測寫論文的話,哪篇論文的程式碼可以做baseline?

A: hivt可以做baseline,蠻多人用的

11.現在軌跡預測基本上都依賴地圖,如果換一個新的地圖環境,原模型是否就不適用了,要重新訓練嗎?

A: 有一定的泛化能力,不需要重新訓練效果也還行

12.對多模態輸出而言,選擇最佳軌跡的時候是根據機率值最大的選嗎

A(stu): 选择结果最好的Q2:结果最好是根据什么来判定呢?是根据概率值大小还是根据和gt的距离A: 实际在没有ground truth的情况下,你要取“最好”的轨迹,那只能选择相信预测概率值最大的那条轨迹了Q3: 那有gt的情况下,选择最好轨迹的时候,根据和gt之间的end point或者average都可以是吗A: 嗯嗯,看指标咋定义

軌跡預測基礎模組

1.Argoverse資料集裡HD-Map怎麼用,能結合motion forecast作為輸入,建立駕駛場景圖嗎,異構圖又怎麼理解?

A:這個課程裡都有講的,可以參考第二章,後續的第四章也會講.  異構圖和同構圖的區別:同構圖中,node的種類只有一種,一個node和另一個node的連結關係只有一種,例如在社交網絡中,可以想像node只有'人'這一個種類,edge只有'認識'這一種連結。而人和人要嘛認識,要嘛不認識。但也可能細分有人,按讚,推文。則人和人可能透過認識連接,人和推文可能透過按讚連接,人和人也可能透過按讚同一篇推文連接(meta path)。這裡節點、節點之間關係的多樣性表現就需要引入異構圖了。異構圖中,有很多種node。 node之間也有很多種連結關係(edge),這些連結關係的組合則種類更多(meta-path), 而這些node之間的關係有輕重之分,不同連結關係也有輕重之分。

2.A-A互動考慮的是哪些車輛與被預測車輛的互動呢?

A:可以選擇一定半徑範圍內的車,也可以考慮K近鄰的車,你甚至可以自己提出更高級的啟發式鄰居篩選策略,甚至有可能可以讓模型自己學出來兩輛車是否是鄰居

Q2:還是考慮一定範圍內的吧,那半徑大小有什麼選取的原則嗎?另外,選取的這些車輛是在哪個時間步下的呢

A:半徑的選擇很難有標準答案,這本質上就是在問模型做預測的時候到底需要多遠程的信息,有點像在選擇卷積核的大小對於第二個問題,我個人的準則是,想要建模哪個時刻下物體之間的交互,就根據哪個時刻下的物體相對位置來選取鄰居

Q3:這樣的話對於歷史時域都要建模嗎?不同時間步下在一定範圍內的周邊車輛也會變化吧,還是說只考慮在當前時刻的周邊車輛資訊

A:都行啊,看你模型怎麼設計

3.老師uniad端對端模型中預測部分有何缺陷啊?

A:只看它motion former的操作比較常規,你在很多論文裡都會看到類似的SA和CA。現在sota的模型很多都比較重,例如decoder會有循環的refine

A2:做的是marginal prediction不是joint prediction;2. prediction和planning是分開來做的,沒有明確考慮ego和周圍agent的互動博弈;3.用的是scene-centric representation,沒有考慮對稱性,效果必拉

Q2:啥是marginal prediction啊

#A:具體可以參考scene transformer

Q3:關於第三點,scene centric沒有考慮對稱性,怎麼理解呢

#A:建議看HiVT, QCNet, MTR .當然對於端到端模型來說對稱性的設計也不好做就是了

A2:可以理解成輸入的是scene的數據,但在網路裡會建模成以每個目標為中心視角去看它週邊的scene,這樣你就在forward裡得到了每個目標以它自己為中心的編碼,後續可以再考慮這些編碼間的交互

自動駕駛與軌跡預測看這篇就夠了!

4. 什麼是以agent為中心?

A:每個agent有自己的local region,local region是以這個agent為中心

5.軌跡預測裡yaw和heading是混用的嗎

自動駕駛與軌跡預測看這篇就夠了!

A:可以理解為車頭朝向

6.argoverse地圖中的has_traffic_control這個屬性具體代表什麼意思?

A:其實我也不知道我理解的對不對,我猜是指某個lane是否被紅綠燈/stop sign/限速標誌等所影響

7.請問Laplace loss和huber loss 對於軌跡預測所存在的優劣勢在哪裡呢?如果我只預測一條車道線的話

A:兩個都試一下,哪個效果好哪個就有優勢。 Laplace loss要效果好還是有些細節要注意的

Q2:是指參數要調的好嗎

A:Laplace loss相比L1 loss其實就是多預測了一個scale參數

Q3:對的但似乎這個我不知道有啥用如果只預測一個軌跡的話。感覺像是多餘的。我把它理解為不確定性 不知道是否正確

A:如果你从零推导过最小二乘法就会知道,MSE其实是假设了方差为常数的高斯分布的NLL。同理,L1 loss也是假设了方差为常数的Laplace分布的NLL。所以说LaplaceNLL也可以理解为方差非定值的L1 loss。这个方差是模型自己预测出来的。为了使loss更低,模型会给那些拟合得不太好的样本一个比较大的方差,而给拟合得好的样本比较小的方差

Q4:那是不是可以理解为对于非常随机的数据集【轨迹数据存在缺帧 抖动】 就不太适合Laplace 因为模型需要去拟合这个方差?需要数据集质量比较高

A:这个说法我觉得不一定成立。从效果上来看,会鼓励模型优先学习比较容易拟合的样本,再去学习难学习的样本

Q5:还想请问下这句话(Laplace loss要效果好还是有些细节要注意的)如何理解 A:主要是预测scale那里。在模型上,预测location的分支和预测scale的分支要尽量解耦,不要让他们相互干扰。预测scale的分支要保证输出结果>0,一般人会用exp作为激活函数保证非负,但是我发现用ELU +1会更好。然后其实scale的下界最好不要是0,最好让scale>0.01或者>0.1啥的。以上都是个人看法。其实我开源的代码(周梓康大佬的github开源代码)里都有这些细节,不过可能大家不一定注意到。

给出链接:https://github.com/ZikangZhou/QCNet

https://github.com/ZikangZhou/HiVT

8. 有拿VAE做轨迹预测的吗,给个链接!

https://github.com/L1aoXingyu/pytorch-beginner/tree/master/08-AutoEncoder

9. 请问大伙一个问题,就是Polyline到底是啥?另外说polyline由向量Vector组成,这些Vector是相当于节点吗?

A:Polyline就是折线,折线就是一段一段的,每一段都可以看成是一段向量Q2:请问这个折线段和图神经网络的节点之间的边有关系吗?或者说Polyline这个折现向量相当于是图神经网络当中的节点还是边呀?A:一根折线可以理解为一个节点。轨迹预测里面没有明确定义的边,边如何定义取决于你怎么理解这个问题。Q3: VectorNet里面有很多个子图,每个子图下面有很多个Polyline,把Polyline当做向量的话,就相当于把Polyline这个节点变成了向量,相当于将节点进行特征向量化对吗?然后Polyline里面有多个Vector向量,就是相当于是构成这个节点的特征矩阵么?A: 一个地图里有很多条polyline;一个Polyline就是一个子图;一个polyline由很多段比较短的向量组成,每一段向量都是子图上的一个节点

10. 有的论文,像multipath++对于地图两个点就作为一个单元,有的像vectornet是一条线作为一个单元,这两种有什么区别吗?

A: 节点的粒度不同,要说效果的话那得看具体实现;速度的话,显然粒度越粗效率越高Q2:从效果角度看,什么时候选用哪种有没有什么原则?A: 没有原则,都可以尝试

11.有什麼可以判斷score的平滑性嗎? 如果一定要做的話

A: 這個需要你輸入是流動的輸入例如0-19和1-20幀接著比較兩幀之間的對應軌跡的score的差的平方,統計下就可以了

Q2: Thomas老師有哪些指標推薦呢,我目前用一階導數和二階導數。但好像不是很明顯,絕大多數一階導和二階導都集中在0附近。

A: 我感覺連續影格的對應軌跡的score的差值平方就可以了呀,例如你有連續n個輸入,求和再除以n。但是scene是即時變化的,發生互動或從非路口到路口的時候score就應該是突變的

12.hivt裡的軌跡沒有進行縮放嗎,就比如×0.01 10這種。分佈盡量在0附近。我看有的方法就用了,有的方法就沒有。取捨該如何界定?

A:就是把資料標準化歸一化唄。可能有點用 但應該不多

13.HiVT裡地圖的類別屬性經過embedding之後為什麼和數值屬性是相加的,而不是concat?

A:相加和concat區別不大,而對於類別embedding和數值embedding融合來說,實際上完全等價

Q2: 完全等價應該怎麼理解?

A: 兩者Concat之後再過一層線性層,實際上等價於把數值embedding過一層線性層以及把類別embedding過一層線性層後,兩者再相加起來.把類別embedding過一層線性層其實沒啥意義,理論上這一層線性層可以跟nn.Embeddding裡面的參數融合起來

14.作為用戶可能更關心的是,HiVT如果要實際部署的話,最小的硬體需求是多少?

A:我不知道,但根據我了解到的信息,不知道是NV還是哪家車廠是拿HiVT來預測行人的,所以實際部署肯定是可行的

15. 基於occupancy network的預測有什麼特別嗎?有沒有論文推薦?

A:目前基於occupancy的未來預測的方案裡面最有前途的應該是這個:https://arxiv.org/abs/2308.01471

#16.考慮規劃軌跡的預測有什麼論文推薦嗎?就是預測其他障礙物的時候,考慮自車的規劃軌跡?

A:這個可能公開的資料集比較困難,一般不會提供自車的規劃軌跡。上古時期有一篇叫做PiP的,港科Haoran Song。我感覺那種做conditional prediction的文章都可以算是你想要的,例如M2I

#17.有沒有適合預測演算法進行效能測試的模擬專案可以學習參考的呢

A(stu):這篇論文有討論:Choose Your Simulator Wisely A Review on Open-source Simulators for Autonomous Driving

18.請問如何估計GPU顯存需要多大,如果使用Argoverse資料集的話,怎麼算

A:和怎麼用有關係,之前跑hivt我1070都可以,現在一般電腦應該都可以

原文連結:https:/ /mp.weixin.qq.com/s/EEkr8g4w0s2zhS_jmczUiA

以上是自動駕駛與軌跡預測看這篇就夠了!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除