自动驾驶之感知算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶之感知算法相关的知识,希望对你有一定的参考价值。
参考技术A 感知是自动驾驶的第一环,十分重要,同时感知算法要考虑 传感器 的功能特性、适配其采集到的数据,才能开发出更好的算法。 感知算法 根据使用的传感器不同而不同。点云障碍物感知的主要任务是感知障碍物的 位置、大小、类别、朝向、轨迹、速度 等。核心是 点云检测分割技术
特别注意:首先要利用地图信息对点云进行预处理;例如:去除ROI(感兴趣区域)之外的点云,降低点云图的复杂度。
算法核心思想:将点云转化为拓扑图分割问题,利用图聚类的方法(Ncut)解决问题,每一簇即为一个障碍物,虽然可以予点云以区分,但是缺乏对应的语义信息。
算法核心思想:利用 卷积神经网络 来处理激光雷达捕获的点云数据,并对点云中的目标进行识别;关键词:数据驱动、特征学习。
Apollo的实践:
1. 前视图 (front-view):将所有点云都投到 前视图 (front-view)(投影面是一个圆柱面)来构造特征,将点云问题转化为矩阵问题,进而使用深度学习进行处理。通过构建全卷积神经网络对前向视图进行处理。
2.制作俯视图:借助自采集车队,采集更多的实际数据,并且扩展数据视角,制作俯视图,通过将俯视图+前视图相结合的方式进行训练。同时,修改Loss函数,包括使用3D回归和Segmentation的损失函数。如下图:
但是俯视图没有高度信息,于是把前视图和Camera图像加进来进行辅助检查,综合了 Lidar测距准 和 Camera识别准 的优点,从而诞生了 Middle-Level Fusion 方法(Multi-View 3D Object Detection Network for Autonomous Driving);该方法使用俯视图提取Proposal,利用前视图和光学图像辅助进行更加精准的位置回归。流程图如下:
视觉感知 最早从ADAS(高级驾驶辅助系统)发展而来(ADAS采用人工构造的特征,使用浅层分类器);现在主流已经变为 “深度学习+后处理计算” ;其特点是计算硬件要求升级、数据需求量大增、安全性评估的变化。
面向自动驾驶的深度学习的特点:1.2D感知向3D感知渗透,模型输出更丰富(后处理需要的3D信息、跟踪信息、属性信息等都会放在CNN中进行学习);2.环视能力构建(传统方法靠一个Camera完成前向检测、碰撞检测、车道线检测。无人驾驶需要环视);3.感知+定位+地图紧密结合。
1.场景有几何约束(规则道路),可以辅助检测
2.模型输出需要更加丰富;Detectation--->2D to 3D--->Tracking
3.多任务学习(学习多种障碍物特征),网络结构适配;(由多个专用网络则流程太长难以满足需求)
4.属性识别——不仅限于障碍物级别的输出
分割与检测有相似之处,但是分割粒度更细,相比于检测的“画框”,它要求边缘分割
2D-to-3D的几何计算: 需要考虑相机位姿的影响、接地点、稳定性
时序信息计算(针对跟踪处理) :相机帧率与延时的要求、跟踪不能耗费太多时间、利用检测模块的输出进行跟踪;考虑轻量级的Metric Learning
多相机的环视融合 :相机布局决定融合策略,要做好视野重叠
任务描述:在距离停止线 50~-2米 的范围内精准识别红绿灯亮灯状态,检测精度要求非常高(需要达到99.9%),同时召回不能太低(recall = TP/(TP + FN));天气等环境问题;红绿灯的制式;
自动驾驶中使用深度学习进行红绿灯感知模块的构建,主要分为以下几步:
1.相机选择和安装
2.高精地图的交互
3.使用深度学习识别灯颜色的变化(分为检测和颜色分类两步)
自动驾驶感知算法实战——感知系统整体概述
自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html
零、感知系统整体概述 (5%)
(框图)
- 在自动驾驶系统中的位置,上下游
- 解决什么问题
- 实现方案
以上是关于自动驾驶之感知算法的主要内容,如果未能解决你的问题,请参考以下文章
自动驾驶感知算法实战3——自动驾驶2D和3D视觉感知算法概述