点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

1.

导读


现代社会中,随着车辆的普及,人的活动范围在逐步扩大,单单依靠人类记忆引导行驶到达目的地已经越来越不切实际,因此车载导航就扮演了越来越重要的角色。

传统车载导航根据GPS将用户车辆位置定位于地图上,导航软件根据设定的目的地规划行驶路径,通过屏幕显示和语音播报的形式指引用户行驶至目的地。这样的展示方式使得用户在使用导航的过程中,需要将地图指引信息和语音播报信息与当前自车所处的真实世界连接起来,才能理解引导信息的具体含义,之后做出相应驾驶动作。

总结导航信息处理的整个过程,可以分为三个部分:接收(看/听)、理解、行动。

然而,试想这样一个场景,行驶前方有个岔路,由于没有听清楚需要走左前方还是右前方,这个时候就很容易错过变道时机。

因此,AR导航利用视觉技术,综合导航信息和真实场景信息,优化了引导信息展现形式,降低了用户的接收和理解成本,所见即所得,用户只用根据导航信息行动即可。

2.

AR导航的定义


车载AR导航是指通过摄像头将车辆前方道路的真实世界实时地捕捉下来,利用移动端视觉识别技术及算法,实时地识别车辆行驶场景中的各种重要导航要素,例如车道线、前方车辆、车道相对位置等,再结合自车GPS定位、地图导航信息,通过多元信息的融合以及计算,生成虚拟的导航指引模型,并渲染叠加到真实场景上,从而创建出更贴近驾驶者真实视野的导航画面(图1)。

图1 AR导航

在驾驶车辆过程中,车道线的重要性不言而喻,它通过不同的属性,例如虚、实、黄、白等,来指引车辆的行驶方向,规范驾驶员的驾驶行为,避免车辆之间的碰撞,最终实现更加高效和流畅的交通。

在AR导航中车道线同样重要,实时车道线检测能够为AR导航引擎提供当前车道宽度、车道线属性等信息,从而提前对用户做出正确的引导,指引驶入正确的车道。

如上图所示,通过车道级定位将自车定位在当前路左数第二车道,这时根据导航信息前方将要左转,与此同时通过车道线检测获知左侧车道线为白色虚线,允许变道行驶,再通过车道宽度和自车在车道内距左右车道线的距离,渲染出正确的引导线,指引用户提前变道驶入左数第一车道,避免错过路口,导致偏航行驶,浪费时间精力。

此外,车道线检测还能提供ADAS功能,如车道保持、车道偏离预警(LDW)等。

3.

车道线检测背景介绍与方法回顾


有关车道线检测的研究已经持续了比较长的时间,虽说已经取得了一定的成果,但是想要实际应用仍然具有非常大的挑战,导致这种现状主要有以下几个方面的原因:

  • 图像质量问题:摄像头采集得到的图像由于车辆遮挡、树木和建筑的阴影、车辆移动带来的光照剧烈变化等原因而变化巨大;

  • 光照场景受天气因素影响较大:雨天、雪天、雾天、黄昏、夜晚等;

  • 车道线磨损程度不一:高速和城市快速路车道线较清晰,低等级道路磨损较严重,与轮胎划痕难以区分;

  • 车道线宽度不一:通常来说车道线宽度在2.3m-3.75m之间,但在现实世界中,特别是低等级道路,车道线宽度变化较大。

多样丰富的场景给基于视觉的算法带来了巨大的挑战,本文将对车道线检测方案进行讲述,并以是否使用深度学习为界,分为以下两个大的体系来介绍:基于特征工程的传统视觉方案和基于图像分割的深度学习方案

3.1 基于特征工程的传统视觉方案

传统视觉方案里,车道线检测过程较少使用机器学习方法,主要是利用车道线的视觉特征和空间位置关系实现车道线检测提取,通常来说分为以下几个步骤:

  • 预处理:对图像进行预处理,通常包括车辆等障碍物去除、阴影处理、划定感兴趣区域(ROI)、前视图转为俯视图等;

  • 车道线候选点提取:基于颜色和纹理,针对车道线特点设计特有的图像特征提取方式,常用的方法有灰度阈值处理、颜色阈值处理、边缘提取、特定滤波器滤波等;

  • 车道线拟合:在获取到候选点之后,通过一些先验知识(如车道线在俯视图上是平行关系)设置规则,去除一部分outlier车道线候选点,之后可采用参数方程的方式,进行车道线的拟合。常见参数方程有直线、二次曲线、样条曲线等,不同的拟合算法对性能也有很大的影响,其中RANSAC算法能够较好区分outlier和inlier,所以在车道线拟合过程中得到了广泛的关注;

  • 后处理策略:通过坐标映射,利用车辆行驶过程中时间和空间的连续性,实现车道线跟踪和滤波,从而提高车道线检测的稳定性和准确性。

