自动驾驶3D目标检测综述(六)

停更了好久终于回来了(其实是因为博主去备考期末了hh)

这一篇接着(五)的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。


目录

第八章 三维目标检测高效标签

一、域适应

(一)问题和挑战

(二)跨传感器域适应

(三)跨天气域适应

(四)模拟现实域适应

二、弱监督3D目标检测

(一)问题和挑战

(二)弱监督三维目标检测

三、半监督3D目标检测

(一)问题和挑战

(二)半监督三维目标检测

四、自监督3D目标检测

(一)问题和挑战

(二)自监督三维目标检测


第八章 三维目标检测高效标签

在这个章节里,我们介绍一些三维目标检测高效标签的方法。在前几个章节中,我们通常假设三维检测器是在全监督下进行训练的,且是在特定数据域和充足大量的上下文的情况下进行的。然而,在现实世界的应用中,三维目标检测方法不可避免地会遇到泛化能力差和缺少上下文的问题。为了解决这些问题,高效标签化的技术就能够应用于三维目标检测,包括三维目标检测的域适应(第一节)、弱监督学习(第二节)、半监督学习(第三节)和自监督学习(第四节)。我们将会在下面几个章节中介绍这些方法。

一、域适应

(一)问题和挑战

域间隙在数据收集过程中是普遍存在的。不同的传感器设置和放置,不同的地理位置以及不同的天气都有可能得到完全不同的数据域。在大部分情况中,在特定域中训练的三维目标检测器比在其他域中训练的检测器性能更差。人们提出了许多技术来解决三维目标检测中域适应的问题,比如采用源和目标域的一致性,以及在目标域中自训练。然而,大部分方法仅仅注重解决某个特定的域转换问题。设计一个域适应方法,这种方法可以应用于三维目标检测中任意一个域转换任务,这将是一个有前途的研究方向。三维目标检测域适应方法阐述图如下:

方法分类如下表:

(二)跨传感器域适应

不同的数据集有着不同的传感器设置,比如在nuScenes数据集上采用的32光束的激光雷达VS在KITTI数据集上采用的64光束的激光雷达, 并且数据也在不同的地理位置收集,比如KITTI数据集是在德国收集的,而Waymo是在美国收集的。这些因素都会导致不同数据集间产生严重的域间隙,并且在数据集上训练的检测器在其他数据集上测试时通常性能较差。Wang等人的一项开创性工作就是观察到了不同数据集之间的间隙,并且引入了一种统计归一化的方法来处理这些间隙。下面许多工作也都采用了自训练的方法解决域适应的问题。在这些方法中,在源数据集上预训练的检测器将为目标数据集引入伪标签,并且会在带有伪标签的目标数据集上重新训练。这些方法主要在获取更高质量的伪标签上做出了改进,比如Saltori提出了一种范围和检测策略,Yang引入了一种记忆库,Fruhwirth-Reisinger等人采用场景流应用,以及You等人采用重放来增强伪标签的质量。除了自训练方法,也存在一些论文在源和目标域之间建立对齐。域对齐通过规模意识和范围意识对齐策略(这是Zhang等人提出的),多级别一致性(Luo等人提出)以及对比性联合训练方案(Yihan等人提出)来建立。

除了数据集间的域间隙,不同的传感器之间也能够产生不同特征的数据。一个32光束的激光雷达能产生比64光束激光雷达更稀疏的点云,并且不同摄像机获取的图像也拥有不同的尺寸和内参。Rist等人提出了一种多任务学习模式来解决不同激光雷达传感器的域间隙,并且Gu提出了不变位置的转换来解决不同相机间的域间隙。

(三)跨天气域适应

天气状况对数据的收集也会造成巨大的影响。在雨天的时候,雨滴会改变目标表面特质以致于很少有激光雷达光束能够反射回来并检测到,所以在雨天收集的点云比在干燥天气下收集的点云更加稀疏。除了反射更少之外,下雨也会导致来自中空雨滴错误的正反射。Xu等人提出了跨天气域适应问题的一种新颖的语义点生成方案。

(四)模拟现实域适应

模拟数据已经被广泛应用于三维目标检测中,因为现实世界收集的数据并不能覆盖所有的驾驶场景。然而,合成数据与现实数据有着截然不同的特质,这也就导致了模拟现实域适应的问题。人们提出了许多方法来解决这个问题,例如Zhu等人提出的基于训练的GAN并引入一种对抗的鉴别器来区分现实和合成数据。

二、弱监督3D目标检测

(一)问题和挑战

现存的三维目标检测方法都高度依赖大量人工标签的三维边界框上的训练,但是给这些三维边界框添加注释是非常耗时费力和昂贵的。弱监督学习可能成为这个问题的一个解决方案,因为弱监督信号,例如更少昂贵的二维注释,已经被应用于三维目标检测模型中。若监督三维目标检测不需要那么多人工数据注释,但是在弱监督和全监督方法中仍存在不可忽视的性能间隙。弱监督三维目标检测方法阐述如下图:

