自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自動(dòng)駕駛與軌跡預(yù)測(cè)看這一篇就夠了!

人工智能 新聞
作為自動(dòng)駕駛的核心模塊,軌跡預(yù)測(cè)的質(zhì)量對(duì)于下游的規(guī)劃控制至關(guān)重要。軌跡預(yù)測(cè)任務(wù)技術(shù)棧豐富,需要熟悉自動(dòng)駕駛動(dòng)/靜態(tài)感知、高精地圖、車道線、神經(jīng)網(wǎng)絡(luò)架構(gòu)(CNN&GNN&Transformer)技能等,入門難度很大!

本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

軌跡預(yù)測(cè)在自動(dòng)駕駛中承擔(dān)著重要的角色,自動(dòng)駕駛軌跡預(yù)測(cè)是指通過(guò)分析車輛行駛過(guò)程中的各種數(shù)據(jù),預(yù)測(cè)車輛未來(lái)的行駛軌跡。作為自動(dòng)駕駛的核心模塊,軌跡預(yù)測(cè)的質(zhì)量對(duì)于下游的規(guī)劃控制至關(guān)重要。軌跡預(yù)測(cè)任務(wù)技術(shù)棧豐富,需要熟悉自動(dòng)駕駛動(dòng)/靜態(tài)感知、高精地圖、車道線、神經(jīng)網(wǎng)絡(luò)架構(gòu)(CNN&GNN&Transformer)技能等,入門難度很大!很多粉絲期望能夠盡快上手軌跡預(yù)測(cè),少踩坑,今天就為大家盤點(diǎn)下軌跡預(yù)測(cè)常見的一些問(wèn)題和入門學(xué)習(xí)方法!

入門相關(guān)知識(shí)

1.預(yù)習(xí)的論文有沒(méi)有切入順序?

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

2.行為預(yù)測(cè)是軌跡預(yù)測(cè)嗎

A:是耦合的,但不一樣。行為一般指目標(biāo)車未來(lái)會(huì)采取什么動(dòng)作,變道停車超車加速左右轉(zhuǎn)直行等等。軌跡的話就是具體的具有時(shí)間信息的未來(lái)可能的位置點(diǎn)

3.請(qǐng)問(wèn)Argoverse數(shù)據(jù)集里提到的數(shù)據(jù)組成中,labels and targets指的是什么呢?labels是指要預(yù)測(cè)時(shí)間段內(nèi)的ground truth嗎

A:我猜這里想說(shuō)的是右邊表格里的OBJECT_TYPE那一列。AV代表自動(dòng)駕駛車自己,然后數(shù)據(jù)集往往會(huì)給每個(gè)場(chǎng)景指定一個(gè)或多個(gè)待預(yù)測(cè)的障礙物,一般會(huì)叫這些待預(yù)測(cè)的目標(biāo)為target或者focal agent。某些數(shù)據(jù)集還會(huì)給出每個(gè)障礙物的語(yǔ)義標(biāo)簽,比如是車輛、行人還是自行車等。

Q2:車輛和行人的數(shù)據(jù)形式是一樣的嗎?我的意思是說(shuō),比如一個(gè)點(diǎn)云點(diǎn)代表行人,幾十個(gè)點(diǎn)代表車輛?

A:這種軌跡數(shù)據(jù)集里面其實(shí)給的都是物體中心點(diǎn)的xyz坐標(biāo),行人和車輛都是

Q3:argo1和argo2的數(shù)據(jù)集都是只指定了一個(gè)被預(yù)測(cè)的障礙物吧?那在做multi-agent prediction的時(shí)候 這兩個(gè)數(shù)據(jù)集是怎么用的

A:argo1是只指定了一個(gè),argo2其實(shí)指定了多個(gè),最多可能有二十來(lái)個(gè)的樣子。但是只指定一個(gè)并不妨礙你自己的模型預(yù)測(cè)多個(gè)障礙物。

4.路徑規(guī)劃一般考慮低速和靜態(tài)障礙物  軌跡預(yù)測(cè)結(jié)合的作用是??關(guān)鍵snapshot?

A:”預(yù)測(cè)“自車軌跡當(dāng)成自車規(guī)劃軌跡,可以參考uniad

5.軌跡預(yù)測(cè)對(duì)于車輛動(dòng)力學(xué)模型的要求高嗎?就是需要數(shù)學(xué)和汽車?yán)碚摰葋?lái)建立一個(gè)精準(zhǔn)的車輛動(dòng)力學(xué)模型么?

A:nn網(wǎng)絡(luò)基本不需要哈,rule based的需要懂一些

