在自动驾驶系统中,感知模块主要负责识别车辆周围的障碍物以及交通标识等,因此感知算法的好坏直接关系到自动驾驶的安全性,而如何更快地迭代开发感知算法就成为了关键。为帮助开发者更好地提升感知模块的开发效率,在Apollo 8.0版本中,我们提供了一套完整的端到端自动驾驶感知开发流程,在数据、模型、框架和验证4个主要环节都做了提升,同时迭代优化了任务流程和工具,帮助开发者快速实现自动驾驶感知的开发、部署和验证,提高了感知模块的易用性和开发效率。

主要升级点

1.感算法全流程效率提升覆盖感知算法从数据、模型、框架到验证的4个步骤,开箱即用,提升感知开发效率。
2.感知框架效率提升:引入感知任务流水线的概念,对感知任务进行拆分,配置更加统一和方便,通过算法插件的方式,可以灵活替换各种算法进行验证。
3.感知算法验证效率提升:实现数据集转Record包,统一了模型训练和在线推理的验证基线,升级了可视化工具,可以更直观的查看感知结果和传感器数据。

4.感知模型管理和部署效率提升:引入模型Meta信息,标准化模型输入输出,增加了模型管理工具,开发者可以通过命令实现模型安装、卸载、查看等。

 

详细介绍

一、感知框架

1. 任务流水线
在8.0感知框架中,开发者可以根据不同的感知任务类型来创建对应的流水线,并通过配置文件来定义流水线任务。相比以前,Apollo 8.0中每个任务的运行流程更加清晰,同时还方便进行扩展。

 

2. 算法插件

在8.0感知框架中,开发者可以根据需要选择不同的算法插件,比如Apollo感知模块提供4种检测器,开发者可以根据配置文件,选择不同的检测器,来验证检测效果。通过最新的算法插件,算法工程师更加专注于算法本身,而不需要过多关注框架的实现。

二、感知模型与验证

1. 模型训练

自动驾驶算法日新月异,在此次Apollo 8.0中,Apollo联合Paddle3D为开发者提供了端到端的自动驾驶模型开发解决方案,覆盖了从自动驾驶数据集到模型训练、模型评估和模型导出的算法开发全流程。

对于开发者比较关心的3D目标检测任务和分割任务,Apollo提供了最新SOTA的算法模型实现,包括单目相机检测、激光雷达点云目标检测和多模态的目标检测模型,可以让开发者开箱即用,不用苦于自己再复现模型了。同时,我们还提供了模型的Benchmark,包括速度、精度等指标以及预训练好的模型。开发者可以实时跟踪最新的3D目标检测和分割模型实现,保持自动驾驶感知算法上的先进性。

2. 新模型引入
在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 8.0还提供了模型管理工具,开发者可以通过该工具下载安装模型仓库中的模型,展示系统中已经安装的模型和模型的详细信息。通过对模型进行标准化和模型管理工具,开发者可以非常方便的安装部署训练好的模型,并且管理这些模型,实现模型部署效率提升。 

 

4. 模型验证

在Apollo自动驾驶系统中模型部署完成后,我们提供了基于数据集的数据包(record文件),方便开发者直接基于数据集的数据来在线验证模型的检测效果,保证训练和部署是同一套基线,快速测试模型性能。

除了提供测试数据包之外,Apollo 8.0还提供了可视化工具链,通过可视化的图形界面,展示传感器的原始数据和目标检测结果,方便开发者查看模型检测效果,调试感知模型。

三、安装使用

具体使用链接可参考自动驾驶场景中的障碍物感知模型的实操《Lidar训练到部署quick start》
 

(https://apollo.baidu.com/community/Apollo-Homepage-Document/Apollo_Doc_CN_8_0?doc=%2F%25E5%25BA%2594%25E7%2594%25A8%25E5%25AE%259E%25E8%25B7%25B5%2F%25E4%25BD%25BF%25E7%2594%25A8Apollo%25E8%25BF%259B%25E8%25A1%258C%25E6%2584%259F%25E7%259F%25A5%25E6%2589%25A9%25E5%25B1%2595%25E5%25BC%2580%25E5%258F%2591%2Flidar%25E8%25AE%25AD%25E7%25BB%2583%25E5%2588%25B0%25E9%2583%25A8%25E7%25BD%25B2quick%2520start )

 

综上所述,Apollo 8.0提供了一套完整的端到端自动驾驶感知开发流程,开发者可以通过结合Apollo和Paddle3D系统,可以快速实现自动驾驶感知的开发、部署和验证等步骤,实现开箱即用,帮助开发者提升感知开发效率,并且快速进行自动驾驶产品迭代。

 

 

 

 

Logo

为开发者提供自动驾驶技术分享交流、实践成长、工具资源等,帮助开发者快速掌握自动驾驶技术。

更多推荐