【百度Apollo】探索自动驾驶:新版本 Beta全新升级算法方向支持4D毫米波,引入新模型提供增量训练

本文主要是介绍【百度Apollo】探索自动驾驶:新版本 Beta全新升级算法方向支持4D毫米波,引入新模型提供增量训练,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏: 《linux深造日志》《粉丝福利》

⛺️生活的理想,就是为了理想的生活!

文章目录

  • 引入
  • 一、背景介绍
  • 二、引入全新模型,算法检测效果显著提升
    • 2.1、更强大易用的激光雷达检测模型CenterPoint
      • 检测效果示意
    • 2.2 Beta激光雷达检测的优势
      • 检测效果示意
  • 三、相机检测,Yolo X+Yolo 3D更快更好用**
    • 3.1 检测效果示意
  • 四、提供增量训练,适应多种场景
    • 4.1效果展示
  • 五、新增支持4D毫米波
    • 5.1 检测效果示意

引入

随着自动驾驶技术的不断演进,我们很高兴地宣布 Apollo 平台的最新 Beta 版本中引入了全新的算法方向支持 4D 毫米波,并且推出了增量训练的新模型。这是一项重要的升级,旨在进一步提升自动驾驶系统的感知能力和鲁棒性。本文将深入介绍这一创新性的技术,并探讨它对自动驾驶领域的意义和潜在影响。

一、背景介绍

毫米波雷达是自动驾驶系统中常用的感知传感器之一,它能够在各种复杂的环境条件下实现高精度的目标检测和跟踪。然而,传统的毫米波雷达在处理动态场景和复杂交通情况时存在一定的局限性,例如对于高速移动目标的准确跟踪以及对于复杂道路场景的精细感知能力有待提升。

为了克服这些挑战并进一步提升毫米波雷达的性能,我们团队在新版本的 Apollo Beta 中引入了 4D 毫米波技术,并结合增量训练的方法,实现了对毫米波雷达算法的全新升级。

二、引入全新模型,算法检测效果显著提升

在Apollo 8.0时,我们联合Paddle 3D提供了端到端的自动驾驶模型开发解决方案,覆盖了从自动驾驶数据集到模型训练、模型评估和模型导出的算法开发全流程。

Beta在8.0版本基础上,对算法模型进行了更新升级,同时还在其他方面做了优化,模型泛化性和效果都得到了显著的提升

2.1、更强大易用的激光雷达检测模型CenterPoint

在激光雷达检测方向,我们采用了新的CenterPoint模型替代了原来的CNNSeg模型,并依托于百度百万级的自动驾驶数据对模型进行了针对性优化,检测精度和召回率远超原CNNSeg模型,可以提供复杂城市道路场景下实时、准确、稳定的3D目标检测效果

检测效果示意

2.2 Beta激光雷达检测的优势

升级优化后,Beta激光雷达检测具备以下优势:

  • 更好的检测效果,更强的泛化能力。 Beta使用百万真实路测数据对CenterPoint进行训练和优化,精度和召回率相较于应用最多的CNNSeg模型提升了20%+,检测能力和泛化能力显著提升。
  • 提供了常见城市道路标识的检测能力。 Beta包括了锥桶、水马、防撞桶、指示牌等目标的检测能力,极大地保障了自动驾驶的安全性。
  • 显著提升了近处行人目标和小目标的召回率。 Beta对前后处理、配置、模型推理进行了针对性调优和处理,修复了推理端结果不一致问题,行人和小目标召回率提升。
  • 增强了跟踪的稳定性。 Beta优化了障碍物点云的获取逻辑,使CenterPoint可输出准确Polygon信息,进一步增强了跟踪的稳定性。
  • 大幅降低模型推理耗时和GPU占用。 Beta提供了Tensorrt + fp16推理 & Int8推理的功能和教程,在保持模型检测效果前提下,大幅降低了模型的推理耗时和GPU占用,在低算力平台运行可满足实时性要求。
  • 降低训练开发成本,提升易用性。 Beta开源了CenterPoint的训练代码,新增了以下功能:冻结网络层训练、fp16训练、适配自定义数据集等。开发者可以根据教程,使用公开/自定义数据集快速展开训练,大大降低了用户的训练开发成本,开发者可快速方便地开展模型训练部署、增量训练、Apollo感知赛事等任务。

检测效果示意

三、相机检测,Yolo X+Yolo 3D更快更好用**

在相机检测方向,视觉感知上我们使用了Yolo X+Yolo 3D两阶段模型替换了原来的Yolo单阶段模型,使得Beta的相机检测更易用、更好用,同时速度更快、效果更好。

