当前位置: 首页 > news >正文

【论文阅读】 Few-shot object detection via Feature Reweighting

Few-shot object detection的开山之作之一 ~~

特征学习器使用来自具有足够样本的基本类的训练数据来 提取 可推广以检测新对象类的meta features。The reweighting module将新类别中的一些support examples转换为全局向量,该全局向量indicates meta features对于检测相应物体的重要性或相关性。这两个模块与detection prediction 一起,基于an episodic few-shot learning scheme和一个精心设计的损失函数进行端到端的训练。通过大量的实验,我们证明了我们的模型在多个数据集和设置上,在少样本目标检测方面比之前建立良好的基线有很大的优势。

引入

最近,Meta Learning为类似的问题提供了很有希望的解决方案,即少样本分类。 然而,由于目标检测不仅涉及到类别预测,而且涉及到目标的定位,因此现有的少样本分类方法不能直接应用于少样本检测问题。 以匹配网络(Matching networks)和原型网络(Prototypical networks)为例,如何构建用于匹配和定位的对象原型尚不清楚,因为图像内可能存在无关类的分散注意力的对象或根本没有目标对象。(because there may be distracting objects of irrelevant classes within the image or no targeted objects at all.)

我们提出了一种新的检测模型,通过充分利用一些基类的检测训练数据,并根据一些支持实例快速调整检测预测网络来预测新的类,从而提供了few-shot learning能力。 该模型首先从基类中学习元特征(这些元特征可推广到不同对象类的检测)。 然后利用几个支持实例来识别元特征(这些元特征对于检测新的类是重要的和有鉴别性的,并相应地适应于将检测知识从基类转移到新的类。)

因此,我们提出的模型引入了一个新的检测框架,包括两个模块,即元特征学习器和轻量级features reweighting 模块。 给定一个查询图像和几个新类的支持图像,特征学习器从查询图像中提取元特征。 重新加权模块学习捕获支持图像的全局特征,并将其嵌入到重新加权系数中,以调制查询图像元特征。 因此,查询元特征有效地接收支持信息,并适合于新对象检测。 然后,将适应的元特征输入检测预测模块,以预测查询中新对象的类和边界盒(图2)。 特别地,如果有N个新的类要检测,重权模块将接受N个支持实例类,并将它们转换成N个重权向量,每个重权向量负责从相应的类中检测新的对象。 通过这种特定于类的重权向量,可以识别出新类的一些重要的、具有鉴别性的元特征,从而有助于检测决策,整个检测框架可以有效地学习检测新类。

元特征学习器和重权重模块与检测预测模块一起进行端到端的训练。 为了保证few-shot的泛化能力,整个few-shot检测模型采用两阶段学习方案进行训练:首先从基类中学习元特征和良好的重权值模块; 然后微调检测模型以适应新类。 为了解决检测学习中的困难(例如,存在分散注意力的物体),它引入了精心设计的损失函数。
我们提出的few-shot检测器在多个数据集和各种设置下都优于竞争基线方法。 此外,它还显示了从一个数据集到另一个不同的数据集的良好可移植性。 我们的贡献可概括如下:
We design a novel few-shot detection model that 1)learns generalizable meta features; and 2) automatically reweights the features for novel class detection by producing class-specific activating coefficients from a few support samples.

Related work

Few-shot learning

An increasingly popular solution for few-shot learning is meta-learning, which can further be divided into three
categories:
a) Metric learning based. In particular, Matching Networks [39] learn the task of finding the most similar class for the target image among a small set of labeled images. Prototypical Networks [35] extend Matching Networks by producing a linear classifier instead of weighted nearest neighbor for each class. Relation Networks [37] learn a distance metric to compare the target image to a few labeled images.
b) Optimization for fast adaptation. Ravi and Larochelle [28] propose an LSTM meta-learner that is trained to quickly converge a learner classifier in new few-shot tasks. Model-Agnostic Meta-Learning(MAML) [12] optimizes a task-agnostic network so that a few gradient updates on its parameters would lead to good performance on new few-shot tasks.
c) Parameter prediction. Learnet [2] dynamically learns the parameters of factorized weight layers based on a single example of each class to realize one-shot learning.
上面的方法只是为了识别新的图像而开发的,还有一些其他的工作试图学习一个模型can 对基本图像和新图像进行分类

Object detection with limited labels

弱监督方法考虑了训练对象检测器时只使用图像级标记,而不使用bounding box标记(获取代价更高)的问题。 Few example object detection 假设每类只有几个标记的bounding box,但依赖于大量的未标记图像来生成可信的伪标记框用于训练。 zero-shot object detection旨在检测以前看不到的类别,因此通常需要类之间的关系等外部信息。 与这些设置不同的是,我们的few-shot检测器为每个新的类使用非常少的bounding box标记(1-10),而不需要未标记的图像或外部知识。

