目录
C1:感知简介
- 类比:人类驾驶员的眼睛——静态摄像头+其他传感器
- 技术支持:计算机视觉
卷积神经网络CNN
C2:Sebastian Thrun介绍感知
感知即使用海量的感知数据,模拟人脑的感知过程
C3:计算机视觉
- 四个感知核心任务
a. 检测:找出物体在环境中位置
b.分类:明确对象是什么
c. 跟踪:随时间的推移观察移动物体
d. 语义分割:将图像中的每个像素与语义信息进行匹配 - 分类器的步骤
a. 接受摄像头图像输入
b. 预处理:如调整图像大小、旋转、调整从全彩到灰度
c. 特征:有助于计算机理解图像
d. 分类模型:接受上述步骤的输入,使用特征选择图像类别
C4:摄像头图像
- 对于计算机来说,图片只是图像矩阵、数字网格
- 图像处理
分为RGB三个部分(分为三层)
三层合并则为一张完整的图片
C5:激光雷达图像
- 测量原理
激光雷达发出激光,碰到的障碍物进行反射,传感器根据反射时间,构建世界的视觉表征 - 雷达图中的每个点,对其进行聚类和分析,这些数据提供了足够的对象检测信息
C6:机器学习
- 定义:使用特殊算法训练计算机从数据中学习
- 机器学习主要涉及:如何使用数据和相关的真值标记来进行模型训练
- 机器学习类型
a. 监督式学习Supervised Learning
b. 无监督式学习Unsupervised Learning
c. 半监督式学习Half-supervised Learning
d. 强化学习:使用多种方法,并衡量哪种方法最成功
C7:神经网络
- 启发:生物神经元
- 人工神经元
可以进行传递、处理信息
同样也可以训练这些人工神经元 - 人工神经元提取特征
人工神经元将对一个物体提取特征并设置权重,用于标识一个物体
C8:反向传播算法
步骤.
- 前馈部分:随机分配权重,即每个神经元的值,再通过神经网络来馈送每个图像,产生输出值
- 误差测定部分:真值标记与前馈输出值之间的误差
- 反向传播部分:类似于前馈部分,方向相反;并且神经元传递的值需要根据所测定的误差进行微调
- 并重复上述周期,甚至几千次
C9:卷积神经网络CNN
- 接受多维输入,包括定义大多数传感器接受的二维、三维数据
- 算法内容
a. 需要将图像分布到一维,重塑为一个矢量
b. 尽管可能会打乱一个整体,将其变为分散的像素点,但是CNN会维持像素之间的空间关系,从而解决这个问题
C10:检测与分类
- 举例
a. 识别动态障碍物:当识别到前方有一辆正在驾驶的车,那么便是一个动态障碍物,无人驾驶车就可能会选择保持当前速度与车道
b. 识别信号灯:当识别到前方有信号灯,传感器辨别信号灯的颜色,进而对相应颜色的信号灯做出相应动作 - 使用什么算法检测与分类?CNN
a. 一种思路:一个CNN作为检测算法,另一个CNN作为分类算法
b. 另一种思路:使用一个CNN同时作为检测与分类算法
i) 如何实现?在单个网络体系结构的末端设置多个不同的“头”,一个“头”用于检测,另一个“头”用于分类
ii)典例:R-CNN、Fast R-CNN、Faster R-CNN
C11:跟踪
- 意义:
对每个对象进行检测、分类后,追踪对检测失败是非常有效的,例如解决遮挡问题;并且追踪可以保留身份。 - 步骤:
a. 确认身份:通过查找特征相似度最高的对象确认身份
b. 使用对象的位置并结合预测算法,估计下一个时间点的速度和位置,这样可以帮助我们识别下一帧的相应对象
C12:分割
- 基于特殊的CNN——全卷积网络FCN
网络中的每一层都是卷积层
提供了原始输入图像之上叠加的逐像素输出 - 需要考虑分割之后的图像大小问题
必须要最终输出大小与原始图像大小相同
因此使用上采样处理 - FCN组成
a. 编码器
b. 解码器
C13:Apollo感知
图像处理过程
- YOLO处理:进行车道检测+动态对象检测
- 雷达数据与动态对象检测结合,进行调整,获得车辆基本数据
C14:传感器数据比较
C15:感知融合策略
- 融合输出的主要算法:卡尔曼滤波算法
步骤:
a. 预测状态(如行人的速度预测)
b. 更新测量结果状态(将实时传感器数据更新)
c. 卡尔曼滤波算法是上述两个状态的无限循环 - 融合方式
同步融合:同时更新不同传感器的测量结果
异步融合:逐个更新不同传感器的测量结果
C16:项目示例:感知与融合
- 重难点:高性能地实现计算机视觉功能