传统视觉方案检测车道线过程依赖较多的先验假设,特征设计依赖经验阈值的调整,在实际应用中无法应对复杂的道路情况,因此鲁棒性较差,尤其是在光照条件变化、车道线磨损程度不同的影响下,经验阈值非常容易失效,导致较差的检测结果。

但是由于其计算量较小,在算力受限且路况单一(高速/城市快速路)的场景下,仍然可以发挥它的价值。

3.2 基于图像分割的深度学习方案

深度学习图像分割自2014年FCN提出以来发展迅速,在众多的图像任务中取得了不凡的结果。并且由于车道线在ADAS和自动驾驶任务中的特殊地位,可以将车道线检测逐步从通用的分割任务中独立出来,并且取得了较大的进展。

基于图像分割的车道线检测方案处理流程与传统视觉方案类似,主要区别在于车道线候选点的提取方式上,车道线图像分割不需要关于车道线的纹理/颜色/宽度/形状等先验假设,而是通过机器学习从训练样本中获取车道线的相关信息,自动地学习车道线的特征,具体应用时便可以通过学习得到的信息,来预测单个像素位置是否为车道线。

深度学习车道线检测方案基于通用深度学习分割方案,但是针对车道线场景进行特别的改进。

接下来,先介绍近期深度学习车道线检测的相关工作,而后描述AR场景下的车道线检测方案。

由于在较多的应用场景中只关注当前车道车道线,大多数方案是先识别全部的车道线,然后通过空间位置关系进行后处理,提取出当前车道车道线,但这个过程中容易出错,稳定性较差,Jiman Kim在2017年提出在图像分割时赋予当前车道左右车道线不同的类别,把单条车道线当做分割的一个实例,通过End-to-End方式,直接从图像中提取出当前车道的左右车道线,从而避免了后处理过程中区分左右车道线,降低出错概率。

商汤科技Xingang Pan针对车道线细长的结构特点,提出Spatial CNN替换MRF/CRF结构,在高度和宽度方向(从上至下,从下至上,从右至左,从左至右)逐层进行卷积,以增强信息在空间上的流转,实例分割以当前车道为中心的4条车道线,与此同时输出单条车道线的置信度,可以为实际使用的多元信息融合提供依据。该方案在图森未来举办的Lane Detection Challenge上取得了第一名。

从前视视角看,车道线最终都交汇于消失点,为了让网络学习图像中的结构信息,Seokju Lee提出了一个多任务网络,在检测车道线的同时检测地面标志和消失点。针对消失点的特点,作者设计了一个精巧的结构用于检测消失点,并通过实验证明了消失点任务的加入提高了车道线的检测效果。

相比于检测指定数量的车道线,Davy Neven在2018年提出将所有车道线当做一类进行语义分割得到Binary lane segmentation,与此同时网络输出Pixel embeddings结果,提取Binary lane segmentation前景区域像素点在Pixel embeddings输出上的特征值,使用聚类算法,确定每个像素点的车道线类别,从而实现不定数量的车道线实例分割,以适应不同的车道线场景。

综上,相比于通用图像分割,车道线分割方案主要在利用车道线之间的位置结构关系,针对车道线细长的特点,优化深度网络的空间信息提取能力,并将更多的后处理工作融入至网络中,减少后处理难度和出错概率。

4.

AR导航中的车道线检测方法探索和实践


车载AR导航要求将引导要素实时迭加到真实场景中,这对于AR导航中的车道线检测实时性和稳定性提出了极高的要求,与此同时,由于车载设备(车机/车镜)的硬件算力较差,一般落后于手机芯片3-5年,所以AR导航中的车道线检测必须做到又快又好。

为了在车载设备上实现快速高效的车道线检测算法,我们在多个方面进行了尝试:

4.1 高效的多任务模型

