- 論文:《PolyLaneNet: Lane Estimation via Deep Polynomial Regression》
- 代碼:https://github.com/lucastabelini/PolyLaneNet
- 位址:https://arxiv.org/pdf/2004.10924.pdf
- 參考:https://blog.csdn.net/sinat_17456165/article/details/107171888
- 利用 CNN,基于三次曲線拟合車道線
模型的輸入與輸出
輸入
單張車輛前向圖
輸出
曲線參數 P j = { a k , j } k = 0 K \mathcal{P}_j=\{a_{k,j}\}^K_{k=0} Pj={ak,j}k=0K、地平線高度 h h h、車道線的存在性 c j c_j cj、車道線起始高度 s j s_j sj(見下圖)
其中,曲線參數确定了車道線的形狀:
p j ( y ) = Σ k = 0 K a k , j y k p_j(y)=\Sigma^K_{k=0}a_{k,j}y^k pj(y)=Σk=0Kak,jyk
模型結構
backbone + fully connected layer
f ( I ; θ ) = ( { P j , s j , c j } j = 1 M m a x , h ) f(I;\theta)=(\{\mathcal{P}_j,s_j,c_j\}^{M_{max}}_{j=1}, h) f(I;θ)=({Pj,sj,cj}j=1Mmax,h)
損失函數
L ( { P j } , h , { s j } , { c j } ) = W p L p ( { P j } , { L j ∗ } ) + W s 1 M Σ j L r e g ( s j , s j ∗ ) + W c 1 M Σ j L c l s ( c j , c j ∗ ) + W h L r e g ( h , h ∗ ) \begin{aligned} L(\{\mathcal{P}_j\},h,\{s_j\},\{c_j\})&=W_p L_p(\{\mathcal{P}_j\},\{\mathcal{L}^*_j\})\\&+W_s\frac{1}{M}\Sigma_j L_{reg}(s_j,s^*_j)\\&+W_c\frac{1}{M}\Sigma_j L_{cls}(c_j,c^*_j)\\&+W_h L_{reg}(h,h^*) \end{aligned} L({Pj},h,{sj},{cj})=WpLp({Pj},{Lj∗})+WsM1ΣjLreg(sj,sj∗)+WcM1ΣjLcls(cj,cj∗)+WhLreg(h,h∗)
其中,
L p ( { P j } , { L j ∗ } ) = L r e g ( x j , x j ∗ ) L_p(\{\mathcal{P}_j\},\{\mathcal{L}^*_j\})=L_{reg}(\pmb{x}_j,\pmb{x}^*_j) Lp({Pj},{Lj∗})=Lreg(xj,xj∗)
x j = [ x 1 , j , . . . , x N , j ] \pmb{x}_j=[x_{1,j},\ ...,\ x_{N,j}] xj=[x1,j, ..., xN,j]
x i , j = { p j ( y i , j ∗ ) , i f ∣ p j ( y i , j ∗ ) − x i , j ∗ ∣ > τ l o s s 0 , o t h e r w i s e x_{i,j}=\begin{cases}p_j(y^*_{i,j}),\ \ \ \ if\ |p_j(y^*_{i,j})-x^*_{i,j}|>\tau_{loss}\\ 0,\ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{cases} xi,j={pj(yi,j∗), if ∣pj(yi,j∗)−xi,j∗∣>τloss0, otherwise
注意這裡的0,可以這樣了解:設定0之後,就不用計算對應位置的 grad 了。