BEV、单目和激光雷达 3D 感知算法开箱即用,无缝衔接 Apollo !

点击蓝字

关注我们,让开发变得更有趣

排版| 李擎

BEV、单目和激光雷达 3D 感知算法开箱即用,

无缝衔接 Apollo !

OpenVINO™

本次为大家带来深度学习 3D 感知能力体验。欢迎广大开发者基于英特尔 OpenVINO™,体验 Paddle3D 的新特性。

 当今时代,通过科技改变生产生活方式的各种先进技术纷纷崛起,交通产业也经历着巨大的变革。国家对于智能交通和交通强国战略的支持使得交通产业更加需要相关技术支撑与赋能。对此,百度飞桨团队与 Apollo 自动驾驶团队强强联合,聚焦人工智能关键技术,深耕自动驾驶各个场景,汇聚各方力量,不断拓宽开源之路。

此次,飞桨基于和 Apollo 自动驾驶团队合作开发的大量业务实践经验,结合自动驾驶感知算法开发难点,正式发布飞桨首个端到端 3D 感知开发套件 Paddle3D 。欢迎大家通过英特尔 OpenVINO™ 进行 CPU 推理快速体验!

1.加入 Paddle3D 技术交流群,体验英特尔 OpenVINO™ +  Paddle3D

Paddle3D 官方开源代码链接如下,也欢迎大家入群进行 3D 感知开发的技术交流,接下来将为大家全面介绍 Paddle3D。

https://github.com/PaddlePaddle/Paddle3D

2. Paddle3D 概览

Paddle3D 是百度飞桨官方开源的端到端 3D 感知开发套件,套件整体结构自下而上分为框架层、基础层、算法层、工具层4层。接下来具体介绍 Paddle3D 的整体架构。

0dea320917eb5162c4925cd3c3bf01e6.png

图:Paddle3D 整体架构

2.1 基础层

基础层主要提供了数据处理管道、数据集的基础支持、自定义算子的开发支持、高级 API 支持。

2.1.1数据处理管道

提供数据处理的 I/O 加速能力,提高训练阶段数据吞吐速度。同时提供多种数据变换、数据增强能力,满足 3D 模型的快速开发。

2.1.2数据集

在本次的正式版中,我们全面支持了自动驾驶三大开源数据集 KITTI、Waymo 和 nuScenes 。同时,Paddle3D 还支持用户自定义数据集进行训练,详情请前往 Paddle3D 官方开源仓库。

2.1.3 真值库

在模型精度优化方面,除了模型层面的一些优化策略,Paddle3D 在数据层面也提供了基于真值库的在线优化策略。在做自动驾驶感知任务时,采集和标注点云数据所耗费的人力成本偏高,我们希望可以充分利用已有的数据来拓展训练数据的多样性。基于真值库的在线优化策略是先根据已有的训练数据离线地生成真值库,训练的过程中在线地从真值库里面随机采样一些真值目标,放到当前帧中来合成一帧新的点云,从而提升模型的泛化能力。

下图是使用这个优化策略前后的精度对比情况,整体精度有5.39%的提升。

b7623311c5234ac8992c4ac5f5b7ed20.png

cf3bac8d36746ad72188bbf6cf8fb16a.png

图:优化策略前后精度对比

2.1.4 自定义算子即训即推

3D 感知模型在训练过程中会遇到需要开发特色的自定义算子的情况,例如用于过滤重叠三维框的非极大值抑制操作(3D IoU NMS)、PointNet++中聚合和采样点云的操作、点云体素化操作等等。Paddle3D 的模型均可基于飞桨的原生推理库 Paddle Inference 完成服务器端和云端的模型部署,且不需要在部署阶段重新开发自定义算子,完全做到即训即用。

2.2 算法层

算法层主要提供了开箱即用的单目 3D 感知、点云 3D 感知、BEV 3D 感知、多模态 3D 感知等算法,同时提供了主流的骨干网络实现参考。

2.2.1 单目3D感知模型

在和自动驾驶开源框架 Apollo 的合作过程中,我们沉淀了 SMOKE、CaDDN 这两个经典的单目 3D 感知模型,并且已经作为 Apollo 最新的内置 3D 视觉感知模型。此外,在本次正式版发布中,我们还新增了 DD3D 模型,FCOS3D 模型的支持也即将完成。


6f6e1d386854b0373f3a1ba6723eb86f.png

2.2.2 激光雷达3D感知模型

