【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022)

这篇具有很好参考价值的文章主要介绍了【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

论文:Open-vocabulary Object Detection via Vision and Language Knowledge Distillation

代码:https://github.com/tensorflow/tpu/tree/master/models/official/detection/projects/vild

效果:

  • 在 zero-shot 测试下,coco 达到了 36.6 AP,PASCAL VOC 达到了 72.2AP,Object365 达到了 11.8AP

本文提出了 Vision and Language knowledge Distillation(ViLD):

  • 通过将预训练的开集分类模型作为 teacher model,来蒸馏两阶段目标检测器 student model
  • 即使用 teacher model 来对 category texts 和 proposal region进行编码
  • 然后训练 student detector 来对齐 text 和 region embedding

一、背景

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

如图 1 所示,作者思考,目标检测器能否识别 base category 之外的类别?

所以,本文作者就构建了一个 open-vocabulary 目标检测器,用于检测从 text 输入的任意类别的目标

现有的目标检测方法都是只学习数据集中出现的类别,而扩充检测类别的方法就是收集更多的类别标注数据,如 LVIS 包括 1203 个类别,有较为丰富的词汇量,但也不够强大。

另外一方面,互联网上有丰富的 image-text pairs,CLIP 就尝试使用 4 亿图文对儿来联合训练模型,并且在 30 个数据集上展示了很好的效果

zero-shot 迁移的效果很大程度上来源于预训练的 text encoder 对任意类别文本的编码能力,尽管现在对 image-level 特征表达的编码能力已经被证明挺好的了,但还 object-level 的特征编码仍然很有挑战

所以,本文作者思考能否从开集分类模型中拿到一些能力来用于开集检测

作者首先从 R-CNN 类的方法入手,将开集目标检测也构建为两个子问题:

  • object proposal 的生成
  • open-vocabulary 图像分类

如何操作 R-CNN 类的模型:

  • 先基于基础类别训练一个 region proposal model
  • 然后使用预训练好的图像分类器来对 cropped object proposal 进行分类,可以包括新类和基础类
  • 作者使用 LVIS 当做 benchmark,把 rare 类别作为 novel categories,将其他类当做 base categories
  • 缺点:很慢,因为每个 object proposal 都是一个个的进入分类器来分类的

基于此,作者提出了 ViLD,来训练两阶段的开放词汇目标检测器,ViLD 包含两部分:从开集目标分类模型的输出中来学习 text embedding 和 image embedding

  • ViLD-text:只会从基础类中蒸馏
    • 首先,将类别名称输入预训练好的 text encoder 来得到 text embedding
    • 然后,使用推理的 text embedding 结果来对检测到的 region 进行分类
  • ViLD-image:会同时从基础类和新类中来蒸馏,因为 proposal 网络可能会检测到包含新类的区域
    • 首先,将 object proposal 经过 NMS 算法过滤后,在原图上裁剪,裁剪出原图区域,然后将裁剪后的原图送入 CLIP 的 image encoder 中,CLIP 的 image encoder 的输出就是该区域的教师特征,
    • 然后,训练一个 Mask R-CNN 来学习教师网络的输出,也就是将 student 输出和 teacher image embedding 来对齐

二、方法

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

作者将检测数据集中的类别分类 base 和 novel:

  • base: C B C_B CB,参与训练
  • novel: C N C_N CN

编码器符号:

  • T ( . ) T(.) T(.):text encoder
  • V ( . ) V(.) V(.):image encoder

2.1 对新类别的定位 Localization

开放词汇目标检测的第一个挑战就是对新类别目标的定位

作者以 Mask RCNN 为例,作者使用 class-agnostic 模块替换了 class-specific 定位模块,对每个 RoI,模型只能对所有类别预测一个 bbox 和一个 mask,而不是每个类别都会预测一个,所以,使用 class-agnostic 的模块可以扩展到用于新类别的定位

2.2 使用 cropped regions 进行开放词汇检测

一旦对目标候选区域定位成功,就可以使用预训练好的分类器来对区域进行分类

Image embedding:

  • 作者基于基础类别 C B C_B CB 训练了一个 proposal 网络,来提取感兴趣区域
  • 首先从原图中 crop 并 resize ,然后将原图区域输入 CLIP 的 image encoder 中计算 image embedding
  • 作者使用了两种 crop 区域的 resize 方式:1x 和 1.5x,1.5x 的用于提供更多的上下文信息,整合后的 embedding 然后会被归一化

Text embedding:

  • 作者会使用 prompt 模版(如 “a photo of {} in the scene”)来送入 text encoder,并得到 text embedding

相似度:

  • 计算完两个 embedding 之后,作者使用 cosine similarities 来计算 image embedding 和 text embedding 的相似程度,然后使用 softmax 激活和类内的 NMS 来得到最终的检测结果

效率:

  • 由于每个 cropped region 都会被送入 image encoder 来提取 image embedding,所以效率很低

2.3 ViLD

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

作者提出了 ViLD 来缓解上面提到的效率低的问题

使用 text embedding 来代替分类器:

  • 首先,引入了 ViLD-text,目标是训练一个可以使用 text embedding 来分类的 region embedding
  • 如图 3b 展示了训练的目标函数,使用 text embedding 来代替了如图 3a 的分类器,只有 text embedding 用于训练
  • 对于没有匹配到任何 gt 的 proposal,被分配到背景类别,可以学习其自己的编码 e b g e_{bg} ebg
  • 对所有类别编码,都计算 region embedding 和 category embedding 的余弦相似性,包括前景和背景 e b g e_{bg} ebg
  • 然后,计算带温度参数的 softmax 激活后的分布并计算 cross-entropy loss
  • 为了训练第一个阶段,也就是 region proposal 网络,作者在线抽取 region proposal r,并且从头开始使用 ViLD-text 来训练

