軌跡預測在自動駕駛中承擔著重要的角色,自動駕駛軌跡預測是指透過分析車輛行駛過程中的各種數據,預測車輛未來的行駛軌跡。作為自動駕駛的核心模組,軌跡預測的品質對於下游的規劃控制至關重要。軌跡預測任務技術堆疊豐富,需熟悉自動駕駛動/靜態感知、高精地圖、車道線、神經網路架構(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中文網其他相關文章!

介紹 恭喜!您經營一家成功的業務。通過您的網頁,社交媒體活動,網絡研討會,會議,免費資源和其他來源,您每天收集5000個電子郵件ID。下一個明顯的步驟是

介紹 在當今快節奏的軟件開發環境中,確保最佳應用程序性能至關重要。監視實時指標,例如響應時間,錯誤率和資源利用率可以幫助MAIN

“您有幾個用戶?”他扮演。 阿爾特曼回答說:“我認為我們上次說的是每週5億個活躍者,而且它正在迅速增長。” “你告訴我,就像在短短幾週內翻了一番,”安德森繼續說道。 “我說那個私人

介紹 Mistral發布了其第一個多模式模型,即Pixtral-12b-2409。該模型建立在Mistral的120億參數Nemo 12B之上。是什麼設置了該模型?現在可以拍攝圖像和Tex

想像一下,擁有一個由AI驅動的助手,不僅可以響應您的查詢,還可以自主收集信息,執行任務甚至處理多種類型的數據(TEXT,圖像和代碼)。聽起來有未來派?在這個a


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。