【论文精度】Grounding DINO:Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

Grounding DINO:将DINO与Grounded Pre-Training相结合用于开集目标检测

摘要

(PAGE 1)
本文通过将基于变压器的检测器DINO与Grounded Pre-Training相结合,提出了一种开放集对象检测器,称为Grounding DINO能够通过人类输入的类别名称或指代表达来检测任意物体。开放集目标检测的关键解决方案是在闭集检测器中引入语言,实现开放集概念的泛化。为了有效地融合语言和视觉模式,我们从概念上将闭集检测器分为三个阶段,并提出了一种紧密融合的解决方案,该方案包括:特征增强器、语言引导查询选择和跨模态跨模态融合解码器。

开放集目标检测(Open-Set Object Detection),即模型不仅能够检测预定义类别的物体,还能够通过人类提供的类别名称或指代表达(如自然语言描述)来检测任意类别的物体。这种能力突破了传统目标检测模型仅限于固定类别检测的限制,使其更具灵活性和实用性。

关键字:Zero-Shot

以往的工作主要是评估新类别上的开集对象检测,我们建议对带有属性指定的物体的指代表达式理解上进行评估。

  1. 背景

    • 开放集目标检测(Open-Set Object Detection)是指模型能够检测训练数据中未见过的新类别物体。
    • 之前的研究主要关注模型在新类别上的检测性能。
  2. 本文的贡献

    • 本文不仅在新类别上评估模型性能,还提出在指代表达理解(Referring Expression Comprehension)任务上进行评估。
    • 指代表达理解是指通过自然语言描述(如“穿红色衣服的人”或“桌子上最大的杯子”)来定位特定物体。
    • 本文特别关注通过属性(如颜色、大小、位置等)指定的物体,进一步扩展了评估范围。
  3. 意义

    • 这种评估方式更贴近实际应用场景,因为人类通常通过属性描述来指代物体。
    • 通过引入指代表达理解的评估,能够更全面地衡量模型的开放集目标检测能力。

Grounding DINO在所有三种数据集上都表现得非常好,包括COCO, LVIS, ODinW和RefCOCO/+/g的基准。Grounding DINO在COCO检测零射击转移基准上达到了52.5 AP,即没有任何来自COCO的训练数据。在与COCO数据进行微调后,Grounding DINO达到了63.0 AP。它在ODinW零射击基准上创下了平均26.1 AP的新记录。代码将在https: //github.com/IDEA-Research/GroundingDINO上提供。

在论文《Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection》中,“Grounded Pre-Training”是一个关键概念,主要涉及在开放集目标检测任务中如何将模型与环境中的实例进行有效的结合

Grounded Pre-Training的主要含义:

  1. 基础概念
    • 预训练:通常指在大量数据上进行初步训练,以使模型学习一般特征,然后再进行针对特定任务的微调。
    • Grounded(有根的):在这里指的是模型不仅仅学习图像中的特征,还学习如何将这些特征与实际的物体实例及其语义信息相对应。
  2. 结合上下文与实例
    • 实例关联:Grounded Pre-Training的核心在于通过结合标注信息和视觉输入,使得模型能够理解不同对象的存在及其在特定上下文中的意义。
    • 语义理解:通过这种预训练,模型可以更好地理解物体的类别、位置以及与其他物体的关系。
  3. 开放集检测
    • 开放集目标检测的目标是能够检测未在训练集中出现的物体,Grounded Pre-Training帮助模型在这种情况下更好地识别和定位新物体。

总结

Grounded Pre-Training是一种通过结合视觉特征与实例信息的预训练策略,旨在提升模型在开放集目标检测中的性能,使得模型不仅能够识别已知物体,还能更好地处理未知物体的检测任务。这种方法在提高模型的泛化能力和准确性方面起到了重要作用。

image-20250214144412182

Figure 1. 展示了closed-set and open-set object detection闭集和开集目标检测的差异,以及combine Grounding DINO and Stable diffusion结合的编辑图片的应用。


  • 解决了什么问题

    1. 开放词汇目标检测的局限性
      传统的目标检测模型通常只能在预定义的类别上进行检测,无法处理开放词汇(open-vocabulary)场景,即检测模型无法根据自然语言描述(如文本提示)来定位和识别未见过的类别。

    2. 多模态对齐的挑战
      在开放词汇检测中,如何有效地将视觉特征(图像)与文本特征(语言描述)对齐是一个关键问题。现有的方法在多模态对齐上表现不足,导致检测精度受限。

    3. 训练数据的稀缺性
      开放词汇检测需要大规模的图像-文本对数据进行训练,但现有的数据集通常规模有限,且标注成本高,限制了模型的性能提升。

    如何解决的

    1. 引入多模态 transformer 架构
      Grounding DINO 提出了一种基于 transformer 的多模态架构,能够同时处理图像和文本输入,并通过自注意力机制实现视觉和语言特征的高效对齐。

    2. 对比学习与去噪训练
      通过对比学习(Contrastive Learning)和去噪训练(Denoising Training),模型能够更好地学习图像和文本之间的语义关联,同时提高对噪声数据的鲁棒性。

    3. 利用大规模预训练数据
      模型在大规模图像-文本对数据集(如 COCO、Visual Genome 等)上进行预训练,充分利用了多模态数据的丰富信息,增强了模型的泛化能力。

    4. 动态查询机制
      引入动态查询机制,使模型能够根据输入文本动态生成目标查询(object queries),从而更灵活地适应不同的开放词汇检测任务。

    达到了什么效果

    1. 开放词汇检测的 SOTA 性能
      Grounding DINO 在多个开放词汇检测基准数据集(如 COCO、LVIS 等)上达到了 SOTA 性能,特别是在未见类别的检测上表现优异。

    2. 强大的多模态对齐能力
      通过多模态 transformer 架构和对比学习,模型能够更准确地理解图像和文本之间的语义关系,显著提升了检测精度。

    3. 泛化能力强
      在大规模预训练数据的支持下,模型能够很好地泛化到新的场景和类别,即使在没有显式训练数据的情况下也能实现高质量的检测。

    4. 具体指标提升

    5. 实际应用价值
      Grounding DINO 的开放词汇检测能力使其在现实场景中具有广泛的应用潜力。


1. 介绍

