写点什么

从检测到通用感知:构建空间智能的基础

  • 2025-11-20
    北京
  • 本文字数:7813 字

    阅读完需:约 26 分钟

从检测到通用感知:构建空间智能的基础

视觉感知是机器和物理世界交互的基础,也是 AI 走向通用必须具备的能力。本文整理自 IDEA 研究院计算机视觉与机器人研究中心讲席科学家张磊 6 月在 AICon 2025 北京站的分享《从检测到通用感知:构建空间智能的基础》


本次分享以视觉感知中的物体检测问题为核心,分析语言原生和视觉原生模型架构的特点和区别,并介绍基于 Transformer 的物体检测算法的核心思路,包括 DETR 到 DINO 的演化和改进,及面向通用感知的开集检测技术的进展,如 Grounding DINO 和 DINO-X,探讨其在物体关键点定位、属性理解以及 3D 感知方面的扩展和延伸,为构建空间智能提供强大的技术基础,并通过实例分析和实验结果,展示这些技术在实际应用中的效果和潜力。


12 月 19~20 日的 AICon 北京站将锚定行业前沿,聚焦大模型训练与推理、AI Agent、研发新范式与组织革新,邀您共同深入探讨:如何构建起可信赖、可规模化、可商业化的 Agentic 操作系统,让 AI 真正成为企业降本增效、突破增长天花板的核心引擎。

详细日程见:

https://aicon.infoq.cn/202512/beijing/schedule


以下是演讲实录(经 InfoQ 进行不改变原意的编辑整理)。

视觉感知和物体理解的重要性


视觉感知对于我们人类而言是一种极为重要的能力,同样,对于机器人而言也是如此。我们可以设想,在语言产生之前,人类或动物与自然环境的交互主要依赖于对周围环境的视觉理解以及行动能力。那么,为什么我们需要研究人与机器之间的语言沟通能力呢?这是因为当机器介入人与环境之间时,我们希望借助机器来完成各种任务。在这个过程中,人与机器之间的沟通依赖于语言,而机器与环境的交互则依然离不开视觉和行动能力,这是一个非常重要的概念。


在自然语言理解能力出现之前,人与机器之间的交互主要依靠编程。也就是说,要让机器完成任何任务,都需要通过编程来明确地告诉机器如何操作。然而,随着像 GPT 这样的技术的出现,我们可以通过自然语言来指挥机器完成任务,这极大地扩大了用户群体,使更多的人能够更便捷地利用机器。尽管如此,在机器与环境交互的过程中,视觉能力仍然是一个关键问题。这里我主要想与大家分享我们在视觉方面取得的一些进展。


从技术路线来看,目前主要有两条路线:一是语言理解,二是视觉理解。这两条路线实际上正在逐渐融合。仅依靠语言能力而缺乏视觉理解能力是远远不够的。因此,目前的研究工作正在推动多模态的发展,即语言与视觉的联合理解能力。从视觉的角度来看,随着我们对物体的理解越来越深入,我们也希望机器能够具备更强的语言理解能力,这样才能更好地实现这两条路线的协同发展。



什么是物体检测。对于有技术背景的人来说,这是一个相对容易理解的概念。简单来说,物体检测就是给定一张图像,判断图像中是否包含某个物体。如今,物体检测的结果看似很容易获取,但在三年前,这还是一个非常困难的任务。因为每进行一次物体检测,都需要训练一个模型。而现在,我们已经发展出了一种统一的模型,通过语言提示就可以完成检测。


从时间线来看,过去 20 多年物体检测的发展历程中,我认为有三个重要的里程碑。第一个里程碑是 2001 年 Viola 提出的算法,该算法通过高效的算法设计,能够在图片中检测出人脸。但需要注意的是,这并不意味着能够识别出人脸,因此人脸检测最初主要应用于相机的人脸对焦功能,并被硬件化后用于数字相机。


