Towards Open Vocabulary Object Detection without Human-provided Bounding Boxes(2021CVPR)----论文阅读笔记

news/2024/7/10 0:22:20 标签: 目标检测, 深度学习, 计算机视觉

Towards Open Vocabulary Object Detection without Human-provided Bounding Boxes----论文阅读笔记

  • Abstract
  • 1. Introduction
    • 如何实现? pseudo bounding box label如何生成的?
  • 2. Related Work
  • 3. Related Work
    • 3.1. Generating Pseudo Box Labels
  • 3.2. Open vocabulary Object Detection with Pseudo Labels
  • Experiment

Abstract

在这里插入图片描述

简单来说: 实现了无需人工提供边界框标注OVD检测框架
如何实现:预先训练的 vision-language 模型的 localization 能力和 生成可直接用于训练目标检测伪边界框标签来实现这一点。
**效果:**在COCO新类别上,作者的训练没有配备手动bounding box标签 比使用了 人工标注bounding box 框进行训练的(SOTA)高出3%的AP,当使用bounding box标签作为我们的基线时,作者的方法超过SOTA 8%的AP。
在这里插入图片描述

1. Introduction

在这里插入图片描述
提及到了ZSD,OVD的检测方法,它们都需要基类有bounding box label。

在这里插入图片描述
作者的想法借力于 来自大规模弱对齐图像-标题对进行预训练的网络 得到的 视觉语言模型 Vision-language models
它们在图像分类中表现出惊人的零镜头性能,在文本-视觉区域对齐任务(如引用表达式)中也表现出良好的结果,这意味着它们具有很强的定位能力

如何实现? pseudo bounding box label如何生成的?

在这里插入图片描述
在这里插入图片描述
大规模图像标题数据集中自动获取不同对象集合的伪框标注
具体地说,给定一个预先训练的视觉语言模型一个图像-标题对,我们在图像中计算一个** activation map (Grad-
CAM [24])激活映射**,它对应于caption中提到的感兴趣的对象。然后,我们将activation map(激活图)转换为对应对象类别的pseudo bounding box label。然后,我们的开放词汇表检测器由这些伪框标签直接监督,这样就可以在没有人为提供边界框注释的情况下训练对象检测器。

2. Related Work

3. Related Work

两部分: Pseudo Box Labels 如何产生? 如何用于OVD?
Generating Pseudo Box Labels
Open vocabulary Object Detection with Pseudo Labels

3.1. Generating Pseudo Box Labels

在这里插入图片描述
图2就是作者 pseudo bouding box label 生成过程的说明。系统的输入是图像-标题对。我们使用图像和文本编码器来提取图像及其相应标题的视觉和文本嵌入(其实就是特征向量)。然后通过图像与文本的交叉注意交互获得多模态特征。我们在预定义的对象词汇表中保留感兴趣的对象。对于嵌入caption中的每个感兴趣的对象(例如上图中的球拍),我们使用Grad-CAM将其激活图activation map 可视化到图像中。这张图显示了图像区域对目标词最终表示的贡献。最后, 通过选择与activation map 重叠最大的 object proposal 作为 pseudo bouding box label.

3.2. Open vocabulary Object Detection with Pseudo Labels

在这里插入图片描述
图像由特征提取器处理,然后是RPN。然后通过对区域建议进行RoI pooling/RoI align,提取出基于区域的特征,得到相应的visual embeeding 。在训练过程中,鼓励同一对象的视觉和文本embedding 的相似性.

Experiment

在这里插入图片描述
图4。在COCO上生成的伪边界框注释的可视化。红框表示成功案例,黄框表示失败案例。我们的伪标签生成器可以生成COCO的类别列表中没有包含的对象(拖鞋、罐子和馅饼)。当存在多个相同类别的对象实例时,生成器可能会失败(例如,第三列中的雨伞)如果不显示在标题中(例如,最后一列中的汽车),则无法捕获对象

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


http://www.niftyadmin.cn/n/1492324.html

相关文章

YOLOv1算法小记

YOLOv1算法小记 目录 YOLO算法小记 一、检测算法的发展 1.没有CNN之前:two-stage 2.有了CNN之后:RCNN结构(end-to-end) 二、One-Stage检测算法的设计思想 三、Yolo v1:一次伟大的尝试 1.YOLOv1步骤 2.损失函数…

【论文总结】Towards Open World Object Detection(附翻译)

Towards Open World Object Detection 开放世界的目标检测 论文地址:https://arxiv.org/abs/2103.02603 代码地址:GitHub - JosephKJ/OWOD: (CVPR 2021 Oral) Open World Object Detection 新思路:在隐空间中去聚类,把不属于当前…

YOLOv2算法小记

YOLOv2算法小记 目录 YOLOv2算法小记 一、v2算法的改进 (一)引入BN层 (二)更高精度的classifier [Focusing on backbone]​ (三)引入Anchor (四)细粒度 (fine-grained) 特征 …

创建环境变量出错导致终端所有命令无法使用

修改环境变量后所有命令都不能用了怎么办?那可能是你的环境变量修改错误,怎么才能再修改回来呢,下面是详细的过程。 1、使用 echo $PATH 查看path是否含有:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 如果没有&#…

Python运算符总结

运算符总结 目录 运算符总结 基本运算符 增强型赋值运算符 比较运算符 逻辑运算符 同一运算符 其他运算符 复合赋值运算符 运算符优先级问题 基本运算符 Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字…

Python基础知识(1): 编程基础概念

Python程序的构成 目录 Python程序的构成 对象 引用 标识符 标识符命名规则 变量和简单赋值语句 常量 最基本内置数据类型和运算符 ​ 整数 浮点数 类型转换和四舍五入 时间的表示 【操作】定义多点坐标_绘出折线_并计算起始点和终点距离 ​ 布尔值 整数缓存问题…

Python基础知识(2): 字符串

字符串 目录 字符串 字符串的基本特点 字符串的编码 引号创建字符 空字符串和 len()函数 转义字符 字符串拼接 字符串复制 不换行打印 从控制台读取字符串 str()实现数字转型字符串 使用[]提取字符 replace()实现字符串替换 字符串切片 slice 操作 split()分割和…

Python学习(3): 序列

序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放 多个值的连续的内存空间。 由于 Python3 中一切皆对象,出序列中存储的是整数对象的地址,而不是整数对象的值。 python 中常用的序列结构有&#xff…