6. 模模糊糊的新手小白,應(yīng)該從哪里在著手拓寬一下知識(shí)面(還不會(huì)代碼撰寫)

A:先看綜述,把思維導(dǎo)圖整理出來(lái),例如《Machine Learning for Autonomous Vehicle's Trajectory Prediction: A comprehensive survey, Challenges, and Future Research Directions》這篇綜述去看看英文原文

7.預(yù)測(cè)和決策啥關(guān)系捏,為啥我覺(jué)得好像預(yù)測(cè)沒(méi)那么重要?

A1(stu): 默認(rèn)預(yù)測(cè)屬于感知吧,或者決策中隱含預(yù)測(cè),反正沒(méi)有預(yù)測(cè)不行。
A2(stu): 決策該規(guī)控做,有行為規(guī)劃,高級(jí)一點(diǎn)的就是做交互和博弈,有的公司會(huì)有單獨(dú)的交互博弈組

8.目前頭部公司,一般預(yù)測(cè)是屬于感知大模塊還是規(guī)控大模塊?

A:預(yù)測(cè)是出他車軌跡,規(guī)控是出自車軌跡,這倆軌跡還互相影響,所以預(yù)測(cè)一般放規(guī)控。

Q: 一些公開的資料,比如小鵬的感知xnet會(huì)同時(shí)出預(yù)測(cè)軌跡,這時(shí)候又感覺(jué)預(yù)測(cè)的工作是放在感知大模塊下,還是說(shuō)兩個(gè)模塊都有自己的預(yù)測(cè)模塊,目標(biāo)不一樣?

A:是會(huì)相互影響,所以有的地方預(yù)測(cè)和決策就是一個(gè)組。比如自車規(guī)劃的軌跡意圖去擠別的車,他車一般情況是會(huì)讓道的。所以有些工作會(huì)把自車的規(guī)劃當(dāng)成他車模型輸入的一部分??梢詤⒖枷翸2I(M2I: From Factored Marginal Trajectory Prediction to Interactive Prediction). 這篇思路差不多,可以了解  PiP: Planning-informed Trajectory Prediction for Autonomous Driving

9.argoverse的這種車道中線地圖,在路口里面沒(méi)有車道線的地方是怎么得到的呀?

A: 人工標(biāo)注的

10.用軌跡預(yù)測(cè)寫論文的話,哪篇論文的代碼可以做baseline?

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

11.現(xiàn)在軌跡預(yù)測(cè)基本都依賴地圖,如果換一個(gè)新的地圖環(huán)境,原模型是否就不適用了,要重新訓(xùn)練嗎?

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

12.對(duì)多模態(tài)輸出而言,選擇最佳軌跡的時(shí)候是根據(jù)概率值最大的選嗎

A(stu): 選擇結(jié)果最好的

Q2:結(jié)果最好是根據(jù)什么來(lái)判定呢?是根據(jù)概率值大小還是根據(jù)和gt的距離

A: 實(shí)際在沒(méi)有g(shù)round truth的情況下,你要取“最好”的軌跡,那只能選擇相信預(yù)測(cè)概率值最大的那條軌跡了

Q3: 那有g(shù)t的情況下,選擇最好軌跡的時(shí)候,根據(jù)和gt之間的end point或者average都可以是嗎

A: 嗯嗯,看指標(biāo)咋定義

軌跡預(yù)測(cè)基礎(chǔ)模塊

1.Argoverse數(shù)據(jù)集里HD-Map怎么用,能結(jié)合motion forecast作為輸入,構(gòu)建駕駛場(chǎng)景圖嗎,異構(gòu)圖又怎么理解?

A:這個(gè)課程里都有講的,可以參照第二章,后續(xù)的第四章也會(huì)講.  異構(gòu)圖和同構(gòu)圖的區(qū)別:同構(gòu)圖中,node的種類只有一種,一個(gè)node和另一個(gè)node的連接關(guān)系只有一種,例如在社交網(wǎng)絡(luò)中,可以想象node只有‘人’這一個(gè)種類,edge只有‘認(rèn)識(shí)’這一種連接。而人和人要么認(rèn)識(shí),要么不認(rèn)識(shí)。但是也可能細(xì)分有人,點(diǎn)贊,推文。則人和人可能通過(guò)認(rèn)識(shí)連接,人和推文可能通過(guò)點(diǎn)贊連接,人和人也可能通過(guò)點(diǎn)贊同一篇推文連接(meta path)。這里節(jié)點(diǎn)、節(jié)點(diǎn)之間關(guān)系的多樣性表達(dá)就需要引入異構(gòu)圖了。異構(gòu)圖中,有很多種node。node之間也有很多種連接關(guān)系(edge),這些連接關(guān)系的組合則種類更多(meta-path), 而這些node之間的關(guān)系有輕重之分,不同連接關(guān)系也有輕重之分。