第二个里程碑是基于神经网络的 Faster R-CNN 算法的出现,这一算法推动了整个智能驾驶产业的发展。因为只有拥有了这样的算法,智能驾驶系统才能真正理解道路环境,从而做出更准确的驾驶判断。


第三个里程碑是 Transformer 架构被引入到视觉领域。在 2020 年以前,Transformer 主要应用于语言领域,而 2020 年出现的 DETR 算法(Detection Transformer)首次将 Transformer 引入到计算机视觉领域。这一算法具有很高的创新性,但也存在两个主要问题:一是训练收敛速度非常慢,比以往的算法慢十倍以上;二是其性能始终无法超越传统的基于卷积神经网络的算法。为此,我们团队开展了一系列研究工作,开发出了 DINO 系列模型。DINO 是我们自己命名的,它是“dinosaur”(恐龙)的缩写,因此我们将其称为恐龙系列。通过这一系列工作,我们为 DETR 算法打了一个非常强大的补丁,解决了其训练收敛速度慢的问题,并使其性能成为检测领域真正的 SOTA。基于 Transformer 的检测算法的突破,给视觉模型结合语言理解打下了坚实的基础。



语言原生和视觉原生模型架构的区别


基于语言模型的多模态理解在过去几年有很多进展,但是要真正让模型具备视觉感知能力,需要更深层次的研究。我们在视觉感知领域的研究中发现一个比较根源性的问题。我们先来看两个架构:左边是一个语言原生的架构,右边是一个视觉原生的架构。这两个架构都使用了 Transformer,并且都有编码器(encoder)。如果涉及到多模态,编码器是必不可少的。它们唯一的区别在于解码器(decoder)部分。



语言原生的架构中,解码器是一个自回归结构,即一个单词一个单词地逐个生成。这种结构与人类语言的特性完美契合,因为语言本质上是一维序列,我们阅读或说话时,只能一个字一个字地进行,不可能提前知道后面的内容。然而,图像与语言不同,我们一眼就能看到图像中的所有内容,而且图像中的物体之间并没有严格的先后顺序。因此,在进行图像检测时,查询过程实际上是一个并行解码的过程。这两个架构的差异非常大,一个是序列解码,另一个是并行解码。


自回归结构完美契合了语言的特性,但对于图像来说,最重要的特性是平移不变性。当然,我们还希望模型能够具备尺度不变性和旋转不变性,但这些属性很难实现。以卷积算子为例,它在图像的任何位置使用相同的参数进行卷积操作时,能够对同样的物体提取出相同的特征,这就是它的平移不变性。由于模型自带了平移不变性,对数据的依赖就会大大减少。这是语言原生架构和视觉原生架构之间的一个重要区别。在语言原生架构中,如果要达到同样的检测能力,就需要更大量的训练数据,因为缺乏平移不变性这一属性,这会导致模型的参数量和运行速度面临很大的挑战。相比之下,下图右边的视觉原生架构中的模型,参数量不到 10 亿,运行效率非常高。


粤港澳大湾区数字经济研究院里有一个计算机视觉与机器人研究中心。我非常幸运地和一些优秀的实习生一起开展了一系列研究工作。我们的第一个工作是 DAB DETR,对 DETR 的查询部分进行了更好的建模。第二个工作是通过引入一种方法,大幅加快了 DETR 的训练速度。第三个工作是在综合了前面 DAB DETR 和 DN DETR 的改进之后,我们又进行了一些更细致的工程化改进,最终将基于 Transformer 的算法在物体检测领域做到了真正的 SOTA。


大家可以参考下面的 COCO 榜单。在 GPT 出现之前,COCO 榜单在视觉领域仅次于 ImageNet 榜单,而 ImageNet 榜单大家都知道,它标志着深度学习崛起的过程。COCO 榜单自 2015 年设立以来,从榜单上可以看到,每一个时间点上最好的算法大多来自一些大型企业的研究院,比如微软、Facebook 和 Google。而我们的工作最终登上了这个榜单,并取得了最强的结果,这非常有意义。这不仅是因为我们是一个国内团队,将自己的工作做到了领域内最好,更重要的是,我们的研究有很强的创新性,真正奠定了基于 Transformer 的算法在检测领域成为最好的工作。此后,检测领域的很多研究工作都基于这类算法进行各种改进。



