【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)

这篇具有很好参考价值的文章主要介绍了【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

论文:Aligning Bag of Regions for Open-Vocabulary Object Detection

代码:https://github.com/wusize/ovdet

出处:CVPR2023

一、背景

传统目标检测器只能识别特定的类别,开放词汇目标检测由于不受预训练类别的限制,能够检测任意类别的目标,而受到了很多关注

针对 OVD 问题的一个典型解决方案就是基于蒸馏的方法,也就是从预训练的 vision-language 模型中蒸馏出丰富的特征来识别丰富的类别

VLM 是通过大量的 image-text pairs 来学习将两者对齐,如图 1a 所示

之前也有很多蒸馏的方法通过将每个 region embedding 和对应的从 VLM 中输出的特征进行对齐

本文作者提出【align the embedding of BAg of RegiONs】,来让模型不仅仅理解单个的目标,而是理解场景

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

BARON 结构如图 1c 所示:

  • 首先,从 bag 中抽取出和上下文相关的 region,由于 RPN 是需要能够提取出潜在的新类的,所以作者提出了 “neighborhood sampling strategy” 来抽取 region proposal 周围的框来帮助建模出共现的语义 concept
  • 接着,BARON 通过将 region feature 投影到 word embedding space 得到 pseudo words,并且使用预训练好的 text encoder 来对这些 pseudo words 进行编码,得到一系列的 region embedding
  • 投影到 word 空间的 pseudo words,就能够让 Text encoder 很好的抽取出共现的语义概念,并且理解整个场景
  • 在送入 Text encoder 之前,为了保留 region box 的空间信息,会将 box shape 和 box center position 也投影到 embedding 中,驾到 pseudo word 上,然后再将 pseudo word 送入 Text encoder
  • 训练 BARON 时,目标是将 bag-of-regions 的 embedding 和从教师 image encoder (IE)那里获得的 image crop 的 embedding 对齐,作者使用对比学习机制来学习 pseudo words 和 bag-of-regions embeddings,对比学习 loss 能够拉近成对儿的 pairs 的 student(detector)和 teacher(IE)embedding ,推远不成对儿的 pairs

二、方法

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

本文方法首次提出了对齐 bag of regions 的 embedding,之前的方法都是对齐单个 region 的 embedding

2.1 主要过程

本文方法主要基于 Faster R-CNN,为了让 Faster RNN 能够检测出任意词汇概念的目标,作者使用了一个线下映射层将原本的分类器代替了

线性映射层能够将 region features 映射到 word embedding space(即 pseudo words,如图 2a),这些 pseudo words 包含了每个目标更丰富的语义信息,类似于每个类别的名字包含了更多的单词(如 horse-driven trolley)

之后,将这些 pseudo words 输入 text encoder,计算和每个类别编码的相似性,然后得到类别结果

如图 2a 所示,给定 C 个目标类别,通过将类别名称转变为 prompt 模版 ‘a photo of {} in the scene’,并输入到 text encoder T 中来获得 embedding f c f_c fc

假设有 region 和其对应的 pseudo words w w w,该 region 是类别 c 的概率如下, < , > <,> <,> 表示 cosine 相似度, τ \tau τ 是温度系数

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉
训练期间,只标注了基础类别,且也是使用基础类别来训练 Faster R-CNN 的回归和分类 loss 的

为了学习检测新类别(且没有 box 标注信息),之前的蒸馏方法都是只对齐单个的 region embedding 和其对应的从 VLMs 得到的特征

本文的方法为了捕捉更多的信息,将单个的 region 扩展到了 bag of regions

2.2 Forming Bag of Regions

本文中,也和其他方法一样使用 VLM 中的 image encoder 作者 teacher,来指导检测器的学习

不同的是,作者希望检测器能学习多个 concepts 的共现管辖,尤其是新目标的潜在出现的概率

为了效果和效率共存,作者将有如下两个属性的 regions 归到一个 bag 中去:

  • 不同的 region 需要彼此距离接近
  • 不同的 region 大小要相同

基于上面两个条件,作者使用 simple neighborhood sampling strategy,基于 RPN 预测得到的 region proposal,来构建 bag of regions

对每个 region proposal,作者都选取了其周围的 8 个相邻的 box 来作为候选,如图 2b 所示,此外,作者也会允许这些候选框之间有重叠,即 specific Intersection over Foreground (IOF) 来提高区域表达的连续性

为了平衡 bag 中 region 的 size,作者让着 8 个候选框的形状完全相同,且和该 region proposal 的大小也相同

2.3 Representing Bag of Regions

收集到 bag of regions 后, BARON 会从 student 和 teacher 中分别得到 bag-of-regions embeddings

假设第 i 个 groups 的第 j 个 region 为 b j i b_j^i bji,且 pseudo words 为 w j i w_j^i wji,用 T 表示预训练 VLM 的 文本编码器,V 表示图像编码器

1、student bag-of-regions embedding

由于region features 被投影到 word embedding space 且要和 text embedding 对齐,一个很直接的方法就是将这一系列的 pseudo words 进行 concat,然后输入 text encoder T 中,但是这样的话 region 的空间信息就会丢失,所以,作者将 bag 中的 regions 的中心位置、形状 都被编码了