(PAGE 2)
理解新概念是视觉智能的一项基本能力。在这项工作中,我们的目标是开发一个强大的系统来检测由人类语言输入指定的任意对象,我们将其命名为开集对象检测(open-set object detection)。该任务作为一种通用的目标检测器具有巨大的潜力,具有广泛的应用前景。例如,我们可以与生成模型结合,进行图像编辑(如图1 (b)所示)。

开集检测的关键是引入没有见对象泛化的语言[1,7,26]。例如,GLIP(Grounded language-image pre-training)[26]将目标检测重新定义为一个短语基础任务,并引入了目标区域和语言短语之间的对比训练。它对异构数据集(heterogeneous datasets)表现出极大的灵活性,在闭集和开集检测上都表现出卓越的性能。

根据论文段落的上下文,"heterogeneous datasets"在这里特指在开放集目标检测中模型需要处理多种模态(图像+语言)和不同标注形式的数据集,特别是通过语言引入对未见对象的泛化能力。以下是具体解释:


在论文中的具体含义

  1. 多模态数据联合训练

    • GLIP将目标检测重新定义为短语定位(phrase grounding)任务,即同时学习视觉区域(图像中的物体框)和语言短语(如文本描述)的对应关系。
    • "Heterogeneous datasets"在这里强调模型的输入是混合视觉和语言的数据。例如:
      • 图像与物体的文本标签(COCO、Flickr30K)。
      • 图像与更复杂的自然语言短语(LVIS的长尾类别描述)。
      • 甚至是其他领域中非结构化的文本-图像对(网页爬取数据)。
  2. 任务与数据结构的多样性

    • 模型在训练时需要处理不同结构的标注数据:
      • 闭集检测数据:传统检测数据(如COCO),包含固定类别标签。
      • 开放集检测数据:包含自由文本描述的数据(如Visual Genome),允许模型理解未见过的类别。
    • 这些数据可能来自不同来源(研究者自建数据集、互联网爬取数据),格式和标签定义差异很大。
  3. 泛化的关键能力

    • GLIP的"flexibility"体现在它能通过语言桥接不同数据集之间的语义鸿沟。例如:
      • 对于闭集检测,模型直接匹配类别名(如"dog");
      • 对于开放集检测,模型可以将图像中的物体与从未见过的短语(如用户自定义提示)关联。

对比传统检测任务

维度传统检测数据集Heterogeneous数据集(论文语境)
标签形式固定类别(如80类)多样化的语言描述(短语、句子)
输入模态纯视觉(图像+边界框)视觉+语言联合输入
任务目标只预测预定义类别理解泛化的语言描述,检测新对象
数据来源单一标注规范(如COCO)混合来源(检测数据+图文对数据)

此处的技术挑战

  1. 跨模态对齐

    • 需要将图像区域的视觉特征与文本短语的语义嵌入映射到同一空间(如对比学习)。
    • 处理文本的多样性(例如"a dog"和"犬科动物"需要指向同一视觉概念)。

      技术手段:对比损失(CLIP-like)、注意力机制(如transformer跨模态注意力)。
  2. 标签噪声和不一致性

    • 不同数据源的标注可能冲突(如对同一物体的描述用词不同)。

      解决方式:使用大规模预训练平衡噪声,语言模型辅助语义消歧。

实例验证

假设训练数据包含:

  • COCO数据集:图像 + 80类固定标签(如dog → [0.8, 0.2, 0.5, 0.6])。
  • 爬取的图文对:图像 + 自由文本(如"A black dog running in the park")。
  • 用户提供的自定义标签:图像 + 新标签(如"Australian Shepherd")。

GLIP需同时学习将边界框与固定类别、自由短语匹配,在面对未见过(open-set)的类别时(如测试中的"dalmatian"),能通过语言关联泛化到新对象。


总结:在论文中,heterogeneous datasets的"异构性"核心在于跨模态(视觉+语言)和跨任务(闭集/开放集检测)数据的联合学习,而非一般意义上的数据格式差异。关键技术是通过语言的桥梁作用统一不同数据源,这是开放集检测的关键创新点。

尽管取得了令人印象深刻的结果,但GLIP的性能可能受到限制,因为它是基于传统的一级检测器动态头(a traditional one-stage detector Dynamic Head )设计的。由于开集和闭集检测是紧密相关的,我们相信一个更强的闭集对象检测器可以得到一个更好的开集检测器

在基于transformer的检测器取得了令人鼓舞的进展[24,25,31,58]的激励下,在本工作中,我们提出了基于DINO[58]的强开集检测器,该检测器不仅提供了最先进的目标检测性能,还允许我们通过Grounded Pre-Training将多层次文本信息集成到其算法中。我们将该型号命名为Grounding DINOGrounding DINO与GLIP相比有几个优点

  • 首先,它基于transformer的架构类似于语言模型,使得处理图像和语言数据更加容易。例如,由于所有的图像和语言分支都是用transformer构建的,我们可以很容易地在整个管道中融合跨模态特征。
  • 其次,基于transformer的检测器已经证明了利用大规模数据集的优越能力。
  • 最后,DINO作为一种类似DETR的模型,无需使用NMS (Non-Maximum Suppression,非最大抑制)等硬制作模块,可以端到端进行优化,大大简化了整体 grounding model 设计。

大多数现有的开集检测器是通过将闭集检测器扩展到具有语言信息的开集场景而开发的。如图2所示,一个闭集检测器通常有三个重要模块:

  1. 主干用于特征提取
  2. 颈部用于特征增强
  3. 头部用于区域细化(或框预测)

将闭集检测器推广到通过学习语言感知区域嵌入来检测新对象,从而在语言感知语义空间中将每个区域划分为新类别。实现这一目标的关键是使用颈部和或头部输出的区域输出,和语言特征之间的对比损失(contrastive loss )。为了帮助模型对齐跨模态信息,一些工作试图在最终丢失阶段之前融合特征。图2显示,特征融合可以分三个阶段进行:

  1. 颈部(阶段A)
  2. 查询初始化(阶段B)
  3. 头部(阶段C)

