车道线检测-BezierLaneNet-CVPR2022论文学习笔记

整体结构

在这里插入图片描述

特征提取器:三层 ResNet 结合 RESA 模块。
特征提取器上还要加一个辅助分支:分割分支

模型输出的东西

贝塞尔曲线的四个控制点 P i \mathcal{P}_i Pi,以及车道线的存在性。

三阶贝塞尔曲线的表达式:

B ( t ) = Σ i = 0 3   b i , 3 ( t ) ⋅ P i ,      0 ≤ t ≤ 1 b i , n = C n i t i ( 1 − t ) 3 − i ,      i = 0 , 1 , 2 , 3 \begin{align} \mathcal{B}(t)&=\Sigma^3_{i=0}\ b_{i,3}(t)\cdot\mathcal{P}_i,\ \ \ \ 0\le t\le 1\\ b_{i,n}&=C^i_{n}t^i(1-t)^{3-i},\ \ \ \ i=0,1,2,3 \end{align} B(t)bi,n=Σi=03 bi,3(t)Pi,    0t1=Cniti(1t)3i,    i=0,1,2,3

特征的水平翻转融合

试图利用车道线的对称性(这部分起效的原因很值得探讨)。
在这里插入图片描述

整体的损失函数

主要分为三部分:回归、分类、分割:

L = λ 1 L r e g + λ 2 L c l s + λ 3 L s e g \mathcal{L}=\lambda_1 \mathcal{L}_{reg}+\lambda_2 \mathcal{L}_{cls}+\lambda_3 \mathcal{L}_{seg} L=λ1Lreg+λ2Lcls+λ3Lseg

其中,

  • 分割的损失函数 L s e g \mathcal{L}_{seg} Lseg 不再赘述;
  • L c l s \mathcal{L}_{cls} Lcls 使用一个权重控制正负样本之间的数据不平衡:
    L c l s = − y log ⁡ p − w ⋅ ( 1 − y ) log ⁡ ( 1 − p ) \mathcal{L}_{cls}=-y\log p-w\cdot(1-y)\log (1-p) Lcls=ylogpw(1y)log(1p)
  • L r e g \mathcal{L}_{reg} Lreg 是预测曲线与 GT 之间的距离,表达式如下:
    L r e g = 1 m Σ i L 1 ( B ( t i ) , B ^ ( t i ) ) \mathcal{L}_{reg}=\frac{1}{m}\Sigma_{i}L_1(\mathcal{B}(t_i),\hat{\mathcal{B}}(t_i)) Lreg=m1ΣiL1(B(ti),B^(ti))

其中, { t i } \{t_i\} {ti} t t t [ 0 , 1 ] [0,1] [0,1] 上的均匀采样,每条车道线 m m m 个样本。

注意

  • 由于模型输出的是四个控制点,所以还需要将数据的 GT 转为控制点的形式。

  • 利用最小二乘法,可以得到控制点 GT 的生成方案:
    [ P 0 P 1 P 2 P 3 ] = [ k x 0   k y 0 k x 1   k y 2 ⋮       ⋮ k x m   k y m ] [ b 0 , 3 ( t 0 )    b 1 , 3 ( t 0 )    b 2 , 3 ( t 0 )    b 3 , 3 ( t 0 ) b 0 , 3 ( t 1 )    b 1 , 3 ( t 1 )    b 2 , 3 ( t 1 )    b 3 , 3 ( t 1 ) ⋮                      ⋱                      ⋮ b 0 , 3 ( t m )    b 1 , 3 ( t m )    b 2 , 3 ( t m )    b 3 , 3 ( t m ) ] T \begin{bmatrix} \mathcal{P}_0 \\ \mathcal{P}_1 \\ \mathcal{P}_2 \\ \mathcal{P}_3 \end{bmatrix}=\begin{bmatrix} k_{x_0}\ k_{y_0} \\ k_{x_1}\ k_{y_2} \\ \vdots\ \ \ \ \ \vdots \\ k_{x_m}\ k_{y_m} \end{bmatrix} \begin{bmatrix} b_{0,3}(t_0)\ \ b_{1,3}(t_0)\ \ b_{2,3}(t_0)\ \ b_{3,3}(t_0) \\ b_{0,3}(t_1)\ \ b_{1,3}(t_1)\ \ b_{2,3}(t_1)\ \ b_{3,3}(t_1) \\ \vdots\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ddots\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \vdots \\ b_{0,3}(t_m)\ \ b_{1,3}(t_m)\ \ b_{2,3}(t_m)\ \ b_{3,3}(t_m) \end{bmatrix}^T P0P1P2P3 = kx0 ky0kx1 ky2     kxm kym b0,3(t0)  b1,3(t0)  b2,3(t0)  b3,3(t0)b0,3(t1)  b1,3(t1)  b2,3(t1)  b3,3(t1)                                        b0,3(tm)  b1,3(tm)  b2,3(tm)  b3,3(tm) T

  • GT 与模型预测结果之间的匹配(Hungarian 算法求解):
    π ^ = arg ⁡ max ⁡ π ∈ Π G N   Σ i G   ( p ^ π ( i ) ) 1 − α ⋅ ( 1 − L 1 ( b i , b ^ π ( i ) ) ) α \hat{\pi}=\mathop{\arg\max}_{\pi\in\Pi^N_G}\ \Sigma^G_i\ (\hat{p}_{\pi(i)})^{1-\alpha}\cdot(1-L_1(b_i,\hat{b}_{\pi(i)}))^\alpha π^=argmaxπΠGN ΣiG (p^π(i))1α(1L1(bi,b^π(i)))α

其中,GT的数量是 G,预测出的数量是 N,且 G < N G<N G<N π ( i ) \pi(i) π(i) 是与第 i i i 个 GT相匹配的第 π \pi π 个预测。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值