Open-Vocabulary Object Detection Using Captions(2021 CVPR)----论文解读

paper

code

https://github.com/alirezazareian/ovr-cnn

1. Abstract

  • 目标检测现存的问题?

学习更多的对象类别通常需要更多的边框注释。
比如:目标检测从600类扩展到60,000类需要100倍的资源

  • 解决方法

Weakly supervised and zero-shot learning
缺陷: 将目标检测器扩展到更少监督的类别,但它们还没有像监督模型那样成功和广泛采用。

Open-Vocabulary Object Detection Using Captions

在这里插入图片描述

新的训练方法:
1.bounding box 注释有限的目标种类集(基类),
2.image-caption pairs (图像-标题对) 集(基类+可能包含部分新类)。

优点:
1.该方法能够在训练过程中检测和定位没有边界框标注的目标,且精度明显高于 zero-shot learning 方法。
2.带有边界框标注的对象可以像监督方法一样准确地检测出来,明显优于Weakly supervised 基线。
总结:能够检测没有 bounding box 的目标 , 优于zero-shot ; 也能够检测常规的有bounding box 的目标, 优于弱监督 。

2. Introduction

设想与构思

设想 : imitate this human ability , 模拟人类如何通过自然监督 学习的
构思 : designing a two-stage framework named Open-Vocabulary object Detection (OVD)
模拟了人类的这种能力,通过设计一个两阶段的框架,名为开放词汇表对象检测(OVD)
在这里插入图片描述
在这里插入图片描述

我们建议首先使用 image-caption pairs (图像-标题对)的语料库来获取 unbounded vocabulary (无界词汇表) 的概念构成 visula-semantic space,然后使用这些知识来学习目标检测(或任何其他下游任务)。

比如说检测类任务,只需要一部分带注释的基类。
后续就可以目标检测到新类。

详细:
在这里插入图片描述

  1. 在 image-caption pairs 数据集上学习到一个 visual-semantic space(基类+可能包含部分新类)
  2. 在有注释得基类学习如何让目标检测
  3. 可以利用 visual-semantic space ,检测到新类

思路与做法

在这里插入图片描述
目的:是可以输入目标单词 target vocabulary , 得到一张图,且能检测物体。
VT :目标类词汇表 , 这也是我们需要训练得到的。
VC :image-caption dataset 数据集包含的大量词汇
VB :目标检测数据集(基类)
VΩ :整个语言词汇集 ,
这里值得一提的是VT不可知。 unbounded vocabulary
在这里插入图片描述
先在 image-caption上预训练,再在目标检测数据集上微调,要保持在新类得泛化能力,需要在与训练阶段进行大量得image-caption的预训练。

OVD、ZSD、 WSD的区别?

在这里插入图片描述
在这里插入图片描述

3. Related Work

ZSD

在这里插入图片描述
ZSD aims to generalize from annotated (seen) object classes to other (unseen) categories.(目的是将带注释的(可见的)对象类推广到其他(不可见的)类别)
存在对未知类类别少,检测效果差的问题。
问题存在原因:
在这里插入图片描述
在这里插入图片描述
解决: open vocaluary

WSD

WSD is the most widely used approach to train object detectors without
bounding box annotations(是不需要边框标注训练对象检测器的方法),定位效果不好,且词汇表具有局限性。
问题:
在这里插入图片描述
解决:
在这里插入图片描述

Object detection using mixed supervision

问题:
在这里插入图片描述

大多数方法对所有类都需要边界框标注,并且只将弱监督用作辅助数据。
具体来说:在基类上进行训练,然后使用弱监督学习转移到目标类,这些方法通常会在基类上降低性能相反。
OVD:使用标题学习包含目标类的开放词汇表语义空间,然后通过监督学习将其转移到目标检测任务中。
所有弱监督和混合监督方法的另一个限制是,它们需要预定义分类法中的图像级注释,而且它们只能学习那些预定义的类no unbounded vocabulary

运用的两种技术

Visual grounding
Vision-language transformers

Visual grounding of referring expressions

can be seen as an open-vocabulary object localization problem:
Given an image and a noun phrase that refers to an object, usually within the context of a full caption, the goal is to localize the referred object in the image using a bounding box.
给定一幅图像和一个名词短语,它指向一个物体,通常在一个完整的标题的上下文中,目标是使用一个边界框来定位图像中所指的物体。

