作者丨StrongerTang

来源丨https://zhuanlan.zhihu.com/p/496228909

编辑丨计算机视觉工坊

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

论文链接: 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

可视化示例:

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

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

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~

Curve Modeling:车道线检测新工作(CVPR2022)相关推荐

  1. 车道线检测新工作VIL-100: A New Dataset and A Baseline Model for Video Instance Lane Detection ICCV2021

    之前写过一篇车道线检测的综述,得到了一些朋友的认可,也因此结识了几个做车道线检测任务的朋友. 之前的车道线检测综述可以点击阅读: 车道线检测综述及近期新工作 https://blog.csdn.net ...

  2. 通用汽车研发中心最新提出:3D车道线检测新方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:知乎黄浴博士,已获授权 https://zhuanlan.zhi ...

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

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

  4. 车道线检测2022新工作整理,2D、3D都有

    车道线检测是自动驾驶中一项基础而重要的任务,学术和工业界一直投入了大量的工作.小汤也一直对车道线检测任务感兴趣,并在公司开发过相关功能.也分享过一些相关的文章: 相关链接(点击进入): 车道线检测综述 ...

  5. 车道线检测CLRNet算法复现在Tusimple数据集测试demo

    0 写在前面 分享最近在车道线检测方面的工作,详细跟大家说下我的配置环境和过程,欢迎自动驾驶的朋友来交流学习,助力自动驾驶早日落地. 分享一篇今年CVPR车道线检测方向的新工作--CLRNet: Cr ...

  6. 基于循环特征位移聚合器的车道线检测(RESA: Recurrent Feature-Shift Aggregator for Lane Detection)

    2021年的车道线检测新方法. 官方公开视频.论文.源码: https://www.bilibili.com/video/BV1664y1o7wg https://arxiv.org/abs/2008 ...

  7. 车道线检测1. lanenet代码精读(记录)

    前言知识点: 因为公司做自动驾驶,所以打算对自动驾驶中的一些任务有个了解,看看论文,首先是一篇基于2d视觉的一篇车道线检测的文章.首先先上资料,也供大家学习参考,最后一个是3d检测的 Lane Det ...

  8. 车道线检测综述及新工作汇总

    编辑丨3D视觉工坊 车道线检测综述及近期新工作--为ADAS.自动驾驶服务. 部分视频效果展示: https://www.bilibili.com/video/BV1E54y1V7G4 https:/ ...

  9. 车道线检测综述及近期新工作

    车道线检测综述及近期新工作--为ADAS.自动驾驶服务. 部分视频效果展示: https://www.bilibili.com/video/BV1E54y1V7G4 https://www.bilib ...

  10. VIL-100: 一个新的车道线检测数据集和基线模型(ICCV2021)

    作者丨StrongerTang@知乎 来源丨https://zhuanlan.zhihu.com/p/411156533 编辑丨3D视觉工坊 之前写过一篇车道线检测的综述,得到了一些朋友的认可,也因此 ...

最新文章

  1. @value 注入静态属性_SpringBoot使用@Value读取属性值
  2. Storm配置文件中主要参数配置说明
  3. react-性能优化
  4. call/apply以及this指向的理解
  5. Python3 面向对象程序设计
  6. serversocket 返回浏览器图片_深入理解浏览器的缓存机制
  7. 【日期类问题】例2.1日期差值
  8. Android Handler机制分析
  9. 超赞!UX写手必备技能
  10. 【world_to_pixel】【wcs_pix2world】世界坐标系和像素坐标系的两种转换方式
  11. 使用swift集成移动广告聚合平台
  12. 博弈论模型——Part 1
  13. 克里金插值算法java实现
  14. 关于虚拟机闪退及无法启动的问题
  15. 公司企业如何设计微信小程序?
  16. 深入理解volatile关键字---缓存一致性原理
  17. http 304响应的理解
  18. 基于FPGA的VGA时序控制器
  19. vCenter通过vMotion迁移虚拟机条件
  20. 提供一个 无限存储 空间 免费网盘

热门文章

  1. Python程序打包exe文件(pyinstaller)
  2. Hibernate的表之间的关系
  3. 深入了解Java虚拟机
  4. 浅谈C++设计模式之抽象工厂(Abstract Factory)
  5. AngularJS的ng-click阻止冒泡
  6. 04. 替换空格(C++版本)
  7. 30. 最小的K个数(C++版本)
  8. MySQL 刷脏页问题
  9. gatewayworker配置php,tp5整合GatewayWorker
  10. url 收录工具_为什么我的网站不收录??