从闭集检测到开集检测的研究


我们的团队从几条不同的研究路径出发,致力于进一步改进检测问题。首先,我们尝试将更多任务融入检测中,例如将分割与检测相结合,开发出了 Mask DINO。其次,Grounding DINO 是我今天分享较多的另一条研究线,它通过增加语言能力,使模型能够根据用户的指令进行检测。例如,用户可以通过输入提示来指定想要检测的对象,这就是基于语言提示的检测方式。T-REX2 算法关注视觉领域的长尾问题,即那些训练数据难以覆盖的领域,比如医学或工业领域。这些领域的数据往往没有上传到互联网,也很难在训练通用模型时获取。因此,我们开发了视觉提示功能,即用户只需提供一张图片并框出目标物体,即使无法用语言描述,模型也能检测出该物体。这些研究工作都处于非常前沿的水平。



引入语言能力的最大好处是将传统的闭集检测推向了开集检测。在闭集检测中,如果训练了一个模型来检测 100 个类别,那么它只能检测这 100 个类别。如果要检测第 101 个类别,就需要重新收集数据、标注数据并重新训练,这是一个永无止境的迭代过程。因为检测问题本身是在不断变化的,不同的应用场景需要不断训练专用模型。开集检测模型则不同,它的分类部分基于从语言模型中提取的语言嵌入,从而成为一个通用的检测模型。在这条研究线上,代表性的工作包括我们开发的 Grounding DINO 和 DINO-X。


Grounding DINO 的框架看似复杂,但实际上与之前提到的架构类似,它包含语言和视觉两条线,并在最后进行对比学习。这种对比学习与以往不同,它是在物体级别上进行的,而不是在全图上。这使得算法在设计上有很多细节需要注意,比如如何同时实现物体检测和分类的准确性。


这项工作在 2023 年得到了广泛认可。2023 年 4 月,Meta 开源了 SAM,而我们的工作比 SAM 早了两三个月。我们在同一天将 Grounding DINO 与 SAM 结合,在 Github 上推出了 Grounded SAM,立即引起了国内外的关注。到 2023 年下半年,Grounding DINO 的 GitHub 仓库每天的克隆次数高达数万次,这表明它被广泛使用。



Grounded SAM 的作用其实很简单:如果用户有一段文字描述或一个名词列表,Grounding DINO 可以检测出对应的边界框(bounding box),然后调用 SAM 生成分割掩码(mask)。虽然 SAM 在生成分割掩码方面表现出色,但它自身无法提供准确的边界框。因此,Grounding DINO 与 SAM 的结合堪称完美搭档。有了这种方便获取分割掩码的方式,我们可以轻松实现各种操作,比如检测出椅子的掩码后,再通过扩散模型替换掉椅子。以前,修图是一项耗时费力的工作,现在只需动动嘴就能完成。


在完成了一系列工作并开源了 Grounding DINO 与 SAM 的结合版本后,我们团队意识到开放检测和通用检测是非常基础且具有重要应用价值的研究方向。因此,我们集中力量,经过一年多的努力,在 2024 年底推出了 DINO-X。与开源模型相比,DINO-X 的数据量增加了 10 倍,我们使用了上亿张图片进行训练,并提升了模型的多种能力。除了检测,DINO-X 还为其他问题带来了便利。例如,在分割或人体姿态理解等任务中,以往解决检测问题非常复杂,而 DINO-X 的通用检测能力使得这些问题转化为单物体理解问题,从而简化了后续步骤。



与传统的多模态大模型训练相比,视觉大模型的难点在于数据标注。视觉大模型需要在物体级别进行标注,包括边界框及其标签。而传统的多模态大模型通常只在图像级别进行图文对应,因此其视觉理解能力的颗粒度难以细化。最近的一些研究尝试将这种标注引入多模态模型的训练中,并取得了一定进展。但总体而言,训练数据是关键且难以获取的部分。


