CVPR2022车道线检测Efficient Lane Detection via Curve Modeling

分享前段时间看的一篇车道线检测方向的新工作,也是中了最近公开结果的2022CVPR,是上海交大、华东师大、香港城市大学和商汤科技合作完成的,代码已经开源。关于车道线检测任务,我之前也分享过几篇文章:

相关链接(点击进入):
车道线检测综述及近期新工作
https://blog.csdn.net/qq_41590635/article/details/117386286

车道线检测新工作VIL-100: A New Dataset and A Baseline Model for Video Instance Lane Detection ICCV2021
https://blog.csdn.net/qq_41590635/article/details/120335328

自动驾驶视觉感知之语义分割+车道线检测demo
https://mp.weixin.qq.com/s/gS-pZyhdq4f-jRJo9MjY8Q

在这里插入图片描述

论文链接:

https://arxiv.org/abs/2203.02431

代码链接:

https://github.com/voldemortX/pytorch-auto-drive

简介

在这里插入图片描述

Lane detection strategies

如上图所示,基于深度学习的车道线检测方法可分为三大类:基于分割的方案(图中绿色示例)、基于点检测的方案(图中蓝色示例)和基于多项式曲线的方案(图中黄色示例)。

其中基于分割和点检测的方案一般效果性能更好,但基于分割方案和基于点检测方案的表征是局部的、间接的,且在多项式曲线中的抽象因子(a, b, c, d)难于优化。为此,文章提出了基于三次B´ezier 曲线的方案,即上图中的红色曲线和虚线框,因为贝塞尔曲线具有易于计算、稳定、转换自由等特点。此外,作者也设计了基于可形变卷积的特征翻转融合模块,进行车道线对称属性的探究。

最终文章的方案在保持高速度(>150FPS)和小尺寸(<10M)的同时,在车道线检测基准数据集LLAMAS上取得了新的SOTA表现,同时在TuSimple和CULane数据集上取得了竞争力的精度表现。

B´ezier 曲线相关补充

贝塞尔曲线(以3阶为例)是依据四个位置任意的点坐标绘制出的一条光滑曲线。其通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

对于任意阶贝塞尔曲线,可通过以下公式进行表示:
在这里插入图片描述

文章也对贝塞尔曲线和多项式方程曲线进行了对比实验,如下表所示,表中指标是TuSimple测试集上的结果,越低越好。
在这里插入图片描述

通过上述实验,文章选择使用经典的3阶贝塞尔曲线(n=3), 因为实验中发现3阶足够用来进行车道线建模,同时与3阶多项式曲线相比具有更好的拟合能力,而3阶多项式曲线是之前众多方案中的基础方程(论文中如此说),实际小汤在自己参与的部分工作及和同行交流中得知,目前各家实际量产中的方案也大都为3阶多项式曲线方案。文章也指出更高阶的曲线并没有带来相应的性能提升,但却会由于高自由度而造成不稳定性。

The Proposed Architecture

在这里插入图片描述

对于输入的RGB图像,经过特征提取得到的特征图送入特征翻转融合模块,得到 CxH/16xW/16 大小的特征图,再经过平均池化得到的CxW/16的特征图,最后经过一个分类和一个回归分支得到相应的贝塞尔曲线结果。

Feature Flip Fusion
在这里插入图片描述

特征翻转模块是文章的主要工作之一。

通过对车道线作为历史曲线来建模,文章集中于各条车道线的几何特性,如瘦、长、连续等特性。当从前视相机的角度来考虑车道线的全局结构事,道路具有空间等分的车道线,近似于对称,例如。左边车道线的存在可能暗示其右侧存在对应的车道线。文章对这种对称性进行建模,为此设计了特征翻转模块。

an auxiliary binary segmentation branch

文章还在ResNet backbone上设计了一个额外的二分类分割分支,旨在加强对于空间细节的学习。并通过实验发现这个额外的分支只有在和特征翻转融合模块一起工作时才起作用。这是因为分割任务的定位有利于提供一个空间上更准确的特征图,这个反过来支持翻转特征图之间更准确融合。

这个额外的二分类分割分支只在训练时使用,推理时关掉。
在这里插入图片描述
文章通过上图所示的Grad-CAM可视化效果对这一设计的影响进行了说明,详细细节可以阅读原文。

Overall Loss

在这里插入图片描述

因为在车道线检测数据集中,并不存在正负样本不平衡问题,所以分类和分割都使用了简单的加权交叉熵损失。

Experiments

在这里插入图片描述
Results on test set of CULane and TuSimple. *reproduced results in our code framework, best performance from three random runs. **reported from reliable open-source codes from the authors.
在这里插入图片描述
在这里插入图片描述

ablation studies
在这里插入图片描述

在这里插入图片描述

可视化示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

视频demo:

自动驾驶视觉感知之语义分割+车道线检测demo, semantic segmentation+lane detection,期待早日实现无人驾驶

文章给出的是效果比较好的结果,但是在匝道、大拐弯等场景效果还是有问题,感兴趣的朋友可以自己跑一下代码看看。(以下四张是用文章开源代码和权重跑的结果,感兴趣的可以自己跑一下看看)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后,由于自己对车道线看的不多,写作能力也有限,有不对的地方欢迎大家批评指正。也欢迎对车道线检测、自动驾驶、计算机视觉等方向感兴趣的朋友加入 自动驾驶交流群 一起学习一起玩!!

推荐阅读:(点击进入)
车道线检测综述及近期新工作
https://blog.csdn.net/qq_41590635/article/details/117386286

多目标跟踪(MOT)最新综述,一文快速入门
https://blog.csdn.net/qq_41590635/article/details/118661662?spm=1001.2014.3001.5502

鱼眼单目深度估计地下车库demo,含坡道场景,助力低成本自动驾驶
https://www.bilibili.com/video/bv1cL4y1E7We