Advertisement

Multi-Attention Multi-Class Constraint for Fine-grained Image Recognition

阅读量:

又回到了细粒度分类的工作,这一类工作的重点都在于attention。
菜是真的菜,同事们说话都瑟瑟发抖不敢发言,菜就是原罪,哭唧唧。
论文链接
搜了一圈好像没有代码,主要他的损失函数复现起来比较麻烦,自己写的话有点费劲
他的另一大贡献是提供了dog in wild数据,他的质量和标注都非常优秀。

主体部分

18年的ECCV,之前的细粒度都是多阶段或者多尺度,不是end to end,这篇文章提出了一个基于attention的网络,他可以提取出一个物体的不同部分。第一部分是经由压缩-多扩展one-squeeze multi-excitation(OSME)模块,提取一张图多个attention区域。第二部分是经由multi-attention multi-class constraint (MAMC),将相同class的相同attention拉近,不同attention和不同class拉远。他关注了object part correlations。
作者认为attention在细粒度分类里应遵循如下法则:

  1. 被检测部分应该分布在object各个不相关的特征
  2. 每一部分的feature对于分类是有区别的
  3. 这部分的计算是轻量的
    在这里插入图片描述
One-Squeeze Multi-Excitation Attention Module

这个模块分两路,输出两个attention,这两个attention模块起到一个弱监督的作用,可以把它看成一个soft mask。
这里借鉴了senet,他在resnet最后一个block输出的feature map上做一个gap,这是one-squeeze部分
在这里插入图片描述
然后是multi-excitation过程,同senet,先经由C/r的fc,Relu,C的fc,sigmoid。由于sigmoid特性,其输出对通道间的非互斥关系进行了编码。
在这里插入图片描述
然后用m来re-weight feature map
在这里插入图片描述
然后再用S乘上一个fc
在这里插入图片描述
得到特定attention。

Multi-Attention Multi-Class Constraint

直接对attention合并做softmax分类会忽略掉attention之间的关系;递归搜索机制,会把初代误差迭代方放大。还要使用强化学习以及一些复杂的初始化方法。
本文用了一个新方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
首先把sasc推向锚点,满足第一个约束;然后sadc、dasc与dadc相比应该与锚点更近,把这二者推近,第2,3两种约束漫漫满足
在这里插入图片描述
式(10)和triplet loss相似,很难收敛,它改成了如下形式
N=32,P=2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我觉得前部分的思想很好,后面的损失函数就很复杂了,有点为了发论文的感觉。。。

全部评论 (0)

还没有任何评论哟~