我们可以看到,市面上的多模态大模型都能给出相当不错的图像描述。然而,基于检测的模型能够提供更细颗粒度的信息,比如图像中物体的大小、边界框以及相关物体的数量。此外,我们还能在物体基础上提供描述性标题,提取出一些难以结构化的信息,例如“行人在骑自行车”或“车辆停在路边”。这些信息通过多模态能力结合在物体级别,而不是全图级别。


我们发布的 DINO-X 演示视频汇总了六个能力:第一个是基于文本提示的检测,用户输入关键词即可检测出相关物体;第二个是无提示检测,无需输入关键词也能检测物体;第三个是视觉提示,用户可以通过框选目标物体进行检测;第四个是结合分割与检测的能力;第五个是人体姿态关键点检测;第六个是手部关键点检测,我们在这一领域达到了非常精准的水平。



我们在 COCO 和 LVIS 这两个常用的物体检测基准测试中进行了评估。LVIS 涵盖了 1200 个类别,而 COCO 有 80 个类别。虽然这个问题看似小众,但实际上有很多大型企业、研究院和高校都在研究。从 T-REX2 的视觉提示到 Grounding DINO 的闭源模型,我们一直在这个领域保持领先地位。我们的模型通过 API 和合作的形式被许多用户使用。



从检测到通用感知的研究


除了我们常用的视觉提示和语言提示之外,很多时候用户希望得到非常精准的结果,但又不想去修改模型本身。为此,我们引入了一种视觉提示优化的方法。对于熟悉语言模型的人来说,提示优化并不陌生。比如,当你想完成一个新任务时,你可以优化模型前面很小一部分上下文中的参数,而无需改动整个模型。我们这里采用的方法也是类似的。用户提供了大约 10 张或 20 张图片,并通过边界框(bounding box)描述他们的检测意图后,我们只需要优化一个嵌入向量,而无需改变整个模型,就可以获得定制化的结果。这在工业应用中尤其方便。例如,洗衣机零部件的检测,包括背板和面板,经常需要检测新生产线中是否有遗漏的零件;汽车生产线上的焊点检测;以及食用油油桶的检测,不仅需要检测瓶盖,还需要检测拉环。尤其是拉环,以前我们的模型很难理解,但通过仅用 18 张图片进行提示优化,就可以实现非常高的召回率(recall)和精确度(precision),通常要达到 99% 以上,这样才能在工业应用中方便地使用。



我们开展了一系列研究工作,从闭集检测到开集检测,再到将训练数据量增加十倍以提升性能。其实,这个问题还有很大的拓展空间。首先,当然是让模型变得更强大、更通用。因为通用模型的改进是没有止境的。我们希望它能更好地覆盖更多场景和类别,同时也希望它在端侧部署时能够更快。其次,我们一直在向三维环境理解的方向拓展。也就是说,在理解了物体之后,我们希望能理解物体相关的三维属性,也希望理解三维环境。第三,是多模态理解能力。也就是说,物体检测问题并不总是简单的名词检测。比如,在这个会场里,检测所有人是一个物体检测问题,模型可以很好地完成。但如果我想检测所有穿白色衣服的人,这就变成了一个带有形容词的检测问题。

从通用感知到空间智能的延伸


接下来,我想和大家分享一些成果,但不会涉及算法细节。首先,我们已经能够实现人体和人手的二维关键点检测,并且可以提取人体和人手的三维网格(Mesh)。这些工作都基于物体检测的基础之上,很容易扩展为通用能力。


除了人体三维结构理解之外,我们还尝试理解万物的三维结构。也就是说,在检测到物体后,我们能否将物体裁剪出来,生成掩码(mask),并理解其三维结构,从而使物体能够旋转。这对于具身智能来说是非常关键的问题。