(二)弱监督三维目标检测

弱监督方法采用弱监督而非全监督注释三维边界框来训练三维目标检测器。弱监督包括二维图像边界框,一个预训练的图像检测器,BEV目标中心和车辆实例。这些方法通常设计出新颖的学习机制来跳过三维框监督并通过从弱信号中最小化有用的信息来学习如何检测三维目标。

三、半监督3D目标检测

(一)问题和挑战

在现实世界应用中,数据注释需要的人力比数据收集更多。通常一个数据获取车一天之内能够收集十万多帧点云,然而一个熟练的人类注释者一天仅能注释一百到一千帧。这就不可避免的会导致大量增长的未标签化的数据。因此如何从大范围未标签的数据中最小化有用的信息就成为了研究界和工业界一个严峻的挑战。半监督学习是一个有希望的方向,它采用少部分标签化数据和大量未标签化的数据来联合训练一个更强大的模型。将半监督学习方法结合到三维目标检测中去能够增强检测性能。半监督三维目标检测方法阐述如下:

(二)半监督三维目标检测

半监督三维目标检测主要有两种方法:伪图像标签和教师-学生学习。伪图像标签方法(Caine等人提出)首先采用标签化的数据训练了一个三维目标检测器,然后使用三维检测器为那些未标签化的数据产生伪图像标签。最终,三维目标检测器在未标签化的域内用伪图像标签重新训练。教师-学硕方法(Zheng等人提出)在三维目标检测中采用平均教师训练范式。具体而言,一个教师检测器首先在标签化域中训练,然后通过鼓励两种检测模型间的输出一致性来指导学生检测器在未标签化域中训练。

四、自监督3D目标检测

(一)问题和挑战

自监督预训练已经成为一个强大的工具,当大量未标签化数据和限制性的标签数据存在时。在自监督学习中,模型首先在大范围的未标签化的数据中预训练,之后在标签化的数据集上微调以获得更好的性能。在自动驾驶场景中,三维目标检测的自监督预训练还未探索许多。现存方法仍尝试适应自监督方法,例如对比性学习,相对于三维目标检测问题,但是多模态数据中丰富的语义信息还未被很好地利用起来。如何在预训练高效三维目标检测器时有效处理这些原始点云和图像仍是一项开放性的挑战。自监督三维目标检测方法阐述如下:

(二)自监督三维目标检测

自监督方法通常将对比性学习技术应用到三维目标检测中。具体而言,输入点云首先转换成增强的两种视角,之后应用对比性学习来支持两种视角下相同三维位置的特征一致性。最终,采用对比学习预训练的三维检测器进一步在标签化数据集上微调以获得更好的性能。PointContrast(Xie等人提出)首次在三维目标检测中引入对比学习范式,并且以下文章中通过采用深度信息和聚合改进了这个范式。除了点云检测器的自监督学习,还有一些工作尝试为自监督三维检测同时采用点云和图像,例如Li提出了一种基于多模态输入的模型内和模型间的对比学习模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/944004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用three.js 实现vr全景图展示,复制即可用