2.A-A交互考慮的是哪些車輛與被預(yù)測(cè)車輛的交互呢?

A:可以選擇一定半徑范圍內(nèi)的車,也可以考慮K近鄰的車,你甚至可以自己提出更高級(jí)的啟發(fā)式鄰居篩選策略,甚至有可能可以讓模型自己學(xué)出來(lái)兩個(gè)車是否是鄰居

Q2:還是考慮一定范圍內(nèi)的吧,那半徑大小有什么選取的原則嗎?另外,選取的這些車輛是在哪個(gè)時(shí)間步下的呢

A:半徑的選擇很難有標(biāo)準(zhǔn)答案,這本質(zhì)上就是在問(wèn)模型做預(yù)測(cè)的時(shí)候到底需要多遠(yuǎn)程的信息,有點(diǎn)像在選擇卷積核的大小對(duì)于第二個(gè)問(wèn)題,我個(gè)人的準(zhǔn)則是,想要建模哪個(gè)時(shí)刻下物體之間的交互,就根據(jù)哪個(gè)時(shí)刻下的物體相對(duì)位置來(lái)選取鄰居

Q3:這樣的話對(duì)于歷史時(shí)域都要建模嗎?不同時(shí)間步下在一定范圍內(nèi)的周邊車輛也會(huì)變化吧,還是說(shuō)只考慮在當(dāng)前時(shí)刻的周邊車輛信息

A:都行啊,看你模型怎么設(shè)計(jì)

3.老師uniad端到端模型中預(yù)測(cè)部分存在什么缺陷啊?

A:只看它motion former的操作比較常規(guī),你在很多論文里都會(huì)看到類似的SA和CA?,F(xiàn)在sota的模型很多都比較重,比如decoder會(huì)有循環(huán)的refine

A2:做的是marginal prediction不是joint prediction;2. prediction和planning是分開來(lái)做的,沒(méi)有顯式考慮ego和周圍agent的交互博弈;3.用的是scene-centric representation,沒(méi)有考慮對(duì)稱性,效果必拉

Q2:啥是marginal prediction啊

A:具體可以參考scene transformer

Q3:關(guān)于第三點(diǎn),scene centric沒(méi)有考慮對(duì)稱性,怎么理解呢

A:建議看HiVT, QCNet, MTR++.當(dāng)然對(duì)于端到端模型來(lái)說(shuō)對(duì)稱性的設(shè)計(jì)也不好做就是了

A2:可以理解成輸入的是scene的數(shù)據(jù),但在網(wǎng)絡(luò)里會(huì)建模成以每個(gè)目標(biāo)為中心視角去看它周邊的scene,這樣你就在forward里得到了每個(gè)目標(biāo)以它自己為中心的編碼,后續(xù)可以再考慮這些編碼間的交互

4. 什么是以agent為中心?

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

5.軌跡預(yù)測(cè)里yaw和heading是混用的嗎

A:可以理解為車頭朝向

6.argoverse地圖中的has_traffic_control這個(gè)屬性具體代表什么意思?

A:其實(shí)我也不知道我理解的對(duì)不對(duì),我猜是指某個(gè)lane是否被紅綠燈/stop sign/限速標(biāo)志等所影響

7. 請(qǐng)問(wèn)Laplace loss和huber loss 對(duì)于軌跡預(yù)測(cè)而言所存在的優(yōu)劣勢(shì)在哪里呢?如果我只預(yù)測(cè)一條車道線的話

A:兩個(gè)都試一下,哪個(gè)效果好哪個(gè)就有優(yōu)勢(shì)。Laplace loss要效果好還是有些細(xì)節(jié)要注意的

Q2:是指參數(shù)要調(diào)的好嗎

A:Laplace loss相比L1 loss其實(shí)就是多預(yù)測(cè)了一個(gè)scale參數(shù)

Q3:對(duì)的 但似乎這個(gè)我不知道有啥用 如果只預(yù)測(cè)一個(gè)軌跡的話。感覺(jué)像是多余的。我把它理解為不確定性 不知道是否正確