我们还在尝试理解环境。大家可以想象一下,在 ScanNet 中的一个视频中,通过视频可以重建出厨房的点云环境。虽然点云重建的效果看起来不错,但如果将这样的点云环境提供给机器人,机器人仍然不知道如何行动,因为它无法识别哪些点是椅子、桌子或灶台。因此,我们正在尝试将二维检测方法应用于点云中的检测和分割。例如,对于这样的点云结构,我们可以检测出三维边界框(3D bounding box)以及物体的分割结果。目前,这个问题仍然采用闭集方法,但未来也会面临开集问题。例如,如果继续深入研究,可能会想理解书架上或桌子上有各种大小的物体,这些物体都不是常规的点云物体。因此,这非常依赖于二维检测的通用能力,因为点云重建与二维图像相关。只要能够将物体分割出来,就可以借助二维的理解能力进行扩展。



通常,检测并不是应用的最终目标。实际上,检测之后往往会有更多问题。例如,我们想检测是否有人摔倒、是否有人没有佩戴安全帽,或者行人过马路是否安全,或者是否有人在抽烟。这些问题都可以转化为其他检测问题,也就是说,我们想理解检测问题中的形容词和介词。例如,检测指令可能是“穿着蓝色和绿色衣服的人”,或者“8 号和 13 号球员”。检测问题可以变得非常多样化,从而使应用变得更加简单。在这方面,我们刚刚被 ICCV 2025 接收的工作主要针对人,先要把这个问题研究得更清楚。



来看一个截屏的例子,大家可能会有更直观的感受。如果只是进行简单检测,比如输入“person”,就可以检测出所有人,并输出每个人的关键点。但如果检测一个更复杂的情况,比如在攀岩墙下方站着但不是坐着的人,我们的算法可以快速检测出这些站着的人。这需要算法对语言有非常精准的理解能力,并且知道语言和视觉是如何对应的。



对于同一张图片,可以有多种不同的问法。比如,检测正在喝水的人,画面中拿着杯子的人会被检测出来;检测抱小孩的人,抱小孩的人会被检测出来;检测穿紫色衣服的人,或者举着双手的人。大家可以想象,人类之间的语言表达能力是没有问题的,但要让机器理解如此精准的语言,还需要做大量的工作。目前,我们的工作也只能称为 Beta 版。因为真正应用时,大家的期望更高,需要更高的检测和理解能力。有兴趣的朋友可以去网站试用这些模型,也欢迎大家给我们反馈。


总结与展望


在检测任务完成后,我们常常发现,仅仅检测出边界框(bounding box)是不够的。很多时候,我们希望结合推理和综合能力来理解检测结果。为此,我们将检测模型与 MCP 结合起来,通过 MCP 为大语言模型提供更丰富的上下文信息。



例如,当被问到“图中最高的人穿什么衣服”时,仅靠单一模型很难完成。但通过 DINO-X 与 MCP 的结合,我们可以将检测结果提供给语言模型(如 Claude 4.0),使其能够分析并回答这类复杂问题。比如,它可以通过检测出最高的人的边界框和分割掩码(mask),进而分析出这个人穿着蓝色衣服和蓝色牛仔裤。



另一个有趣的例子是卡路里分析。如今,越来越多的年轻人关注饮食健康,不少应用尝试通过拍照来分析食物的卡路里,但往往不够准确,这主要是因为视觉理解的难度。我们的模型在这方面表现出色。当 Claude 4.0 使用我们的模型时,它首先会调用检测模型,识别出图片中的所有食物。然后,它可以根据检测结果总结食物种类,并据此进行卡路里分析。



例如,在一张包含炸鸡的图片中,模型能够准确识别出炸鸡的数量(如 8 块或 10 块),而不是简单地估计“很多块”或“大概多少克”。这种精准的检测能力使得卡路里计算更加准确,这也体现了将强感知模型与强语言模型结合的巨大优势。