例如,GLIP[26]在颈部模块(阶段A)中执行早期融合,而ov - DETR[56]使用语言感知查询作为头部输入(阶段B)。
image-20250214151222875
我们认为管道中更多的特征融合可以使模型表现得更好(We argue that more feature fusion in the pipeline enables the model to perform better.)。值得注意的是,检索任务更倾向于采用类似clip的双塔架构,仅在最后进行多模态特征比较,以提高效率。然而,对于开集检测,通常给模型一个图像和一个指定目标对象类别或特定对象的文本输入。在这种情况下,为了获得更好的性能,更倾向于使用紧密(和早期)的融合模型[1,26],因为图像和文本在开始时都是可用的。虽然概念上很简单,但以前的工作很难在所有三个阶段都进行特征融合。像Faster RCNN这样的经典检测器的设计使得它很难与大多数块中的语言信息交互。与经典探测器不同,基于transformer的探测器DINO具有与语言块一致的结构。分层设计使其能够轻松地与语言信息交互。在此原则下,我们设计了颈部、查询初始化和头部三个阶段的特征融合方法。更具体地说:

  1. 我们设计了一个特征增强器,通过堆叠自注意、文本到图像的交叉注意和图像到文本的交叉注意作为颈部模块。
  2. 然后,我们开发了一个语言引导的查询选择方法来初始化head的查询。
  3. 我们还设计了一个具有图像和文本交叉注意层的头部阶段的跨模态解码器,以增强查询表示。

这三个融合阶段有效地帮助模型在现有基准测试上获得更好的性能,这将在第4.4节中展示。
尽管在多模态学习方面已经取得了显著的改进,但大多数现有的开放集检测工作在新类别的对象上评估其模型,如图1 (b)的左列所示。我们认为,还应该考虑另一个重要的场景,即用属性描述对象。在文献中,该任务被命名为指称表达理解(REC)[30,34]- 2。我们在图1 (b)的右栏中给出了一些REC的例子。这是一个密切相关的领域,但在以前的开集检测工作中往往被忽视。在这项工作中,我们扩展了开集检测以支持REC,并评估了其在REC数据集上的性能。

Referring expression comprehension(指称表达理解)是自然语言处理和计算机视觉领域中的一个重要研究课题。它涉及到如何使机器理解人类语言中用来指代对象的表达方式,并能够在给定的视觉场景中正确地识别和定位这些对象

关键概念

  1. 指称表达
    • 指称表达是指用来描述或指代特定对象的短语,例如“那只红色的球”或“坐在桌子旁的女孩”。这些表达通常依赖于上下文信息来确定其所指代的对象。
  2. 理解的过程
    • 理解指称表达通常包括几个步骤:
      • 语言处理:解析指称表达中的语言信息,识别关键的名词、形容词等。
      • 视觉信息整合:提取图像中的候选对象特征,并与语言信息进行匹配。
      • 对象定位:基于语言描述,在图像中定位并标识对应的对象。
  3. 任务应用
    • Referring expression comprehension可以应用于多个场景,如图像标注、视觉问答、机器人导航等。

研究挑战

  • 歧义性:许多指称表达可能会有多个匹配对象,如何处理这种歧义性是一个主要挑战。
  • 上下文依赖:指称的理解常常依赖于上下文,如何有效利用上下文信息来提高理解准确性是关键。
  • 跨模态学习:有效结合语言和视觉信息的模型设计是一个活跃的研究方向。这通常涉及深度学习技术,如图像处理网络和自然语言处理模型的结合。

典型方法

  1. 基于深度学习的方法
    • 使用卷积神经网络(CNN)提取图像特征,利用循环神经网络(RNN)或变换器(transformer)处理语言信息。
    • 合成视觉和语言特征进行匹配,通常通过注意力机制(Attention Mechanism)来实现。
  2. 数据集与评估
    • 研究人员通常使用特定的数据集进行训练和评估,例如ReferIt、Flickr30k Entities等,这些数据集包含了图像及其对应的指称表达。

总结

Referring expression comprehension是一个多学科交叉的研究领域,涉及自然语言处理、计算机视觉和认知科学等多个方面。它的目标是让机器能够理解人类的语言描述,并在视觉场景中做出准确的响应,这对于实现更加智能的交互系统具有重要意义。

我们对闭集检测、开集检测和参考对象检测这三种设置进行了实验,全面评价开集检测的性能。Grounding DINO的表现远远超过竞争对手。例如,在没有任何COCO训练数据的情况下,Grounding DINO在COCO minival上达到52.5 AP。它还以26.1的平均AP建立了odinw[23]零射击基准的新状态。

本文的贡献总结如下:

  1. 我们提出了grounding DINO,它通过在多个阶段执行视觉语言模态融合来扩展封闭集检测器DINO,包括特征增强器、语言引导查询选择模块和跨模态解码器。这种深度融合策略有效地改进了开集目标检测。
  2. 我们建议将开集目标检测的评估扩展到REC数据集。它有助于评估带有自由格式文本输入的模型的性能。
  3. 在COCO、LVIS、ODinW和RefCOCO/+/g数据集上的实验证明了DINO接地在开集目标检测任务中的有效性。

2. 相关工作

Detection transformersGrounding DINO是建立在类似DETR的模型DINO[58]上的,这是一个端到端基于变压器的检测器。DETR最早是在[2]中提出的,在过去的几年里从多个方向进行了改进[4,5,12,17,33,50,64]。

  • DAB-DETR[31]引入锚框作为DETR查询,以获得更准确的框预测。
  • DN-DETR[24]提出了一种稳定二部匹配的查询去噪方法。
  • DINO[58]进一步发展了包括对比去噪在内的多项技术,并在COCO目标检测基准上创下了新的记录。

然而,这种检测器主要集中于闭集检测(closed-set object detection),由于预定义的类别有限,难以推广到新的类。

Open-Set Object Detection(开集目标检测)。开集目标检测是利用已有的边界框标注进行训练,目的是借助语言泛化来检测任意类。OV-DETR[57]使用CLIP模型编码的图像和文本嵌入作为查询,解码DETR框架[2]中的类别指定框。ViLD[13]将CLIP教师模型中的知识提取到类R- CNN的检测器中,以便学习到的区域嵌入包含语言的语义。GLIP[11]将对象检测作为一个基础问题,并利用额外的基础数据来帮助学习短语和区域级别的对齐语义。它表明,这种公式甚至可以在完全监督的检测基准上取得更强的性能。DetCLIP[53]涉及大规模图像字幕数据集,并使用生成的伪标签扩展知识库。生成的伪标签有效地扩展了检测器的泛化能力。

然而,以往的工作只在部分阶段融合多模态信息,这可能导致语言泛化能力欠佳。例如,GLIP只在特征增强(阶段A)中考虑融合,OV-DETR只在解码器输入(阶段B)中注入语言信息。此外,REC任务通常在评估中被忽略,这是开集检测的一个重要场景。我们将我们的模型与表1中的其他开放集方法进行了比较。

