Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)

论文题目: Context-Transformer: Tackling Object Confusion for Few-Shot Detection
论文地址:https://arxiv.org/pdf/2003.07304.pdf

Introduction

  • 少样本目标检测使用的一个常用策略是迁移学习(transfer learning)——在源域数据集上进行预训练,再在目标域上进行微调。出现的问题是:定位可以很好,但是分类效果不好,例如将马识别为狗,但是定位很准确。

  • 分析原因:边框回归(BBOX)是类别无关的,目标分类和背景分类(OBJ+BG)是类别相关的,数据多样性低导致分类很容易混淆。为了解决这个问题,本文提出一种新的Context-Transformer,利用图片的上下文信息提高分类的准确度。比如区分物体是马还是狗,可以通过是否有人骑在上面进行分析判断。

Source Detection Transfer

  • 整体设置

    在一个大规模源域数据集上预训练得到一个识别CsC_sCs​个物体类别的模型;目的是实现目标域上的少样本目标检测,具体来说,目标域包括CtC_tCt​个物体类别,目标域上训练集仅包含 N shot;源域和目标域的物体类别是不重复的,用以建议模型对新类别的泛化程度。

  • 检测基本框架采用SSD,具有多尺度检测的特点,能包含更多的上下文信息。对于每一个尺度,都包含一个边框回归(BBOX)、目标和背景分类(OBJ+BG)。

  • 源域检测的迁移设置

    • 源域中预训练的 BBOX,BG(二分类,识别是物体还是背景) 能够很好的迁移到目标域中。
    • 对于 OBJ ,替换源域预训练的 OBJ 会引入大量随机初始化的参数,对于少样本训练不利。所以本文在源域训练的 OBJ 的基础上添加一个目标域的 OBJ ,这样减少了参数和过拟合。
    • 在源域 OBJ 和目标域 OBJ 之间添加一个 Context-Transformer,嵌入该模块可以利用上下文信息,增强分类效果
  • 整体框架
    分成上下两个部分,上部分是常规的检测框架,下半部分为Context-Transformer模块。首先将target-domain的image输入在source-domain上训练好的SSD,然后将SSD其中一个输出OBJ输入Context-Transformer模块做一个特征增强,然后将增强后的特征和BG一起送入分类器进行分类。

Context-Transformer

主要包含两个模块:affinity discovery 和 context aggregation

Affinity Discovery
  • Prior Box

    将一张target-domain的图片输入预训练的SSD中,然后抽取OBJ部分获取的向量
    Pk∈RHk×Wk×(Mk×Cs)P_k \in R^{H_k \times W_k \times (M_k \times C_s) } Pk​∈RHk​×Wk​×(Mk​×Cs​)
    PkP_kPk​可以看作目标域上第 kkk 个尺度的第 mmm 个比率先验框在位置(h,w)(h,w)(h,w)对应种类的预测向量。

  • Contextual Field

    上下文的信息通过 Prior Box 构建,一种简单的想法就是直接使用所有的先验框作为 Contextual Field ,但是先验框的数量太多,一对多的信息对比会增加学习难度。因此本文在 PkP_kPk​ 上做池化(关注整体信息,而不是小细节)获得 Qk∈RUk×Vk×(Mk×Cs)Q_k \in R^{U_k \times V_k \times (M_k \times C_s) }Qk​∈RUk​×Vk​×(Mk​×Cs​)
    Qk=SpatialPool(Pk),k=1,...,KQ_k = SpatialPool(P_k),\ k=1,...,K Qk​=SpatialPool(Pk​), k=1,...,K
    Uk×VkU_k \times V_kUk​×Vk​是池化后的对应的大小。

  • Affinity Discovery

    获取Prior Box和Contextual Field后,寻找计算他们之间的相关度分数。

    首先将候选区域 P 和 Q reshape 成新的向量,具体表示如下:
    P∈RDp×Cs,Q∈RDq×CsDp=∑k=1KHk×Wk×Mk,Dq=∑k=1KUk×Vk×MkP \in R^{D_p \times C_s},\ Q\in R^{D_q \times C_s} \\ D_p = \sum_{k=1}^{K}H_k \times W_k \times M_k , D_q = \sum_{k=1}^{K}U_k \times V_k \times M_k P∈RDp​×Cs​, Q∈RDq​×Cs​Dp​=k=1∑K​Hk​×Wk​×Mk​,Dq​=k=1∑K​Uk​×Vk​×Mk​
    然后利用矩阵乘法获得相关度分数矩阵 A∈RDp×DqA \in R^{D_p \times D_q}A∈RDp​×Dq​,计算过程如下:
    A=f(P)×g(Q)Tf(P)∈RDp×Cs,g(Q)∈RDq×CsA = f(P) \times g(Q)^T \\ f(P) \in R^{D_p \times C_s}, \ \ \ g(Q) \in R^{D_q \times C_s} A=f(P)×g(Q)Tf(P)∈RDp​×Cs​,   g(Q)∈RDq​×Cs​
    f,g 为全连接层,相关度矩阵帮助先验框找到重要的对应上下文域。