我们之所以认为感知如此重要,是因为它与空间智能密切相关。空间智能是斯坦福大学李飞飞教授去年大力倡导的一个研究方向,对机器人来说是一个基础性问题。李飞飞教授的团队开展了一个名为“数字表亲”的工作,该工作通过单张图片分析,检测出图片中的物体,并找到与之匹配的数字资产来构建仿真环境。这种仿真环境并非简单的数字孪生,而是形似而非神似,可以在其中进行各种机器人的策略学习。我们很高兴地看到,他们在第一步进行图像物体分析时,使用了我们的 Grounding DINO。这表明检测在整个流程中起到了基础性的入口作用。



我们的工作一直围绕长尾检测展开,从头部到尾部的通用检测使得许多问题变得非常简单。同时,我们也在尝试为检测结果增加更多颗粒度的理解,例如分割理解、关键点理解以及 3D 结构理解。通过提升 3D 感知能力,我们希望逐步为空间智能提供基础支撑。空间智能目前还没有统一的定义,就像世界模型一样,不同的人和研究方法给出了不同的定义。对我们来说,理解空间智能首先是理解周围的物理环境,而理解物理环境的第一步是识别其中的物体及其各种属性,包括 3D 结构。只有做到这一点,才能真正提供最好的空间智能。



今天我提到的所有工作都可以在这个网站上找到:https://cloud.deepdataspace.com/playground/dino-x


大家如果有兴趣,可以访问该网站并自行试用我们的 Playground,包括基于关键词的检测以及更复杂的、需要使用形容词描述的检测。

2025-11-20 11:002421

评论

发布
暂无评论

week-5-part1 java实现一致性 hash 算法

陈龙

非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue

程序员小航

Java 源码 并发 源码阅读 JUC

间隔重排序链表Reorder List,iOS架构RxSwift, VIPER,MVVM,MVP, 机器学习,SageMaker,John 易筋 ARTS 打卡 Week 23

John(易筋)

学习 ARTS 打卡计划 重新排列链表算法 iOS 架构RxSwift SageMaker

【架构师训练营 1 期】第五周学习总结

诺乐

5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

YourBatman

Hibernate-Validator Bean Validation 数据校验

架构训练营 - 第5周课后作业 - 学习总结

Pudding

环信入选2020在线教育视频云创新排行TOP10

DT极客

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

xiaomao

作业一:食堂就餐卡系统设计

伊灵

一文快速入门分库分表中间件 Sharding-JDBC (必修课)

程序员小富

Java 分库分表

架构师训练营第五周学习笔记

一马行千里

极客大学架构师训练营

万字长文深入理解java中的集合-附PDF下载

程序那些事

java编程 JAVA集合 java集合总结 java集合使用 java秘籍

阿里云盘线下交流会

兔2🐰🍃

阿里云网盘 Teambition 线下体验

10月24日,“网安小酒馆”线上活动开启,有红包,更有名酒相送

Cloudaemon

Go发起HTTP2.0请求流程分析(后篇)——标头压缩

Gopher指北

后端 HTTP2.0 Go 语言

第5周作业

paul

架构师训练营第 1 期第 5 周作业

owl

极客大学架构师训练营

架构一期第五周作业

Airs

架构师训练营 - 第 5 周课后作业(1 期)

Pudding

超越视觉支持语音新版OpenVINO发布,为更多智能边缘开发者赋能

E科讯

第五周作业 (作业二)

Geek_83908e

极客大学架构师训练营

第五周作业

熊桂平

极客大学架构师训练营

作业-2020年10月25日

芝麻酱

SpringBoot整合原生OpenFegin的坑(非SpringCloud)

冰河

微服务 高并发 远程调用 springboot OpenFegin

极客大学 - 架构师训练营第一期 - 第五周作业

Black Eyed Peter

极客大学架构师训练营

week-5-part2 学习总结

陈龙

Week 5 作业02

Croesus

【架构师训练营 1 期】第五周作业

诺乐

Consistent Hashing算法实现 - JavaScript

一致性hash

袭望

第五周学习心得

熊桂平

极客大学架构师训练营

从检测到通用感知:构建空间智能的基础_AI&大模型_张磊 IDEA_InfoQ精选文章