image-20250214153242718

3. Grounding DINO

Grounding DINO为给定图像、文本对输出多对(Image - Text pair)对象框和名词短语。例如,如图3所示,模型从输入图像中定位到一个cat和一个table,并从输入文本中提取单词cat和table作为相应的标签。对象检测和REC任务都可以与管道对齐。在GLIP[26]之后,我们将所有类别名称连接为对象检测任务的输入文本。REC要求每个文本输入都有一个边界框。我们使用得分最高的输出对象作为REC任务的输出

image-20250214161534841

Grounding DINO是一种双编码器-单解码器架构。总体框架如图3所示,它包含:

  • 一个用于图像特征提取的图像主干(image backbone),
  • 一个用于文本特征提取的文本主干(text backbone),
  • 一个用于图像和文本特征融合的特征增强器(feature enhancer for image and text feature fusion)(第3.1节),
  • 一个用于查询初始化的语言引导查询选择模块(a language-guided query selection module for query initialization )(第3.2节)
  • 以及一个用于盒细化的跨模态解码器(a cross-modality decoder for box refinement )(第3.3节)。

对于每个图像-文本对,我们首先分别使用图像主干文本主干提取基础图像特征和基础文本特征。所述两个普通特征被送入特征增强器模块,用于跨模态特征融合。在获得跨模态文本和图像特征后,我们使用语言引导的查询选择模块从图像特征中选择跨模态查询。与大多数类DETR的模型中的对象查询一样,这些跨模态查询将被馈送到跨模态解码器中,以从两个模态特征中探测所需的特征并更新自己。最后一层解码器的输出查询将用于预测对象框并提取相应的短语。

在你提到的“extract vanilla image features and vanilla text features using an image backbone and a text backbone”中,“vanilla”一词通常指的是某种“基础”或“标准”的特征,不带有额外的处理、优化或复杂的转换。这个词本身来自英语中的香草(vanilla bean),因香草是冰淇淋中最基础的口味,后来被引申为“基础款”的代称,表达“标准”或“原始”之义。

1. Vanilla Image Features

  • 定义:指使用基础的图像特征提取方法得到的特征,通常是通过卷积神经网络(CNN)等图像处理模型提取的低层或中层特征。这些特征可能包括边缘、纹理、颜色直方图等基本信息。
  • 提取方式:使用预训练的图像骨干网络(如ResNet、VGG等)来提取的特征,这些特征是在没有进行任何特殊的后处理或复杂特征增强的情况下直接获得的。

2. Vanilla Text Features

  • 定义:指使用基础的文本特征提取方法得到的特征,通常是通过自然语言处理模型(如LSTM、GRU或简单的词嵌入模型)提取得到的向量表示。这些特征可能包含简单的词向量或基本的上下文信息。
  • 提取方式:使用文本骨干网络(如Word2Vec、GloVe或基础的transformer模型)获得的特征,这些特征同样是未经特殊处理或增强的标准特征。

3. Vanilla的含义

  • 基础/标准:在此上下文中,“vanilla”用来描述特征的简单性和基础性。这意味着这些特征没有经过复杂的后处理、特征工程或深度学习中的任何高级技巧。
  • 无附加特性:它强调的是这些特征是最基本的、直接从模型输出获得的,没有额外的修改或增强。

总结

总的来说,vanilla image features和vanilla text features是指从标准的图像和文本处理模型中提取的基本特征,这些特征没有经过复杂的处理或优化,旨在保持特征的原始和基础状态。这样的特征提取通常是机器学习和深度学习任务的第一步,后续可以根据具体任务进行更复杂的处理和增强。

3.1. 特征提取和增强(Feature Extraction and Enhancer)

给定一个(Image, Text)对,我们提取具有图像主干(如Swin transformer[32])的多尺度图像特征和具有文本主干(如BERT[8])的文本特征。在之前的类DETR检测器[58,64]之后,从不同块的输出中提取多尺度特征。在提取图像和文本特征后,将其输入特征增强器进行交叉模态特征融合。特征增强器包括多个特征增强器层。我们在图3的 2中演示了一个特征增强器层。

  1. 我们利用deformable self-attention来增强图像特征,
  2. 并利用基础的自注意力self-attention来增强文本特征。
  3. 受GLIP[26]的启发,我们增加了图像到文本的交叉注意image-to-text cross-attention和文本到图像的交叉注意tetx-to-image cross-attention来进行特征融合。这些模块有助于对齐不同模态的特性。

image-20250214164150454

3.2. 语言引导查询选择(Language-Guided Query Selection)

input:image feature 、text feature、 num_query=900

output:topk_proposals_idx: (bs, num_query)

Grounding DINO旨在从输入文本指定的图像中检测对象。为了有效地利用输入文本来指导对象检测,我们设计了一个语言引导的查询选择模块,以选择与输入文本更相关的特征作为解码器查询。我们以PyTorch风格展示了算法1中的查询选择过程。image features和text features变量分别用于图像和文本特征。Num查询是解码器中的查询数,在我们的实现中设置为900。伪代码中的批大小和特征维度使用bs和ndim。图像令牌个数和文本令牌个数分别用于图像和文本令牌的数量。

image-20250214165633433

语言引导的查询选择模块输出num个查询索引。我们可以根据选择的索引提取特征来初始化查询。在DINO[58]之后,我们使用混合查询选择来初始化解码器查询。每个解码器查询包含两个部分:内容部分和位置部分[33]。我们将位置部分表述为动态锚盒(dynamic anchor boxes )[31],它是用编码器输出初始化的。另一部分,内容查询,在训练期间设置为可学习的。

3.3. 模态交互解码器(Cross-Modality Decoder)

我们开发了一个跨模态解码器来结合图像和文本模态特征,如图3的3所示。每个跨模态查询被馈送到

  1. self-attention:自注意层、
  2. image cross-attention:图像交叉注意层(用于组合图像特征)、
  3. text cross-attention:文本交叉注意层(用于组合文本特征)
  4. FFN(feed forward network):每个跨模态解码器层中的FFN层。

与DINO解码器层相比,每个解码器层都有一个额外的文本跨注意层,因为我们需要将文本信息注入查询中以获得更好的模态对齐。

image-20250214163704254

3.4. 子句级文本特征(Sub-Sentence Level Text Feature)