我们受到弱监督视觉 Visual grounding 的丰富文献的启发来设计我们的图像捕捉预训练技术。更具体地说,通过学习visual-semantic common space,我们学会了map caption words to image regions。但是,在没有提供caption的情况下,不能单独使用这种映射来检测推理过程中的对象。因此,我们建议通过另一阶段的训练,将Visual grounding 转移到目标检测任务中。

Vision-language transformers

在这里插入图片描述

transformer,以图像-标题对作为输入,并提取可用于各种下游 视觉+语言 任务的通用特征

总结

ZSD的检测效果差(map不高),主要原因,我认为就是对于没有任何未知类的例子经过训练,OVD 应该是会有部分未知类通过image-caption dataset 训练课得知,因此从现有基类的特征其实很难推出新类
WSD 定位效果不好, 我个人分析认为,他从没有注释的图片很难学习到特征,就很难像OVD那样通过image-caption那样,至少有图像和文本方向的特征给与,再通过基类的相关有注释框的图片学习,就能很好的定位。
mixed supervision,其实同样存在上面的缺陷,在基类上进行训练,然后使用弱监督学习转移到目标类,这些方法通常会在基类上降低性能相反
Visual groundingVision-language transformers 就是来帮助解决作者的设想,通过 Vision-language transformers 可以提取 文本和图像的特征,Visual grounding 则就是根据这些特征进行定位。

3. Method

在这里插入图片描述

在这里插入图片描述

Zero-shot 的做法:
在一组基类V~B~上接受训练,在另一组目标类V~T~上进行测试。 Base Test Vocabulary
由于基类的样本很小,会导致严重的过拟合,以至于SOTA的mAP比基类低9倍。

在这里插入图片描述
作者则是反其道而行,他是先训练丰富的语义空间 visual-semantic space VC , 而不是训练基类VB ,可以防止防止过拟合 ,再运用到下游任务。 (语义库 Wikipedia)

3.1. Learning a visual-semantic space

问题: zero-shot 过拟合

在这里插入图片描述
在这里插入图片描述
基于ImageNet数据集的CNN backbone。
backbone预训练的结果,可以为对象识别 提取优化特征,然后用于训练一个新的分类头 来分类 固定的带注释类集,也就是基类。
这在ZSD设置中是有问题的,因为在基类上训练的分类器无法识别目标类。因此,ZSD方法通过将固定的嵌入矩阵[13]替换分类器权值,为来学习从视觉特征到预先训练的基类空间的线性投影。通过这种方法,假设嵌入空间的连续性,期望网络能泛化到目标类。然而,这种方法容易出现过拟合,因为投影到少量的嵌入空间(基类嵌入)是一个欠定问题[3]。
在这里插入图片描述

解决

在这里插入图片描述
为了防止过拟合,我们建议在预训练时,随着CNN主干学习前述的Vision To Language (V2L)投影层,其中数据不局限于一小组基类。为此,我们使用一个图像-标题数据集,因为标题包含丰富的词汇和语义结构,可以用来学习单词的含义,包括对象名称。为了有效地从字幕提供的丰富的监督中学习,我们利用了 visual grounding and visionlanguage transformers 的最新进展。我们使用一个主(visual grounding )任务和一组辅助的自我监督任务来学习一个鲁棒的CNN主干和V2L层。

在这里插入图片描述

image-caption 预训练

在这里插入图片描述
在这里插入图片描述
visual backbone: image 输入 ,分隔图像成网格,riI 代表网格图像块 i 特征d维向量
language backbone : ejC word embeeding + position embedding = fjC (通过模块BERT)

BERT
简单来说他是可融合上下左右文的信息,能生成更高语义的深层次的双向语言特征
V2L ,是为了加强词和图像区域的对应关系。

ejC和eiI 可以用来visual grounding 用来定位。

在这里插入图片描述

riI 通过V2L (视觉到语言的映射层)得到 每个区域块的 语言嵌入空间 eiI
他和 fjC 合并传到 multimodal transformer 得到 miI ,mjC
能在每个模态内而且在两个模态之间进行关注。

loss

在这里插入图片描述
在这里插入图片描述

3.2. Learning open-vocabulary detection

在这里插入图片描述

experiment

只能说碾压吧!
在这里插入图片描述
在这里插入图片描述

参考blog