方法

在这里插入图片描述

Feature Reweighting for Detection

我们提出的few-shot检测模型在一个阶段检测框架中引入了元特征学习器D和重权重模块M。 在本工作中,我们采用了无提案检测框架YOLOV2。 它 通过检测预测模块P 将每个锚点的特征直接回归得到相关输出(包括分类得分和框坐标)。采用YOLOV2的主干(即DarkNet-19)实现元特征提取器D,并遵循与YOLOV2相同的锚点设置。 对于重权模块M,我们精心设计成一个轻量级的CNN,既提高了效率,又简化了学习。

The meta feature learner DDD 学习如何提取输入查询图像的元特征以检测新类。
Reweighting module MMM支持图像为输入,学习将支持信息嵌入到 reweighting vectors 中,并相应地调整查询图像的每个元特征的贡献,以用于后续预测模块PPP。Reweighting module 将激发一些对检测新类有用的元特征,从而辅助检测预测。

III: an input query image
corresponding meta features F=D(I),F∈Rw×h×mF=D(I), F ∈ R^{w×h×m}F=D(I),FRw×h×m, The produced meta feature has m feature maps.

Ii,SiI_i, S_iIi,Si: the support images and their associated bounding box annotation for class iii
a class-specific representation: wi=M(Ii,Si)∈Rmw_i =M(I_i,S_i)∈ R^mwi=M(Ii,Si)Rmwiw_iwi 负责reweighting元特征,并突出更重要和相关的特征,以从类 iii 中检测目标对象。
更具体地说,在获得class-specific 的reweighting系数wiw_iwi之后,我们的模型应用它来获得the class-specific feature FiF_iFi for
novel class iii,方法是:
在这里插入图片描述
喂入预测模块 PPP 得到the objectness score ooo, bounding box location offsets (x,y,h,w)(x, y, h, w)(x,y,h,w), and classification score cic_ici for each of a set of predefined anchors

Learning Scheme

从基类中学习一个好的元特征学习器DDD和重新加权模块MMM以使它们能够产生可推广的元特征和权重系数是不简单的。 为了保证模型的泛化性能,我们提出了一种新的两阶段学习方案,不同于传统的检测模型训练方案。

第一阶段是base training。 在这一阶段,尽管每个基类都有丰富的标签,但我们仍然联合训练feature learner DDD、预测PPP和重权值模块MMM。 这是为了让它们以期望的方式进行协调:模型需要学习 通过参考一个好的reweighting vector来检测感兴趣的对象。 第二阶段是few-shot fine-tuning。 在这个阶段,我们在基类和新类上训练模型。 由于新类只有k个可用,为了平衡基类和新类的样本,我们也为每个基类包含k个 bounding boxs。 训练过程与第一阶段相同,只是模型收敛所需的迭代次数明显减少。

在两个训练阶段中,重新加权系数 depend on 从可用数据中随机采样的输入对(支持图像、bounding box)。 经过少量的微调,我们希望得到一个不需要任何支持输入就可以直接执行检测的检测模型?。 这是通过将目标类的重新加权向量设置为模型预测的平均向量来实现的,然后将K镜头样本作为输入。 在此之后,在推理过程中可以完全移除重新加权模块。 因此,我们的模型在原始探测器上增加了可忽略不计的额外模型参数。

Detection loss function: 为了训练少样本检测模型,我们需要仔细选择损失函数,特别是对于类预测分支,因为样本数很少。 假设预测 is made classwisely,使用二进制交叉熵损失似乎是很自然的,如果对象是目标类,则回归1,否则回归0。 然而,我们发现使用这个损失函数导致 模型容易输出冗余的检测结果(例如,将火车检测为公共汽车和汽车)。 这是由于对于一个特定的感兴趣的区域,N个类别中只有一个是 true positive 的。 然而,二元损失 力求 产生平衡的正负预测。 非最大抑制不能帮助消除这些假阳性,因为它只对每个类内的预测进行操作。

为了解决这个问题,我们提出的模型采用了一个Softmax层来校准分类分数,自适应降低错误类别的检测分数。
在这里插入图片描述
其中1(·,i)是当前锚方块是否真的属于I类的指示函数。 引入Softmax后,针对特定锚点的分类得分总和等于1,不太可能的类预测将被抑制。
Reweighting module input: 重新加权模块的输入应该是感兴趣的对象。 然而,在目标检测任务中,一幅图像可能包含来自不同类别的多个目标。 为了让重新加权模块知道目标类是什么,除了三个RGB通道之外,我们还包括一个附加的“掩码”通道(MI),它只有二进制值:在感兴趣对象的边界框内的位置上,值为1,否则为0(参见图2的左下角)。 如果图像上存在多个目标对象,则只使用一个对象。 这个附加的掩码通道使重加权模块知道它应该使用图像的哪一部分信息,以及哪一部分应该被认为是“背景”。 将掩码和图像相结合作为输入,不仅提供了感兴趣对象的类别信息,而且还提供了对检测有用的位置信息(由掩码指示)。 在实验中,我们还研究了其他输入形式。