在之前的工作中,我们探索了两种文本提示,我们将其命名为句子级表示(sentence level)和词级(word leval)表示,如图4所示。

image-20250214165615474

  • sentence level representation句子级表示:[35,53]将整个句子编码为一个特征。如果短语基础数据中的某些句子有多个短语,则提取这些短语并丢弃其他单词。通过这种方式,它消除了单词之间的影响,同时失去了句子中的细粒度信息。
  • word level representation单词级表示:[11,18]支持用一个前向编码多个类别名称(例如cat和table),但在类别之间引入了不必要的依赖关系,特别是当输入文本是以任意顺序的多个类别名称的连接时。如图4 (b)所示,一些不相关的词在注意过程中相互作用。
  • sub-sentence level representation子句级表示为了避免不必要的词交互造成干扰,我们引入了注意掩码(attention masks),来阻止不相关类别名称之间的注意,称为“子句”级表示。它消除了不同类别名称之间的影响,同时保留了每个单词的特征,以便进行细粒度的理解。

3.5. 损失函数(Loss Function)

在之前类DETR的工作[2,24,31,33,58,64]之后,我们使用L1损失和GIOU[41]损失进行边界框回归。我们遵循GLIP[26]并使用预测对象和语言标记之间的对比损失的分类。具体来说,我们将每个查询与文本特征点积,以预测每个文本标记的logit,然后计算每个logit的焦点损失focal loss[28]。Box回归和分类损失,

  • 首先用于预测和基础事实之间的二分图匹配(bipartite matching between predictions and ground truths )。
  • 然后,我们计算ground truths and matched predictions 的最终损失,并匹配具有相同损失分量的预测。
  • 在类DETR的模型中,我们在每个解码器层和编码器输出之后添加辅助损失(auxiliary loss)。

4. 实验

4.1. 设置

我们在三种设定上进行了广泛的实验:

  1. COCO检测基准的封闭设置closed-set setting (章节C.1),

  2. zero shot COCO, LVIS和ODinW的开放设置open-set setting (章节4.2),

  3. 以及RefCOCO/+/g的参考检测设置(章节4.3)。

然后进行消融以显示我们的模型设计的有效性(第4.4节)。我们还探索了一种通过在第4.5节中训练几个插件模块来将训练有素的DINO转移到开放集场景的方法。我们的模型效率的检验在第1节中给出。

Implementation Details 实验细节:我们训练了两个模型变体,分别是:

  1. Grounding-DINO-T with Swin-T as an image backbone

  2. Grounding-DINO-L with Swin-L as an image backbone

我们利用了来自Hugging Face[51]的BERT-base[8]作为文本主干(as text backbones)。由于我们更多地关注模型在新类别上的性能,我们在正文中列出了零射击转移和参考检测结果。更多的实现细节可以在附录章节A中找到。

4.2. Zero-Shot Transfer of Grounding DINO

在这种设定下,我们在大规模数据集上预训练模型,并在新数据集上直接评估模型。我们还列出了一些经过微调的结果,以便将我们的模型与先前的工作进行更彻底的比较。

image-20250214172919945

COCO Benchmark ,我们将Grounding DINO与表2中的GLIP和DINO进行比较。我们在大规模数据集上预训练模型,并在COCO基准上直接评估我们的模型。由于O365数据集[44](近3)涵盖了COCO中的所有类别,我们在COCO上评估O365预训练的DINO作为 zero shot 基线。结果表明,DINO在COCO Zero-Shot Transfer上的性能优于DyHead。

DyHead模型是一种用于目标检测和图像分割的深度学习方法,主要应用于计算机视觉任务。该模型的特点在于其动态头(Dynamic Head)结构,旨在提高检测精度和效率。以下是对DyHead模型的简单介绍:

1. 动态头结构

  • 灵活性:DyHead通过引入动态头结构,能够根据输入特征和任务需求动态调整其参数,从而实现更高的适应性和灵活性。
  • 多任务学习:该结构支持同时处理多种任务,例如目标检测、实例分割等,提升了模型的通用性。

2. 特征提取

  • DyHead通常与强大的特征提取网络相结合(例如ResNet、FPN等),从图像中提取丰富的特征信息,以供后续的检测和分割任务使用。

3. 注意力机制

  • DyHead模型往往会结合注意力机制,特别是在处理复杂场景或遮挡物体时,通过关注重要特征来提高检测的准确性。

4. 性能优势

  • DyHead模型在多个公开数据集上表现出色,尤其是在复杂场景下的目标检测和分割任务中。其动态调整机制使得模型在处理不同形状、大小和数量的目标时更加高效。

5. 应用领域

  • DyHead广泛应用于自动驾驶、视频监控、图像分析等领域,是计算机视觉研究中的一个重要方向。

总结

DyHead模型通过动态头结构和先进的特征提取技术,提升了目标检测和图像分割的能力,展现了在多任务学习中的潜力。随着计算机视觉技术的发展,DyHead模型有望在更多实际应用中发挥重要作用。

Grounding DINO优于以往所有型号的零射击转移设置,与DINO和GLIP在相同设置下的+0.5AP和+1.8AP相比。Grounding 数据仍然有助于Grounding DINO,在零射击转移设置上引入超过1AP(48.1对46.7)。凭借更强大的骨干和更大的数据,在训练过程中没有看到任何COCO图像的情况下,Grounding DINO在COCO目标检测基准上创下了52.5 AP的新纪录。Grounding DINO在COCO minival上获得62.6 AP,优于DINO的62.5 AP。当将输入图像放大1.5倍时,收益降低。我们怀疑文本分支扩大了具有不同输入图像的模型之间的差距。尽管如此,通过对COCO数据集进行微调,Grounding DINO在COCO test-dev上获得了令人印象深刻的63.0 AP(参见表2括号中的数字)。

LVIS Benchmark ,LVIS[14]是一个长尾对象的数据集。它包含1000多个可供评估的类别。我们使用LVIS作为下游任务来测试我们模型的零射击能力。我们使用GLIP作为模型的基线。结果如表3所示。在相同设置下,Grounding DINO优于GLIP。我们在结果中发现了两个有趣的现象。首先,Grounding DINO普通对象的效果要好于GLIP,但在罕见的类别上效果较差。我们怀疑900查询设计限制了长尾对象的能力。相比之下,单阶段检测器使用特征映射中的所有建议进行比较。另一个现象是,Grounding DINO比GLIP有更多的数据,有更大的增益。例如,Grounding DINO引入了+1.8 AP增益,标题数据为Cap4M,而GLIP只有+1.1 AP。我们认为Grounding DINO比GLIP具有更好的可扩展性。更大规模的培训将是我们未来的工作。