A:如果你從零推導(dǎo)過(guò)最小二乘法就會(huì)知道,MSE其實(shí)是假設(shè)了方差為常數(shù)的高斯分布的NLL。同理,L1 loss也是假設(shè)了方差為常數(shù)的Laplace分布的NLL。所以說(shuō)LaplaceNLL也可以理解為方差非定值的L1 loss。這個(gè)方差是模型自己預(yù)測(cè)出來(lái)的。為了使loss更低,模型會(huì)給那些擬合得不太好的樣本一個(gè)比較大的方差,而給擬合得好的樣本比較小的方差

Q4:那是不是可以理解為對(duì)于非常隨機(jī)的數(shù)據(jù)集【軌跡數(shù)據(jù)存在缺幀 抖動(dòng)】 就不太適合Laplace 因?yàn)槟P托枰M合這個(gè)方差?需要數(shù)據(jù)集質(zhì)量比較高

A:這個(gè)說(shuō)法我覺(jué)得不一定成立。從效果上來(lái)看,會(huì)鼓勵(lì)模型優(yōu)先學(xué)習(xí)比較容易擬合的樣本,再去學(xué)習(xí)難學(xué)習(xí)的樣本

Q5:還想請(qǐng)問(wèn)下這句話(Laplace loss要效果好還是有些細(xì)節(jié)要注意的)如何理解 A:主要是預(yù)測(cè)scale那里。在模型上,預(yù)測(cè)location的分支和預(yù)測(cè)scale的分支要盡量解耦,不要讓他們相互干擾。預(yù)測(cè)scale的分支要保證輸出結(jié)果>0,一般人會(huì)用exp作為激活函數(shù)保證非負(fù),但是我發(fā)現(xiàn)用ELU +1會(huì)更好。然后其實(shí)scale的下界最好不要是0,最好讓scale>0.01或者>0.1啥的。以上都是個(gè)人看法。其實(shí)我開源的代碼(周梓康大佬的github開源代碼)里都有這些細(xì)節(jié),不過(guò)可能大家不一定注意到。

給出鏈接:https://github.com/ZikangZhou/QCNet

https://github.com/ZikangZhou/HiVT

8. 有拿VAE做軌跡預(yù)測(cè)的嗎,給個(gè)鏈接!

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

9. 請(qǐng)問(wèn)大伙一個(gè)問(wèn)題,就是Polyline到底是啥?另外說(shuō)polyline由向量Vector組成,這些Vector是相當(dāng)于節(jié)點(diǎn)嗎?

A:Polyline就是折線,折線就是一段一段的,每一段都可以看成是一段向量

Q2:請(qǐng)問(wèn)這個(gè)折線段和圖神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)之間的邊有關(guān)系嗎?或者說(shuō)Polyline這個(gè)折現(xiàn)向量相當(dāng)于是圖神經(jīng)網(wǎng)絡(luò)當(dāng)中的節(jié)點(diǎn)還是邊呀?

A:一根折線可以理解為一個(gè)節(jié)點(diǎn)。軌跡預(yù)測(cè)里面沒(méi)有明確定義的邊,邊如何定義取決于你怎么理解這個(gè)問(wèn)題。

Q3: VectorNet里面有很多個(gè)子圖,每個(gè)子圖下面有很多個(gè)Polyline,把Polyline當(dāng)做向量的話,就相當(dāng)于把Polyline這個(gè)節(jié)點(diǎn)變成了向量,相當(dāng)于將節(jié)點(diǎn)進(jìn)行特征向量化對(duì)嗎?然后Polyline里面有多個(gè)Vector向量,就是相當(dāng)于是構(gòu)成這個(gè)節(jié)點(diǎn)的特征矩陣么?

A: 一個(gè)地圖里有很多條polyline;一個(gè)Polyline就是一個(gè)子圖;一個(gè)polyline由很多段比較短的向量組成,每一段向量都是子圖上的一個(gè)節(jié)點(diǎn)

10. 有的論文,像multipath++對(duì)于地圖兩個(gè)點(diǎn)就作為一個(gè)單元,有的像vectornet是一條線作為一個(gè)單元,這兩種有什么區(qū)別嗎?

A: 節(jié)點(diǎn)的粒度不同,要說(shuō)效果的話那得看具體實(shí)現(xiàn);速度的話,顯然粒度越粗效率越高

Q2:從效果角度看,什么時(shí)候選用哪種有沒(méi)有什么原則?

A: 沒(méi)有原則,都可以嘗試

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

A: 這個(gè)需要你輸入是流動(dòng)的輸入比如0-19和1-20幀然后比較兩幀之間的對(duì)應(yīng)軌跡的score的差的平方,統(tǒng)計(jì)下就可以了

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

