车道线检测-PolyLaneNet 论文学习笔记
- 论文:《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,基于三次曲线拟合车道线
模型的输入与输出
输入
单张车辆前向图
输出
曲线参数 Pj={ak,j}k=0K\mathcal{P}_j=\{a_{k,j}\}^K_{k=0}Pj={ak,j}k=0K、地平线高度 hhh、车道线的存在性 cjc_jcj、车道线起始高度 sjs_jsj(见下图)
其中,曲线参数确定了车道线的形状:
pj(y)=Σk=0Kak,jykp_j(y)=\Sigma^K_{k=0}a_{k,j}y^k pj(y)=Σk=0Kak,jyk
模型结构
backbone + fully connected layer
f(I;θ)=({Pj,sj,cj}j=1Mmax,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({Pj},h,{sj},{cj})=WpLp({Pj},{Lj∗})+Ws1MΣjLreg(sj,sj∗)+Wc1MΣjLcls(cj,cj∗)+WhLreg(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∗)
其中,
Lp({Pj},{Lj∗})=Lreg(xj,xj∗)L_p(\{\mathcal{P}_j\},\{\mathcal{L}^*_j\})=L_{reg}(\pmb{x}_j,\pmb{x}^*_j) Lp({Pj},{Lj∗})=Lreg(xj,xj∗)
xj=[x1,j,...,xN,j]\pmb{x}_j=[x_{1,j},\ ...,\ x_{N,j}] xj=[x1,j, ..., xN,j]
xi,j={pj(yi,j∗),if∣pj(yi,j∗)−xi,j∗∣>τloss0,otherwisex_{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 了。