Weakly Supervised Complementary Parts Models for Fine-Grained Image Classification from the Bottom Up
文章目录
0 摘要
以弱监督方式构建互补部分模型,以检索被卷积神经网络检测到的主要目标零件所抑制的信息。
- 给定图像级别标签,通过使用
Mask R-CNN
和基于CRF
的分割,进行弱监督目标检测和语义分割,提取粗粒度目标实例 - 在保持尽可能多样性的原则下,估计并搜索每个目标实例的最佳部分模型
- 建立双向
LSTM
网络,对这些互补部分的信息进行编码形成综合特征
1 引言
本文认为,之前模型性能主要来自于模型发现输入图像中最有区别的部分的能力,仅关注最有区分的部分,忽略了其他部分,这样有限制。一些图像分类任务需要尽可能掌握完整的对象描述。完整的对象描述不必为一个整体,而可以使用多个部分描述组装在一起。为了消除冗余,此类部分描述应互补。
提出了新的图像分类管道:
-
目标检测阶段。假设:位于核心区域周围(或者说是边缘)的积极目标建议可以帮助图像分类,因为其包含图像中对象的部分信息。
通过检测进行图像分类的难点:(本文试图以弱监督的方式应对)
- 在没有边界框注释的情况下执行对象检测
- 如何利用目标检测结果来提高分类性能
为避免丢失重要的部分,提出了一个由迭代对象实例分割规范化的弱监督目标检测管道:
-
图像分类阶段
利用在目标检测阶段生成的建议建立互补部分模型,该模型由一个尽可能覆盖多的互补信息的建议子集组成。利用双向长期短期记忆网络对目标零件的深层特征进行编码,进行图像分类。
文章贡献:
- 提出弱监督互补部分模型的新的图像分类表示形式
- 开发了用于弱监督目标检测和语义分割的新管道
- 利用双向LSTM做最终分类,并取得SOTA
2 相关工作
弱监督目标检测和语义分割
任务:仅使用图像标签定位和分割图像中的目标。方法有:
- 通过CNN中的特定池化层将目标检测作为分类问题解决
- 迭代式的自下而上和自上而下框架,以迭代地扩展目标区域并优化分割网络。
- 通过过滤和融合逐步挖掘对象的位置和像素标签
本文通过提供粗粒度分割掩模和使用CAM为Mask R-CNN提出的建议,并通过CRF迭代校正对象位置和掩模。
细粒度图像分类
- 建立带有边界框注释的目标部分模型。两个可变形零件模型来定位对象和判别部分。R-CNN将对象和语义部分分配给不同的对象类,从而平等对待对象和语义部分。
- 在无监督的情况下估计零件的位置。基于神经激活来发现零件,然后使用EM相似算法对其进行优化。
互补零件模型的目标是有效利用隐藏在目标检测阶段生成的目标建议中的丰富信息。每个建议都包含足够信息对目标分类,并且信息互补形成关于对象的更完整描述。
使用LSTM进行上下文编码
- 通过使用启发式网络、后继网络和单层LSTM挖掘信息丰富的图像部分,解决细粒度图像分类问题。 启发式网络负责从建议中提取特征,后继网络负责预测新的建议偏移。单层LSTM用于融合信息,用于最终分类和偏移预测。
- 并入用于多标签图像分类的LSTM子网,循环发现注意力区域。 LSTM子网顺序预测所定位区域上的语义标记分数,并同时捕获空间依赖性。
补充零件模型中使用LSTM来集成隐藏在检测到的不同对象建议中的丰富信息。 利用双向LSTM来学习所有图像块的深层表示。
3 方法
3.1 总览
捕获区分部分M、弱监督方式、迭代细化、三阶段:弱监督目标检测和实例分割、互补零件模型挖掘、上下文编码图像分类。
3.2 弱监督目标检测和实例分割
3.3 互补部分模型
-
互补部分模型由一个覆盖整个对象及其上下文的根部分、一个覆盖对象核心区域的中心部分和固定数量的涵盖不同的对象部分但仍然保持足够的区别性信息的周围建议组成。
-
一个包含n个部件的对象的互补模型被定义为一个n+1元组: A = [ A 1 , . . . , A n , A n + 1 ] \mathcal A = [A_1 , . . . , A_n , A_{n + 1} ] A=[A1,...,An,An+1] 。其中 A 1 A_1 A1是中心部分, A n + 1 A_{n+1} An+1是root部分, A i A_i Ai是第 i i i个部分。
-
每部分模型通过由 A i = [ ϕ i , u i ] A_i=[\phi_i,u_i] Ai=[ϕi,ui]定义,其中 ϕ i \phi_i ϕi是第 i i i部分的特征, u i u_i ui是一个四元组$ (x_i,y_i,w_i,h_i)$。
-
为了使部分之间互补,它们的外观特征或位置的差异应该尽可能的大,而部分的组合得分也应该尽可能的大。对象假设的得分 S ( A ) \mathcal{S} (\mathcal{A}) S(A)由所有对象部分减去外观相似性和不同部分之间的空间重叠的总和得分给出。
S ( A ) = ∑ l = 1 n + 1 f ( ϕ l ) − λ 0 ∑ p = 1 n ∑ q = p + 1 n + 1 [ d s ( ϕ p , ϕ q ) + β 0 I O U ( u p , u q ) \mathcal S(\mathcal A)=\sum_{l=1}^{n+1}f(\phi_l)-\lambda_0\sum_{p=1}^n\sum_{q=p+1}^{n+1}[d_s(\phi_p,\phi_q)+\beta_0I_OU(u_p,u_q) S(A)=l=1∑n+1f(ϕl)−λ0p=1∑nq=p+1∑n+1[ds(ϕp,ϕq)+β0IOU(up,uq)
其中 f ( ϕ k ) f(\phi_k) f(ϕk)是第 k k k个part在Mask R-CNN的分类分支上的得分, d s ( ϕ p , ϕ q ) = ∣ ∣ ϕ p − ϕ q ∣ ∣ 2 d_s(\phi_p,\phi_q)=||\phi_p-\phi_q||^2 ds(ϕp,ϕq)=∣∣ϕp−ϕq∣∣2是语义相似性, I O U ( u p , u q ) IOU(u_p,u_q) IOU(up,uq)是 p p p和 q q q之间的空间重合。 -
为了初始化parts模型,通过设计一个遵循以下两个规则的基于网格的对象部件模板来简化部分估计
- 每个parts都应该包含足够的判别信息
- parts对之间的差异应该尽可能大。
将root部分设置为表示整个对象的对象建议,然后以 A n + 1 A_{n+1} An+1为中心创建一个 s × s ( = n ) s\times s(=n) s×s(=n)的网格。每一个单位网格的大小是 w n + 1 s × h n + 1 s \frac{w_{n+1}}{s}\times\frac{h_{n+1}}{s} swn+1×shn+1。中心网格单元分配给对象中心部分。其余的网格单元分配给 A i A_i Ai然后,将每一个part A i ∈ A A_i\in A Ai∈A初始化为最接近分配的网格单元的建议 P j ∗ ∈ P ∗ P_j^*\in P^* Pj∗∈P∗。
-
目标函数: A ^ = arg max A ∈ S A S ( A ) \hat A=\arg\max_{A\in S_A}S(A) A^=argmaxA∈SAS(A),贪心搜索寻找 A ^ \widehat{\mathcal A} A 。
3.4 基于上下文编码的图像分类
使用图像的随机裁剪来训练模型。将原始图像随机裁剪为 ( n + 2 ) (n+2) (n+2)个图像块。每个块与裁剪的原始图像共享标签,来自所有原始训练图像的所有补丁形成一个新的训练集,用于微调模型做特征提取器。
堆叠的LSTM模型用于特征融合和性能增强,如下:
-
( n + 2 ) (n+2) (n+2)个块按照之前的方法进行特征提取,记作 Ψ ( I ) = [ ϕ c ( I ; θ c ) , ϕ c ( I ( A 1 ) ; θ c ) , . . . , ϕ c ( I ( A n + 2 ) ; θ c ) ] \Psi(I)=[\phi_c(I;\theta_c),\phi_c(I(A_1);\theta_c),...,\phi_c(I(A_{n+2});\theta_c)] Ψ(I)=[ϕc(I;θc),ϕc(I(A1);θc),...,ϕc(I(An+2);θc)]
-
两层堆叠LSTM来进行特征提取和融合,最终的损失函数:
4 实验
4.1 实现细节
n = 9 n=9 n=9。
- 掩模初始阶段:Google Net、lr=0.001,每过40000迭代除以10,SGD优化,训练七万次迭代。
- Mask R-CNN修正阶段:ResNet-50+FPN做主干网络、COCO、lr=0.001,每12万次迭代除以10,SGD+weight decay=0.0001,momentum=0.9。
- 最后阶段,GoogleNet+batch normlization做主干网络,lr=0.001,每8000次迭代除以10,SGD momentum=0.9,weight decay=0.0002,训练16000次迭代收敛。
4.2 细粒度图像分类
还分两组,一组仅使用原始数据,一组还使用了额外训练数据。
4.3 通用目标识别
4.4 消融实验
互补部分
- 探究 n n n的影响
- 仅使用目标特征,性能下降
- 仅使用图像特征,性能下降更厉害
- 仅将均匀网格单元用作对象零件而不进行进一步优化,则性能下降更更厉害
- 在尚存建议的边界框附近随机抽取了n = 9个抑制对象建议,性能下降
- LSTM中的零件顺序无关紧要。训练和测试过程中随机调整零件顺序分类精度保持不变
上下文融合
- 多次损失有助于使训练过程正规化,并为图像分类带来更多区分性。
- 在后续实验中保持多重损失设置。
- 移除了堆叠式LSTM模块,我们使用两个设置进行了实验:特征级联模块和平均模块。 在特征串联模块中,将所有n + 2个零件的特征串联在一起。 并且在平均模块中,将多个特征的分类输出相加。 达到的分类精度分别降低了5.8%和8.7%。 性能下降表明通过LSTM融合n + 2个图像补丁有助于最终图像分类。
5 结论
提出基于互补部件模型的细粒度图像分类的新管道,以弱监督方式挖掘包含部分对象描述的互补部分。在获取包含丰富信息的对象部分之后,用双向堆叠LSTM将所有挖掘的部分对象描述融合,对这些补充信息进行编码以进行分类。如何以更有效、更准确的方式建立互补部件模型有待进一步研究。
自我感受:这篇写的和**一样,看都看不懂,又臭又长。