文章目录

一 摘要

二 资源

三 内容


一 摘要

        尽管深度学习在近距离 3D 对象检测方面取得了成功,但现有方法难以实现对新对象和相机配置的零镜头泛化。我们介绍了 DetAny3D,这是一种可提示的 3D 检测基础模型,能够在任意相机配置下仅使用单目输入检测任何新物体。从根本上说,训练用于 3D 检测的基础模型受到注释 3D 数据可用性有限的限制,这促使 DetAny3D 利用嵌入在广泛预训练的 2D 基础模型中的丰富先验知识来弥补这种稀缺性。为了有效地将 2D 知识转移到 3D 中,DetAny3D 整合了两个核心模块:2D Aggregator,用于对齐来自不同 2D 基础模型的特征,以及具有零嵌入映射的 3D 解释器,用于减少 2D 到 3D 知识转移中的灾难性遗忘。实验结果验证了DetAny3D 的强泛化性,它不仅在看不见的类别和新颖的相机配置上实现了最先进的性能,而且在域内数据方面也超越了大多数竞争对手。DetAny3D 阐明了 3D 基础模型在实际场景中各种应用的潜力,例如自动驾驶中的稀有物体检测,并展示了在开放世界环境中进一步探索以 3D 为中心的任务的前景。

二 资源

文章:Detect Anything 3D in the Wild

代码:https://github.com/OpenDriveLab/DetAny3D

日期:2025

三 内容

1)摘要

        尽管深度学习在近距离 3D 对象检测方面取得了成功,但现有方法难以实现对新对象和相机配置的零镜头泛化。我们介绍了 DetAny3D,这是一种可提示的 3D 检测基础模型,能够在任意相机配置下仅使用单目输入检测任何新物体。从根本上说,训练用于 3D 检测的基础模型受到注释 3D 数据可用性有限的限制,这促使 DetAny3D 利用嵌入在广泛预训练的 2D 基础模型中的丰富先验知识来弥补这种稀缺性。为了有效地将 2D 知识转移到 3D 中,DetAny3D 整合了两个核心模块:2D Aggregator,用于对齐来自不同 2D 基础模型的特征,以及具有零嵌入映射的 3D 解释器,用于减少 2D 到 3D 知识转移中的灾难性遗忘。实验结果验证了DetAny3D 的强泛化性,它不仅在看不见的类别和新颖的相机配置上实现了最先进的性能,而且在域内数据方面也超越了大多数竞争对手。DetAny3D 阐明了 3D 基础模型在实际场景中各种应用的潜力,例如自动驾驶中的稀有物体检测,并展示了在开放世界环境中进一步探索以 3D 为中心的任务的前景。

2)创新点

开发了 DetAny3D,这是一种可提示的 3D 检测基础模型,能够在现实世界场景中使用任意单目输入检测任何 3D 对象。

DetAny3D 引入了 2D Aggregator,以有效地融合两个 2D 基础模型 SAM 和深度预训练 DINO 的特征,它分别为各种对象提供枢轴形状和 3D 几何先验。

在 2D 到 3D 知识转移中,DetAny3D 在 3D Interpreter 中涉及零嵌入映射,以解决灾难性的遗忘困境,使模型能够在具有不同相机参数、不同场景和不同深度分布的数据集之间稳定训练。

实验结果表明 DetAny3D 具有显著优势,特别是在零镜头设置中使用任意相机参数准确检测看不见的 3D 对象,展示了其在广泛的实际应用中的潜力。

3)算法结构

        如上图(a) 所示,DetAny3D 采用单目 RGB 图像和提示(例如,框、点、文本、内部函数)作为输入。框、点和文本提示用于指定对象,而内部提示是可选的。如果未提供,模型将预测固有参数和相应的 3D 检测结果。如果 intrinsic 可用,模型可以将它们用作几何约束,以减轻单深度估计的病态性质并校准其检测结果。

        具体来说,单目图像由两个基础模型并行嵌入:SAM用于低级像素信息,支撑着整个可提示架构。而深度预训练的 DINO 提供了丰富的高级几何知识,在与深度相关的任务中表现出色。然后,这些互补的 2D 特征通过我们提出的 2D 聚合器(参见图 (b))进行融合,它使用交叉注意力层对低级和高级信息进行分层对齐。融合的特征随后被传递到深度/摄像头模块,该模块提取摄像头和摄像头感知深度嵌入,统称为几何嵌入。

        然后,几何嵌入和带有编码提示标记的 3D 边界框标记被馈送到 3D 解释器中(参见图(c)),它采用类似于 SAM 解码器的结构以及专门的零嵌入映射 (ZEM) 机制。3D Interpreter 注入 3D 几何特征,同时防止 2D 到 3D 知识传递中的灾难性遗忘困境,实现渐进式 3D Grounding。最后,该模型根据 3D 包围盒标记的隐藏状态预测 3D 包围盒。DetAny3D 在选定的可见类上进行训练,可以零镜头方式检测任何不可见的类。