open-Vocabulary object detection using captions
近期跨模态检测&分割论文整理与解析(持续更新中)
Visual grounding系列–领域初探
什么是BERT?
谷歌提出ViLD:超越Supervised的Zero-Shot检测器

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 通过下载 youmi-vocabulary 背单词微信小程序的代码和相关资源文件后,我们可以直接进行设定和定制。 首先,我们可以打开代码文件,然后根据自己的需求对页面布局、颜色、字体等进行修改。如果想要增加新的功能或者修改现有功能,可以找到相应的代码文件进行编辑,如卡片的显示、单词的存储和读取等。 在设定过程中,我们可以对小程序的首页进行设置,比如添加背景图片、修改标题、调整按钮位置等。另外,我们还可以设定各个页面间的跳转关系,如单词卡片页面跳转到单词详情页面、单词详情页面跳转到例句页面等。对于每个页面的样式和交互,可以通过修改代码中的CSS样式和JavaScript代码来实现。 如果想要添加新的单词库或者词典,我们可以在资源文件中添加相应的文件,然后在代码中引用这些文件,以便在小程序中使用。同时,我们还可以根据需要对单词库进行编辑,如添加新的单词、修改释义或者例句等。 在完成设定后,我们可以运行小程序进行调试,检查是否有错误或者不符合预期的地方。如果发现问题,可以根据提示进行修改,直到满足我们的需求为止。 最后,将修改后的代码和资源文件上传到微信小程序开发者工具中,进行编译和发布,即可在微信中使用我们自己定制的 youmi-vocabulary 背单词微信小程序了。 ### 回答2: youmi-vocabulary 背单词微信小程序是一个用于帮助用户背单词的工具。用户只需要将代码及相关资源文件下载后,可以直接设定并使用该小程序。 首先,将代码及相关资源文件下载到本地。可以通过下载链接或者将代码拷贝到本地的方式进行下载。下载完成后,可以将代码放置在合适的位置。 接下来,设定该微信小程序。打开微信开发者工具,选择该项目所在的文件夹,即可进行设定。在设定过程中,可以配置小程序的基本信息、界面设计、功能模块等,以及与服务器的连接方式等。 一旦设定完成,就可以使用该小程序了。用户可以通过微信扫描小程序二维码,或者在微信搜索框中搜索小程序名称,进入小程序页面。在小程序页面上,用户可以进行单词背诵、词义理解、例句听写等功能。小程序会根据用户设定的英语水平、背诵计划等提供个性化的背单词内容和学习进度统计。 此外,youmi-vocabulary 还提供了一些其他功能,例如字典查询、记忆曲线、背单词游戏等,以提高用户的学习效果和学习兴趣。 总结来说,youmi-vocabulary 背单词微信小程序是一个方便用户背单词的工具。用户只需要下载代码及相关资源文件,并进行设定,就可以使用该小程序,并享受它提供的个性化背单词功能和其他学习辅助功能。 ### 回答3: youmi-vocabulary 背单词微信小程序是一个帮助用户背诵并记忆单词的工具。用户可以在微信小程序上下载该小程序的代码和相关资源文件,并进行设置,以便使用该小程序。 通过下载 youmi-vocabulary 背单词微信小程序的代码和资源文件,用户可以获得小程序的完整功能并进行自定义设置。这些代码和资源文件可能包括小程序的前端代码、后端代码、配置文件、图片等。用户可以根据自己的需求修改这些文件,例如更改小程序的界面样式、增加新的功能、调整单词库等。 在设定时,用户可以根据自己的需求进行个性化设置。例如,用户可以选择自己所需的单词库,根据自己的学习进度和水平设定背诵计划,并进行记忆方面的设置,如背单词的方式(英译汉、汉译英、听力等),记忆模式(选择题、填空题等),以及复习频率等。 通过设定,youmi-vocabulary 背单词微信小程序可以根据用户的需求和设置,在背诵单词的过程中提供个性化的学习体验。用户可以根据自己的设定,系统自动提供对应的背诵任务和学习资料,帮助用户高效、有序地记忆单词。同时,用户也可以根据自己的学习情况进行实时调整和优化设定,以达到最佳学习效果。 总之,通过下载 youmi-vocabulary 背单词微信小程序的代码和相关资源文件,并进行设定,用户可以个性化地使用这个小程序,高效记忆单词,提升自己的语言能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值