论文提出CoAE少样本目标检测算法,该算法使用non-local block来提取目标图片与查询图片间的对应特征,使得RPN网络能够准确的获取对应类别对象的位置,另外使用类似SE block的squeeze and co-excitation模块来根据查询图片加强对应的特征纬度,最后结合margin based ranking loss达到了state-of-the-art,论文创新点满满,值得一读

论文:One-Shot Object Detection with Co-Attention and Co-Excitation

Introduction


  论文认为,人类能够在图片中找出模版对应的物体,是因为人类具备将像素分组,提取独特特征比对以及专注定位的能力。因此,论文希望提出一个具备人类视觉功能的网络来解决one-shot目标检测的问题,给予网络一张未见过的查询模版(query image),然后在目标图片(taget image)中找出其位置。论文提出的one-shot目标检测算法的特征主要来自两种上下文信息:

  • 目标图片能够提供空间上下文,对比其它前景物体和背景来找出特殊对象的位置
  • 目标图片和查询图片能够提供类别上下文,而确切的类别层次则是由模版和目标对象的相同属性(颜色,纹理,形状等)决定的

  度量学习(Metric learning)是one-shot分类问题的关键,但不能直接简单地将学习到的度量方法应用到one-shot目标检测中,因为检测器需要先知道哪块区域最有可能包含目标才能进行比较。另外,目标追踪可以认为是少样本目标检测的一个特殊案例,区别在于,少样本目标检测的目标图片中不一定包含查询图片,并且允许图片之间存在明显的外观差异,只要他们有公共的特征进行归类即可。论文推出新的机制squeeze and co-excitation(CoAE)来同时强化新类别对象在查询图片和目标图片上的特征,实验证明,CoAE框架能更好地发掘空间和类别上下文信息,带来很好的性能提醒

Our method


  定义数据集的类别标签集合为$C$,进一步将其分为$C=C_0 \cup C_1$,分别用于训练和测试。少样本目标检测的流程定义为,给予查询图片$p$,为$C_1$集合的一个类别对象,测试就是查找目标图片$I$所有对应的对象,假设每张可用的图片包含至少一个查询对象

  论文的主要架构如1,主要包含4个部分,分别是前面的基础特征提取,然后是Non-local feature的提取,用于提取共同特征,接着是论文提出的squeeze and co-excitation(CoAE)模块,用于强化目标channel,最后是metric模块,用于最好的分类

Non-local object proposals

  定义训练集为$D$,包含$C_0$类别的bbox,论文采用Faster R-CNN架构进行检测,这会带来一个基础问题,即RPN能否检测出未训练过的类别($C_1$)的bbox。由于$C_1$类别与$C_0$类别可能存在十分明显的区别,因此,RPN不一定能检测出$C_1$的bbox。为了解决这个问题,论文引入non-local operation来优化卷积特征,non-local operation是一种类似attention的操作,能够根据参考输入来强化目标输入上的特征分布,具体可以看 Non-local neural networks

  让$I$为目标图片,$p$为查询图片,目标图片的主干网络输出为$\phi(I) \in \mathbb{R}^{N \times W_I \times H_I}$,查询图片的输出为$\phi(p)\in \mathbb{R}^{N\times W_p\times H_p}$。将$\phi(p)$作为参考输入,$\phi(I)$的non-local block输出为$\varphi(I;p)\in \mathbb{R}^{N\times W_I\times H_I}$,同样的,以$\phi(I)$作为参考输入,可以得到$\phi(p)$的$\varphi(p;I)\in \mathbb{R}^{N\times W_p\times H_p}$,$I$和$p$之间的相互non-local operations可以认为进行co-attention机制

  两个扩展的特征图可以表示为公式1和公式2,$\bigoplus$是element-wise sum。由于$F(I)$不仅包含了目标图片的特征,还包含了$I$和$p$加权特征,所以将RPN接在这层特征上能够发现更多关于查询图片$p$的信息,从而获取更高质量的bbox,即non-local region proposals更适合少样本目标检测

Squeeze and co-excitation

  除了关联region proposals和查询图片外,co-attention机制产生了channel数一样的两组特征$F(I)$ $F(p)$,而这两组特征可以通过论文提出的squeeze-and-co-excitation(SCE)来根据查询图片$p$对N个channel进行自适应重新加权。具体地,squeeze步骤通过GAP(global average pooling)概括了每一个特征图,而co-excitation则同时对$F(I)$和$F(p)$进行channel纬度的特征加强,重点加强对最后相似度度量有用的特征。在squeeze层和co-excitation层之间,放置了两个fc/MLP层,跟SE block设计一样

  SCE operation如公式3,$\tilde{F}(p)$和$\tilde{F}(I)$为重新加强后的特征图,$w\in \mathbb{R}^N$是co-excitation向量,而$\bigodot$表示element-wise product

  通过公式3,查询图片$p$可以表示为公式4,同样RPN提取的区域特征$r$可以同样得出,例如对$\tilde{F}(I)$的裁剪区域进行channel-wise的GAP

Proposal ranking

  论文设计了一个两层MLP网络M,以二分类softmax结尾,RPN根据查询图片$p$选出K个bbox,K一般为128。在训练阶段,K个bbox会根据IoU是否大于0.5分成前景(label 1)和背景(label 0),接着使用margin-based ranking loss来指导度量学习,使得最相关的bbox出现在bbox列表的前面。因此,论文将每个bbox的特征向量$r$分别和查询图片特征$r$进行concatenate,标记为$x=[r^T; q^T]\in \mathbb{R}^{2N}$,网络M的层输出分布$2N\rightarrow 8\rightarrow 2$

  论文定义margin-based ranking loss为公式5,$s=M(x)$为前景的预测的置信度,$[ \cdot ]$为Iverson bracket,括号内为true则输出1,否则输出0,$m+$为前景的下限,$m-$为背景的上线,在实际中,一般分别设为0.7和0.3

  margin-based loss分为两部分,前部分为限制前景和背景的置信度,前景必须大于0.7,背景必须小于0.3,否则产生loss。而另一部分$\Delta$则是ranking的loss,初始的顺序是根据RPN的置信度输出。这里可以看出,论文没有设定真正意义的先后顺序,而是限制了正负样本间的置信度差,同类别样本间置信度差要小于0.3,而不同类别样本间置信度差则要大于0.7

  最后的总loss如公式7,前两个loss为交叉熵和Faster R-CNN的回归loss

Experiments


Datasets and hyperparameters

  Table1展示了VOC上的seen和unseen类别,而在COCO上,则对80个类进行4等分,然后随机选取3个作为seen类别,剩下一个为unseen类别,如图2所示。训练使用SGD优化器,momentum为0.9,训练10个周期,batch size为128,使用8块v100,学习率为0.01,每4个周期下降10倍,margin-based ranking loss的$\lambda=3$

Generating target and query pairs

  对于VOC,直接裁剪gt bbox作为查询图片,而对于COCO,由于目标太小且对于人也太难辨认,不能直接裁剪,因此,使用预训练的Mask R-CNN去掉过小和过难的目标。另外,实验仅使用Mask R-CNN检测出来的GT。在训练时,对于目标图片,随机获取图片上的seen类别作为查询图片。而在测试时,先使用图片ID作为种子,随机打乱查询图片的顺序,然后选取前五个查询图片,最后计算mAP。打乱顺序能保证获取的5个查询图片上随机的,从而保证验证结果上准确的

ImageNet pre-training

  为了保证实验的严格性,使用缩减后的ImageNet对ResNet-50进行重新训练,将COCO-related ImageNet类别去掉,大约933052张图片,剩下725类,精度top-1 75.8%,完整的ImageNet包含1284168张图片,共1000类

Overall performance

  对于VOC,Table1中可以看到,使用缩减的数据集训练的模型依然优于baseline模型,而使用完整的数据集训练的模型则是性能有很明显地提升。unseen类别性能比seen类别好,这是由于部分类别的对象差异较大,比如plant, bottle, chair

  对于COCO,Table2中可以看出,论文的模型在seen类别和unseen类别上优于Siamese Mask-RCNN

Ablation studies


  • Co-attention, co-excitation, and margin-based ranking loss

  论文研究了不同的策略的共享,如Table3。首先,不使用Co-attention和Co-excitation的模型表现最差,而分别单独加入non-local RPN和SCE在VOC和COCO上能分别能带来6.3/4.4mAP和9.8/8.2AP(%)提升,同时加入则分别进一步带来0.9/1.8mAP(%)和0.3/1.9AP(%)提升,这意味着co-attention和co-exciation对性能表现都很关键,而margin-based ranking loss也是很重要的

  • Visualizing the distribution of non-local object proposals

  为了分析non-local bbox的性能,将bbox分布以heatmap方式可视化, 如Figure3,co-attention模块让RPN更专注于查询图片的相似区域

  • Visualizing the characteristics of co-excitation

  为了分析co-excitation机制是否学习到了不同类别的权重分布,论文收集了测试时不同类别的查询图片的co-excitation权重,最后对其求平均得到类别的单一向量,再用欧式距离计算类别单一向量间的距离。从图4的结果可以看出,co-excitation模块学习到了有意义的权重分布,相似的物体的向量距离比较近,而person类别则远离其它所有类别,表明person类别的权重与其它类别基本不同

  • Analyzing the co-excitation mechanism

  论文进行了两个相反的实验,首先对同一张目标图片使用不同的查询图片,从图5的结果可以看出,p1和p2的颜色与目标相似,而p3和p4则截然不同,从结果来看,结论是前两张图片更注重颜色,而后两张则更注重形状特征。另外一个则是对不同的目标图片使用同一张查询图片,从图6结果可以看出,I1和I2更注重纹理而I3和I4更注重形状特征

Conclusion


  论文提出CoAE少样本目标检测算法能够根据查询图片提取对应的特征,不依赖于训练数据的标注信息,在COCO和VOC上达到state-of-the-art,未来的工作是将网络推广到k-shot(k$\ge$0)目标检测中

参考内容

写作不易,未经允许不得转载~

更多内容请关注个人微信公众号【晓飞的算法工程笔记】

NeurIPS 2019 | 基于Co-Attention和Co-Excitation的少样本目标检测的更多相关文章

  1. CVPR2018论文看点:基于度量学习分类与少镜头目标检测

    CVPR2018论文看点:基于度量学习分类与少镜头目标检测 简介 本文链接地址:https://arxiv.org/pdf/1806.04728.pdf 距离度量学习(DML)已成功地应用于目标分类, ...

  2. 实战级Stand-Alone Self-Attention in CV,快加入到你的trick包吧 | NeurIPS 2019

    论文提出stand-alone self-attention layer,并且构建了full attention model,验证了content-based的相互关系能够作为视觉模型特征提取的主要基 ...

  3. 基于COCO数据集验证的目标检测算法天梯排行榜

    基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...

  4. CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架

    作者:蒋天园 Date:2020-04-18 来源:3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/p ...

  5. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)

    CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...

  6. [炼丹术]基于SwinTransformer的目标检测训练模型学习总结

    基于SwinTransformer的目标检测训练模型学习总结 一.简要介绍 Swin Transformer是2021年提出的,是一种基于Transformer的一种深度学习网络结构,在目标检测.实例 ...

  7. #Deep Learning回顾#之基于深度学习的目标检测(阅读小结)

    原文链接:https://www.52ml.net/20287.html 这篇博文主要讲了深度学习在目标检测中的发展. 博文首先介绍了传统的目标检测算法过程: 传统的目标检测一般使用滑动窗口的框架,主 ...

  8. 基于模糊Choquet积分的目标检测算法

    本文根据论文:Fuzzy Integral for Moving Object Detection-FUZZ-IEEE_2008的内容及自己的理解而成,如果想了解更多细节,请参考原文.在背景建模中,我 ...

  9. 第十九节、基于传统图像处理的目标检测与识别(词袋模型BOW+SVM附代码)

    在上一节.我们已经介绍了使用HOG和SVM实现目标检测和识别,这一节我们将介绍使用词袋模型BOW和SVM实现目标检测和识别. 一 词袋介绍 词袋模型(Bag-Of-Word)的概念最初不是针对计算机视 ...

随机推荐

  1. 台式机安装CentOS7.6 Minimal ISO系统并增加图形化桌面

    需求:公司测试环境因业务原因,需要在台式电脑上安装带桌面的CentOS系统,因同事有一个7.6版本Minimal ISO镜像的安装U盘,为了图方便没有去下载everything ISO镜像,而是待同事 ...

  2. linux安装fasttext报错,升级gcc后成功解决

    首先说一下存在问题: 本人打算在linux安装一个fasttext用来训练词向量,本来是想要从gensim来调用fasttext的,但是加载大的本地txt一直不对,没办法了只好在linux安装一个fa ...

  3. npm(classnames) 更灵活使用类名

    npm install classnames --save import classNames from 'classnames'; const inputCls = classNames({ [st ...

  4. python os.path 模块常用方法

    代码: import os apath = os.path.abspath(__file__) # 绝对路径 dirname = os.path.dirname(apath) basename = o ...

  5. Github 绑定域名添加https的方法 2019年9月更新

    官方教程 https://help.github.com/en/articles/using-a-custom-domain-with-github-pages 打开 https://github.c ...

  6. 手机预装APP“死灰复燃”,这颗“毒瘤”到底怎么了

    ​ ​ 离全新智能手机集中发布的8月底.9月初这个时间段越来越近了,iPhone 8等重磅新机也为互联网媒体贡献了足够的流量和热度.但就在大众聚焦于新机时,一个困扰很多人的问题再度冒出头--智能手机上 ...

  7. 重大改革!Python将被加入高考科目!

    未来大学生将分为两种:一种是编程好的人,另一种是编程超好的人. Python 将被纳入高考科目 近期,浙江省信息技术课程改革方案出台,Python 确定进入浙江省信息技术高考,从2018年起浙江省信息 ...

  8. MIZ702N开发环境的准备1

    前言 最近由于工作需要开始接手基于MIZ702的硬件平台的Linux的开发,仔细想想,工作这么久,这好像还是我第一次接手嵌入式Liunx相关的工作.这几天拿到开发板,开始了阅读文档.安装Ubuntu虚 ...

  9. 状压dp 持续更新

    前置知识点:二进制状态压缩,动态规划. 1. AcWing 91 最短Hamilton路径 (https://www.acwing.com/problem/content/93/) 给定一张 n 个点 ...

  10. Cisco模拟器的基本使用

    获取帮助查找命令 只需输入一个'?'便可得到详细的帮助信息,如果想获取c开头的命名,那么直接输入'c?'即可. 在各个模式下切换的方法 给如图所示路由器接口配置IP地址 第一步:安装HWIC-2T(串 ...