image-20250217152517217

在深度学习目标检测的评估中,APr、APc、APf分别表示以下含义:

  1. APr (Average Precision for Rare classes):

    • 针对稀有类别的平均精度(AP)。
    • 衡量模型在检测稀有类别目标时的性能。
  2. APc (Average Precision for Common classes):

    • 针对常见类别的平均精度(AP)。
    • 衡量模型在检测常见类别目标时的性能。
  3. APf (Average Precision for Frequent classes):

    • 针对频繁类别的平均精度(AP)。
    • 衡量模型在检测频繁出现类别目标时的性能。

这些指标帮助评估模型在不同类别频率下的检测效果,全面反映其性能。

在目标检测任务中,稀有类别、常见类别和频繁类别的定义通常基于数据集中每个类别的样本数量或出现频率。具体的划分标准可能因数据集和任务的不同而有所差异,但常见的定义方式如下:


  1. 稀有类别 (Rare classes)
  • 定义:数据集中样本数量较少或出现频率较低的类别。
  • 划分标准:通常将数据集中样本数量最少的一部分类别(例如,样本数量在最低的10%-20%)定义为稀有类别。
  • 特点:由于样本数量少,模型可能难以充分学习这些类别的特征,导致检测性能较差。

  1. 常见类别 (Common classes)
  • 定义:数据集中样本数量适中或出现频率中等的类别。
  • 划分标准:通常将样本数量处于中间范围的类别(例如,样本数量在中间的40%-60%)定义为常见类别。
  • 特点:这些类别的样本数量足够多,模型通常能够较好地学习其特征,检测性能相对稳定。

  1. 频繁类别 (Frequent classes)
  • 定义:数据集中样本数量较多或出现频率较高的类别。
  • 划分标准:通常将样本数量最多的一部分类别(例如,样本数量在最高的10%-20%)定义为频繁类别。
  • 特点:由于样本数量多,模型能够充分学习这些类别的特征,检测性能通常较好。

划分的具体方法

  • 按样本数量排序:将所有类别的样本数量从少到多排序,然后按比例划分(如10%稀有、80%常见、10%频繁)。
  • 按出现频率划分:根据每个类别在数据集中出现的频率(如每张图像中的实例数)来划分。
  • 基于领域知识:在某些特定任务中,可能会根据领域知识或任务需求来定义稀有、常见和频繁类别。

示例

以COCO数据集为例:

  • 稀有类别:某些类别(如“牙刷”、“手提包”)的实例数量较少,可能被划分为稀有类别。
  • 常见类别:如“人”、“车”等类别,实例数量适中,可能被划分为常见类别。
  • 频繁类别:如“椅子”、“杯子”等类别,实例数量较多,可能被划分为频繁类别。

总结

稀有、常见和频繁类别的划分主要基于数据集中类别的样本数量或出现频率,具体标准可以根据任务需求和数据分布灵活调整。这种划分有助于更细致地评估模型在不同类别上的性能,尤其是在处理类别不平衡问题时。

ODinW Benchmark ,ODinW(野外对象检测)[23]是一个更具挑战性的基准,用于测试真实场景下的模型性能。它收集了超过35个数据集进行评估。我们在表4 中报告了三种设置,零射击,少射击和全射击结果。

  • Grounding DINO在这个基准上表现良好。只有O365和GoldG用于预训练,Grounding DINOt在 few shot 和 full shot 设置上优于DINO。
  • 令人印象深刻的是,Grounding DINO与swing - T 骨干优于DINO与swing - L full shot设置Grounding DINO优于GLIP在相同的骨干下的零射击设置,可与GLIPv2[59]相比,没有任何新的技术,如masked training 。结果表明了所提模型的优越性
  • ground - dino - L 以26.1的AP,创下了ODinW零射击的新纪录,甚至超过了巨型 Florence models[55](微软推出了一种名叫Florence的新的计算机视觉基础模型)。
  • 结果表明,该方法具有良好的通用性和可扩展性。

image-20250217154216400

4.3. Referring Object Detection Settings

我们进一步探讨了我们的模型在REC任务上的性能。我们利用GLIP[26]作为我们的基线。我们直接在RefCOCO/+/g上评估模型的性能。结果如 表5 所示。

image-20250217160818013

  • 在相同设置下,Grounding DINO优于GLIP。
  • 然而,GLIP和Grounding DINO在没有REC数据的情况下都表现不佳。
  • 更多的训练数据,如标题数据或更大的模型,有助于最终的性能,但相当小。
  • 在训练中注入RefCOCO/+/g数据后,Grounding DINO获得了显著的收益。
  • 结果表明,目前大多数开集目标检测器都需要关注更细粒度的检测(fine-grained detection )。

4.4. 消融

PAGE 7

我们在本节进行消融研究。我们提出了一种用于开集目标检测和子句级文本提示的紧密融合接地模型。为了验证模型设计的有效性,我们删除了不同变体的一些融合块。结果如表6 所示。所有模型都是预先训练的O365与swing -t骨干。结果表明,每一次融合都有助于最终性能的提高。编码器融合是最重要的设计。单词级文本提示的影响最小,但也很有帮助。语言引导的查询选择和文本交叉注意分别对LVIS和COCO有较大的影响。

image-20250217164757242

4.5. 从DINO转移到Grounding DINO

最近的工作提出了许多用于DINO架构检测的大规模图像模型。从头开始训练一个Grounding DINO模型在计算上是昂贵的。然而,如果我们利用预训练的DINO权重,则可以显著降低成本。因此,我们进行了一些实验,将预训练的DINO转移到Grounding DINO模型。我们冻结了DINO和Grounding DINO中共存的模块,并仅微调其他参数。(我们在e节中比较DINO和Grounding DINO)结果如表7所示。

image-20250217165319505

这表明,我们可以通过使用预训练的DINO,只训练文本块和融合块,实现Grounding-DINO-Training达到类似性能。有趣的是,在相同设置下,DINO预训练的Grounding DINO优于LVIS上的标准Grounding DINO。结果表明,模型训练可能还有很大的改进空间,这将是我们未来工作的探索。通过对DINO进行预训练初始化,模型的收敛速度比从头开始对DINO进行接地更快,如图5所示。值得注意的是,我们对图5中的曲线使用了没有指数移动平均线(EMA)的结果,这导致了与表7中不同的最终性能。由于从头开始训练的模型需要更多的训练时间,所以我们只展示了早期的结果。