具体来说,更换模型后Beta在相机检测方面进行了以下优化升级:

  • 更易用。 将单目3D目标检测任务完全解耦为2D框检测与3D姿态回归两个任务,能够满足开发者以插件的方式快速替换任意2D、3D模型的需求;(*Yolo系列模型部署时只需要简单适配前后处理即可实现模型的快速替换)
  • 更好用。 开源了Yolo X及Yolo 3D适配Apollo后的训练代码,并提供给开发者在开源数据及内部数据上的预训练模型,开发者可根据需求具体场景需求对模型进行Finetune;
  • 更快速。 新推出的Onnx推理框架提供了TensorRT的C++接口来完成模型部署,单阶段模型推理时间可降至1ms,大幅度提升了模型推理速度,助力开发者将自己的模型部署上车;
  • 更强大。 2D、3D模型均使用百万量级真实路测数据训练,在有效提升城市域全场景下目标的检测能力的同时二阶段预测出的目标朝向更加稳定、尺寸更加准确,相较于之前的Yolo模型在3D评测集上精度和召回率均提升了17%+。

3.1 检测效果示意

四、提供增量训练,适应多种场景

针对开发者在自己场景中使用感知功能时可能会遇到,模型没有涉及过的特殊目标和特殊场景,出现模型目标检测效果不佳的情况。

为此Beta为开发者提供了全面详细的增量训练教程,开发者可使用少量自定义场景数据和Apollo预训练模型,在教程指导下进行增量训练,在维持模型原有检测能力的前提下,显著提升特殊目标和特殊场景的检测能力,从而达到用较低成本轻松提升定制场景的检测效果

举例来说,我们采集了少量包含特殊挂车的自定义场景数据,使用增量训练方法解决特殊挂车检测效果差的问题。同时分别在百度城市道路数据和少量自定义场景数据中,评测模型原有的检测能力和新场景新目标的检测能力,最终给出指导性建议和意见:

  • 冻结网络层。 通过冻结特定网络层,对模型进行微调训练,缓解了灾难性遗忘问题(Catastrophic Forgetting),在保持模型原有检测能力的前提下,大幅提升了挂车的检测效果(自定义场景大车AP提升15%),有效解决了用户自动驾驶场景的痛点。
  • 超参数调整。 通过调整学习率、Epochs和Batch Size等超参数,可以进一步提升模型检测能力,同时更好地平衡在不同场景中的检测效果。
  • 正则化。 使用Object Smaple数据增强,正则化等技术,可有效避免在自定义数据集上的过拟合问题。
  • 混合训练。 同时将来会提供使用自定义数据集和百度数据集混合全量训练的功能,可在城市道路场景和自定义场景中同时获得最佳的检测效果(城市道路场景中mAP基本没有损失,自定义场景大车AP值提升25%)。

4.1效果展示

五、新增支持4D毫米波

Beta从硬件驱动到感知模型层,增加了对4D毫米波的支持。相比传统毫米波雷达,4D毫米波雷达新增俯仰角测量的能力,可以同时输出目标的水平角、俯仰角、距离、多普勒速度等信息,同时角分辨率可以提升至1度左右,输出类似于激光雷达的密集点云;通过基于深度学习模型的4D毫米波点云目标检测,提高自动驾驶车辆在雨雪雾等天气下的安全性。

Beta 4D毫米波具有以下亮点:

  • 高精度。 传统毫米波雷达只能返回二维平面的目标位置信息,对于天桥或减速带等目标,无法判断障碍物的高度信息,容易导致车辆急刹;而4D毫米波雷达可以返回点云的三维位置信息,对自动驾驶车辆周围环境进行更好的建模,更稳定地检测静态障碍物;
  • 低误报。 传统毫米波雷达只能返回稀疏的目标点云信息,无法分辨目标的几何特征,对于4D毫米波雷达输出的高密度点云,Apollo新增4D毫米波雷达目标检测模块,通过适配经典的点云目标检测模型PointPillars,利用毫米波点云特有的速度特征,通过多帧融合提升点云密度,对4D毫米波点云进行特征提取和目标检测,识别行人、车辆、非机动车等,避免了毫米波雷达噪点引起的误检,同时输出的障碍物的语义和Polygon等信息更有利于下游任务;
  • 可迭代。 开源了PointPillars适配Apollo后的训练代码,开发者可以迭代更适合毫米波雷达的深度目标检测网络,实现更高的毫米波雷达检测精度,充分释放毫米波雷达性能,实现更安全、成本更低的自动驾驶感知方案。

5.1 检测效果示意

这篇关于【百度Apollo】探索自动驾驶:新版本 Beta全新升级算法方向支持4D毫米波,引入新模型提供增量训练的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948619

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机