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

英伟达NVIDIA中国 2023-03-04 10:00

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


此次,飞桨基于和 Apollo 自动驾驶团队合作开发的大量业务实践经验,结合自动驾驶感知算法开发难点,联合 NVIDIA 在 NGC 飞桨容器中进行深度适配,正式发布飞桨首个端到端 3D 感知开发套件 Paddle3D,欢迎大家在 NVIDIA GPU 上体验!


加入 Paddle3D 技术交流群

体验 NVIDIA NGC + Paddle3D


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

https://github.com/PaddlePaddle/Paddle3D



Paddle3D 概览


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



2.1 基础层


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


2.1.1 数据处理管道

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


2.1.2 数据集

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


2.1.3 真值库

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


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



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 模型的支持也即将完成。



2.2.2 激光雷达 3D 感知模型

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



2.2.3 BEV 模型

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


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


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%。



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


2.6 总结


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


NGC 飞桨容器介绍


如果您希望体验 PaddleNLP 的新特性,欢迎使用 NGC 飞桨容器。NVIDIA 与百度飞桨联合开发了 NGC 飞桨容器,将最新版本的飞桨与最新的NVIDIA的软件栈(如CUDA)进行了无缝的集成与性能优化,最大程度的释放飞桨框架在 NVIDIA 最新硬件上的计算能力。这样,用户不仅可以快速开启 AI 应用,专注于创新和应用本身,还能够在 AI 训练和推理任务上获得飞桨+NVIDIA 带来的飞速体验。


最佳的开发环境搭建工具 - 容器技术


  1. 容器其实是一个开箱即用的服务器。极大降低了深度学习开发环境的搭建难度。例如你的开发环境中包含其他依赖进程(redis,MySQL,Ngnix,selenium-hub等等),或者你需要进行跨操作系统级别的迁移

  2. 容器镜像方便了开发者的版本化管理

  3. 容器镜像是一种易于复现的开发环境载体

  4. 容器技术支持多容器同时运行




最好的 PaddlePaddle 容器


NGC 飞桨容器针对 NVIDIA GPU 加速进行了优化,并包含一组经过验证的库,可启用和优化 NVIDIA GPU 性能。此容器还可能包含对 PaddlePaddle 源代码的修改,以最大限度地提高性能和兼容性。此容器还包含用于加速 ETL (DALI, RAPIDS),、训练(cuDNN, NCCL)和推理(TensorRT)工作负载的软件。


PaddlePaddle 容器具有以下优点:


  1. 适配最新版本的 NVIDIA 软件栈(例如最新版本CUDA),更多功能,更高性能

  2. 更新的 Ubuntu 操作系统,更好的软件兼容性

  3. 按月更新

  4. 满足 NVIDIA NGC 开发及验证规范,质量管理


通过飞桨官网快速获取



环境准备

使用 NGC 飞桨容器需要主机系统(Linux)安装以下内容:

  • Docker 引擎

  • NVIDIA GPU 驱动程序

  • NVIDIA 容器工具包


有关支持的版本,请参阅 NVIDIA 框架容器支持矩阵 和 NVIDIA 容器工具包文档。


不需要其他安装、编译或依赖管理。无需安装 NVIDIA CUDA Toolkit。


NGC 飞桨容器正式安装:


要运行容器,请按照 NVIDIA Containers For Deep Learning Frameworks User’s Guide 中 Running A Container 一章中的说明发出适当的命令,并指定注册表、存储库和标签。有关使用 NGC 的更多信息,请参阅 NGC 容器用户指南。如果您有 Docker 19.03 或更高版本,启动容器的典型命令是:


docker run --gpus all --shm-size=1g --ulimit memlock=-1 -it --rmnvcr.io/nvidia/paddlepaddle:22.08-py3


*详细安装介绍 《NGC 飞桨容器安装指南》

https://www.paddlepaddle.org.cn/documentation/docs/zh/install/install_NGC_PaddlePaddle_ch.html


*详细产品介绍视频

【飞桨开发者说|NGC飞桨容器全新上线 NVIDIA产品专家全面解读】

https://www.bilibili.com/video/BV16B4y1V7ue?share_source=copy_web&vd_source=266ac44430b3656de0c2f4e58b4daf82


飞桨与 NVIDIA NGC 合作介绍


NVIDIA 非常重视中国市场,特别关注中国的生态伙伴,而当前飞桨拥有超过 535 万的开发者。在过去五年里我们紧密合作,深度融合,做了大量适配工作,如下图所示。



今年,我们将飞桨列为 NVIDIA 全球前三的深度学习框架合作伙伴。我们在中国已经设立了专门的工程团队支持,赋能飞桨生态。


为了让更多的开发者能用上基于 NVIDIA 最新的高性能硬件和软件栈。当前,我们正在进行全新一代 NVIDIA GPU H100 的适配工作,以及提高飞桨对 CUDA Operation API 的使用率,让飞桨的开发者拥有优秀的用户体验及极致性能。


以上的各种适配,仅仅是让飞桨的开发者拥有高性能的推理训练成为可能。但是,这些离行业开发者还很远,门槛还很高,难度还很大。


为此,我们将刚刚这些集成和优化工作,整合到三大产品线中。其中 NGC 飞桨容器最为闪亮。


NVIDIA NGC Container – 最佳的飞桨开发环境,集成最新的 NVIDIA 工具包(例如 CUDA)




点击 “阅读原文” 或扫描下方海报二维码,即可免费注册 GTC23,在 3 月 24 日 听 OpenAI 联合创始人与 NVIDIA 创始人的炉边谈话,将由 NVIDIA 专家主持,配中文讲解和实时答疑,一起看 AI 的现状和未来!


评论
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 63浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 167浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 40浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 103浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 113浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 66浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