提示:原文链接
前言
这篇文章借鉴Faster R-CNN,文章与Faster R-CNN进行对比阐述。虽然没有提供源码,但是个人认为论文解释的比较详细。
一、摘要简介
文章提出了一个LPU(Line Proposal Unit),类似于Faster R-CNN的RPN,但是与Faster R-CNN的整体结构不同,后面进行解释,在T i t a n X G P U 上面达到了30FPS。
二、整体框架
1.RPN-LPU
-
对于FasterR-CNN中的RPN,特征图中的每个滑动窗口处,预设了k个anchor。RPN预测出每个滑动窗口处对应anchor的2个分类score以及4个回归参数。对于HxW特征图,一共预测HWk个anchor参数。
-
对于本文的LPU,只对特征图中三个边界处预设了k个line proposal,这里的三个边界分别对应原图的左边、右边、以及中间,这里的line proposal指的是从三个边界处出发的射线,下图代表的是下边界滑动窗口a处对应的k个line proposal。
-
LPU预测左、右、下每个滑动窗口对应k个line proposal的2+S+1维向量,两个分类参数(从图上看,只有一个,但是论文中描述为两个),一个长度参数,S个相对于该line proposal的水平偏移量,S+1共同回归。line proposal+水平偏移量而得到最终的车道线,如下面第二幅图。
-
与FasterR-CNN中的RPN不同的一点,由FPN预测出来的结果并不作为FasterR-CNN的最终结果,因为FasterR-CNN还需要再经过Fast R-CNN那部分输出最终的结果。LPU输出的结果是要作为最终结果使用的。
2.Line proposal以及损失函数
- 实际车道线采用一些点进行描述,以多条水平线进行切片,得到水平线与车道线的交点,即固定纵坐标,使用横坐标的一个集合去表示车道线。
实际车道线表示:
l = { x s l , x s l + 1 , ⋯ , x e l } l=\left\{x_{s^{l}}, x_{s^{l}+1}, \cdots, x_{e^{l}}\right\} l={xsl,xsl+1,⋯,xel}
LIne Proposal表示:
L = { X s L , X s L + 1 , ⋯ , X i n f } L=\left\{X_{s^{L}}, X_{s^{L}+1}, \cdots, X_{i n f}\right\} L={XsL,XsL+1,⋯,Xinf} - 正负样本确定
s c = max ( s L i , s l j ) , e c = min ( i n f , e l j ) = e l j s^{c}=\max \left(s^{L_{i}}, s^{l_{j}}\right), e^{c}=\min \left(i n f, e^{l_{j}}\right)=e^{l_{j}} sc=max(sLi,slj),ec=min(inf,elj)=elj
D ( L i , l j ) = { ∑ p = s c e c ∣ X p − x p ∣ e c − s c + 1 , e c ≥ s c i n f , e c < s c . D\left(L_{i}, l_{j}\right)=\left\{\begin{array}{ll} \frac{\sum_{p=s^{c}}^{e^{c}}\left|X_{p}-x_{p}\right|}{e^{c}-s^{c}+1}, & e^{c} \geq s^{c} \\ i n f, & e^{c}<s^{c} . \end{array}\right. D(Li,lj)={ec−sc+1∑p=scec∣Xp−xp∣,inf,ec≥scec<sc.
计算出Lne Proposal–Li与真实车道线lj的距离D,对于当前车道线来说,D最小且D小于设定的阈值t_pos(采用的15,并且最后NMS使用的阈值也为15)时,为正样本 - 损失函数
L ( p i , r i ) = λ ∑ i L c l s ( p i , p i ∗ ) + ∑ i p i ∗ L r e g ( r i , r i ∗ ) \mathcal{L}\left(p_{i}, \mathbf{r}_{i}\right)=\lambda \sum_{i} \mathcal{L}_{c l s}\left(p_{i}, p_{i}^{*}\right)+\sum_{i} p_{i}^{*} \mathcal{L}_{r e g}\left(\mathbf{r}_{i}, \mathbf{r}_{i}^{*}\right) L(pi,ri)=λi∑Lcls(pi,pi∗)+i∑pi∗Lreg(ri,ri∗)
由分类与回归两部分组成,分类确定预测的Line Proposal是实际车道线的置信度 - 回归部分
r i ∗ = { e l j − s l j + 1 , x s l j − X s L i , x s l j + 1 − X s L i + 1 , ⋯ } \mathbf{r}_{i}^{*}=\left\{e^{l_{j}}-s^{l_{j}}+1, x_{s^{l_{j}}}-X_{s^{L_{i}}}, x_{s^{l_{j}}+1}-X_{s^{L_{i}+1}}, \cdots\right\} ri∗={elj−slj+1,xslj−XsLi,xslj+1−XsLi+1,⋯}
3.预测
- 预测时,使用NMS,将距离D作为度量。
- 最后进行模型比较时,计算AP使用的IOU,是将预测得到的车道线的像素点与实际车道线的像素点进行像素扩展到5之后进行计算。
总结
这篇论文算是车道线检测中,基于目标检测方法较早的一篇论文。(后续再写)