image-20250217165446942

5. 结论

PAGE 9

本文提出了一个Grounding DINO模型。Grounding DINO扩展DINO开集对象检测,使其能够检测任意对象给定文本作为查询。我们回顾了开集目标检测器的设计,并提出了一种紧密融合的方法来更好地融合交叉模态信息。我们提出了一种子句级表示,以更合理的方式使用文本提示的检测数据。结果表明了模型设计和融合方法的有效性。此外,我们将开集对象检测扩展到REC任务,并相应地执行评估。我们表明,如果没有微调,现有的开集检测器不能很好地处理REC数据。因此,我们呼吁在未来的研究中特别关注REC zero shot 性能。

限制:虽然在openset对象检测设置上有很好的性能,但是Grounding DINO不能用于像GLIPv2这样的分割任务。此外,我们的训练数据小于最大的GLIP模型,这可能会限制我们的最终性能。

6. 感谢

我们感谢GLIP[26]的作者:Liunian Harold Li, Pengchuan Zhang和Haotian Zhang的有益讨论和指导。我们还要感谢OmDet[61]的作者赵天成和DetCLIP[53]的作者韩建华对他们的模型细节的回应。我们感谢香港科技大学的何操在扩散模型方面的帮助。

附录

A.更多实现细节

默认情况下,我们在模型中使用900个查询,遵循DINO的设定。我们将最大文本令牌数设置为256。使用BERT作为我们的文本编码器,我们采用BERT的BPE(字节对编码)方案对文本进行分词。在特征增强模块中,我们使用六个特征增强层。交叉模态解码器同样由六个解码层组成。我们在图像交叉注意力层中利用了可变形注意力。

匹配成本和最终损失都包括分类损失(或对比损失)、box L1损失和GIOU[41]损失。根据DINO,我们将匈牙利匹配时的分类成本、box L1成本和GIOU成本的权重分别设置为2.0、5.0和2.0。在最终的损失计算中,相应的损失权值分别为1.0、5.0和2.0。

我们的Swin transformer Tiny模型在16个Nvidia V100 gpu上进行训练,总批量大小为32。我们提取了3个图像特征尺度,从8 ×到32 ×。它在DINO中被命名为“4scale”,因为我们将32 ×的特征映射采样到64 ×作为额外的特征比例。对于Swin transformer Large模型,我们从主干提取4 × ~ 32 ×的4个图像特征尺度。该模型在64个Nvidia A100 gpu上进行训练,总批大小为64个。

B.数据使用

我们在模型预训练中使用了三种类型的数据。

  1. Detection data 检测数据。遵循GLIP[26],我们通过将类别名称连接到文本提示中,将对象检测任务重新制定为短语基础任务。我们使用COCO[29]、O365[44]和OpenImage(OI)[19]进行模型预训练。为了模拟不同的文本输入,我们在训练过程中从数据集中的所有类别中随机采样类别名称。

  2. Grounding data 基础数据。我们使用GoldG和RefC数据作为基础数据。用MDETR[18]对gold和RefC进行预处理。这些数据可以直接输入Grounding DINO。GoldG包含Flickr30k实体[37,38]和Visual Genome[20]中的图像。RefC包含RefCOCO、RefCOCO+和RefCOCO中的图像。

  3. Caption data 标题数据。为了提高模型在新类别上的性能,我们将语义丰富的标题数据提供给模型。在GLIP之后,我们使用伪标记的标题数据进行模型训练。经过良好训练的模型生成伪标签。

O365数据集有两个版本,我们分别称之为O365v1和O365v2。O365v1是O365v2的子集。O365v1包含约600K张图片,O365v2包含约1.7M张图片。根据之前的工作[26,53],我们在O365v1上预训练Grounding DINO -t 进行公平比较。为了获得更好的效果,ground - dino - l 在O365v2上进行了预训练。

C.更多关于COCO检测基准的结果

C.1、1 ×设置下的COCO检测结果

表9给出了Grounding DINO在标准COCO检测基准上的性能。所有模型都使用ResNet-50[16]主干进行了12次epoch的训练。在研究设置下,Grounding DINO达到48.1 AP,说明Grounding DINO是一个强闭集检测器。然而,与原来的DINO相比,它是劣质的。我们怀疑新的组件可能使模型比DINO更难优化。

image-20250217171802874

D. ODinW的详细结果

We present detailed results of Grounding DINO on ODinW35 in Table 10, Table 11, and Table 12.

image-20250217172250509

E. DINO与Grounding DINO的比较

为了说明DINO和Grounding DINO之间的区别,我们在图6中比较了DINO和Grounding DINO。我们用灰色标记DINO块,而新提出的模块则用蓝色阴影标记。

image-20250217172623481

F .可视化

我们在图7中展示了一些可视化效果。我们的模型在不同的场景和文本输入上表现出很好的泛化。例如,在最后一张图像中,Grounding DINO准确地定位了蓝色的男人和红色的孩子

image-20250217172724196

G.将Grounding DINO与稳定扩散Stable Diffusion 结合

PAGE 13

我们在图1 (b)中展示了一个图像编辑应用程序。图1 (b)中的结果由两个过程生成。

  • 首先,我们使用Grounding DINO检测对象,并通过屏蔽检测到的对象或背景来生成掩模。

  • 之后,我们将原始图像,图像蒙版和生成提示馈送到绘图模型(典型的Stable Diffusion[42])以渲染新图像。

    我们使用https://github.com/Stability-AI/ stablediffusion中发布的检查点来生成新图像。更多的再保险

结果如图8所示。

“检测提示”是Grounding DINO的语言输入,“生成提示”是修复模型的语言输入。

Using GLIGEN for Grounded Generation。为了实现细粒度的图像编辑,我们将Grounding DINO与GLIGEN相结合[?]。我们使用图9中的“短语提示符”作为GLIGEN的每个框的输入短语。

GLIGEN(Generalized Language-Image Generation)是一种新兴的计算机视觉和自然语言处理模型,旨在通过自然语言描述生成与之对应的图像。它结合了图像生成和文本理解的能力,能够在给定一段文本描述的情况下,生成高质量的图像。

