7/16智能驾驶入门课程笔记

Part1 定位

定位即在HD Map上确定自身的精确位置,在智能驾驶领域要求误差在厘米级
为什么传统的GPS为首的GNSS在定位方面行不通:
  1. 不够精确,GPS的误差在11~3m
  2. 信号问题,在高楼、山脉内部误差更大

于是需要更加精确的方法:将传感器收集到的数据与HD Map相比较:关键在于将传感器数据构建的”汽车坐标“(以汽车为参考系)转换为HD Map上的地图坐标

多种实现方法:GNSS RTK、惯性导航、LiDAR定位、视觉定位
GNSS RTK:基站与卫星通信的得到卫星定位的同时,将之结合HD Map上的精确位置来计算误差,基站将此误差传送给接收端(即用户),接收端即可利用此误差和卫星定位来得到较为精确的定位。7/16智能驾驶入门课程笔记_第1张图片
有了RTK的加入,GNSS可以将误差降低至10cm以内,但是仍然存在缺点:一是信号,二是更新频率——只能实现10Hz,这对于汽车这种告诉运动的物体的不够的
惯性导航(IMU)
简单来说就是利用当前状态信息(位置、速度、加速度)来预测未来位置,位置来源于定位上一次预测,速度的测量也比较容易想到,但是加速度怎么测量?——三轴加速器(有三种),但是三轴加速器无法得到运动方向信息,于是又加入陀螺仪来得到运动方向,IMU可以实现高频率更新(1000Hz),缺点是预测误差随时间增加,如此看来正好弥补了GNSS RTK的一个缺点,在Apollo中也是将两者进行了融合;不过这样还是不够,还有一个“信号”的问题。

激光雷达定位:通过点云匹配进行定位;把雷达测得的点云与HD Map上上的点匹配得到大量的点对,计算平均误差,点云可以进行旋转与漂移,也正是通过这种方法,将误差最小化来得到最匹配点云
Apollo采用直方图滤波算法(Histogram Filter)计算SSD(Sum of Squared Difference)

d( u, v) = Σ( f( x, y) - t( x-u, y-v))^2

卡尔曼滤波更新周期:

状态
预测
predicted position
new position
纠正融合
测得数据

视觉定位:利用计算机视觉技术,将3D Map与Image匹配,可以实现对象检测,依据检测到的路标等物体实定位
优点:数据易得
缺点:对3D信息依赖,但是现实中缺乏3D信息

Apollo的方案:基于GPS、IMU、激光雷达的多传感器融合定位:
卡尔曼滤波:

prediction
update
GNSS
位置&速度
LiDAR
位置&方向
融合
Inertial Navigation

感知

感知运用到了计算机视觉的技术,如CNN、DL等等
主要有四大任务:Detection、classification、Tracking、Segmentation
数据的预处理:包括缩放,旋转、甚至是Reshape(如传统的神经网络处理图像数据就是将一张图片扯平为一个一维张量)、还有就是将图片投影到另一个色彩空间以便于后续特征提取等等 CNN提取特征为分类模型提供服务,这个模型可以理解为对提取到的特征进行理解

数据

  • 摄像:分为黑白图和彩色图,其中彩色图是有深度的,即RGB三个通道
  • LiDAR图像:通过激光发送与反射得到的点云图,每一点都对应着一束激光,通过对这些点进行聚类分析,可以分析物体表面纹理等特征信息,可用于检测,跟踪、分类工作

机器学习:学习表示本身,设计如何学习表示,而不是直接设计如何表示,分为监督学习(带标签)和非监督学习(不带标签);另:还有半监督学习:部分数据带标签

人工神经网络:收到人脑神经元的启发,设计了人工神经网络,但是并不是对人脑的建模,只是借鉴了神经元工作模式的数学方法。通过调整不同神经元连接的权值,以来实现对不同信息的偏好,神经网络会根据数据自动调整,有时候这些“偏好”作为人类难以理解,不能看到背后的本质到底意味着什么,但是这也是深度学习的魅力之一,能够看到人类看不到的东西

反向传播算法:神经网络的工作模式分为三步:前向传播、计算误差、反向传播
m

卷积神经网络:对于图像数据而言具有巨大优势;不同于传统神经网络将图像“拉平”,它通过将图像的部分像素点与卷积核的点对点的乘积来得到输出,维持了像素点之间的空间关系,通常会有多个卷积核,自然其输出也对应着多个图像,即其输出是有”深度“的
检测与分类

  • 形式一:a CNN ----> Position(Detection) ---->another CNN ---->classification
  • 形式二:一端分两个头,以R-CNN及其变体Fast R-CNN和Faster R-CNN为代表,结构如下:
convolution Layer
Detection
classification

Tracking(跟踪):每帧检测---->跨帧检测
可以1.解决遮挡问题2.对每个对象保持身份
步骤:

  1. 确认身份:通过特征、与上一帧对象的距离(可以实现快速检测);有局部二值,方向梯度直方图
  2. 利用位置信息再次检测,利于下一次追踪

分割:对每一个像素点进行类别标记,用到FCN,Fully Convolutional Network
上采样:恢复到输入图像大小的输出
original size -->encoder --> decoder --> output size

Apollo 感知
ROI(感兴趣区域)滤波器:
7/16智能驾驶入门课程笔记_第2张图片
不同感知方式适用性:
7/16智能驾驶入门课程笔记_第3张图片

Apollo:LiDAR + Rader ==》 检测 -----卡尔曼滤波----> output
滤波融合分为同步更新和一步更新

你可能感兴趣的:(智能驾驶笔记,机器学习)