最近发现了我有学生在百度Apollo开放平台上搞自动驾驶研究,所以就涉猎了一下。发现还是真挺容易上手的,今天百度还发布了升级版本的Apollo开放平台8.0,接下来我就跟大家分享一下这个Apollo开放平台8.0新的升级点。我对服务部署这块非常有兴趣,大家都知道为啥咱们程序员的电脑不重启,就是因为环境搭建的过程太复杂,而且消耗的时间也多,此次新升级的部署时间上大大的缩短了,对于这里我会详细的描述一下。
我们在本次会议上能很直接的看清楚整个Apollo开放平台8.0的体系结构升级的内容,新的架构新的感觉,之前的硬件开发层与车辆认证层可以直接看到合并在一起了,虽然看着里面的内容没啥变化,但是在新名称硬件设备层下是通过开放标准协议与认证吸引生态合作伙伴为开发者提供丰富的自动驾驶设备选择;软件层分成了软件核心层和软件应用层——这块就大不一样了,为开发者提供了全新自动驾驶模块扩展能力与扩展方式,并以场景的形式对开发者开放,其实这么说对我就比较好理解,就是我自己写的也能上传上去了,回头练一颗超级金丹传上去,我也是有机会成为历史的缔造者;云端服务层这里我们可以看到增加了三个小模块:实训、继承共计、模型训练,并且把原来的方针功能也做了增强。
不仅仅是易用的软件与易拓展的硬件,而是实打实的在学习以及实验过程中得到的实惠,框架清晰代表我们学习使用的过程中就不会迷茫,一眼就能看出来学习的顺序,不会去浪费我们学习的成本。
这次升级我觉得对我们开发者或者是学习者来说是最贴心的,对于一个常年备课学习的人,最喜欢的就是能用最短的时间展现出想要结果的技术,这样无论是自己的掌握效率,以及过程的成就感都会很高,并且让自己可以持续的学习下去,去创造更多的价值。这次新的升级特别是部署时间上的压缩,是一块非常大的亮点。
工程框架引入软件包管理机制,安装部署从天级别将至30分钟内且更易扩展。
感知模型与开发流程升级,让你的开发效率提高一倍。
全新PnC工具链,调试效率再提升一倍。
接下来我们根据这三点展开说一下:
我们都知道软件的安装方式有四种,最小安装、典型安装、完整安装、自定义安装,此次升级使用软件包方式进行安装,也就是自定义的安装方式,可以按照我们实验的需求进行选择性数据下载,从而节省了大量编译所消耗的时间,部署的时间会从之前的按照天为单位大大的缩短成现在的30分钟之内,效率会高很多,我们也可以在短时间内体验Apollo开放平台的能力。
隔离规范与便捷二次拓展方案可以更快的去实现对应的组件、验证idea,以及共享给其它开发以及测试人员。从源码工程到软件包最后到场景工程一目了然。
会议中我们直接看到新增的三个深度学习模型:
1、点云障碍物模型CenterPoint Anchor-Free的三维物体检测,物体尺寸多样的复杂场景提供了更高精度的识别能力。并且这个训练是开放的,是支持Paddle3D数据集的,如果本地显卡很强的话自己也改改参数多练几次,说不定是一颗金丹呢。
2、视觉障碍物模型CaDDN预测图像中每个像素深度分布,结合鸟瞰投影达到更高的检测精准度。
3、视觉检测模型PETR将3D坐标信息与图像特征相融合,实现了基于视觉的360°障碍物感知。
完整开放训练、部署到验证的端到端流程,开发效率提升一倍。
模型meta支持Paddle3D数据集,如果本地是NVIDIA Tesla V100,选择本地的显卡,让训练飞起来;Apollo开放平台8.0 感知模型上的升级在原有的基础上有效的提升了精度,同时还引入了360°视觉BEV感知,增强了视觉感知能力。我们也可以根据自己的需求,依据模型meta要求设计训练我们自己的模型,在保证模型兼容性的前提下,减少接入成本,可以根据公开数据集 nuscenes,KITTI,Waymo Open Dataset 等,提供 state-of-art 的模型训练,从而可以更好的完成目标任务。
规范的模型引入,可以通过模型管理工具进行一键式的部署模型,高效,快捷,避免了数据格式各异的问题,而且还结合了感知框架,在配置文件中可以设置感知任务流程,免得每次都得搞新模块,又节约了很多的时间。相较于之前的步骤添加模型文件、添加新的 Lidar Detector、修改 Lidar Detector 以适配新的 Lidar Detection 模型以及初始化和处理流程简便了不是一星半点呢。
验证这块是统一训练数据和验证数据的,仿真服务目前提供:碰撞检测、闯红灯检测、限速检测、在路检测、到达重点检测、急刹检测、加速检测、导航检测、路口变道检测、礼让行人检测、不必要刹车检测、停车标志前停车检测这12个评估标准。用户在本地通过数据包来验证算法对应的实际效果,并且升级了原来的感知结果可视化工具,让一切数据更加清晰明了。
PnC调试效率提升一倍,因为平台在Dreamview中引入了Studio插件。
Apollo Studio提供了200个仿真场景,例如:基于不同的路型,包括十字路口、调头、直行、三叉路口、弯道。障碍物类型,包括行人、机动车、非机动车及其他。道路规划,包括直行、调头、变道、左转、右转、并道。红绿灯信号,包括红灯、黄灯、绿灯。还有场景运行模式以及自动评估系统,免去了我们本地测试很多情况不易复现的问题。
Apollo开放平台8.0提供了PNC仿真测试的本地调试功能,我们可以在本地通过deamview的仿真模拟车辆进行各种场景的效果的复现,在复现中可以看到整个数据流变化的过程,。由于我们的基础模型中已经包含了Apollo Studio提供了200个仿真场景,基本常见的环境都会有效果。
这里我们程序员可以进行各种自定义场景以及障碍物,平台提供基于云端Studio的仿真场景创建、编辑与分组管理,一键云端场景下载至本地Dreamview,在通过本地deamview的仿真模拟车去跑场景,跑真实环境在测试的过程中肯定会有很大的安全隐患,所以其实平台现在的仿真测试就是非常棒的功能了,云端测评可以加快自动驾驶算法的验证。
除了上面提到的新架构和新能力之外,Apollo开放平台8.0还上线了全新的社区,这是个面向开发者人群的一站式自主学习实践社区,能为开发者提供技术交流、实践与成长、工具资源等服务,共同创建一个专业、开放的自动驾驶生态平台。下面我也会简单介绍一下这个自动驾驶社区,方便感兴趣的朋友有一个初步的了解。然后你也可以去亲自体验。
社区地址:https://apollo.baidu.com/
说到自动驾驶,我们肯定会觉得学习难度会很大,并且这个东西的涉及面是非常广的,实操的成本肯定更高,想学习的开发者在Apollo出现前肯定的望尘莫及,其实想都不会去想,实验成本太高。有了Apollo Studio社区后开放的功能后,我们半个多小时就能搭建出自己需要的环境。此外社区还提供了N多的实验环境、实验手册,包换测评以及榜单,让我们可以更方便地知道,我们已经学习到什么程度了。
社区中的实验是从入门到基础,基础到专项的体系化课程,云实验平台已经内置了丰富的算法以及Apollo开放平台8.0的样例工程,初学的小朋友跑一个基础示例仅仅需要5分钟即可。大大的降低了学习的难度。
Apollo开放平台8.0的这次升级,让我们这些技术人员们能用最短的时间来学习与掌握它,并且环境搭建的时间短到一个小时绝对够自定义搭建完成跑示例,非常的高效,有结果才有价值。社会在发展,人类在进步,我们做程序的也更要用发展的眼光来看待这个世界,只有持续学习才能和这个快速发展的社会一起发展。
体验地址:
Apollo 开发者社区