A 2D Aggregator

        为了有效地融合多个基础模型,我们提出了 2D Aggregator 来聚合来自 SAM 和 DINO 的特征,从而减少它们异构表示之间的潜在冲突。如上图(b) 所示,2D Aggregator 以分层方式融合 SAM 和 DINO 的特征,逐步集成四个级联对齐单元的空间和几何信息。

        特征提取:给定输入图像,SAM 编码器提取高分辨率空间特征 Fs ∈ R Hs×Ws×C ,捕获精细的细节和边界。同时,DINO 编码器输出几何感知嵌入 Fd ∈ R Hd×Wd×C ,它由 Unidepth 进行深度预训练,并为深度和内部函数提供稳健的先验。遵循 ViT 适配器的设计,还采用卷积结构来产生初步的图像特征,表示为 F 0 q ,作为后续基于注意力的融合的初始查询

分级融合:四个对准单元中的每一个都通过交叉注意融合 SAM 和 DINO 功能。在第 i 个单元中,首先应用可学习的门控权重 αi(初始化为 0.5)来组合 SAM 特征 F i s 和 DINO 特征 F i d 的第 i 个块,如下所示:

        使用 F_i_fused作为键和值,而查询特征 F_i−1_q 在交叉注意力机制中充当查询:

        这种设计使模型能够在不同的层次结构级别动态强调 SAM 的空间细节或 DINO 的语义和几何线索,同时最大限度地减少两种表示之间的干扰。

几何编码:融合特征 Fˆi 融合的 i ∈ [1, 2, 3, 4] 随后由深度和相机模块处理,遵循 Unidepth 架构。具体来说,这些模块预测相机嵌入 C 和相机感知深度嵌入 D|C,称为几何嵌入 G = {D|C, C}。这些模块在单深度病态问题下提供对齐的深度和相机参数。

        总体而言,通过逐步调整多尺度特征并自适应地集成它们的贡献,2D Aggregator 有效地利用了两种基础模型的优势,同时最大限度地减少了潜在的冲突。

B 3D Interpreter

        跨各种场景、深度和相机内部函数的不同 3D 对象监督给模型训练带来了挑战。文章的 3D 解释器旨在逐步整合几何信息,同时防止 2D 到 3D 知识转移中的灾难性遗忘。引入了零嵌入映射 (ZEM) 机制,该机制通过零初始化层将 3D 几何图形逐步注入解码器,而不会中断原始 2D 特征。如图(c) 所示,3D 解释器由三个主要组件组成:Two-Way Transformer、Geometric Transformer 和 3D 边界框头。

Two-Way Transformer按照 SAM 设计,我们首先将 3D 边界框标记与 promptrelated 标记连接起来,形成查询:

其中 T3D,i 表示第 i 个对象的 3D 边界框标记,Tp,i 是与提示相关的标记,[·; ·] 表示向量连接。SAM 编码器输出 Fs 用作第一个 Two-Way Transformer 层的键和值,得到:

        使用预先训练的 SAM 解码器复制 two-way transformer 的初始化参数。

Geometric Transformer然后,我们零初始化的 1 × 1 卷积层 ZEM 处理几何嵌入 G(来自 2D 聚合器),并将其添加到 Fs 中,用作几何转换器中的键和值:

        ZEM 集成了几何嵌入,避免了 2D 特征中的灾难性遗忘。接下来,G′ 再次通过 ZEM 并与 F ′ s 结合。这种丰富的表示形式在第二个 Two-Way Transformer 图层中用作键和值,以生成对象特征 O :

        ZEM 还有助于稳定双向和几何Transformer训练中的参数更新,防止因不同的 3D 对象监控而引起的冲突

3D Bounding Box Heads最后,O 被输入到 3D 边界框头中以计算最终预测,这遵循标准 3D 检测框架的典型架构:B3D(x, y, z, w, h, l, R, S ) 其中 x, y, z 指定 3D 框中心,w, h, l 是其维度,R 是旋转矩阵, S 是预测的 3D 交交并比 (IoU) 分数

4)实验

A Dataset

        DA3D Benchmark。我们推出了 DA3D,这是一个统一的 3D 检测数据集,它聚合了 16 个不同的数据集,用于 3D 检测和深度估计。在 Omni3D 的原始数据集(Hypersim、ARKitScenes、Objectron、SUNRGBD、KITTI 和 nuScenes)的基础上,整合了另外四个室外检测数据集(Argoverse2、A2D2、Waymo、Cityscapes3D)、一个室内检测数据集(3RScan)和五个深度和内参数据集(Scannet、Taskonomy、DrivingStereo、Middlebury、 IBIMS-1)。所有数据都使用单目图像、相机内参数、3D 边界框和深度图进行标准化。

B Baseline

        Cube R-CNN和OVMono3D

C 未见类别推理

        在本实验中,使用两个来源进行提示输入:由 Grounding DINO 处理的文本提示和来自 groundtruth 2D 边界框的框提示。在 KITTI、SUNRGBD 和 ARKitScenes 数据集上评估了模型,这些数据集具有与 OVMono3D 相同的零镜头类别。如下表(左)所示,与 OVMono3D 基线相比,DetAny3D 表现出卓越的零镜头适应性能。当使用 Grounding DINO 进行文本提示输入时,文章方法在目标感知度量下实现了 KITTI 上 21.02 AP3D 、SUNRGBD 上 4.29 AP3D 和 ARKitScenes 上 11.35 AP3D 的显著改进。当使用 2D 真实值作为框提示输入时,DetAny3D 在 KITTI 上获得 28.96 AP3D,在 SUNRGBD 上获得 39.09 AP3D,在 ARKitScenes 上获得 57.72 AP3D,分别比基线高出 3.4×、2.3× 和 4.1×。这种巨大的性能差距凸显了文章方法推广到新对象类别的增强能力。

D 相机推理

        为了评估新相机参数的鲁棒性,进行了跨数据集评估,如上表(右)所示。对于 Cityscapes3D 和 Waymo,使用 Cube R-CNN 的 2D 检测和地面实况作为框提示和 Grounding DINO 处理的文本提示进行比较。对于 3RScan,由于命名空间与 Cube R-CNN 的预定义类别不一致,并且存在新颖的类,只使用文本提示和真实框提示,与 OVMono3D 进行基准测试。DetAny3D 对未见相机配置表现出很强的适应性。当使用 Cube RCNN 对齐提示时,文章模型在 Cityscapes3D 和 Waymo 上分别获得了 10.33 和 15.17 的 AP3D 分数,比 Cube R-CNN 高出 2.11 和 5.74。通过文本提示,在与 OVMono3D相同的设置下,文章方法在目标感知指标下将 AP3D 在 Cityscapes3D 上提高了 4.73 分,在 Waymo 上提高了 5.68 分,在 3RScan 上提高了 1.1 分。由于严重的命名歧义和缺失注释,这两个模型在 3RScan 的常规指标上都显示得分较低。使用 2D 真实值作为框提示,DetAny3D 在三个数据集中获得了 16.88、15.83 和 21.36 的 AP3D,分别比 OVMono3D 高出 6.82、5.6 和 3.31。这些结果突出了文章模型架构的有效性及其在具有任意相机配置的实际应用中的潜力。

E 域内检测能力

        还使用两个提示源评估模型的域内检测能力:来自 Cube R-CNN 的 2D 检测和 2D 地面实况。除了统一模型之外,作者还在 Omni3D 上训练模型以进行比较。如上表 所示,当提供对齐输入时,DetAny3D 使用 Cube R-CNN 获得了有竞争力的检测结果。此外,当使用 GT 作为 2D 提示时,DetAny3D 的性能明显优于 OVMono3D,在 Omni3D 上的整体 AP3D 提高了 9.06。这种性能差距表明,当 Cube R-CNN 用作 2D 输入时,Cube R-CNN 的限制部分限制了文章模型的性能。通过匹配更强的 2D 提示,文章模型有可能获得更高的性能。

        提供了来自开放世界检测的定性示例。在每对图像中,顶行由 OVMono3D 生成,底行由 DetAny3D 生成。对于每个示例,左侧的子图覆盖了投影的 3D 边界框,而右侧的子图显示了相应的鸟瞰图,背景为 1m×1m。

F 消融实验

        如上表所示,对 DetAny3D 的关键组件进行了消融研究,说明了从基于普通 SAM 的基线到能够提取可推广 3D 特征的成熟 DetAny3D 的演变。基本模型通过引入 3D 框标记和 3D 预测头来扩展 SAM,从而实现直接 3D 边界框估计。其他消融,包括 backbone 选择和 prompt 类型。

5)结论

        提出了 DetAny3D,这是一种可提示的 3D 检测基础模型,可以从任何单目图像输入中检测任意 3D 对象。DetAny3D 在不同领域表现出显著的零镜头检测能力,以及在各种任务中有效的零镜头传输,突出了其在动态和非结构化环境中实际部署的适用性。此外,其灵活而强大的检测能力为收集大规模、多源数据以执行更多 3D 感知引导任务打开了大门,为开放世界系统铺平了道路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90182.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90182.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/90182.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS2简记一:第一个ros2程序,海龟模拟与C++和python的《你好,世界!》

目录 引言 一、控制小海龟 二、键盘控制海龟 三、控制海龟案例的简单分析 四、ROS2之linux基础 4.1 linux终端命令 4.1.1 查看当前终端所在目录 pwd 4.1.2 切换终端所在目录 cd 4.1.3 查看当前目录下的文件 ls 4.1.4 主目录 ~ 4.1.5 文件的操作 4.1.6 命令使用帮助…

监控的基本理论和prometheus安装

监控的基本理论和prometheus安装 前言 这篇博客主要讲的是关于理论的知识,大家尽可能的消化和吸收,也能扩展大家的知识面 监控的基本概念 监控俗称为运维的第三只眼。没有了监控,业务运维都是“瞎子”。所以说监控室运维这个职业的根本&…

互联网生态下赢家群体的崛起与“开源AI智能名片链动2+1模式S2B2C商城小程序“的赋能效应

摘要:本文聚焦未来互联网赢家群体的构成特征,剖析网红经济与专业主播的差异化发展路径,结合开源AI智能名片链动21模式与S2B2C商城小程序的融合创新,提出技术赋能下互联网商业生态的重构路径。研究表明,开源AI技术通过智…

OneCode 图表组件核心优势解析

一、全方位的可视化能力 OneCode 图表组件提供了15种专业图表类型,覆盖从基础到高级的数据可视化需求: 基础图表:柱状图、折线图、饼图、面积图等高级图表:金字塔图、雷达图、仪表盘、LED图表等实时图表:实时折线图、实…

【Linux】RHCE中ansible的配置

1.安装并配置ansible 第一步先安装ansible所需软件 #安装ansible所需软件 [devopsworkstation ~]$ sudo dnf install ansible ansible-navigator rhel-system-roles -y 第二步登录镜像仓库,在镜像仓库下载镜像容器来运行ansible 由于ansible-navigator 知ansible…

ubuntu server系统 安装宝塔

更新系统软件包sudo apt update && sudo apt upgrade -y提示,如果想博主这样是存绿色liunx系统,要先安装python3脚本才可以python3 --version有pyhton版本号就是安装了,没有的话就要安装安装 Pythonsudo apt update sudo apt install…

用C++实现五子棋游戏

#include <iostream> #include <vector> #include <string> #include <iomanip> // 用于控制输出格式 #include <limits> // 用于numeric_limitsusing namespace std;// 游戏常量定义 const int BOARD_SIZE 15; // 定义棋盘大小为15x15// 棋…

【LeetCode 热题 100】73. 矩阵置零——(解法一)空间复杂度 O(M + N)

Problem: 73. 矩阵置零 题目&#xff1a;给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 文章目录整体思路完整代码时空复杂度时间复杂度&#xff1a;O(M * N)空间复杂度&#xff1a;O(M N)整体思路…

【深度学习新浪潮】国内零样本抗体设计的科研进展如何?

什么是AI零样本抗体设计? AI零样本抗体设计(Zero-shot AI Antibody Design)是指不依赖任何已知抗体序列或结构数据,仅根据靶点抗原信息,通过人工智能直接生成具有高亲和力、高特异性的全新抗体序列的技术。其核心在于突破传统抗体研发的“数据依赖瓶颈”,实现真正的“从…

【论文阅读】A Diffusion model for POI recommendation