Context Aggregation

获取获取Prior Box和Contextual Field对应的相关性矩阵后,将上下文信息融合到先验框中来增强分类效果,具体过程如下:

  • 对于 A 的每一行进行softmax运算,softmax(A(i,:))softmax(A(i,:))softmax(A(i,:)) 表示每个contextual field对于先验框的重要性。利用下面公式获取每个先验框对应所有上下文信息的权重向量,hhh 为全连接层。
    L(i,:)=softmax(A(i,:))×h(Q)h(Q)∈RDq×CsL(i,:) = softmax(A(i,:))\times h(Q) \\ h(Q)\in R^{D_q \times C_s} L(i,:)=softmax(A(i,:))×h(Q)h(Q)∈RDq​×Cs​

  • 最后将上下文信息融合到先验框中,获取具有上下文信息感知的先验框 P^∈RDp×Cs\widehat{P} \in R^{D_p \times C_s}P∈RDp​×Cs​,φ\varphiφ 对应全连接层
    P^=P+φ(L)φ(L)∈RDq×Cs\widehat{P} = P + \varphi (L) \\ \varphi(L) \in R^{D_q \times C_s} P=P+φ(L)φ(L)∈RDq​×Cs​

Target OBJ

将 Context-Transformer 获得的P^\widehat{P}P送入目标域类别分类器中,获取目标域类别分数矩阵:
Y^=softmax(P^×Θ)Y^∈RDp×Ct,Θ∈RCs×Ct\widehat{Y} = softmax(\widehat{P}\times \Theta) \\ \widehat{Y} \in R^{D_p \times C_t} ,\ \ \ \Theta\in R^{C_s \times C_t} Y=softmax(P×Θ)Y∈RDp​×Ct​,   Θ∈RCs​×Ct​

Experiments

  • 实验设置

    source-domain:COCO中与VOC07+12不重叠的60类所涵盖的图片
    target-domain:VOC07+12

  • Context-Transformer的效果
    Baseline表示只用最原始的fine-tune方法,OBJ(S)代表保留source的OBJ。从表格中可看出,保留source的OBJ可以减轻过拟合,添加Context-Transformer模块可以减轻目标分类混淆的情况,它们都能提升mAP。作者还在test的时候移除了Context-Transformer模块,指标仅比在test阶段使用Context-Transformer模块略有下降,说明训练阶段使用的Context-Transformer模块使得检测器泛化能力增强。

  • shot数目对于模型效果的影响
    增加shot并没有提升识别的效果,shot增加一定量的时候,模型的性能趋于稳定。shot量足够的时候,造成目标confusion的原因消失了,这时候Context-Transformer模块对于减轻confusion的作用已经很小了

  • 和其他方法对比
    对比了2个比较早期的基于SSD检测方法,提升了好几个点。

    使用其它few-shot learner替换Context-Transformer

Conclusion

​ 迁移学习的方法,在SSD检测框架中使用上下文信息来提高分类的效果,从而提升识别的效果。

