原文链接:Vision based autonomous driving - A survey of
recent methods

他山之石:【泡泡机器人新闻社】Vision based autonomous driving - A survey

基于视觉的自动驾驶有三种主要的方法:

  • 使用回归模型直接将输入的图像映射成驾驶行为

  • 将输入图像映射到一些关键变量,并使用该信息指导自动驾驶

  • 分析整个场景,做出驾驶决策

1.回归模型直接将输入图像映射成驾驶行为

训练CNNs将原始像素从相机映射到转向指令。相对于直接分解(例如车道检测,路径规划和控制),端到端的学习系统能同时对所有的这些过程进行优化。

《Vision based autonomous driving - A survey of recent methods》读书笔记
优点:

  1. 训练数据容易生成

  2. 可用的开源实现(尽管这些版本不使用任何后置摄像头,也没有任何“memory”)

缺点:

  1. 首先,行驶在道路上的不同车辆,即使输入的图像是相似的,不同的人类驾驶员也可能会做出完全不同的决策,这导致了一个问题:当回归训练的时候会产生混乱

  2. 在端到端的学习系统中很难对问题进行调试

  3. 深层神经网络如何学会从糟糕的位置恢复?

    • 扩大数据来添加人工转换和旋转。

    • Comma.ai使用GAN+RNN/LSTM来建立一个自动驾驶模拟,可以用来生成更多的数据

相关研究

  1. End to end learning for self-driving cars by NVIDIA 他们声称,他们的网络可以在驾驶15公里内用少于10次的干预来驾驶汽车。
  2. ALVINN, an autonomous land vehicle in a neural network (1989, CMU),(Demo
  3. Offroad obstacle avoidance using end to end learning (Yan Lecun, NIPS 2005)
  4. Dataset and code for comma.ai’s driving simulator

2.图像映射到关键变量,用其指导自动驾驶

训练一个深层的神经网络,用来学习从图像到道路情况指示的一个映射,并使用这种简洁的表示来做出驾驶决策。

《Vision based autonomous driving - A survey of recent methods》读书笔记
《Vision based autonomous driving - A survey of recent methods》读书笔记
Demo(http://deepdriving.cs.princeton.edu/
《Vision based autonomous driving - A survey of recent methods》读书笔记
优点:

  1. 在两个极端之间,这种表示提供了合适的抽象级别。我们既不需要分析整个场景,也不需要盲目地将地图映射到转向角度。

  2. 可用的开源实现。(预先训练的网络+训练代码)

缺点:

  1. 预先训练好的网络的效果并不是很好。

  2. 很难生成训练数据。

    • 解决方法:使用模拟器(TORCS,Deepdrive)。

相关研究:

  1. DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving (Princeton, ICCV 2015)
  2. TORCS Open-source car simulator - Widely used for research
  3. Deepdrive.io- Hacked into GTA to use as simulator (Demo). Also has a
    pretrained end to end network.

3.分析整个场景做出驾驶决策

识别所有和驾驶相关的物体——车道,交通标志,交通指示灯,汽车,行人等。

《Vision based autonomous driving - A survey of recent methods》读书笔记

1.车道检测

讨论车道检测的一般框架。虽然一种简单的基于hough变换的方法在高速公路情况下能达到70%的效果,但是这个问题还是相当有难度。

为什么车道检测很困难?

  • 车道和道路外观的多样性
  • 图像清晰度问题(遮挡,阴影,眩光)
  • 低能见度情况

《Vision based autonomous driving - A survey of recent methods》读书笔记

2.模块分解

●Image cleaning (图像预处理)

●Feature extraction(特征提取)

●Road/lane model fitting(道路车道模型匹配)

●Temporal integration(暂时的集成策略)

●Image to world transformation(从图像到全局的映射)

这不是一个自上而下的方法,不同的模块可以从其他模块获得反馈。

2.1.图像预处理

  • 去噪
  • 消除杂物和不相关的图像部分等,消除超过平面上的图像
  • 障碍识别(车辆和行人)和去除
  • 对图像归一化处理来修正 超/低曝光和眩光,比如当进入或者离开隧道的时候
  • 去除阴影

《Vision based autonomous driving - A survey of recent methods》读书笔记

2.2.特征提取

  • 实/虚线
  • 比周围亮度高的狭窄区域,如亮度峰值(先将图像变换到鸟瞰图)
  • 激光雷达反射率测量
  • 道路分割

《Vision based autonomous driving - A survey of recent methods》读书笔记

3.道路/车道模型适配

  • 利用车道的宽度和曲率约束降低特征的噪声,提高特征的质量

  • 模型可以是全参数化的(直线,抛物线),半参数化的(B样条)或者非参数化的(连续的边界线)。具体的参数可以通过RANSAC,最小二乘优化或者能量函数优化来估计得到。

4.暂时的集成策略

集成前几帧的信息可以提高车道检测的准确率并降低计算代价。此时汽车运动模型需要估计。

4.1.案例研究:Caltech车道检测器

《Vision based autonomous driving - A survey of recent methods》读书笔记
《Vision based autonomous driving - A survey of recent methods》读书笔记

4.2.使用B-Snake进行车道检测和跟踪

《Vision based autonomous driving - A survey of recent methods》读书笔记
《Vision based autonomous driving - A survey of recent methods》读书笔记

5.道路分割

但如果没有车道呢?在十字路口怎么驾驶呢?我们可以使用预先建立好的地图或者需要将可以驾驶的区域分割出来。

Tesla和Mobileye(基于视觉的自动驾驶区域的领头者之一)都使用了道路分割技术来提高车道检测的准确率。如何对道路进行分割?仅使用局部的特征信息是极其困难的。上下文是很重要的一个信息。因此可以使用深度学习技术。

《Vision based autonomous driving - A survey of recent methods》读书笔记

一个想法

  与其每一帧都检测车道,为什么我们不能预先建立一个我们需要的有每一分钟的道路细节的地图,然后当我们驾驶通过一片区域的时候,我们就可以仅将我们当前的估计与地图融合。
  例如:Amnon Shashua CVPR 2016 keynote: Autonomous Driving, Computer Vision and Machine Learning
  
  这些地图可以给予我们传感器之外的区域先验信息,并且当传感器的信息不准确的时候至关重要。一些公司正在如此做-TomTom, HERE. Nissan, Volkswagen 和 BMW正在和Mobileye合作来建立这种地图。

相关文章:

  • 2021-06-05
  • 2022-01-12
  • 2021-09-06
  • 2021-07-07
  • 2021-04-19
  • 2021-05-20
  • 2021-08-14
  • 2021-07-03
猜你喜欢
  • 2021-08-04
  • 2021-11-12
  • 2021-04-13
  • 2021-03-31
  • 2021-11-23
  • 2021-05-08
  • 2021-12-19
相关资源
相似解决方案