由于交通图像中车辆和车道线有一定的相关性 (车辆一般情况在两条车道线中间),为了充分的利用深度学习网络能力,共用网络主干部分提取到的图像特征,我们设计了一个高效的多任务网络(图2所示),单个模型完成车辆检测、车道线检测任务和其他任务,并在此基础上,实现了一套多任务权重自学习的机制,保证各个任务高效充分的学习,最终使得多任务学习模型达到独立单任务模型持平的识别效果,部分任务甚至略有超出。

图2 多任务网络

在多任务模型迭代的过程中,多任务样本的标注成本较高,如果需要补充某个任务的数据集,则必须在该数据集上对所有的任务进行标注,耗费较多的标注资源。从迭代模型和利用已有的独立任务标注数据角度出发,我们研发了一套以任务为粒度的训练框架,允许单张图片有任意个任务进行了标注(比如只标注了车道线,或者同时标注了车辆和车道线等)。

由于和车辆共享主干网络,车道线的ROI设置从图像输入转移至车道线分割分支的特征层,进一步降低了车道线检测分支的计算复杂度,最终车道线检测分支仅占用原有车道线检测网络15%的计算量。

4.2 消失点优化车道线检测

一般来说在车道线分割方案中有两种真值标注方式:

  • 第一种是常规的道路场景分割标注:在这种情况下,标注规则按照车道线的物理含义,随着车道线由近及远、由粗变细,如KITTI、CamVid等数据集。在这种标注规则下能够较精确的获取车道线内侧距离车辆的距离,提高横向车道定位精度,但由于远处车道线较细,特征不明显,车道线分割精度随着距离的增加逐步降低。

  • 第二种标注方式常见于单纯的车道线检测任务:如CULane等,这种标注方式将车道线定义为白色区域的中心线,以固定的图像像素宽度生成分割真值标注。相比第一种方式,该方法能够在一定程度上提高远处车道线的识别效果,得到较完整的车道线。但在进行车道线扩宽时,远处不同车道线的真值容易互相压盖,造成堆叠部分车道线识别效果较差,增加了车道线后处理难度。

在AR导航中,我们采用第二种车道线标注方式,并在车道线检测模型中增加消失点识别分支,在车道线后处理中以消失点为锚点,优化车道线识别精度。

4.3 深度学习神经网络量化

深度学习神经网络在训练过程中,为了接收反向传播的梯度,实现对模型权重的细微调整,一般采用高精度的数据格式进行计算和权重的更新,最终完成模型训练,保存模型结构和权重。

神经网络量化就是将高精度的模型权重量化为低比特的数据,以使用更少的数据位宽来实现神经网络的存储和计算,这样既能减少运算过程中的带宽,又能降低计算量。由于移动端CPU带宽资源有限,通过神经网络量化,可以较大地提高模型运算的速度、降低模型空间占用,以TensorFlow为例,量化后的uint8模型与量化前的float模型相比,速度提高1.2到1.4倍,模型空间占用降低3/4。

为了进一步优化神经网络量化后的速度,我们在tflite-uint8(基于TensorFlow r1.9)量化基础上进行二次开发,实现了一套tflite-int8量化框架,其中包含了量化模型训练、模型转化和自研的int8矩阵运算库,相比官方tflite-uint8,tflite-int8在移动端A53架构上有30%的提速,在A57架构上有10%的提速,与此同时,量化前后多任务模型的精度几乎保持不变。

图3 小米5s上单线程模型运行时间对比

最终通过上述方法,在较低算力的车镜/车机芯片上实现了实时稳定的车道线检测,骨干提取后效果图如下图:

图4 车道线骨干提取效果

5.

挑战与展望


在AR导航中,车道线有着举足轻重的地位,作为AR导航的基础,搭建在其上的一系列导航功能的好坏都与它的检测精度息息相关。然而实际道路场景千变万化、天气光照也四季不同,这些都给车道线的检测识别带来了较大的难度。

因此,在后续的研发过程中,我们将不断扩大覆盖范围,充分利用高德自采的大量道路数据的优势,结合相关传感器和导航数据不断完善和优化,来进一步地提高车道线的检测精度,以更好地服务AR导航项目,最终向用户提供更直观高效的导航服务。

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

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

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

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

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

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

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

车道线检测在AR导航中的应用与挑战相关推荐

  1. 【CV竞赛】百度车道线检测,正在报名中,8.9万元奖金

    点击我爱计算机视觉标星,更快获取CVML新技术 竞赛简介 在无人驾驶汽车研究领域,带有车道线属性的高精地图是商业无人驾驶的一个非常关键的环节.截止目前,大多数的高精地图都是靠人工标注来完成的.人工标注 ...

  2. ECCV2020|超快的车道线检测,代码模型已开源

    作者|cfzd 来源|https://zhuanlan.zhihu.com/p/157530787 很高兴和大家分享一下我们刚刚被 ECCV 2020 接收的新工作:一种超快速的车道线检测算法(Ult ...

  3. ECCV 2020 | 超快的车道线检测

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/157530787 很高兴和大家分享一下我们刚刚被 ECCV 2020 接收的新工作:一种超快速的车 ...

  4. 无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)

    无人驾驶汽车系统入门(七)--基于传统计算机视觉的车道线检测(2) 原创不易,转载请注明来源:http://blog.csdn.net/adamshan/article/details/7873330 ...

  5. 车道线检测传统方法深度学习方法概览+两篇论文领读LaneATT+LaneNet

    车道线检测是自动驾驶中的一个基础模块,车道保持,自适应巡航,自动变道:对于全自动驾驶汽车后续的车道偏离或轨迹规划决策也很重要. 目前车道线检测主要有两种方案:传统方法与深度学习. 1.传统方法 (1) ...

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

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

  7. 车道线检测传统方法笔记

    车道线检测是自动驾驶中的一个基础模块,车道保持,自适应巡航,自动变道:对于全自动驾驶汽车后续的车道偏离或轨迹规划决策也很重要. 目前车道线检测主要有两种方案:传统方法与深度学习. 1.传统方法 (1) ...

  8. 【车道线检测】车道线检测算法汇总

    文章目录 零. 概述 1. DataSet 2. 车道线检测难点 3. 数据增强 一.基于分割和辅助实例化信息的方法 1. HDMapNet: An Online HD Map Constructio ...

  9. 空间中的语义直线检测_基于语义分割的车道线检测算法研究

    龙源期刊网 http://www.qikan.com.cn 基于语义分割的车道线检测算法研究 作者:张道芳 张儒良 来源:<科技创新与应用> 2019 年第 06 期 摘 ; 要:随着半自 ...

最新文章

  1. 【CTF】实验吧 困在栅栏里的凯撒
  2. 路由协议OSPF知识点汇总
  3. JAVA多线程学习小结
  4. mysql数据库怎么安装到自己的电脑上?
  5. js遍历json对象
  6. 一个深圳程序员被一美女骗到东莞迷強
  7. matlab进行特征缩放,机器学习中(Feature Scaling)特征缩放处理的matlab实现方式
  8. InfoPath读取数据库
  9. 图像处理基础(二)_OpenCV命名规则
  10. ThreadPoolExecutor 线程池理论、饱和策略、工作队列排队策略
  11. 对称加密、非对称加密、数字签名、数字证书、签名加密
  12. bind服务器响应,DNS和Bind服务器
  13. 扫描微信小程序体验版二维码无法打开
  14. 计算机毕业设计Java消防安全应急培训管理平台(源码+系统+mysql数据库+Lw文档)
  15. React路由官方网站
  16. 如何将文字转换为二维码 python_用python将二维码转换成字符直接输出控制台
  17. 使用react开发谷歌插件
  18. Tableau数据源(一)-引入数据源
  19. lol服务器维护补偿,LOL官方:服务器崩溃补偿!全服再次免费赠送皮肤一款!
  20. [DeeplearningAI笔记]序列模型3.3-3.5集束搜索

热门文章

  1. Js中的时间之gmc/utc/cst/dst/iso/时间戳
  2. 游戏音乐及音效的使用(附Demo)
  3. spring使用JavaConfig进行配置
  4. hdu1869六度分离(floyd)
  5. php怎么做考勤行事例,PHP开发制作一个简单的活动日程表Calendar
  6. laravel-admin 上传头像 巨坑
  7. Pandas+Pyecharts | 20000+天猫订单数据可视化
  8. Effective_C++:26、防卫潜伏的ambiguity(模棱两可)状态
  9. SolidWorks 操作视频 | 流体分析结果演示
  10. 被窝玩手机还不如来跟我学3Dmax