实验

对比方法:第一种方法是在基类和新类的图像上对检测器进行训练。 这样,它就可以从基类中学习到适用于检测新类的良好特征。 我们把这个基线称为 YOLO-joint。 我们用与我们相同的总迭代来训练这个基线模型。 另外两个基于Yolo的基线也使用了我们的两个训练阶段。 特别是,他们用与我们相同的基地训练阶段训练原始Yolov2模型; 对于少量的微调阶段,一个用与我们相同的迭代来微调模型,称为YOLO-ft; 一个训练模型至完全收敛,称为YOLO-ft-full
最后两个基线来自最近的一种少镜头检测方法,即低镜头转移检测器(LSTD)[4]。 LSTD依靠背景抑制(BD)和转移知识(TK)来获得新类上的少量检测模型。 为了公平比较,我们在YOLOV2的基础上重新实现了BD和TK,对其进行了相同的迭代训练,得到了LSTD(YOLO); 并训练它收敛以获得最后一个基线LSTD(YOLO)-full

AP

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

speed

在这里插入图片描述
尽管我们的检测器是为少样本场景设计的,但它也具有强大的表示能力,并提供良好的元特征,以达到与原始Yolov2检测器在大量样本上训练的性能相当的性能。 这为解决少样本目标检测问题奠定了基础。
在这里插入图片描述

相关文章:

【论文阅读】 Few-shot object detection via Feature Reweighting

Few-shot object detection的开山之作之一 ~~ 特征学习器使用来自具有足够样本的基本类的训练数据来 提取 可推广以检测新对象类的meta features。The reweighting module将新类别中的一些support examples转换为全局向量,该全局向量indicates meta features对于检…...

现代卷积神经网络经典架构图

卷积神经网络(LeNet) LeNet 的简化版深层卷积神经网络(AlexNet) 从LeNet(左)到AlexNet(右)改进: dropOut层 - 不改变期望但是改变方差ReLU层 - 减缓梯度消失MaxPooling数…...

有关eclipse的使用tips

一、alt/键 会产生单词提示,可以提高编程速度。例如不需要辛辛苦苦的打出:System.out.println();整句,只需要在eclipse中输入syso,然后按住ALT/就会出来System.out.println();在alt键/不管用的情况下,可使用以下方法来…...

Mybatis(4)之CRUD

首先是 增 &#xff0c;我们要在数据库中增加一个数据 先来看看我们之前的插入语句 <insert id"insertRole">insert into try(id,name,age) values(3,nuonuo,20)</insert> 请注意&#xff0c;我们这里的 insert 是固定的&#xff0c;但在实际的业务场…...

OSG三维渲染引擎编程学习之五十七:“第五章:OSG场景渲染” 之 “5.15 光照”

