5

NeurIPS 2019 | 基于 Co-Attention 和 Co-Excitation 的少样本目标检测

 3 years ago
source link: https://bbs.cvmart.net/articles/1348
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

NeurIPS 2019 | 基于 Co-Attention 和 Co-Excitation 的少样本目标检测

11个月前 ⋅ 875 ⋅ 0 ⋅ 0

论文提出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

file

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$所有对应的对象,假设每张可用的图片包含至少一个查询对象

file

  论文的主要架构如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机制

file

  两个扩展的特征图可以表示为公式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设计一样

file

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

file

  通过公式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$

file

  论文定义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

file

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

Experiments


file
file

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

file

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

Ablation studies


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

  论文研究了不同的策略的共享,如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
file

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

  • Visualizing the characteristics of co-excitation
file

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

  • Analyzing the co-excitation mechanism
file
file

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

Conclusion


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

写作不易,未经允许不得转载~
更多内容请关注个人微信公众号【晓飞的算法工程笔记】

work-life balance.

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK