PaperNotes(19)-Learning Lane Graph Representations for Motion Forecasting
Learning Lane Graph Representations for Motion Forecasting
- 1.ActorNet
- 2.MapNet
- 3.FusionNet
- 4.Prediction Header
- 5.模型參數(shù)學(xué)習(xí)
自動(dòng)駕駛論文閱讀筆記2
Uber–ECCV2020–論文文章代碼
模型的作用:Motion Forecasting (這個(gè)motion都包括什么呢?)
方法:模型由四個(gè)模塊組成–ActorNet、MapNet、FusionNet、Header
1.ActorNet
作用–編碼actor軌跡特征
軌跡表示–位移差
{Δp?(T?1),...,Δp?1,Δp0}\{\Delta p_{-(T-1)},...,\Delta p_{-1},\Delta p_{0}\}{Δp?(T?1)?,...,Δp?1?,Δp0?}
Δpt=(xt,yt)?(xt?1,yt?1)\Delta p_{t} = (x_t,y_t)-(x_{t-1},y_{t-1})Δpt?=(xt?,yt?)?(xt?1?,yt?1?)
長(zhǎng)度為T,不足T的padding 0,下面2xT的位移向量 拼接 1xT的padding標(biāo)志向量(1-表示該位置的位移是padding的)
ActorNet–3組1D卷積,每組包括兩個(gè)殘差塊;特征金字塔融合多尺度的特征(卷積 卷下去,上采樣,再和對(duì)應(yīng)的尺度疊加)
輸出-- The output of ActorNet is a temporal feature map,whose element at t = 0 is used as the actor feature.(不是很清楚這個(gè)時(shí)間序列是怎么回事?)
2.MapNet
作用–編碼地圖特征,主要是對(duì)車道的編碼
2.1 構(gòu)建lane Graph
a). lane node 特征xix_ixi?–編碼形狀(長(zhǎng)度方向),位置(空間坐標(biāo))信息,經(jīng)過(guò)全聯(lián)接層處理后,輸出lane node特征xix_ixi?;構(gòu)成結(jié)點(diǎn)特征矩陣XXX。
xi=MLPshape(viend?vistart)+MLPloc(vi)x_i=MLP_{shape}(v_i^{end}-v_i^{start})+MLP_{loc}(v_i)xi?=MLPshape?(viend??vistart?)+MLPloc?(vi?)
b).LaneConv 為了獲得lane graph大規(guī)模拓?fù)湫畔?#xff08;四個(gè)AiA_iAi?矩陣都用上)
Y=XW0+∑i∈{pre,suc,left,right}AiXWiY=XW_0+\sum_{i\in\{pre,suc,left,right\}}A_iXW_iY=XW0?+i∈{pre,suc,left,right}∑?Ai?XWi?
c).Dilated LaneConv 為了讓模型獲得車道線方向的長(zhǎng)時(shí)依賴關(guān)系(速度快的物體位移大,只用到ApreA_{pre}Apre?和AsucA_{suc}Asuc?)
Y=XW0+AprekXWpre,k+AsuckXWsuc,kY=XW_0 + A^k_{pre}XW_{pre,k} + A^k_{suc}XW_{suc,k}Y=XW0?+Aprek?XWpre,k?+Asuck?XWsuc,k?
d). LaneConv(k1,...,kc)LaneConv(k_1,...,k_c)LaneConv(k1?,...,kc?)=Dilated LaneConv + LaneConv - kck_ckc?為第ccc個(gè)dilation 尺寸
Y=XW0+∑i∈{left,right}AiXWi+∑c=1C(AprekcXWpre,kc+AsuckcXWsuc,kc)Y=XW_0+\sum_{i\in\{left,right\}}A_iXW_i + \sum_{c=1}^C(A^{k_c}_{pre}XW_{pre,k_c}+A^{k_c}_{suc}XW_{suc,k_c})Y=XW0?+i∈{left,right}∑?Ai?XWi?+c=1∑C?(Aprekc??XWpre,kc??+Asuckc??XWsuc,kc??)
2.2 LaneGCN操作
LaneConv(k1,...,kc)LaneConv(k_1,...,k_c)LaneConv(k1?,...,kc?) + Linear Layer 構(gòu)成殘差塊, 4個(gè)殘差塊堆疊,構(gòu)成LaneGCN。
注意點(diǎn):
每個(gè)結(jié)點(diǎn)與鄰居結(jié)點(diǎn)的連接關(guān)系,指明前后左右的結(jié)點(diǎn)。
a). 結(jié)點(diǎn)A的前驅(qū)結(jié)點(diǎn)、后續(xù)結(jié)點(diǎn):同一條車道線上,能夠到達(dá)A的結(jié)點(diǎn)和A能夠到達(dá)的結(jié)點(diǎn)
b).結(jié)點(diǎn)A的左鄰居結(jié)點(diǎn)、右鄰居結(jié)點(diǎn):鄰居車道線上空間距離l2l_2l2?最近的結(jié)點(diǎn)
對(duì)車道結(jié)點(diǎn)圖不采用廣泛使用的圖卷積L=D?12(I+A)D?12(1)L=D^{-\frac{1}{2}}(I+A)D^{-\frac{1}{2}}(1)L=D?21?(I+A)D?21?(1)更新隱狀態(tài)的原因:
a). 不知道結(jié)點(diǎn)特征會(huì)保存何種車道信息(可解釋性不強(qiáng)?)
b). 該拉普拉斯矩陣操作沒(méi)法獲取結(jié)點(diǎn)的連接關(guān)系信息(沒(méi)有對(duì)AiA_iAi?矩陣的操作,(1)式中的A為結(jié)點(diǎn)的鄰接矩陣,與AiA_iAi?內(nèi)涵不同)
c). 無(wú)法解決長(zhǎng)時(shí)依賴性的問(wèn)題
為了解決以上三個(gè)不足點(diǎn),作者提出了LaneConv Operator操作。
Dilated LaneConv 參考了dilated convolution,說(shuō)是能夠沿著車道線傳遞k步的信息。
3.FusionNet
利用空間注意力機(jī)制(spatial attention)(用于構(gòu)建A2L, L2A, A2A) 和LaneGCN(主要用來(lái)構(gòu)建L2L網(wǎng)絡(luò)的)融合actor結(jié)點(diǎn)和lane結(jié)點(diǎn)的信息,
四個(gè)信息融合模塊:
L2L 網(wǎng)絡(luò)結(jié)構(gòu)-結(jié)點(diǎn)特征更新時(shí)的LaneGAN結(jié)構(gòu)一致
A2L, L2A, A2A網(wǎng)絡(luò)結(jié)構(gòu)一致,采用空間注意力機(jī)制構(gòu)成殘差塊。
yi=xiW0+∑j?(concat(xj,Δi,j,xj)W1)W2y_i=x_iW_0 + \sum_j\phi(concat(x_j,\Delta_{i,j},x_j)W_1)W_2yi?=xi?W0?+j∑??(concat(xj?,Δi,j?,xj?)W1?)W2?
4.Prediction Header
Prediction Header包含兩路分支
回歸分支- 回歸每一個(gè)actor的k種模態(tài)(速度?path?)的預(yù)測(cè)軌跡,每一條軌跡包括T個(gè)時(shí)間步長(zhǎng),pm,1kp_{m,1}^kpm,1k?軌跡的二維特征。
Om,reg={(pm,1k,pm,2k,...,pm,Tk)}k∈[0,K?1]O_{m,reg}=\{(p_{m,1}^k,p_{m,2}^k,...,p_{m,T}^k)\}_{k\in[0,K-1]}Om,reg?={(pm,1k?,pm,2k?,...,pm,Tk?)}k∈[0,K?1]?
分類分支-計(jì)算每個(gè)actor k種模態(tài)的置信度, 輸入特征:actor 特征 拼接 預(yù)測(cè)軌跡的偏移 embeding-pm,Tk?pm,1kp_{m,T}^k-p_{m,1}^kpm,Tk??pm,1k?
5.模型參數(shù)學(xué)習(xí)
end-to-end 學(xué)些過(guò)程,總的損失函數(shù)=分類損失+回歸損失
L=Lcls+αLregL=L_{cls} + \alpha L_{reg}L=Lcls?+αLreg?
分類損失:置信系數(shù)的max-margin loss
Lcls=1M(K?1)∑m=1M∑k≠k^max?(0,cm,k+??cm,k^)L_{cls}=\frac{1}{M(K-1)}\sum_{m=1}^M\sum_{k\neq\hat{k}}\max(0, c_{m,k}+\epsilon-c_{m,\hat{k}})Lcls?=M(K?1)1?m=1∑M?k?=k^∑?max(0,cm,k?+??cm,k^?)
回歸損失:正預(yù)測(cè)軌跡,逐結(jié)點(diǎn)smoth l1 loss
Lreg=1MT∑m=1M∑t=1Treg(pm,tk^?pm,t?)L_{reg}=\frac{1}{MT}\sum_{m=1}^M\sum_{t=1}^Treg(p_{m,t}^{\hat{k}}-p_{m,t}^*)Lreg?=MT1?m=1∑M?t=1∑T?reg(pm,tk^??pm,t??)
注:正軌跡k^\hat{k}k^,在最后一個(gè)時(shí)間結(jié)點(diǎn)處擁有最小的偏移誤差。
參考博文:
1.ECCV2020介紹Uber在GNN-based motion forecasting的兩篇研究論文–還介紹了另一篇文章
2.2007-Learning Lane Graph Representations–提供代碼開源信息,贊!
3.文獻(xiàn)閱讀報(bào)告-Learning Lane Graph Representations for Motion Forecasting–有和VectorNet的比較。
總結(jié)
以上是生活随笔為你收集整理的PaperNotes(19)-Learning Lane Graph Representations for Motion Forecasting的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: scp免密码远程拷贝
- 下一篇: php-protobuf扩展和代码生成工