目录 第五章 OSG场景渲染 5.15 光照 5.15.1 osg::Light光 5.15.2 osg::LightSource光源 第五章 OSG场景渲染 OSG存在场景树和渲染树,“场景数”的构建在第三章“OSG场景组织”已详细阐明,本章开始深入探讨“渲染树”。 渲染树一棵以状态集(StateSet)和渲染叶(RenderLe…...

[教你传话,表白,写信]

第一步 关注飞鸽传话助手 第二部 点击链接进入 第三步 点击发送,输入内容 第四步 就可以收到了...

物联网在智慧农业中的应用

随看现代科技的不断发展&#xff0c;近年来我国农业的进步是显而易见的。从八九十年代农业生产以人力为主&#xff0c;到之后的机械渐渐代替人力&#xff0c;再到如今物联网技术在农业领域的应用&#xff0c;多种前沿技术应用于农业物联网&#xff0c;对智慧农业生产的各个环节…...

【RabbitMQ】Windows 安装 RabbitMQ

文章目录工具下载Eralng 安装与配置RabbitMQ 安装工具下载 RabbitMQ 3.7.4版本 网盘链接&#xff1a;https://pan.baidu.com/s/1pO6Q8fUbiMrtclpq2KqVVQ?pwdgf29 提取码&#xff1a;gf29 Eralng 网盘链接&#xff1a;https://pan.baidu.com/s/1irf8fgK77k8T9QzsIRwa7g?pwd9…...

MQTT8-MQTT在智能汽车公司的实际应用

一、引言 智能汽车的发展概况 智能汽车作为一种新兴的汽车类型,它的发展历程可以追溯到20世纪90年代。近年来,随着人工智能、物联网、自动驾驶等技术的发展,智能汽车迅速崛起,已经成为汽车行业的一股重要趋势。 智能汽车通过安装传感器、通讯设备和计算设备等,实现了车…...

在elasticsearch8.3中安装elasticsearch-analysis-ik中文分词插件

title: 在elasticsearch8.3中安装elasticsearch-analysis-ik中文分词插件 date: 2022-08-28 00:00:00 tags: ElasticSearchelasticsearch-analysis-ik中文分词插件 categories:ElasticSearch 安装 手动下载 在官方发布页面下载安装包 elasticsearch-analysis-ik-[版本].zip&…...

初识K8s

概览 k8s 概念和架构从零搭建K8s 集群k8s 核心概念搭建集群监控平台搭建高可用k8s集群集群环境 实际部署项目 k8s 概念和架构 1、K8S概述和特性 概述&#xff1a; k8s是谷歌在2014年开源的容器化集群管理系统使用k8s进行容器化应用部署使用k8s利于应用扩展k8s目标实施让部…...

搭建企业级docker仓库—Harbor

一、简介 docker 官方提供的私有仓库 registry&#xff0c;用起来虽然简单 &#xff0c;但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器&#xff0c;harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在…...

【Linux】shell中运算符(整数、字符串)

文章目录1. 整数1.1、算数运算符1.1.1 加减乘除运算1.1.2 号关系运算1.1.2.1 (赋值)、(等于)、!(不等于)的使用1.1.2.2 >、>、<、<的使用1.2 $((运算式)) 双括号形式 、 $[运算式] 语法 进行运算1.3 -eq关系运算符1.4 、、-eq的区别2 字符串2.1 字符串运算3 逻辑运…...

【从零单排Golang】第八话:通过cache缓存模块示范interface该怎么用

和许多面向对象的编程语言一样&#xff0c;Golang也存在interface接口这样的概念。interface相当于是一个中间层&#xff0c;下游只需要关心interface实现了什么行为&#xff0c;利用这些行为做些业务级别事情&#xff0c;而上游则负责实现interface&#xff0c;把这些行为具象…...

解析从Linux零拷贝深入了解Linux-I/O(上)

本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。前言 存储器是计算机的核心部件之一&#xff0c;在完全理想的状态下&#xff0c;存储器应该要同时具备以下三种特性&#xff1a; 速度足够快&#xff1a;存储器的存取速度应当快于 CPU …...

JavaScript系列之公有、私有和静态属性和方法

文章の目录一、公有属性、公有方法1、定义2、理解3、ES54、ES6二、私有属性、私有方法1、定义2、理解3、ES54、ES6三、静态属性、静态方法1、定义2、理解3、ES54、ES6写在最后一、公有属性、公有方法 1、定义 指的是所属这个类的所有对象都可以访问的属性&#xff0c;叫做公有…...

过滤器与拦截器

文章目录一、前言1、概述2、过滤器与拦截器异同2.1 简介2.2 异同2.3 总结3、Filters vs HandlerInterceptors二、过滤器1、概述2、生命周期2.1 生命周期概述2.2 基于函数回调实现原理3、自定义过滤器两种实现方式3.1 WebFilter注解注册3.2 过滤器&#xff08;配置类注册过滤器&…...

spring boot 和cloud 版本升级

spring boot 和cloud 版本对应 背景&#xff1a;原来一直用的版本是Hoxton.SR12 2.3.10.RELEASE&#xff08;SR12一路升&#xff0c;几乎没有影响&#xff0c;不需要测试&#xff0c;但是换大版本就有点担心&#xff09; 去年2022年底黑鸭子报漏洞把springboot&#xff0c;clou…...

untiy 录制网络摄像头视频并保存到本地文件

网络摄像头使用的是海康威视的&#xff0c;关于如何使用Ump插件播放海康威视rtsp视频流&#xff0c;请参考我的这篇文章 内部有ump插件的下载链接 untiy接入 海康威视网络摄像头 录屏使用的插件是 AVPro movieCapture 4.6.3版&#xff0c; 插件和完整工程的下载链接放在本文的…...

微服务架构设计模式-(15)部署

关联概念 流程 将软件投入到生产环境 架构 软件运行的环境结构 生产环境四个关键功能 服务管理接口 使开发人员能够创建、更新和配置服务 运行时服务管理 确保始终运行一定数量的服务实例非中断更新 监控 让开发人员了解服务情况&#xff0c;包括日志文件和各种应用指标可观…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...