A: 我感覺(jué)連續(xù)幀的對(duì)應(yīng)軌跡的score的差值平方就可以了呀,比如你有連續(xù)n個(gè)輸入,求和再除以n。但是scene是實(shí)時(shí)變化的,發(fā)生交互或者從非路口到路口的時(shí)候score就應(yīng)該是突變的

12.hivt里的軌跡沒(méi)有進(jìn)行縮放嗎,就比如×0.01+10這種。分布盡可能在0附近。我看有的方法就就用了,有的方法就沒(méi)有。取舍該如何界定?

A:就是把數(shù)據(jù)標(biāo)準(zhǔn)化歸一化唄??赡苡悬c(diǎn)用 但應(yīng)該不多

13.HiVT里地圖的類別屬性經(jīng)過(guò)embedding之后為什么和數(shù)值屬性是相加的,而不是concat?

A:相加和concat區(qū)別不大,而對(duì)于類別embedding和數(shù)值embedding融合來(lái)說(shuō),實(shí)際上完全等價(jià)

Q2: 完全等價(jià)應(yīng)該怎么理解?

A: 兩者Concat之后再過(guò)一層線性層,實(shí)際上等價(jià)于把數(shù)值embedding過(guò)一層線性層以及把類別embedding過(guò)一層線性層后,兩者再相加起來(lái).把類別embedding過(guò)一層線性層其實(shí)沒(méi)啥意義,理論上這一層線性層可以跟nn.Embeddding里面的參數(shù)融合起來(lái)

14.作為用戶可能更關(guān)心的是,HiVT如果要實(shí)際部署的話,最小的硬件要求是多少?

A:我不知道,但根據(jù)我了解到的信息,不知道是NV還是哪家車廠是拿HiVT來(lái)預(yù)測(cè)行人的,所以實(shí)際部署肯定是可行的

15. 基于occupancy network的預(yù)測(cè)有什么特別嗎?有沒(méi)有論文推薦?

A:目前基于occupancy的未來(lái)預(yù)測(cè)的方案里面最有前途的應(yīng)該是這個(gè):https://arxiv.org/abs/2308.01471

16.考慮規(guī)劃軌跡的預(yù)測(cè)有什么論文推薦嗎?就是預(yù)測(cè)其他障礙物的時(shí)候,考慮自車的規(guī)劃軌跡?

A:這個(gè)可能公開的數(shù)據(jù)集比較困難,一般不會(huì)提供自車的規(guī)劃軌跡。上古時(shí)期有一篇叫做PiP的,港科Haoran Song。我感覺(jué)那種做conditional prediction的文章都可以算是你想要的,比如M2I

17.有沒(méi)有適合預(yù)測(cè)算法進(jìn)行性能測(cè)試的仿真項(xiàng)目可以學(xué)習(xí)參考的呢

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

18.請(qǐng)問(wèn)如何估計(jì)GPU顯存需要多大,如果使用Argoverse數(shù)據(jù)集的話,怎么算

A:和怎么用有關(guān)系,之前跑hivt我1070都可以,現(xiàn)在一般電腦應(yīng)該都可以

原文鏈接:https://mp.weixin.qq.com/s/EEkr8g4w0s2zhS_jmczUiA

責(zé)任編輯:張燕妮 來(lái)源: 自動(dòng)駕駛之心
相關(guān)推薦

2020-02-18 16:20:03

Redis ANSI C語(yǔ)言日志型

2023-02-10 09:04:27

2022-06-20 09:01:23

Git插件項(xiàng)目

2022-08-01 11:33:09

用戶分析標(biāo)簽策略

2021-04-08 07:37:39

隊(duì)列數(shù)據(jù)結(jié)構(gòu)算法

2023-09-11 08:13:03

分布式跟蹤工具

2019-09-05 08:14:44

Puppet部署結(jié)構(gòu)

2020-07-03 08:21:57

Java集合框架

2018-05-22 08:24:50

PythonPyMongoMongoDB

2023-10-17 08:15:28

API前后端分離

2024-09-23 08:00:00

消息隊(duì)列MQ分布式系統(tǒng)

2019-05-14 09:31:16

架構(gòu)整潔軟件編程范式

2017-03-11 22:19:09

深度學(xué)習(xí)

2022-04-07 10:39:21

反射Java安全

2023-11-18 09:30:42

模型AI

2022-07-06 12:07:06

Python函數(shù)式編程

2019-04-01 10:43:59

Linux問(wèn)題故障

2020-10-21 14:12:02

Single Sign

2022-05-19 08:28:19

索引數(shù)據(jù)庫(kù)

2023-11-06 07:21:13

內(nèi)存結(jié)構(gòu)Jvm
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)