除了视觉模型之外,我们在和 Apollo 的合作过程中同样沉淀了激光雷达 3D 感知模型 PointPillars、CenterPoint,且已作为 Apollo 的原生激光雷达支持模型,本次正式版中我们还新增了 IA-SSD、PAConv、PV-RCNN、Voxel-RCNN 等前沿点云 3D 检测模型,同时,也补充了点云分割模型 SqueezeSegV3。

4315b1f24aa0d328496bc62e3e1ce17a.png

2.2.3 BEV模型

在自动驾驶任务中,对周围场景的视觉感知非常重要,这一工作可以通过多个摄像头给出的二维图像完成对 3D 检测框或语义图的检测。当前,最直接的解决方案是使用单目相机框架和跨相机后处理,该框架的缺点是其需要单独处理不同的视图,无法跨相机捕获信息,导致性能和效率低下。作为单目相机框架的替代方案,一种更统一的框架是从多目相机图像中提取整体表示。鸟瞰图 (Bird’s Eye-View,BEV) 是一种常用的周围场景表示方法,它能清晰地呈现物体的位置和规模,适用于各种自动驾驶任务。

而最近以 BEV 为基础的 3D 检测方案席卷自动驾驶届,我们也在持续跟进该方向。目前已在 Paddle3D 的模型库中补充 BEV 经典模型 PETR、PETRv2、BEVFormer,而 BEVFusion 正在实现中,即将和大家见面。

cf534815f61337d74a913b92c13e9734.png

2.3. 工具层

工具层主要提供了基于 VisualDL 的训练、推理效果可视化,同时提供了模型的量化部署加速能力、 Apollo 的集成开发能力以及混合精度训练能力。

2.3.1 自动混合精度训练支持

自动混合精度训练(Auto Mixed Precision, AMP)是指通过混合使用单精度和半精度数据格式,加速深度神经网络训练的过程,同时保持了单精度训练所能达到的网络精度。混合精度训练能够加速计算过程,同时减少内存使用和存取,并使得在特定的硬件上可以训练更大的模型或 batch size。

Paddle3D 目前全面支持混合精度训练,从而进一步优化 3D 感知算法开发对硬件的需求,加速训练。

2.3.2 量化部署支持

模型量化是一种将浮点计算转成低比特定点计算的技术,可以有效地降低模型参数大小,降低算力、内存等资源消耗,从而提升模型在端侧硬件上的运行效果。

3D 感知模型相比传统的 2D 检测模型往往模型更复杂,参数更多,在服务器上可能可以达到不错的推理速度和精度的平衡,但是实际部署时,由于硬件算力限制,帧率往往达不到要求。对此,Paddle3D 对 3D 感知模型通过量化压缩等手段在端侧硬件达到了实时性能。目前官方支持 SMOKE、CenterPoint 的量化部署,同时 Paddle3D 将结合飞桨部署神器 FastDeploy 对 3D 感知模型通过量化压缩等手段在端侧硬件进行端到端的优化,支持更多模型的量化部署,链接参考如下:

https://github.com/PaddlePaddle/Paddle3D/tree/develop/configs/quant

https://github.com/PaddlePaddle/FastDeploy

2.3.3 稀疏卷积支持

在基于点云的 3D 检测任务中,主流的解决思路会把无序的点云表示成有序的三维体素空间,精准地学习到几何结构特征的最佳方法莫过于采取 3D 卷积。但是 3D 卷积耗费非常大的显存和计算量,使得面向实时端侧场景的应用须以损失部分检测精度作为代价,将三维空间压缩至二维空间后采用 2D 卷积来换取速度的提升和计算量的减小。然而,室外场景中数量高达~100k的点云经过体素化后,三维体素空间的稀疏性低至~0.5%,采用 3D 卷积会有大量零元素的计算浪费。

在稀疏 3D 卷积中,会预先建立一个规则表,表中仅记录与卷积核相乘的非零输入元素及其输出元素在密集特征层上的位置,基于规则表完成卷积计算可避免零元素的无效运算。飞桨框架 v2.4 已经全面支持稀疏计算,Paddle3D 也集成了许多使用稀疏 3D 卷积的前沿模型,如 PV-RCNN、VoxelRCNN、CenterPoint。以 CenterPoint 为例,基于飞桨原生推理库 Paddle Inference 在一块 RTX 3080 显卡上的推理速度可达到21.20毫秒每帧,nuScenes 验证集上精度 NDS(NuScenes  Detection Score)可达到 66.74%。

3a8c4fa96131050a5b8d7434cce31951.png

2.4. 用户体验持续优化

2.4.1 3D感知算法多卡算力在线开发

考虑到 3D 感知算法在实际开发过程中对显存等硬件资源需求较大,飞桨团队提供了免费的算力资源,方便大家在线开发,同时 Paddle3D 也提供了官方的在线开发示例,欢迎大家 fork 进行二次开发。