主要特点

  1. 多模态生成:GLIGEN能够处理文本和图像之间的转换,支持生成与特定文本描述相符的图像。这使得它在满足用户需求方面具有更大的灵活性。

  2. 丰富的生成能力:该模型不仅能够生成简单场景,还能处理复杂的场景描述,包括多个对象、背景和细节,使得生成的图像更加真实和多样化。

  3. 基于预训练:GLIGEN通常使用大规模的图像和文本数据进行预训练,以增强其对语言和视觉信息的理解。

  4. 应用广泛:GLIGEN可以应用于多个领域,比如游戏开发、虚拟现实、广告创意、图像编辑等,帮助用户实现更加生动的创意表达。

总结

GLIGEN代表了计算机视觉和自然语言处理领域的一个重要发展,通过将语言与图像生成结合起来,推动了多模态生成技术的前沿。随着技术的不断进步,GLIGEN及其类似模型有望在创作、设计和其他应用中发挥更大的作用。如果你有更具体的问题或想了解更多细节,欢迎继续提问!

GLIGEN支持grounding results作为输入,并可以在特定位置生成对象。我们可以用GLIGEN为每个边界框分配一个对象,如图9 © (d)所示。此外,GLIGEN可以完全填充每个边界框,从而获得更好的可视化效果,如图9 (a) (b)所示。例如,我们在图8 (b)和图9 (b)中使用相同的生成提示。GLIGEN结果确保每个边界框都有一个对象,并满足检测区域。

image-20250218192735356

图8。Grounding DINO与稳定扩散的结合。我们首先使用Grounding DINO检测目标,然后使用稳定扩散进行图像绘制。“检测提示”为Grounding DINO输入,“生成提示”为稳定扩散输入。“短语提示”是每个边界框的语言输入。短语提示用分号分隔。我们将短语提示分配给随机包围框。

image-20250218192634376

H. RefC和COCO数据的影响

我们将RefCOCO/+/g(在表中标注为“RefC”)和COCO添加到某些设置的训练中。我们在表13中探讨了这些数据的影响。结果表明,

  • RefC有助于提高COCO的zero shot 和fine-turn性能,但会损害LVIS和ODinW的结果
  • 随着COCO的引入,COCO的结果得到了很大的改善。结果表明,COCO对LVIS有边际改善,对ODinW有轻微降低。

image-20250218193227176

RefCOCO是一个用于研究和评估视觉问答和目标识别任务的基准数据集。它的全名是“Referential COCO”(与所指事务有关的coco),旨在通过语言引用来标识和定位图像中的对象。RefCOCO数据集主要用于增强计算机视觉模型在理解自然语言描述与图像内容之间关系的能力

主要特点

  1. 数据集结构:RefCOCO数据集包含大量图像,每个图像都与自然语言描述相对应,这些描述用于指代图像中的特定对象。这些描述通常包括上下文信息,让模型能够准确找到目标对象。

  2. 任务类型:RefCOCO主要用于两种类型的任务:

    • 目标识别:模型需要根据自然语言描述找到并识别图像中的对象。
    • 文本-图像配对:模型需要理解文本描述,并将其与图像进行配对。
  3. 丰富的上下文信息:RefCOCO的数据集设计中包含了丰富的上下文信息,以便于模型学习如何在复杂场景中进行对象识别。

  4. 评估标准:RefCOCO为研究者提供了评估其模型性能的标准,帮助提升多模态模型的识别和理解能力。

应用

RefCOCO广泛应用于计算机视觉和自然语言处理的研究中,特别是在视觉问答、目标检测和跨模态学习等领域。通过使用RefCOCO,研究人员可以开发更为先进的模型,提升它们在语言理解和视觉识别任务中的表现。

I、模型效率

PAGE 17

我们在表14中比较了Grounding-DINO-TGLIP-T之间的模型大小和效率。结果表明,该模型比GLIP具有更小的参数尺寸和更高的效率。

image-20250218193310204

### ComfyUI与Grounding-DINO集成指南 #### 一、环境搭建 对于希望利用最新功能并享受稳定性能体验的开发者来说,推荐通过下载源码来构建项目[^1]。此过程涉及使用 `pip` 安装必要的依赖库。针对特定组件如lap库可能出现的安装失败情况,建议查阅网络资源获取解决办法。 为了启用 GPU 加速特性,需特别注意安装与 CUDA 版本相匹配的要求文件(requirements*-gpu.txt),特别是调整其中关于 onnxruntime-gpu 的版本号以确保兼容性。 ```bash # 下载源码后进入项目目录 cd path_to_project_directory # 创建虚拟环境 (可选) python -m venv env source env/bin/activate # Linux/MacOS .\env\Scripts\activate # Windows # 安装基础依赖项 pip install -r requirements.txt # 若需要GPU支持,则应改为如下命令 pip install -r requirements-gpu.txt ``` #### 二、ComfyUI简介及其配置 ComfyUI 是一款用于简化AI应用开发流程的强大工具。它允许用户轻松创建复杂的图形界面应用程序而无需深入了解底层细节。当考虑将其与 Grounding-DINO 结合时,主要关注点在于如何有效地加载预训练模型以及处理输入输出数据流。 #### 三、Grounding-DINO概述及应用场景 Grounding-DINO是一种先进的视觉理解框架,在图像标注任务上表现出色。其核心优势在于能够精准定位图片内的目标对象,并提供详细的描述信息。这使得该技术非常适合应用于自动化内容审核、智能检索等领域[^2]。 #### 四、实例展示:基于ComfyUI实现简单的物体检测程序 下面给出一段Python代码片段作为例子,展示了怎样借助ComfyUI快速建立一个简易版的对象识别器: ```python from comfyui import App, ImageInput, TextOutput import grounding_dino as gd app = App() @app.route("/") def index(): img_input = ImageInput(label="上传一张照片") @img_input.on_submit() def handle_image(image_path): result = gd.detect_objects(image_path=image_path) output_text = "\n".join([f"{obj['label']}: {round(obj['confidence'], 2)}%" for obj in result]) return {"output": [{"type": "text", "value": output_text}]} if __name__ == "__main__": app.run(debug=True) ``` 上述脚本定义了一个Web服务端口,接收来自用户的图片提交请求并通过调用 Grounding-DINO API 进行分析;最后返回检测到的目标列表给前端页面显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱多多先森

你的鼓励,是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值