网站建设制作合同模板,wordpress网站安装插件,wordpress表单生成,个人网页免费域名注册入口原文链接;进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战 环境感知在自动驾驶汽车应用中占据了核心地位。一辆车要实现自动驾驶#xff0c;障碍物感知是最基础也是最核心的功能。 上周阿波君为大家详细介绍了「进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战」…原文链接;进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战 环境感知在自动驾驶汽车应用中占据了核心地位。一辆车要实现自动驾驶障碍物感知是最基础也是最核心的功能。 上周阿波君为大家详细介绍了「进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战」。 此课程主要介绍了在搭建完自动驾驶车辆的软、硬件环境以后通常采用循迹测试进行验证以及进行验证的步骤有第一步是要实现一个适配层第二步是Can卡的管理第三步是控制模块。 本周阿波君将继续与大家分享Apollo实战——障碍物感知和路径规划能力实战的相关课程本节课程基于Apollo 3.0版本。下面我们一起进入进阶课程第43期。 相比于最基本的Apollo 1.0版本Apollo 2.0版增加的主要功能模块是感知和规划。首先我们回顾Apollo的感知模块。每种传感器都有自己的优势和劣势如图1所示。从图中可以看出没有一种设备可以满足所有的场景只有将各种设备融合在一起才能达到相对稳定感知结果。也就是从Apollo 2.0开始我们开始使用多传感器融合的方式做感知。多传感器融合需要对不同的传感器进行标定。 图1 Apollo中感知模块涉及传感器的属性列表
感知的核心功能是进行障碍物的识别、分类、语义分析和障碍跟踪如图2所示。 图2 感知模块的主要功能
规划的目的是告诉车辆按一条什么样的路经行驶其代码逻辑如图3所示。顶层左边部分是规划的容器。它有几个核心元素参考线、高精地图、规划器Planner、轨迹发布。 图3 规划模块的逻辑结构
在根据教程搭建了具备感知和规划能力的平台之后开发者更希望根据自己的场景进行深度定制。为加速研发过程百度提出了“云端”的研发迭代模式所谓的“云”大家都能理解 “端”指的是车辆端如图4所示。 图4 百度提供的云端的研发迭代环境
大概的流程是首先从车辆路测中积累海量的数据将积累的数据传递到云端然后利用云端服务器集群的强大计算能力去生成深度学习模型并在云端做回归测试。最后将经过验证的模型更新到车辆上赋予它新的迭代能力。
一般来说我们将数据分为几类如图5所示。 图5 自动驾驶数据分类 原始数据各种传感器、车辆、驾驶员行为等。数据种类繁多维度不同数据量大而且大多是非结构化数据对于存储、传输、处理提出非常大的挑战。 标注数据视觉的2D障碍物数据、红绿灯数据、3D点云数据等。 逻辑数据包括完美感知、环境的抽象以及车辆动力学模型等。 仿真数据包括参数模糊化数据、三维重建数据等。 Apollo建立了一个数据平台对数据的采集、存储、使用进行管理其基本功能如图6所示。 图6 Apollo的数据管理平台
首先我们通过data recorder工具按预先定义的格式生成数据利用云端的传输机制将数据快速传递到云端。其次我们构建了一个自动驾驶数据仓库将海量数据成体系地组织在一起可以快速搜索灵活使用。最后云端拥有基于异构系统的自动驾驶的计算平台提供强大的计算能力。
当前Apollo开放了六类训练数据如图7所示。 图7 Apollo开放的数据 2D红绿灯用来识别交叉路口红绿灯数据可以用做训练、测试和验证。 2D障碍物比如车辆、行人、自行车还有其他未知类别的图像数据。 3D障碍物其实是激光雷达点云。 端到端的数据提供适合end-to-end模块的数据。 场景解析像素级的语义标注比如车辆、背景、交通指示牌、障碍物等可以用来做整体环境的识别。 障碍物预测用来训练预测算法的数据集。 此外Apollo还发布了一个叫Apollo Scape的学术性项目。Apollo Scape开放的数据在量级、复杂程度和精度方面都比业界有名的Kitty、citi scapes大一个数量级目的是推动整个自动驾驶行业的发展如图8所示。 图8 Apollo scape项目
Apollo在云端提供了与车端一致的硬件计算能力如图9所示。该计算平台基于Docker和GPU的集群构建并且部署了PaddlePaddle、TensorFlow、 Caffe 等主流深度学习框架。此外还有一个可视化展现平台供大家了解结果。 图9 Apollo训练平台
最后我们再来回归一下开发的流程。
作为一个开发者开发流程从本地开始本地开发之后可以通过Docker镜像传到云端。然后在云端的计算环境中通过调度云端的计算资源去训练算法通过数据接口层调用六大类数据进行训练。
之后可以通过数据集验证算法的效果。依此不断迭代直接在云端完成算法训练提升整体的效率如图10所示。 图10 基于云端的迭代开发流程