NeurIPS 2023 Spotlight | VoxDet:基于3D体素表征学习的新颖实例检测器

本文主要是介绍NeurIPS 2023 Spotlight | VoxDet:基于3D体素表征学习的新颖实例检测器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文提出基于3D体素表征学习的新颖实例检测器VoxDet。给定目标实例的多视图,VoxDet建立该实例的三维体素表征。在更加杂乱的测试图片上,VoxDet使用体素匹配算法检测目标实例。实验表明,VoxDet中的三维体素表征与匹配比多种二维特征与匹配要更鲁棒、准确与高效。本文已收录于NeurIPS 2023并被选为SpotLight。

Title.png

 

论文题目: VoxDet: Voxel Learning for Novel Instance Detection

论文链接:VoxDet: Voxel Learning for Novel Instance Detection | OpenReview 

开源代码: GitHub - Jaraxxus-Me/VoxDet: Official code for NeurIPS 2023 SpotLight: VoxDet: Voxel Learning for Novel Instance Detection 

ROS部署: GitHub - Jaraxxus-Me/voxdet_ros: Ros Interface for VoxDet

01. 引言

实例检测/分割是计算机视觉研究已久的问题。大多数现有的实例检测算法可以从测试图片上获取所有实例的目标框(及其ID代号),在现实生活中,我们很多时候不只需要获得“所有”实例的检测框,还需要得到“某个特定”实例的检测结果(试想,在机场找寻自己的行李箱,在洗衣房找寻丢失的袜子,在停车场找到自己的车等等)。

在本文中,我们探讨了特定新颖实例的检测问题(Novel Instance Detection)。给定任何(可能是训练过程中未见过的新颖的)特定实例的多视图,我们希望在测试图上又快又好的得到检测结果。过往的算法通常是基于物体的二维特征,如二维“局部”特征匹配,二维注意力等等。然而,这类算法有如下三大问题(1)(全局)二维特征匹配对实例的旋转是不稳定的(2)二维特征对于物体的遮挡不够稳定(3)二维匹配通常不够高效(因为每个测试图上的候选框都要和每一张二维多视图匹配)。

反观人类,我们观察,记忆,并搜索一个实例,在脑海中形成的不只是一张张独立的二维图片,而是包含该实例几何的“三维”记忆。基于这种“带有几何的记忆”,即使实例被遮挡或展现出不同的旋转方位时,我们仍能在环境背景干扰下定位该实例。

在这一直觉的驱动下,我们研发了一种基于三维体素表征的实例检测器,VoxDet。它结合了实例的三维几何和二维外观特征,很大程度上解决了纯二维的实例检测器的不足。如下图所示,VoxDet包含三部分,用于从多视图组建Voxel的Template Voxel Aggregation,用于在测试图上生成开放世界候选框的open world detector,和用于比对匹配候选框和template的Query Voxel Matching。

teaser.png
图一,VoxDet与以往二维框架的结构对比

除了方法外,我们发现这类任务也没有很好的基准和数据。大多数以往的研究基于BOP challenge的数据开展实验,他们的参考图片通常是直接从测试集中剪裁的,而不是我们想要的object-centric的多视图。因此,在这项研究中我们也自己制作了虚拟数据集Open World Instance Detection (OWID) 与实录的测试数据集 RoboTools。

teaser_vis.png
图二,RoboTools 数据集中的一些检测示例

02. 贡献

  •    我们提出了基于三维体素表征的新颖实例检测器VoxDet,其表现优于多种基于二维表征的检测器。
  • 我们发现三维重建+检测的两阶段训练范式可以大幅提高VoxDet内体素特征的表征能力。
  • 我们也提出了一种体素匹配算法,可以更高效准确得比对两个实例的体素特征。
  • 我们收集、标注了新颖实例检测的虚拟训练集OWID与实际测试集RoboTools。   

03. 方法

3.1 宏观架构

Structure.png
图三,VoxDet的算法框架

VoxDet的架构如图三所示,测试图(Query Image)首先输入开放世界检测器得到开放世界候选框。这里我们直接采用了结构简单方便端对端训练的OLN (Learning Open-World Object Proposals without Learning to Classify, RA-L, 2022)。与此同时,目标实例的多视图(以及每张视图的相机外参)输入Template Voxel Aggregation (TVA)模块得到该实例的三维体素表征。最后 Query Voxel Matching (QVM)模块比对模版体素与每个候选框的体素特征得到分类结果。

下面具体介绍两个带有三维体素的模块的实现细节。

3.2 Template Voxel Aggregation

实例的多视图二维特征输入TVA模块后,我们参考了VideoAutoEncoder(lai et al., In. ICCV 2021)的做法,直接暴力将2D特征图(feature map)reshape并结合3D卷积得到3D特征体素(feature voxel),这一步称为2D-3D mapping。之后我们将每个独立的Voxel利用相机外参旋转到同一参考系下,最后在这个参考系下取平均得到用于表征这个实例的特征体素(support voxel)。这里由于多视图是目标为中心的,相机的相对旋转可以得到实例每帧相对自己第一帧参考系的旋转,我们在此只使用了旋转没有使用平移。

3.3 Query Voxel Matching

QVA的输入是二维候选框的特征(ROI feature)与目标实例的特征体素support voxel。与TVA中的操作类似,我们首先使用2D-3D mapping得到候选框的3D特征体素。此后,我们使用了一种Voxel Relation运算(具体细节见原文)估计了每个候选框3D体素相对support voxel的旋转矩阵。获得旋转矩阵后,我们将候选框3D体素旋转到和support voxel相同的参考系下。最后,在同一个参考系下,我们使用Voxel Relation运算获取候选框3D体素的分类结果,即每个候选框是否是目标实例。

3.4 两阶段训练范式

twostage.png
图四,两阶段训练范式

上述模型结构听起来简单直观,但是我们发现直接设计这样的结构再端到端训练并不会取得很好的效果,实际上与普通的纯2D方法相差无几。我们发现,想要让VoxDet真正学习到如何通过实例的多视图抽取几何信息(在不同的视角下其外观与形状是什么样的)需要先使用“三维重建”训练上文提及的2D-3D mapping,再将训好的2D-3D mapping作为initialization weights植入检测器的框架中继续微调才能真正实现“可感知几何”的实例检测。

具体而言,这种两阶段范式如图四所示。在第一阶段,我们先输入几个实例的多视图,抽取其二维特征,经过TVA模块获得体素表征。之后,我们用新颖视角的相机外参旋转该体素,再将旋转后的体素解码生成新颖视角的图片。生成的新视角图片与真值之间由perception,gan,和reconstruction三个loss监督(这一操作与VideoAutoEncoder中类似)。这个过程很像Nerf,但VoxDet的重建也只需要在基训练的实例上进行,测试时不需要再针对新颖实例进行test time optimization。

在第二阶段,我们将第一阶段训练好的TVA模块中的2D-3D mapping部分参数拿出来植入进detector,之后再在detection的训练过程中进一步微调。最终训练出的VoxDet才是可感知几何,效果更好的实例检测器。

04. 实验

4.1 数据集

现有的数据集绝大多数都是class-level的,因此我们在这项工作中自己搭建了训练集与测试集。

OWID训练集是完全虚拟的训练数据,我们利用Blender虚拟引擎,将ShapeNet和ABO两个3D模型数据集中的实例随机抽取丢进Blender中,之后在一定的范围内随机采样相机位姿,渲染出用于训练的图片、目标框真值,和相机旋转矩阵。

LM-O和YCB-V是半虚拟半真实的测试数据集。我们使用训练数据的制造方式,将LM-O和YCB-V中的实例加载到Blender中获取其多视图作为实例模版,测试图片直接使用BOP challenge官方提供的数据。

RoboTools是完全真实的测试数据。我们在实验室选取了一些机器人实验室常用的工具作为目标实例,手动拍摄了模版多视图与多个场景下的测试图,最终人工标注了这个数据集。

在制作这些数据集时,我们确保了训练集与测试集的实例(甚至是实例的semantic class)都是完全没有重叠的。

4.2 总体评估

在半虚拟半真实的数据集上我们比较了所有方法,包括使用OWID训练的,和使用真实数据训练的方法,结果如下表:

tab1.png
表一,LM-O和YCB-V上的整体评估

其中除了现有的一些实例检测器如DTOID,Gen6D,One-shot检测器如OS2D,BHRL外,我们也自己搭建了一些基于开放世界检测器的基准方法。OLN Corr中我们设计了基于depth-wise convolution的matching head,将每个多视图逐一与候选框比对后选择得分最高的作为比对结果。OLN CLIP和OLN DINO中我们先获取开放世界候选框,然后抽取其CLIP/DINO的特征与模版多视图的CLIP/DINO特征比对(cosine similarity)得到结果。可见在这些基准方法中,我们的VoxDet是效果最好,速度最快的。

在全真实的测试集上,公平起见我们在正文中只比较了完全使用OWID训练的方法,结果见原文表2与Appendix D。

4.3 消融实验

ablation.png
表二,消融实验

消融实验在RoboTools上开展,这里中重点强调重建的作用(表二中红色框)。不使用第一阶段重建,直接训练VoxDet会导致结果与其他2D基准方法相似,无法使用几何信息,重建后才能获得较好的结果。

05. 讨论与未来

VoxDet最大的limitation是sim2real domain gap。由于VoxDet(除了backbone initialization是ImageNet pre-train外)全部由虚拟数据集训练,它在generalize到全真实的数据集上时会有一些domain gap,详见原文Appendix D。进行这项研究之初,我们想严格确保测试实例是模型没见过的,那时也没有很好的基础模型,所以没有使用DINOv2、SAM,而是自己造了训练集从ImageNet pretrain ResNet开始做。如果想要追求更好的performance,或许可以从foundation model极强的feature extractor出发,用freeze的backbone设计feature voxel。

另外,在VoxDet中我们也没有使用vision-language model(Clip,Glip等),原因除了上面说的严格确保新颖以外,针对某个特定实例的description可能很主观,也很难做到100%精确。到底精细到何种程度的description才是适合任意实例detection的?描述实例的不同特征的description里哪些最影响模型的表现?以及我们能不能根据一组多视图生成最适合detect这个实例的description?这些都是很有趣的open problem可以进一步研究。

我们的代码,模型权重,数据,生成数据使用的工具代码,以及所有baseline方法的原始结果均已开源。新颖实例检测仍有很多有意思的问题值得发掘研究,VoxDet也有很大的提升空间,欢迎大家关注、交流与讨论。

06. 后记

这项工作完成于2023年上半年,那时大厂们先后发布的SAM,DINOv2可谓是席卷了整个二维感知领域。VoxDet投出的时候没有使用这些foundation model ,所以从performance角度(尤其是真实数据上)讲可能还有不小提升空间。因此我投出时对这篇工作抱有些遗憾和担忧。结果审稿人们和AC给的意见居然都很正面,似乎都很喜欢方法本身的idea和实验的严谨设定。最后SpotLight的结果属实是我意料之外。这件事对我的research taste产生了不小的影响,可能有的时候方法的本质与实验、故事的完整性、一致性要比数据集上能取得的点数要重要

VoxDet可能是我在纯感知领域的最后一篇工作,从2020年开始研究学习视觉目标追踪至今转眼已过了四年,CV领域也似乎逐渐从model driven转为data driven,大数据,大模型似乎正逐渐垄断许多方向。现在我更感兴趣的可能是,单靠扩大数据量、模型体量大力出不了奇迹,而人类却能高效做到的事情。譬如我们学习数学做逻辑归纳与推理时似乎并不需要“背”很多东西,只需要记住、理解一些基础的运算法则我们便能泛化到各种没见过的,困难的推理/算数问题。数理推断在多年前就能被人们搭建的symbolic solver (如微软的Z3-solver)以(几乎)100%的精度解决,而如今就连LLM在这些问题上都依然显得有些笨拙,高效泛化并发现新问题的解可能就更困难了。

让模型既能从海量数据中隐式地“记忆”知识,又能显式地“理解”知识,还能“植入”人类专家的知识,最终实现“可控的”高效泛化这一研究方向有个fancy的名字,叫Neuro-Symbolic Artificial Intelligence。希望自己下一步能对这个尚不成熟的领域做出一些贡献。


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

这篇关于NeurIPS 2023 Spotlight | VoxDet:基于3D体素表征学习的新颖实例检测器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个