ViLD-text 的 loss 如下:

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

蒸馏 image embedding:

训练 ViLD-image 时,主要是从 teacher model 来蒸馏到 student model 上

为了提升训练速度,对每个 training image 先离线抽取 M 个 proposal,并且计算其对应的 image embedding

这些 proposal 包含了基础类和新类,所以网络是可以扩展的

但 ViLD-text 只能从基础类学习

ViLD-image loss 是 region embedding 和 image embedding 的 L1 loss:

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

ViLD 的整个训练 loss 如下:w 是超参数

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

三、效果

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022),多模态,目标检测,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-620208.html

到了这里,关于【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机视觉 & 自然语言处理】什么是多模态?

    多模态指的是多种模态的信息,包括:文本、图像、视频、音频等。 顾名思义,多模态研究的就是这些不同类型的数据的融合的问题。 目前大多数工作中,只处理图像和文本形式的数据,即把视频数据转为图像,把音频数据转为文本格式。这就涉及到图像和文本领域的内容

    2024年02月14日
    浏览(33)
  • BEV蒸馏来了!BEVDistill:用于多目3D目标检测的跨模态BEV蒸馏

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 点击进入→ 自动驾驶之心【3D目标检测】技术交流群 后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述! ICLR2023双盲审中 论文链接:https://openreview.net/forum?id=-2zfgNS917 基于多视图的三维目标

    2024年02月08日
    浏览(41)
  • BMVC 23丨多模态CLIP:用于3D场景问答任务的对比视觉语言预训练

    来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2306.02329 训练模型将常识性语言知识和视觉概念从 2D 图像应用到 3D 场景理解是研究人员最近才开始探索的一个有前景的方向。然而,2D 提炼知识是否可以为下游 3D 视觉语言任务(例如 3D 问答)提供有用的表示仍

    2024年02月04日
    浏览(37)
  • yolov8(目标检测、图像分割、关键点检测)知识蒸馏:logit和feature-based蒸馏方法的实现

    在目标检测中,知识蒸馏的原理主要是利用教师模型(通常是大型的深度神经网络)的丰富知识来指导学生模型(轻量级的神经网络)的学习过程。通过蒸馏,学生模型能够在保持较高性能的同时,减小模型的复杂度和计算成本。 知识蒸馏实现的方式有多种,但核心目标是将

    2024年04月28日
    浏览(59)
  • 微软亚洲研究院多模态模型NÜWA:以自然语言创造视觉内容

    此前我们曾提出了一个问题:从文字脚本生成创意视频一共分几步?微软亚洲研究院的开放领域视频生成预训练模型给出了答案:只需一步。现在,我们追问:除了文字生成视频之外,还有哪些途径可以生成视频?我们能否使用自然语言对视觉内容进行编辑?微软亚洲研究院

    2024年02月04日
    浏览(29)
  • 【人工智能124种任务大集合】-集齐了自然语言处理(NLP),计算机视觉(CV),语音识别,多模态等任务

    大家好,我是微学AI,今天给大家介绍一下人工智能124种任务大集合,任务集合主要包括4大类:自然语言处理(NLP)、计算机视觉(CV)、语音识别、多模态任务。 我这里整理了124种应用场景任务大集合,每个任务目录如下: 句子嵌入(Sentence Embedding):将句子映射到固定维

    2024年02月13日
    浏览(48)
  • 【知识蒸馏】知识蒸馏(Knowledge Distillation)技术详解

    参考论文:Knowledge Distillation: A Survey        ​ 近年来,深度学习在学术界和工业界取得了巨大的成功,根本原因在于其可拓展性和编码大规模数据的能力。但是, 深度学习的主要挑战在于,受限制于资源容量,深度神经模型很难部署在资源受限制的设备上。如嵌入式设备

    2024年01月23日
    浏览(27)
  • 知识蒸馏之自蒸馏

    知识蒸馏之自蒸馏@TOC 本文整理了 近几年顶会中的蒸馏类文章(强调self- distillation) ,后续可能会继续更新其他计算机视觉领域顶会中的相关工作,欢迎各位伙伴相互探讨。 注意力蒸馏 (Attention distillation) :用于把大网络学习到的注意力特征图(attention map)迁移到小网络中

    2024年02月06日
    浏览(27)
  • 4.AI人工智能大模型汇总:类GPT系列模型、模型中转站Auto-GPT、多模态大模型、视觉模型、自然语言模型

    模型名称 发布方 类型 开源类型 原始模型框架 paddle版本 模型能力 模型语言 模型参数 简介 模型链接 体验链接 paddle版本链接 项目链接 备注 发布日期 创建人 模型 星火认知大模型 科大讯飞 语言模型 未发布 暂无paddle 文生文 中文 未知 https://xinghuo.xfyun.cn/?ch=bdtg-xh-cy01bd_vid=1

    2024年02月04日
    浏览(52)
  • 知识蒸馏实战:使用CoatNet蒸馏ResNet

    知识蒸馏(Knowledge Distillation),简称KD,将已经训练好的模型包含的知识(”Knowledge”),蒸馏(“Distill”)提取到另一个模型里面去。Hinton在\\\"Distilling the Knowledge in a Neural Network\\\"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(Teacher network:复杂、但预测精度优

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包