参考:https://blog.csdn.net/chenxi1900/article/details/109347872

Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)相关推荐

  1. 目标检测论文阅读:Cascade R-CNN: Delving into High Quality Object Detection(CVPR2018)

    Cascade R-CNN: Delving into High Quality Object Detection(CVPR2018) 论文链接:https://arxiv.org/abs/1712. ...

  2. Receptive Field Block Net for Accurate and Fast Object Detection(RFB)

    Receptive Field Block Net for Accurate and Fast Object Detection(RFB) paper code Abstract 受人类视觉系统感受野 ...

  3. Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记

    同上一篇一样,这边摸鱼笔记也是关于分类和回归分支的权重设计. 论文来源于2021ICCV,论文链接:https://openaccess.thecvf.com/content/ICCV2021/pap ...

  4. 论文阅读笔记:Deep Object Co-segmentation via Spatial-Semantic Network Modulation(AAAI2020)

    协同分割论文阅读:Deep Object Co-segmentation via Spatial-Semantic Network Modulation(AAAI2020) 论文原文    代码 提出 ...

  5. 万字逐行解析与实现Transformer,并进行德译英实战(一)

    文章目录 本文内容 环境准备 Part 1: 模型架构 Encoder and Decoder 的堆叠 Encoder Decoder Attention Position-wise 前馈神经网络 E ...

  6. Object Detection (2)Faster RCNN详解

    目录 Object Detection (1)VOC2007数据集制作 Object Detection (2)Faster RCNN详解 Object Detection (3)Faster RCN ...

  7. 目标检测论文阅读:Multi-scale Location-aware Kernel Representation for Object Detection(CVPR2018)

    Multi-scale Location-aware Kernel Representation for Object Detection 论文链接:https://arxiv.org/abs/180 ...

  8. MS-TCT:InriaSBU提出用于动作检测的多尺度时间Transformer,效果SOTA!已开源!(CVPR2022)...

    关注公众号,发现CV技术之美 本篇分享 CVPR 2022 论文『MS-TCT: Multi-Scale Temporal ConvTransformer for Action Detection』, ...

  9. 【每日一网】Day20:A MultiPath Network for Object Detection(MPN)简单理解

    A MultiPath Network for Object Detection 算法背景 作者改进了目标检测的方法,相比ss算法的fast RCNN,将实验效果进一步提升了66%,在小物体上提高了4 ...

  10. Multiview RGB-D Dataset for Object Instance Detection*(译文)

    大致译文,可以看看,参考一下.转载请说明 摘要 基于9个厨房场景,本文提供了一个新的多视角RGB-D数据集.场景中的物体有一部分来自于BigBird数据集.Scenes被密集采取,使用bounding ...

最新文章

  1. PLSQL Developer 12 注册码
  2. 计算机猜数游戏matlab,MATLAB课程设计报告猜数游戏设计
  3. Lucene mysql app查询_集成Lucene,查询相关数据
  4. 挂起某线程命令 Linux,linux 线程挂起恢复的简单示例
  5. c调用python gensim包_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
  6. PyCharm设置背景颜色
  7. 典型的DIV+CSS布局(左中右)
  8. [论文阅读] End-to-End Incremental Learning
  9. 查看主机DNSserver
  10. 商品cta策略_【钜阵CTA策略私募月报】​商品市场大幅上涨 CTA策略表现优异
  11. HTTP协议的基本格式
  12. 内存卡数据恢复,如何从内存卡恢复数据
  13. Java 判断IP地址为内网IP还是公网IP (针对IPv地址)
  14. 参考美团大众点评合并,掌握APP推广妙招
  15. Win11退Win10/重装Win10教程
  16. vmware全屏后退出全屏快捷键
  17. pixiv爬虫,下载关注的所有画师的所有插画----解决谷歌人机,模拟登录,SSL错误与反反爬
  18. 9款免费且超实用的响应式网页测试工具
  19. Jquery来制作简易版的留言板.
  20. 【企业】见相非相,即见如来

热门文章

  1. 计算机视频的压缩方式,电脑压缩视频的方法图解步骤
  2. 免费的caj转word批量转换方法
  3. video 标签 autoplay 实现自动播放
  4. 华为云--欧拉操作系统
  5. 太阳能热水器系统设计
  6. Bootstrap3 按钮状态切换
  7. SpringSecurity框架用法简介
  8. 全栈云服务是个什么东东?!
  9. 高中数学复习知识清单
  10. win10执行压缩卷的注意点,否则出现磁盘空间不够的情况