Apollo入门课程[4]——感知

文章目录

  • 感知
  • 计算机视觉
  • LiDAR图像
  • 机器学习、神经网络基础知识
    • 检测和分类
  • 跟踪
  • 分割
  • Apollo感知
  • 感知传感器比较
  • 感知融合策略

感知

感知周围环境,需要计算机视觉技术。
计算机视觉:计算机看待和理解世界的方式。最常用的是CNN(卷积神经网络)

计算机视觉

无人驾驶四大感知世界的任务:

  • 检测:找出物体在环境中的位置
  • 分类:明确对象是什么
  • 跟踪:随时间的推移观察移动物体
  • 语义分割:将图像中每个像素与语义类别进行匹配

图像分类器将图像作为输入,输出标识该图像的标签或“类别”。
流程:
输入数据(image)-- 预处理(灰度、旋转等) – 提取特征 – 分类模型

LiDAR图像

提供距离和高度等摄像头无法提供的信息,使用光线测量,测量发射到反射回来的时间。点云中每个点代表反射会传感器的激光束。

机器学习、神经网络基础知识

可以回顾机器学习PPT部分(更加详细)

模型:存储计算机从数据中学习得到的结果的数据结构,用于理解和预测世界

监督学习
无监督学习
半监督学习
强化学习:涉及及允许模型通过尝试许多不同的方法来解决问题,衡量哪种方法最成功。

神经网络学习三步走(循环):

  • 前馈:随机分配初始权重(人工神经元的值),神经网络馈送每个图像产生输出值
  • 误差测定:真值标记与前馈过程输出之间的偏差
  • 反向传播:神经网络反向发送误差,单个神经元对自身的值进行微调,以达到误差最小化

反向传播算法
卷积神经网络

检测和分类

先使用检测CNN来查找图像中的对象的位置(定位),再将图像发送给另一个CNN进行分类
如果使用单一CNN体系结构对对象进行检测和分类,常用做法是需要在单个网络结构体系的末端附加几个不同的“头”,一个执行检测,一个执行分类。
Apollo入门课程[4]——感知_第1张图片
经典体系结构——R-CNN及其变体 Fast R-CNN 和 Faster R-CNN
YOLO和SSD是具有类似形式的不同体系结构

跟踪

跟踪:对每个帧中的对象进行检测并用边界框对每个对象进行标记。
如果对每个帧的每个对象进行检测并用边界框进行标识,跨帧追踪对象的好处:

  • 追踪在检测失败时很重要,可以解决遮挡问题(一段时间检测不到)
  • 追踪可以保留身份。检测输出包含对象的边界框标记,使下一帧对象能在当前帧中找到对应的对象。

追踪步骤:

  • 确认身份,通过查找特征相似度高的对象,将之前帧检测的所有对象和当前帧检测的对象进行匹配。计算机通过计算机视觉算法(局部二值模式、方向梯度直方图)计算复杂的图像特征。
  • 快速找到匹配对象的位置:连续视频帧中,两个障碍物之间的位置和速度通常没有很大的变化,所以能较快地找到匹配对象的位置。
  • 结合预测算法,估计下一个时间步对象的速度和位置,帮助识别下一帧的对象。

分割

语义分割涉及对图像的每个像素进行分类,用于尽可能详细地了解环境并确定车辆可驾驶区域。它依赖于一种特殊类型的CNN——全卷积网络(FCN)
Apollo入门课程[4]——感知_第2张图片
FCN用卷积层代替CNN结构末端的平坦层,网络的每一层都是卷积层。FCN提供了可在原始输入图像上叠加的逐像素输出。
传统CNN经过多层卷积后输出比输入小得多。然而为了分割像素,输出尺寸必须与原始图像的尺寸相匹配,为此可以对中间输出进行上采样处理,直到最终输出大小和原始输出图像大小相匹配。
Apollo入门课程[4]——感知_第3张图片
编码器网络对输入图像的特征进行提取和编码,解码器网络对特征进行了解码,并将其应用于输出。

Apollo感知

对三维对象的检测,Apollo在HD Map上使用感兴趣区域(ROI)来重点关注相关对象,Apollo将ROI过滤器应用于点云和图像数据以缩小搜索范围并加快感知。
Apollo入门课程[4]——感知_第4张图片
然后通过检测网络馈送已过滤的点云,输出用于构建围绕对象的三维边界框。
Apollo入门课程[4]——感知_第5张图片
最后使用检测跟踪关联算法来跨时间步识别单个对象。该算法先保留在每个时间步要跟踪的对象列表,然后在下一个时间步中找到每个对象的最佳匹配。
Apollo入门课程[4]——感知_第6张图片
对交通灯的分类:
1.先使用HD Map确定前方是否有灯
2.如果有,Map会返回灯的位置,这侧重于摄像头搜索范围,在摄像头捕获到灯图像后,Apollo使用检测网络对图像中的灯进行定位,从较大的图像中提取灯,将剪裁的灯图像提供给分类网络来确定灯的颜色。
3.如果有许多灯,系统需要选择哪些灯与其车道有关

Apollo使用YOLO网络来检测车道线和动态物体,在检测后,在线检测模块会并入来自其他传感器的数据,对车道线预测进行调整,车道线最后并入“虚拟车道”的单一数据结构中。也通过其他传感器数据对YOLO网络检测的动态对象进行调整,以获得每个对象的类型、位置、速度和前进方向。虚拟通道和动态对象均被传递到规划与控制模块。
Apollo入门课程[4]——感知_第7张图片

感知传感器比较

Apollo入门课程[4]——感知_第8张图片
摄像头适合分类,LiDAR适合障碍物检测,Radar(雷达)在探测范围和恶劣环境占优势

感知融合策略

Apollo使用激光雷达和雷达来检测障碍物。用于融合输出的主要算法为卡尔曼滤波。
卡尔曼滤波的两个步骤(循环往复):

  • 预测
  • 更新测量结果

Apollo入门课程[4]——感知_第9张图片
两种测量结果更新步骤:

  • 同步:同步融合同时更新来自不同传感器的测量结果
  • 异步:异步融合逐个更新所收到的传感器的测量结果

Apollo入门课程[4]——感知_第10张图片

传感器融合提高感知性能,因为各传感器相辅相成

你可能感兴趣的:(Apolllo)