位置编码会被夹到 pseudo word 上,然后再 concat

最终表达如下:

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

2、Teacher bag-of-regions embedding

使用 image encoder V 可以得到教师网络的编码,image feature 如下:

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

2.4 Aligning bag of regions

BARON 会将 teacher 的预测和 student 的学习结果进行对齐

给定 G 个 bag-of-regions,alignment InfoNCE loss 如下:

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

对齐单个 region:

单个 region 的 student 和 teacher embedding 的对齐对整个 bag-of-regions 的对齐很重要

所以,作者使用 individual-level distillation:

  • teacher embedding:从 image encoder 的最后一个 attention 层使用 RoIAlign 获得
  • 从 text encoder 的最后一个 attention layer 获得,对同一个 region 的所有 pseudo-word embedding 进行平均
  • loss:使用 InfoNCE loss

三、效果

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021),多模态,目标检测,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-618174.html

到了这里,关于【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一个页面需要加载大量的图片,如何提升用户体验?

    当网站页面需要加载大量图片时,优化用户体验非常关键,以下是一些方法来提升用户体验: 图片懒加载(Lazy Loading) :只加载用户可以看到的图片,当用户向下滚动页面时,再加载其他图片。这减少了页面初始加载时间。 图片压缩 :使用工具压缩图片文件大小,而不显著

    2024年02月19日
    浏览(65)
  • Spring Boot 3.2发布:大量Java 21的支持上线,改进可观测性

    就在今天凌晨,Spring Boot 3.2正式发布了!该版本是在Java 21正式发布之后的重要支持版本,所以在该版本中包含大量对Java 21支持的优化。 下面,我们分别通过Spring官方发布的博文和Josh Long长达80+分钟的介绍视频,一起认识一下Spring Boot 3.2最新版本所带来的全新内容。 官方博文

    2024年02月05日
    浏览(61)
  • Java通过Ip2region实现IP定位

    我们在一些短视频平台上可以看到,视频作者或评论区可以显示IP地址,这其实就是根据IP获取到的我们可以通过一些在线网站就可以看到我们当前的公网IP和IP定位,最近有个需求也需要通过请求获取客户端的IP和IP的定位,于是通过一系列的百度,最终选择使用 Ip2region 这个工具库来

    2024年02月16日
    浏览(39)
  • 【多模态】7、DINO | 针对 DETR-like 检测器的提升

    论文:DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection 代码:https://github.com/IDEACVR/DINO 出处:香港大学 | 清华大学 时间:2022.07 DINO:Detr with Improved deNoising anchOr boxes DINO 是一个基于 DETR 结构的端到端目标检测器,通过对去噪训练使用对比学习的方式来提高了 DETR

    2024年02月16日
    浏览(36)
  • GAN(Generative Adversarial Network)作为深度学习领域中的一种生成模型,近年来在图像、音频等多种模态数据上取得了良好的效果。其核心思想就是通过博弈论中的对抗训练方式

    作者:禅与计算机程序设计艺术 GAN(Generative Adversarial Network)作为深度学习领域中的一种生成模型,近年来在图像、音频等多种模态数据上取得了良好的效果。其核心思想就是通过博弈论中的对抗训练方式,让两个网络(一个生成网络G和一个判别网络D)互相竞争,不断提升

    2024年02月07日
    浏览(46)
  • 用策略模式干掉代码里大量的if-eles或则Swatch,提升B格由面向过程转为面向对象

    其实很简单 if里面的多个魔法常量 和HashMap里面的key是不是可以等比互换呢!! 所以我们核心就是从一个类似于HashMap这种的容器里去获取某一个key,就等同于进去到了if 的对应分支 而if 的对应分支 里面的业务,交给HashMap的Value去调方法完成没毛病把 --比如上述代码是判断字

    2024年02月08日
    浏览(41)
  • 设备指纹技术引入,提升三方支付安全

    随着互联网和移动互联网的发展,三方支付已经成为人们日常生活中不可或缺的一部分。然而,在享受三方支付带来的便利和效率的同时,我们也不能忽视其所面临着多种业务安全挑战。 例如,在线交易中可能存在欺诈者利用虚假信息或恶意软件进行盗刷或转账操作;用户或

    2024年02月05日
    浏览(46)
  • Webpack5入门到原理21:提升开发体验

    开发时我们运行的代码是经过 webpack 编译后的,例如下面这个样子: 所有 css 和 js 合并成了一个文件,并且多了其他代码。此时如果代码运行出错那么提示代码错误位置我们是看不懂的。一旦将来开发代码文件很多,那么很难去发现错误出现在哪里。 所以我们需要更加准确

    2024年01月25日
    浏览(42)
  • 掌握JDK21全新结构化并发编程,轻松提升开发效率!

    通过引入结构化并发编程的API,简化并发编程。结构化并发将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消操作,提高可靠性,并增强可观察性。这是一个预览版的API。 结构化并发是由JEP 428提出的,并在JDK 19中作为孵化API发布。它在JDK 20中被

    2024年02月12日
    浏览(44)
  • Python 潮流周刊#21:如何提升及测量 Python 代码的性能?

    你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中三则分享,不代表全部内容都是该主题,特此声明。 本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频

    2024年02月08日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包