在线开发示例链接如下:

https://aistudio.baidu.com/aistudio/projectdetail/5268894

https://aistudio.baidu.com/aistudio/projectdetail/5269115

2.4.2 详细文档

文档是快速上手一个开源项目的关键,Paddle3D 针对模型训练部署以及每个算法都有详细的文档说明,欢迎大家阅读浏览,同时我们也欢迎大家一同建立更完善的 Paddle3D 文档和教程。

2.4.3 直播课&技术解读文章

考虑到 3D 感知的更新迭代速度快,上手难度大,Paddle3D 会定期组织直播课程,由开发同学为大家深入讲解 3D 感知算法的开发、部署细节。同时也会定期发布技术专栏文章进行解读。相应的课程链接以及技术文章链接我们会定期更新到 GitHub 首页,再次欢迎大家关注 Paddle3D 官方仓库

https://github.com/PaddlePaddle/Paddle3D

2.5 Paddle3D & Apollo无缝衔接

Apollo 是由百度开源的开放、完整、安全的自动驾驶平台,助力开发者快速搭建自动驾驶系统, Apollo 官方仓库

https://github.com/ApolloAuto/apollo

Paddle3D 和Apollo在 持续性 的进行合作开发,目前已打通视觉感知模型 SMOKE、CaDDN,点云感知模型 PointPillars、CenterPoint,BEV 感知模型 PETR 等模型的训练和推理。用户可以在 Paddle3D 进行模型的训练、测试、导出,然后一键部署集成到 Apollo 的感知算法部分,和下游的跟踪算法、多传感器融合算法、预测算法、规划控制算法全栈运行。同时,用户可以通过 Apollo 的 DreamView 平台联合定位、预测、规划控制模块进行仿真调试,找出 Badcase 指导模型的优化开发。

详细开发步骤请参考:

https://apollo.baidu.com/community/Apollo-Homepage-Document/Apollo_Doc_CN_8_0/lidar

https://apollo.baidu.com/community/Apollo-Homepage-Document/Apollo_Doc_CN_8_0/camera

656779e70ad99ed904b8d9d3a7c86120.png

f2a968e03a606c88d1e7e73864c17106.png

c525c519492b1935769be4be0ff1db35.png

2.6 总结

以上就是本次正式版本的主要内容,欢迎大家 fork 体验。未来,我们将持续更新丰富模型库和预训练模型,持续优化模型在端侧的量化压缩部署,提供更详细的开发文档以及更简洁的 API,为社区带来更好用的 3D 感知开发套件。我们也欢迎社区用户参与到 Paddle3D 的建设中,不断完善 Paddle3D。

2. 英特尔® 发行版 OpenVINO™ 工具套件

英特尔® 发行版 OpenVINO™ 工具套件使用高性能深度学习推理,快速并准确地得到真实世界的结果,并在各种英特尔® 硬件和环境、本地和设备、浏览器或云中进行部署。

英特尔® 发行版 OpenVINO™ 工具套件官方支持百度飞桨模型,开发者们可以直接将部分飞桨训练后的静态模型导入 OpenVINO™ 进行部署,多项飞桨算子的适配工作已经完成,非常多的业界模型得到验证,覆盖目标检测,图像分类,语义分割、OCR 等多个领域。

高性能,深度学习

训练时考虑到推理,从 TensorFlow* 和  PyTorch*  等常见框架着手,并使用用于英特尔发行版 OpenVINO 工具套件的神经网络压缩框架 (NNCF)。

简化开发

借助训练后优化工具将您的模型导入到  OpenVINO 中,以进行训练后量化和优化。

一次写入,处处部署

在主机处理器和加速器 (CPU、GPU、VPU) 和环境(本地、设备、浏览器或云端)的组合中部署相同的应用程序。

a6f86b6dbac28db876a539e07a727d09.png

--END--

你也许想了解(点击蓝字查看)⬇️➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。➡️ 如何给开源项目做贡献? | 开发者节日福利➡️ 几行代码轻松实现对于PaddleOCR的实时推理,快来get!➡️ 使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理➡️ 图片提取文字很神奇?试试三步实现OCR!➡️【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务➡️使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能

👇欢迎在留言区与我们互动哦,

点击小程序 留言区 即可参与

留言区

扫描下方二维码立即体验 
OpenVINO™ 工具套件 2022.3

点击 阅读原文 立即体验OpenVINO 2022.3

71803c2e5c5688e85dfcc2196ca51568.png

文章这么精彩,你有没有“在看”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值