自动驾驶中的机器学习算法简单介绍 - Haltakov


自动驾驶汽车需要解决不同的计算机视觉问题。

  • 物体检测
  • 车道检测
  • 可驾驶空间检测
  • 语义分割
  • 深度估算
  • 视觉里程表详细信息

 
物体检测
最基本的任务之一-我们需要知道其他人和汽车在哪里,需要考虑什么标志,交通信号灯和道路标记。对象由2D或3D边界框标识。相关方法:R-CNN,Fast(er)R-CNN,YOLO
 
距离估算
在知道存在哪些对象以及它们在图像中的位置之后,您需要知道它们在3D世界中的位置。由于相机是2D传感器,因此您首先需要估算到物体的距离。相关方法:卡尔曼滤波器,深层SORT
 
车道检测
汽车需要知道的另一个关键信息是车道边界在哪里。您不仅需要检测车道标记,还需要检测路缘,草边等。有多种方法可以做到这一点:从传统的基于边缘检测的方法到CNN。
 
行车路线预测
一种替代方法是训练神经网络,该神经网络将直接输出汽车需要驾驶的轨迹。例如,如果看不到车道标记,可以将其用作居中标记。
 
可驾驶空间检测
此处的目的是检测图像的哪些部分代表汽车可以实际行驶到的空间。这里的方法通常与语义分割方法非常相似(请参见下文)。
  
语义分割
并非图像的所有部分都可以通过边界框或车道模型来描述,例如树木,建筑物,天空。语义分割方法对图像中的每个像素进行分类。相关方法:完全卷积NN,UNet,PSPNet
 
深度估算
目的是估计到图像中每个像素的距离,以便获得更好的周围3D模型。如今,诸如立体图像和运动结构之类的方法已被用于单个图像的自我监督式深度学习模型所取代。
 
视觉里程表
虽然我们从车轮传感器和IMU知道了汽车的运动,但是确定摄像机中的实际运动可能会更准确,例如获得俯仰角。视觉测距法可估计摄像机在两帧之间的6 DoF运动。
 
当然,还有许多其他的计算机视觉问题可能会有所帮助,但是该主题将向您概述最重要的问题。如您所见,如今,深度学习方法(尤其是CNN)主导了计算机视觉的各个方面……