学习心得:Apollo无人驾驶汽车入门课程——第四课:感知
目录
- C1:感知简介
- C2:Sebastian Thrun介绍感知
- C3:计算机视觉
- C4:摄像头图像
- C5:激光雷达图像
- C6:机器学习
- C7:神经网络
- C8:反向传播算法
- C9:卷积神经网络CNN
- C10:检测与分类
- C11:跟踪
- C12:分割
- C13:Apollo感知
- C14:传感器数据比较
- C15:感知融合策略
- C16:项目示例:感知与融合
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:项目示例:感知与融合
- 重难点:高性能地实现计算机视觉功能
学习心得:Apollo无人驾驶汽车入门课程——第四课:感知相关推荐
- 学习心得:Apollo无人驾驶汽车入门课程——第一课:无人驾驶概览
目录 C1:概述 C2:学习内容 C3:什么是无人驾驶? C4:Sebastian Thrun致辞 C5:无人驾驶车的运作方式 C6:Apollo团队与架构 C7:参考车辆与硬件平台 C8:开源软件架 ...
- 《Apollo 智能驾驶进阶课程》四、感知
1. 感知概貌 2. 传感器和标定 激光雷达:主动式,发射功率限制 Camera: 被动式,受到光照影响大 Radar : 多普勒效率 相对速度 超声波: 感知距离有限,倒车时使用. - 最后设备还在 ...
- Apollo自动驾驶入门课程第①讲—无人驾驶概览
目录 1. 全面了解自动驾驶主要模块 2. 了解无人车的运作方式 3. 开放式软件栈 4. 本节其他重点 本文转自微信公众号:Apollo开发者社区 原创: 阿波君 Apollo开发者社区 8月1日 ...
- Apollo自动驾驶入门课程第⑧讲 — 规划(下)
目录 1. 路径-速度解耦规划 2. 路径生成与选择 3. ST图 4. 速度规划 5. 优化 6. 路径-速度规划的轨迹生成 7. Lattice规划 8. ST轨迹的终止状态 9. SL轨迹的终止 ...
- Apollo自动驾驶入门课程第⑥讲 — 预测
目录 1. 简介 2. 不同的预测方式 3. 基于车道序列的预测 4. 障碍物状态 5. 预测目标车道 6. 递归神经网络 7. 递归神经网络在目标车道预测的应用 8. 轨迹生成 本文转自微信公众号: ...
- Apollo自动驾驶入门课程第⑤讲 — 感知(下)
目录 1. 卷积神经网络 2. 检测与分类 3. 跟踪 4. 分割 5. Apollo感知 6. 传感器数据比较 7. 感知融合策略 本文转自微信公众号:Apollo开发者社区 原创: 阿波君 Apo ...
- Apollo自动驾驶入门课程第④讲 — 感知(上)
目录 1. 感知的概述 2. 计算机视觉 3. 摄像头图像 4. LiDAR图像 5. 机器学习 6. 神经网络 7. 反向滤波法 本文转自微信公众号:Apollo开发者社区 原创: 阿波君 Apol ...
- Apollo自动驾驶入门课程第⑦讲 — 规划(上)
目录 1. 规划简介 2. 将地图转为图形 3. 路径查找算法:A* 4. 轨迹生成 5. Fernet坐标系 本文转自微信公众号:Apollo开发者社区 原创: 阿波君 Apollo开发者社区 9月 ...
- Apollo自动驾驶入门课程第②讲 — 高精地图
目录 1. 高精地图与传统地图 2. 高精地图与定位.感知规划的关系 2.1 高精地图用于定位 2.2 高精地图用于感知 2.3 高精地图用于规划 3. Apollo高精度地图与构建 3.1 Apol ...
最新文章
- MDFR:基于人脸图像复原和人脸转正联合模型的人脸识别方法
- CentOS 初体验二: 切换语言,连接互联网
- Java并发—线程池ThreadPoolExecutor基本总结
- mysql8.0.21.0 安装
- java 集合操作工具包_java之操作集合的工具类--Collections
- C++学习笔记————WINAPI宏定义
- hdu--1181--变形课
- 关于拿到一个别人给你已经上架的App源代码时,首先需要干的几个事情
- 关于FbinstTool加入360急救盘见解
- 2017 上海车牌(沪牌)标书购买攻略
- 记一次公司被勒索病毒攻击事迹,上上下下咬牙切齿
- 昆山花桥房都要上万 上海买家占9成“江山”
- 自行车码表CPU选型
- 海思59V200PQtool环境的搭建
- 关于龙芯CPU几发射的问题
- 原生的HTML Table表格实现表头添加斜杠
- 南卡NANK Runner CC3 耳机评测:骨传导耳机入门级别最强款
- 07-Web storage
- 航空燃气涡轮发动机分类
- JAVA学生信息管理系统——增删查改