1.实现效果 2.代码 1.npm安装three.js npm install three 2.引入three.js import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls 3.初始化模型 init(val) {this.container document.querySelector(.container)// 初始…

【Java 数据结构】LinkedList 类 和 模拟实现链表

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 什么是 LinkedList ? 2 LinkedList 的使用 2.1 LinkedList 的构造 2.2 LinkedList 的常用方法 2.3 LinkedList 的遍历 3. 单链表的模拟实现…

修改vue-element-admin,如何连接我们的后端

改哪几个文件就可以连接我们后端 ​​​​​​​ 主要就这四个 main.js,屏蔽这个或者删除 vue-config 最后两个文件改下端口即可 这样基本就能发了,但是还要改下 改成api 然后还要修改request.js 这里改成我们返回的状态码 我讲一个东西很容易就懂了&…

为什么在Cloudflare域名绑定添加DNS后,域名+端口无法访问?(Cloudflare域名+端口无法访问的问题详解)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Cloudflare 域名+端口无法访问 📒📝 问题示例📝 出现原因分析🔍 1. Cloudflare 的代理工作原理🔍 2. 问题核心📝 解决方案🎯 方法 1🎯 方法 2🎯 方法 3🎯 方法 4(推荐)🔖 配置示例⚓️ 相关链接 ⚓️�…

VS2022 中的 /MT /MTd /MD /MDd 选项

我们有时编译时,需要配置这个 运行库,指定C/C++运行时库的链接方式。 如下图 那么这些选项的含义是什么? /MT:静态链接多线程库 /MT选项代表“Multi-threaded Static”,即多线程静态库。选择此选项时,编译器会从运行时库中选择多线程静态连接库来解释程序中的代码,…

【NODE】01-fs和path常用知识点

前言 最近在使用express-generator知识进行搭建前后端通信,其中有些知识点涉及到nodejs的fs和path核心模块,因此另写一篇文章进行介绍和代码案例练习。 fs(文件系统)和 path 是 Node.js 的核心模块,用于文件操作和路径…

c++编译过程初识

编译过程 预处理:主要是执行一些预处理指令,主要是#开头的代码,如#include 的头文件、#define 定义的宏常量、#ifdef #ifndef #endif等条件编译的代码,具体包括查找头文件、进行宏替换、根据条件编译等操作。 g -E example.cpp -…

碰一碰发视频后端源码技术开发详解,支持OEM

一、引言 碰一碰发视频作为一种新颖的交互方式,在前端为用户带来便捷体验的同时,后端技术起着至关重要的支撑作用。后端负责管理视频资源、处理 NFC 标签信息与视频的关联逻辑、用户数据的存储与分析以及与前端的高效通信,确保整个系统稳定、…

HarmonyOS NEXT 实战之元服务:静态案例效果---本地特色景色

背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1完整代码案例如下: import { authentication } …

面试场景题系列:设计一致性哈希系统

为了实现横向扩展,在服务器之间高效和均匀地分配请求/数据是很重要的。一致性哈希是为了达成这个目标而被广泛使用的技术。首先,我们看一下什么是重新哈希问题。 1 重新哈希的问题 如果你有n个缓存服务器,常见的平衡负载的方法是使用如下哈希…

SqlSugar配置连接达梦数据库集群

安装达梦数据库时,会自动在当前操作系统中创建dm_svc.conf文件,可以在其中配置集群信息,不同操作系统下的文件位置如下图所示:   dm_svc.conf文件内的数据分为全局配置区域、服务配置区域,以参考文献1中的示例说明&…

scss配置全局变量报错[sass] Can‘t find stylesheet to import.

路径没有错误,使用别名即可 后又提示Deprecation Warning: Sass import rules are deprecated and will be removed in Dart Sass 3.0.0. 将import改为use 使用时在$前添加全局变量所在文件,即variable.

UGUI源码分析 --- UI的更新入口

首先所有的UI组件都是添加到画布(Canvas)显示的,所以首先要从Canvas入手,通过搜索脚本函数以及使用Profiler查看UI的函数的执行,定位到了willRenderCanvases函数 打开UI的文件夹, 通过搜索willRenderCanvas…

音视频入门知识(二)、图像篇

⭐二、图像篇 视频基本要素:宽、高、帧率、编码方式、码率、分辨率 ​ 其中码率的计算:码率(kbps)=文件大小(KB)*8/时间(秒),即码率和视频文件大小成正比 YUV和RGB可相互转换 ★YUV(原始数据&am…

电脑配置maven-3.6.1版本

不要使用太高的版本。 apache-maven-3.6.1-bin.zip 下载这个的maven压缩包 使用3.6.1版本。 解压缩放在本地软甲目录下面: 配置系统环境变量 在系统环境下面配置MAVEN_HOME 点击path 新增一条 在cmd中输入 mvn -v 检查maven的版本 配置阿里云镜像和本地的仓库 …

Python基础语法知识——数据类型的查询、数据类型转化

今天第一次学习python,之前学习过C,感觉学习起来还可以,就是刚用的时候有点手残,想的是python代码,结果写出来就是C,本人决定每天抽出时间写点。同时继续更新NX二次开发专栏学习,话不多说,晚上的…

Boost之log日志使用

不讲理论,直接上在程序中可用代码: 一、引入Boost模块 开发环境:Visual Studio 2017 Boost库版本:1.68.0 安装方式:Nuget 安装命令: #只安装下面几个即可 Install-package boost -version 1.68.0 Install…

C语言初阶习题【17】求N的阶乘( 递归和非递归实现)

1.题目 2.分析 非递归 需要用到循环,n个数就是循环n次,每次和之前的乘起来 例如 5的阶乘 就是 5*4 *3 *2 *1 循环1到5 。需要一个变量来接收每次的结果 注意这个地方是乘,所以要从1 开始,sum 也需要是1而不是0 for(i 1&#xf…

云效流水线自动化部署web静态网站

云效流水线部署静态网站 背景新建流水线配置流水线运行流水线总结 背景 配置流水线以前,每次更新导航网站都要登进去宝塔后台,删掉旧的目录和文件,再上传最新的文件,太麻烦啦 网上的博客基本都是分享vue项目,这一篇是…

【开源项目】数字孪生化工厂—开源工程及源码

飞渡科技数字孪生化工厂管理平台,基于自研孪生引擎,将物联网IOT、人工智能、大数据、云计算等技术应用于化工厂,为化工厂提供实时数据分析、工艺优化、设备运维等功能,助力提高生产效率以及提供安全保障。 通过可视化点位标注各厂…