论文出处&#xff1a;ACM Transactions on Information Systems (TOIS) SCI一区 CCF-A期刊 论文地址&#xff1a;[2304.07041] A Diffusion model for POI recommendation 论文代码&#xff1a;Yifang-Qin/Diff-POI: The official PyTorch implementation of Diff-POI. 目…

Rust实现FasterR-CNN目标检测全流程

使用 Rust 和 FasterR-CNN 进行目标检测 FasterR-CNN 是目标检测领域广泛使用的深度学习模型。Rust 生态中可以通过 tch-rs(Torch 绑定)调用预训练的 PyTorch 模型实现。以下为完整实现步骤: 环境准备 安装 Rust 和必要的依赖: cargo add tch cargo add anyhow # 错误…

Github 2025-07-03Go开源项目日报Top10

根据Github Trendings的统计,今日(2025-07-03统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10JavaScript项目2Go编程语言:构建简单、可靠和高效的软件 创建周期:3474 天开发语言:Go协议类型:BSD 3-Clause “New” or “Revise…

XML Schema 安装使用教程

一、XML Schema 简介 XML Schema&#xff08;XSD&#xff0c;全称 XML Schema Definition&#xff09;是用于定义 XML 文档结构、数据类型和数据约束的标准方式。它比 DTD 更加强大&#xff0c;支持数据类型、默认值、命名空间等&#xff0c;是企业级 XML 应用推荐的验证方式。…

【字节跳动】数据挖掘面试题0008:计算西瓜视频内容好评率

文章大纲题目描述题目描述 西瓜视频近期开展了”2020百大人气创作者”优质内容扶持项目&#xff0c;鼓励用户产出优质的视频内容。 现需要统计2020年11月01日至2020年11月30日期间创作的视频中&#xff0c; “科技”大类下“数码测评"子类的视频好评率&#xff08;好评率好…

Linux 进程控制:全面深入剖析进程创建、终止、替换与等待

文章目录引言一、进程创建&#xff1a;fork()系统调用的奥秘1.1 fork()的基本原理1.2 代码示例与解读1.3 写时复制&#xff08;COW&#xff09;优化二、进程终止&#xff1a;exit()与_exit()的抉择2.1 exit()和_exit()的区别2.2 代码示例与分析三、进程替换&#xff1a;exec()函…

PJSIP 中的 TCP 传输配置指南

PJSIP 支持通过 TCP 传输 SIP 消息&#xff0c;相比 UDP 提供了更可靠的传输机制。以下是关于在 PJSIP 中使用 TCP 的详细指南。1. 创建 TCP 传输基本 TCP 传输配置cpjsua_transport_config tcp_cfg; pjsua_transport_config_default(&tcp_cfg); tcp_cfg.port 5060; // SI…

小菜狗的云计算之旅,今天学习MySQL数据库基础知识及操作

目录 一、概述 数据库概念 数据库的类型 关系型数据库模型 关系数据库相关概念 二、安装 1、mariadb安装 2、mysql安装 3、启动并开机自启 4、本地连接&#xff08;本地登录&#xff09; 三、mysql数据库配置与命令 yum安装后生成的目录 mysql服务器的启动脚本 数…

为什么是直接在**原型(prototype)上**添加函数

这是一个非常经典、核心的 JavaScript 面向对象编程问题&#xff1a;> 为什么是直接在**原型&#xff08;prototype&#xff09;上**添加函数&#xff0c;而不是在类/构造函数内部直接添加&#xff1f;你提到的代码中&#xff1a;javascript function TopSearchComponent() …

深入理解 classnames:React 动态类名管理的最佳实践

在现代前端开发中&#xff0c;我们经常需要根据组件的状态、属性或用户交互来动态切换 CSS 类名。虽然 JavaScript 提供了多种方式来处理字符串拼接&#xff0c;但随着应用复杂性的增加&#xff0c;传统的类名管理方式很快就会变得混乱不堪。这时&#xff0c;classnames 库就像…

C++系列(七):深度探索C++内存 --- 分区、堆栈、new/delete与高效编程实践

引言 程序运行的本质是对数据的处理&#xff0c;而内存则是程序执行的核心舞台。理解内存的物理与逻辑分区&#xff0c;是掌握程序底层行为、编写高效可靠代码的关键基石。内存并非混沌一片&#xff0c;而是被严格划分为代码区、全局区、栈区和堆区。每个区域拥有独特的生命周…