论文提出细粒度分类解决方案CAP,通过上下文感知的注意力机制来帮助模型发现细微的特征变化。除了像素级别的注意力机制,还有区域级别的注意力机制以及局部特征编码方法,与以往的视觉方案很不同,值得一看
来源:晓飞的算法工程笔记 公众号
论文: Context-aware Attentional Pooling (CAP) for Fine-grained Visual Classification

Introduction
论文认为大多数优秀的细粒度图像识别方法通过发掘目标的局部特征来辅助识别,却没有对局部信息进行标注,而是采取弱监督或无监督的方式来定位局部特征位置。而且大部分的方法采用预训练的检测器,无法很好地捕捉目标与局部特征的关系。为了能够更好地描述图片内容,需要更细致地考虑从像素到目标到场景的信息,不仅要定位局部特征/目标的位置,还要从多个维度描述其丰富且互补的特征,从而得出完整图片/目标的内容。
论文从卷积网络的角度考虑如何描述目标,提出了context-aware attentional pooling(CAP)模块,能够高效地编码局部特征的位置信息和外观信息。该模块将卷积网络输出的特征作为输入,学习调整特征中不同区域的重要性,从而得出局部区域的丰富的外观特征及其空间特征,进而进行准确的分类。
论文的主要贡献如下:
- 提出在细粒度图像识别领域的扩展模块CAP,能够简单地应用到各种卷积网络中,带来可观的细粒度分类性能提升。
- 为了捕捉目标/场景间的细微差别,提出由区域特征引导的上下文相关的attention特征。
- 提出可学习的池化操作,用于自动选择循环网络的隐藏状态构成空间和外观特征。
- 将提出的算法在8个细粒度数据集上进行测试,获得SOTA结果。
- 分析不同的基础网络,扩大CAP模块的应用范围。
Proposed Approach

论文算法的整体流程如上图所示,输入图片,输出具体从属类别,包含3个组件(3组参数):
- 基础CNN网络 F ( . ; θ b ) \mathcal{F}(.;\theta_b) F(.;θb)
- CAP模块 F ( . ; θ c ) \mathcal{F}(.;\theta_c) F(.;θc)
- 分类模块 F ( . ; θ d ) \mathcal{F}(.;\theta_d) F(.;θd)
Context-aware attentional pooling (CAP)

定义卷积网络输出的特征为 x = F b ( I n ; θ b ) x=\mathcal{F}_b(I_n;\theta_b) x=Fb(In;θb),CAP的模块综合考虑像素级特征、小区域特征、大区域特征以及图片级特征的上下文信息进行分类。

像素级特征的上下文信息主要学习像素间的关联度 p ( x i ∣ x j ; θ p ) p(x_i|x_j;\theta_p) p(xi∣xj;θp),在计算 j j j位置的输出时根据关联度综合所有其他像素特征,直接使用self-attention实现,特征转化使用 1 × 1 1\times 1 1×1卷积。这一步直接对主干网络输出的特征进行操作,但没在整体流程图中体现。
为了更高效地学习上下文信息,论文在特征图 o o o上定义不同粒度级别的基本区域,粒度级别由区域的大小决定。假设 ( i , j ) (i,j) (i,j)位置上的最小的区域为 r ( i , j Δ x , Δ y ) r(i,j\Delta_x,\Delta_y) r(i,jΔx,Δy)为例,可通过放大宽高衍生出一系列区域 R = { r ( i , j , m Δ x , n Δ y ) } R=\{r(i,j,m\Delta_x,n\Delta_y)\} R={ r(i,j,mΔx,nΔy)}, i < i + m Δ x ≤ W i < i + m \Delta_x \le W i<i+mΔx≤W

本文介绍了一种针对细粒度图像分类的创新方法CAP,它通过上下文感知的注意力机制,结合像素级、区域级特征和局部编码,提升模型对细微特征的识别能力。文章详细阐述了CAP模块的设计、区域特征融合和注意力机制,并展示了在多个数据集上的SOTA性能。
最低0.47元/天 解锁文章
8613

被折叠的 条评论
为什么被折叠?



