前言
Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统
。
开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、成熟、安全的自动驾驶技术和数据开放给业界,旨在建立一个以合作为中心的生态体系,发挥百度在人工智能领域的技术优势,为合作伙伴赋能,共同促进自动驾驶产业的发展和创新。
Apollo 自动驾驶开放平台为开发者提供了丰富的车辆、硬件选择,强大的环境感知、高精定位、路径规划、车辆控制等自动驾驶软件能力以及高精地图、仿真、数据流水线等自动驾驶云服务,帮助开发者从 0 到 1 快速搭建一套自动驾驶系统。
📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于Apollo的学习录系列,大家有兴趣的可以看一看
📘相关专栏C语言初阶、C语言进阶系列等,大家有兴趣的可以看一看
📙Python零基础入门系列,Java入门篇系列、docker技术篇系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下哦!
阿波罗自动驾驶系统的影响
- 1. 清晰的任务流水线,多样的算法插件
- 2. 全新的模型训练,易用的深度学习模型
- 3. 高效的模型管理,便捷的模型验证
为了帮助开发者更好的提升感知模块的开发效率,在Apollo 8.0版本中,我们提供了一套完整的端到端自动驾驶感知开发流程,在数据、模型、框架和验证4个主要环节都做了提升,同时迭代优化斓任务流程和工具,帮助开发者快速实现自动驾驶感知的开发、部署和验证,提高感知开发效率
。
1. 清晰的任务流水线,多样的算法插件
在8.0感知框架中,开发者可以根据不同的感知任务类型来创建对应的流水线,并通过配置文件来定义流水线任务
。相比以前,每个任务的运行流程更加清晰,同时还方便进行扩展。此外,开发者还可以根据需要选择不同的算法插件,比如Apollo感知模块提供4种检测器,开发者可以根据配置文件,选择不同的检测器,来验证检测效果,通过算法插件,算法工程师更加专注于算法本身,而不需要过多关注框架的实现。
2. 全新的模型训练,易用的深度学习模型
此次Apollo 8.0中,Apollo联合Paddle3D提供了端到端的自动驾驶模型开发解决方案,覆盖了从自动驾驶数据集到模型训练、模型评估和模型导出的算法开发全流程
。
对自动驾驶驾驶中,开发者比较关心的3D目标检测任务和分割任务,Apollo提供了最新SOTA的算法模型实现,包括单目相机检测,激光雷达点云目标检测和多模态的目标检测模型,开发者开箱即用,不需要再苦于自己复现模型。同时,我们还提供模型的Benchmark,包括速度、精度等指标以及预训练好的模型。开发者可以实时跟踪最新的3D目标检测和分割模型实现,保持自动驾驶感知算法上的先进性。
Apollo 8.0感知模型中,已引入了3个深度学习模型:
- PETR:目前自动驾驶方向中视觉BEV领域中的代表性模型,模型创新性地将3D坐标信息与图像特征相融合,
借助Transfomer的结构进行端到端的3D目标检测,实现了基于视觉的360°障碍物感知,模型整体架构设计简洁
,在速度和精度之间取得了很好的tradeoff,在nuScenes上精度达到了43.52 NDS, 38.35mAP。 - CenterPoint:点云检测方向的前沿模型,该模型是Anchor-Free的三维物体检测器,基于关键点检测的方式回归物体的尺寸、方向和速度。相比于Anchor-Based的三维物体检测器,CenterPoint不需要人为设定Anchor尺寸,面向物体尺寸多样不一的场景时其精度表现更高。
模型的结构设计简单而高效,在nuScenes上精度达到了61.30 NDS,50.97mAP
。 - CaDDN:基于单目3D检测的前沿模型,针对于单张图像预测3D物体的病态问题,CaDDN创新性地提出了使用每个像素的预测分类深度分布,将丰富的上下文特征信息投射到3D空间中适当深度区间的解决方案,并使用计算效率高的鸟瞰投影和单级检测器来生成最终的输出包围框,将单目3D的模型指标提到了一个新的高度,在KITTI数据中达到了较高的精度指标(Car类别3D AP 21.45 14.36 12.57)。
3. 高效的模型管理,便捷的模型验证
为了更方便快捷的将训练好的模型部署到Apollo系统中,在此次Apollo 8.0中我们引入了模型Meta和模型管理。其中模型Meta中包含了模型的基本信息,如名称、任务类型、传感器类型、框架和训练所需的数据集,同时还包含了模型的标准输入、输入、前后处理、模型文件存放的路径等。同时,Apollo还提供模型管理工具,开发者可以通过该工具下载安装模型仓库中的模型,展示系统中已经安装的模型和模型的详细信息。通过对模型进行标准化和模型管理工具,开发者可以非常方便的安装部署训练好的模型,并且管理这些模型,实现模型部署效率提升。
此外,在感知模型验证中,我们提供了基于数据集的数据包(record文件),方便开发者直接基于数据集的数据来在线验证模型的检测效果
,保证训练和部署是同一套基线,快速测试模型性能。除了提供测试数据包之外,Apollo 8.0还提供了可视化工具链,通过可视化的图形界面,展示传感器的原始数据和目标检测结果,方便开发者查看模型检测效果,调试感知模型。
更全面的Apollo社区官网文档
Apollo社区官网文档,主要为新手开发者提供Apollo相关介绍、以及上机场景和上车场景的实践说明,让新手开发者能快速了解Apollo并上手实操。在8.0中,我们优化了社区官网文档的结构,从开发者使用场景出发,针对不同场景提供应用实践案例指导以及扩展开发指导。
社区官网文档:https://apollo.baidu.com/community/Apollo-Homepage-Document/Apollo_Doc_CN_8_0。
另外还有活动任务《星火培训》:星火培训。
Apollo 8.0从“新架构”、“新能力”两个重要层面进行了全面升级,从开发者的实际需求出发进行改良,帮助开发者更好、更快地熟悉和使用Apollo开放平台。此次Apollo开放平台8.0的推出,再次让Apollo开放平台在工程易用性上向前迈进一大步,降低操作难度、操作成本的门槛,让更多开发者可以简单方便地上手Apollo开放平台、投身自动驾驶技术领域。
如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下⭐,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。