【论文阅读】 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),F∈Rw×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)∈Rm: wiw_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
首先是 增 ,我们要在数据库中增加一个数据 先来看看我们之前的插入语句 <insert id"insertRole">insert into try(id,name,age) values(3,nuonuo,20)</insert> 请注意,我们这里的 insert 是固定的,但在实际的业务场…...
OSG三维渲染引擎编程学习之五十七:“第五章:OSG场景渲染” 之 “5.15 光照”
目录 第五章 OSG场景渲染 5.15 光照 5.15.1 osg::Light光 5.15.2 osg::LightSource光源 第五章 OSG场景渲染 OSG存在场景树和渲染树,“场景数”的构建在第三章“OSG场景组织”已详细阐明,本章开始深入探讨“渲染树”。 渲染树一棵以状态集(StateSet)和渲染叶(RenderLe…...
[教你传话,表白,写信]
第一步 关注飞鸽传话助手 第二部 点击链接进入 第三步 点击发送,输入内容 第四步 就可以收到了...
物联网在智慧农业中的应用
随看现代科技的不断发展,近年来我国农业的进步是显而易见的。从八九十年代农业生产以人力为主,到之后的机械渐渐代替人力,再到如今物联网技术在农业领域的应用,多种前沿技术应用于农业物联网,对智慧农业生产的各个环节…...
【RabbitMQ】Windows 安装 RabbitMQ
文章目录工具下载Eralng 安装与配置RabbitMQ 安装工具下载 RabbitMQ 3.7.4版本 网盘链接:https://pan.baidu.com/s/1pO6Q8fUbiMrtclpq2KqVVQ?pwdgf29 提取码:gf29 Eralng 网盘链接: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概述和特性 概述: k8s是谷歌在2014年开源的容器化集群管理系统使用k8s进行容器化应用部署使用k8s利于应用扩展k8s目标实施让部…...
搭建企业级docker仓库—Harbor
一、简介 docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,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该怎么用
和许多面向对象的编程语言一样,Golang也存在interface接口这样的概念。interface相当于是一个中间层,下游只需要关心interface实现了什么行为,利用这些行为做些业务级别事情,而上游则负责实现interface,把这些行为具象…...
解析从Linux零拷贝深入了解Linux-I/O(上)
本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。前言 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性: 速度足够快:存储器的存取速度应当快于 CPU …...
JavaScript系列之公有、私有和静态属性和方法
文章の目录一、公有属性、公有方法1、定义2、理解3、ES54、ES6二、私有属性、私有方法1、定义2、理解3、ES54、ES6三、静态属性、静态方法1、定义2、理解3、ES54、ES6写在最后一、公有属性、公有方法 1、定义 指的是所属这个类的所有对象都可以访问的属性,叫做公有…...
过滤器与拦截器
文章目录一、前言1、概述2、过滤器与拦截器异同2.1 简介2.2 异同2.3 总结3、Filters vs HandlerInterceptors二、过滤器1、概述2、生命周期2.1 生命周期概述2.2 基于函数回调实现原理3、自定义过滤器两种实现方式3.1 WebFilter注解注册3.2 过滤器(配置类注册过滤器&…...
spring boot 和cloud 版本升级
spring boot 和cloud 版本对应 背景:原来一直用的版本是Hoxton.SR12 2.3.10.RELEASE(SR12一路升,几乎没有影响,不需要测试,但是换大版本就有点担心) 去年2022年底黑鸭子报漏洞把springboot,clou…...
untiy 录制网络摄像头视频并保存到本地文件
网络摄像头使用的是海康威视的,关于如何使用Ump插件播放海康威视rtsp视频流,请参考我的这篇文章 内部有ump插件的下载链接 untiy接入 海康威视网络摄像头 录屏使用的插件是 AVPro movieCapture 4.6.3版, 插件和完整工程的下载链接放在本文的…...
微服务架构设计模式-(15)部署
关联概念 流程 将软件投入到生产环境 架构 软件运行的环境结构 生产环境四个关键功能 服务管理接口 使开发人员能够创建、更新和配置服务 运行时服务管理 确保始终运行一定数量的服务实例非中断更新 监控 让开发人员了解服务情况,包括日志文件和各种应用指标可观…...
Redis:数据结构
简单动态字符串SDS Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构 建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符 串表示。 SDS 的实现…...
2.18 设置language和中文输入法
文章目录一:设置language二:设置中文输入法一:设置language nvidia的开发板上默认只有English,需要点击如下管理: 接着进入如下界面: 此时图中的“汉语(中国)”应该是没有的&…...
图解LeetCode——剑指 Offer 28. 对称的二叉树
一、题目 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 二、示例 2.1> 示例 1: 【输入】root [1,2,2,3,4,4,3] 【输出】true 2.2> 示例 2: 【输入】root [1,2,2,nul…...
Qt Desginer布局方法
首先将我们需要的控件拖拽到一个合适的位置,该例子中用到了两个label,两个lineEdit和两个pushButton。 然后我们需要利用弹簧来控制控件到控件之间的距离以及控件到窗体边界的距离,因为这里只有一组控件(两个label,两个…...
C/C++、Java、Python的比较及学习(3)
函数间的值传递与地址传递 值传递方式:指主调函数把实参的值赋给形参。 在这种传递方式下,主调函数中的实参地址与被调函数中的形参地址是相互独立的。 函数被调用时,系统为形参变量分配内存单元,并将实参的值存入到对应形参的内存…...
智慧校园建设方案
第一章、 智慧教学 6.1. 校本资源库 提供校本资源管理功能,实现学校内的教学资源的共建共享,促进教师之间的交流学习,提升学校的整体教学水平。在本系统中学校可以统一采购资源接入到校本资源库中供教师下载使用,教师也可以将…...
ARM uboot 源码分析5 -启动第二阶段
一、start_armboot 解析6 1、console_init_f (1) console_init_f 是 console(控制台)的第一阶段初始化。_f 表示是第一阶段初始化,_r 表示第二阶段初始化。有时候初始化函数不能一次一起完成,中间必须要夹杂一些代码,…...
【ip neigh】管理IP邻居( 添加ARP\NDP静态记录、删除记录、查看记录)
一、邻居管理存在状态 1、NUD_NONE: 初始状态。当一个新的路由缓存条目被创建时,arp_bind_neighbour()函数被调用.如果找不到相匹配的ARP缓存条目, neigh_alloc()将创建一个新的ARP缓存条目并设置状态为NUD_NONE. 2、NUD_INCOMPLETE:未完成状…...
Java程序员线上排查问题神器-Arthas
文章目录前言一、Arthas是什么?二、快速入门1.下载2.如何运行三、常用命令1.dashboard2.trace总结前言 最近公司项目版本迭代升级,在开发新需求导致没什么时间写博客。 在开发需求的过程中,我写了一个接口,去批量调内部已经写好…...
上市公司企业持续创新能力、创新可持续性(原始数据+计算代码+计算结果)(2008-2021年)
数据来源:自主计算 时间跨度:2008-2021年 区域范围:沪深A股上市公司 指标说明: 参考何郁冰(2017)[1]的做法,将持续创新作为独立研究变量,同时采用创新投入指标(研发经费) 和创新…...
网站备案后 如何建设/山西网络推广
信号概述 ● 信号是在软件层次上对中断机制的一种模拟。在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。 ● 信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上进程也不知道信号到底什么时候到达。 ●…...
wordpress url 静态化/爱站网注册人查询
SQLiteOpenHelper类是Android提供的用于操作SQLite数据库的工具类,该工具类能方便地创建数据库、表,以及管理数据库版本。 常用方法 1、 synchronized SQLiteDatabase getReadableDatabase(); 作用:以读写的方式打开数据库对应的SQLiteDa…...
用jsp做网站的代码/电商平台运营方案
欢迎观看 Acrobat Pro DC 教程,小编带大家学习 Acrobat Pro DC 的基本工具和使用技巧,了解如何将与其他文件合并以创建单个 PDF 文件。 通过利用PDF的通用文件格式,将多个文件合并到一个PDF文档中,简化了与其他人共享内容的过程&…...
响应式网站的尺寸/互联网营销师考证多少钱
面向对象之继承和多态 面向对象的程序设计,但凡提及这一概念,势必会提出“封装”、“继承”和“多态”这 3 个概念。但是在很多情况下,初学面向对象的人并不能够很好的概括他们之间的差别和联系。实际上,理解起来是很简单的&#…...
做ppt的素材网站/进行seo网站建设
2019独角兽企业重金招聘Python工程师标准>>> mysql出现:Lock wait timeout exceeded; try restarting transaction 什么问题导致的呢?绝对是程序的问题,因为另一个线程锁住了表或者记录导致后来到请求无法完成。 如何产生的&…...
郑州汉狮做网站网络公司/100大看免费行情的软件
2019独角兽企业重金招聘Python工程师标准>>> https://open.weixin.qq.com/cgi-bin/showdocument?actiondir_list&tresource/res_list&verify1&idopen1419317332&token&langzh_CN 分享后实现这个显示效果 需要申独申请权限才可以发送成功&#…...