AI智能
改变未来

Learning to Navigate for Fine-grained Classification

ECCV 2018 北京大学

Abstract

找出完全表征对象的细微特征并不简单(细粒度分类的挑战性)

文章提出新颖的自监督(self-supervision)机制,无需bbox和part annotations,即可有效定位信息区域。

模型:NTS-Net( Navigator-Teacher-Scrutinizer Network)== Navigator agent,Teacher agent和Scrutinizer agent组成

考虑到informativeness of the regions与ground-truth class概率之间的内在一致性,设计了一种新颖的训练机制,使Navigator能够在Teacher的指导下检测大部分信息区域(informative regions)。之后,Scrutinizer仔细检查Navigator中建议区域(proposed regions)并进行预测。

1 Introduction

细粒度分类的挑战来源于信息区域(informative regions)和提取其中的判别区域(discriminative features)。深度学习的兴起

总结最近的工作

  • 监督学习:需要bbox和part annotation人工注释,但是代价昂贵,在实际生活中不常用
  • 无监督学习:learning scheme to localize informative regions,缺点是缺乏保证模型聚焦于正确区域的机制,这通常会导致精度降低。

NTS-Net工作机制

  • Navigator关注最具信息性的区域:对于图像中的每个区域,Navigator预测区域的信息量,并使用预测来提出(propose)信息量最大的区域。
  • Teacher评估Navigator建议的区域并提供反馈:对于每个建议区域(proposed region),Teacher评估其属于ground-truth class的概率;置信度评估(confidence evaluation)指导Navigator用其提出的排序一致(ordering-consistent)损失函数来提出更多信息区域。
  • Scrutinizer仔细检查Navigator中建议区域并完成细粒度分类:每个建议区域被resize到相同的大小,并且Scrutinizer提取其中的特征;区域特征和整个图像的特征被联合处理,以完成细粒度分类。

该方法可以看作是强化学习中的actor-critic机制,其中Navigator是actor,Teacher是critic。通过Teacher提供的更精确的监督,Navigator将定位更多信息区域,这反过来将有利于Teacher。因此,agents共同进步并最终得到一个模型,该模型提供准确的细粒度分类预测以及更大的信息区域。

2 Related Work

2.1 Fine-grained classification ~

2.2 Object detection ~

2.3 Learning to rank

$X = KaTeX parse error: Expected \’}\’, got \’EOF\’ at end of input: {X_1,X_2,…,X_n$} denote the objects to rank

$Y = KaTeX parse error: Expected \’}\’, got \’EOF\’ at end of input: {Y_1,Y_2,…,Y_n$} the indexing of the objects, where Yi≥YjY_i≥Y_jYi​≥Yj​ means XiX_iXi​ should be ranked before XjX_jXj​

FFF :ranking function that minimize a certain loss function.(就是给定一个X到Y的映射函数F,loss最小)

ranking methods:

  • point-wise approach

给每个数据assign一个数值,然后就可以转化为回归问题,如:

  • pair-wise approach

假定F(Xi,Xj)F(X_i,X_j)F(Xi​,Xj​)只有两种取值{0,1},F(Xi,Xj)=0F(X_i,X_j) = 0F(Xi​,Xj​)=0 means XiX_iXi​ ranked before XjX_jXj​.(排序正确)

the goal is to find an optimal F to minimize the average number of pairs with wrong order.

  • list-wise approach

直接优化整个列表,F(X,Y)F(X,Y)F(X,Y) is the ranking function

该论文中navigator loss function 使用的是multi-rating pair-wise ranking loss(多等级两两排序损失)

3 Methods

模型框架

一一介绍:navigator、teacher、scrutinizer

3.1 Approach Overview

假设:信息区域(information regions)可以更好的表征对象,所以融合信息区域和全图像的特征可以获得更好的性能

目标:localize the most informative regions。

假设所有的区域都是矩形

符号说明:

  • A :给定图像中所有的区域集合

  • information function III:给定区域 R∈AR∈AR∈A,评价其所含信息多少,即 A—>(−∞,∞)A —>(-∞,∞)A—>(−∞,∞)

  • confidence function CCC:A—>[0,1]A —>[0,1]A—>[0,1],表示区域属于ground-truth class的置信度

more informative regions should have higher confidence,

使用Navigator网络来近似information function III 和Teacher网络来近似 confidence function CCC.

Navigator网络评估其informativeness I(Ri)I(R_i)I(Ri​),Teacher网络评估其confidence C(Ri)C(R_i)C(Ri​)。

为了满足Condition1,优化Navigator网络使 { $ I(R_1),I(R_2),…,I(R_M) $}和 { $ C(R_1),C(R_2),…,C(R_M) $}具有相同的顺序。

随着Navigator网络根据Teacher网络的改进,它将产生更多信息区域,以帮助Scrutinizer网络产生更好的细粒度分类结果。

3.2 Navigator and Teacher

受到anchor的启发,对于输入的图像,得到一组矩形区域 {R1′,R2′,…,RA′R_1\’,R_2\’,…,R_A\’R1′​,R2′​,…,RA′​},其中每个anchor都有一个信息量分数。
input image size=448, scales = {48,96,192}, ratios={1:1,2:3,3:2},对所有anchors进行信息量排序

其中,A表示anchors数量,I(Ri)I(R_i)I(Ri​)表示信息排序列表中第i个元素。

使用NMS减少冗余的区域,将信息排序列表中的前M个区域 {R1,R2,…,RMR_1,R_2,…,R_MR1​,R2​,…,RM​}输入到teacher网络中来获得其置信度为{C(R1),C(R2),…,C(RM)C(R_1),C(R_2),…,C(R_M)C(R1​),C(R2​),…,C(RM​)},其中M是个超参数

优化navigator网络的目标:优化navigator网络使得{I(R1),I(R2),…,I(RM)I(R_1),I(R_2),…,I(R_M)I(R1​),I(R2​),…,I(RM​)}和{C(R1),C(R2),…,C(RM)C(R_1),C(R_2),…,C(R_M)C(R1​),C(R2​),…,C(RM​)}具有相同的顺序。

优化teacher网络的目标:最小化ground-truth class和predicted confidence之间的交叉熵损失。

3.3 Scrutinizer

随着Navigator network逐渐收敛,它将产生信息性的对象特征区域,以帮助Scrutinizer network做出决策。 我们使用前K个信息区域与完整图像相结合作为输入来训练Scrutinizer network。 即那些K个区域用于促进细粒度识别。

[25]表明使用信息区域能减少类内差异,并可能在正确的标签上产生更高的置信度。通过对比实验表明,添加信息区域可以显著地改善大部分数据集的细粒度分类结果,包括cub200 -2001、FGVC Aircraft and Stanford Cars.

3.4 Network architecture

feture extractor:在ILSVRC2012数据集上pretrain好的ResNet-50

符号说明:

  • W:feature extractor中的参数
  • X:input iamge
  • X ⨂\\bigotimes⨂ W: extracted deep representations 提取到的深层特征表示

Navigator network

类似于Feature Pyramid Networks(FPN)结构,在不同尺度Feature maps上生成多个候选框,(较大feature map的anchors对应较小的区域),这样不同尺度下的feature map中的anchors就能产生不同大小的informative regions。

settings:

  • feature map size:{14×14,7×7,4×4} corresponding to regions of scale {48×48,96×96,192×192}
  • navigator网络中的参数:WIW_IWI​ (包括在feature extrator中的共享参数)

每个候选框的坐标与预先设计好的Anchors相对应。Navigator做的就是给每一个候选区域的“信息量”打分,信息量大的区域分数高。

Teacher network.

作用: C:A→[0,1]C:A \\rightarrow [0,1]C:A→[0,1]

输入:M个来自navigator网络的scale-normalized(224×224)个信息区域{R1,R2,…,RMR_1,R_2,…,R_MR1​,R2​,…,RM​}

输出confidence score:判断区域属于target label的概率

结构:Feature Extractor + FC(2048) + softmax

  • WCW_CWC​:teacher网络的参数

Scrutinizer network

输入:在navigator网络中选取的top-K个信息区域,resize成预定义好的size(该论文使用224×224)

然后送到feature extractor中,生成K个区域特征向量,each with length=2048

然后将这k个特征向量+原图feature进行concatenate成(K+1)*2048送入FC

符号说明:

  • S:transformation的组合
  • WSW_SWS​:Scrutinizer网络的参数

3.5 Loss function and Optimization

Navigation loss.

  • R = {R1,R2,…,RMR_1,R_2,…,R_MR1​,R2​,…,RM​}:表示由navigator预测的前M个最有信息量的区域,I = {I1,I2,…,IMI_1,I_2,…,I_MI1​,I2​,…,IM​}:表示其信息量

  • C = {C1,C2,…,CMC_1,C_2,…,C_MC1​,C2​,…,CM​}:表示由teacher网络预测的confidence

navigator loss:

\”>

其中 Ii=I(Ri)I_i = I(R_i)Ii​=I(Ri​)

函数 f:hinge loss function

反向传播:

**Teaching loss **


The first term in Eq. 7 is the sum of cross entropy loss of all regions, the second term is the cross entropy loss of full image.

**Scrutinizing loss. **

navigator网络得到K个最有信息量的regions {R1,R2,…,RKR_1,R_2,…,R_KR1​,R2​,…,RK​}

Scrutinizer网络做出细粒度分类结果 P=S(X,R1,R2,…,RK)P = S(X,R_1,R_2,…,R_K)P=S(X,R1​,R2​,…,RK​)

loss为交叉熵损失:

total loss

λ\\lambdaλ和μ\\muμ是超参数,作者设置为λ=μ=1\\lambda = \\mu = 1λ=μ=1
优化器SGD
流程图:

4 Experiments

4.1 Dataset

4.2 Implementation Details

preprocess image:resize 448×448

M=6

feature extractor:ResNet-50

Momentum SGD :initial lr =0.001,60个epoch后衰减为原来的0.1,weight decay=1e-4

NMS阈值=0.25

4.3 Quantitative Results

ResNet-50 is a strong baseline, which by itself achieves 84.5% accuracy, while our proposed NTS-Net outperforms it by a clear margin 3.0%.(ResNet-50实现84.5%的准确率是在CUB数据集上吗?)

与同样使用ResNet-50作为特征提取器的[26]相比,我们获得了1.5%的改进。值得注意的是,当我们只使用完整的图像(即令K = 0)作为输入到Scrutinizer,我们实现了85.3%的准确性,这也高于ResNet-50。



HBP使用caffe的acc为87.1%,backbone为vgg,那采用ResNet-50的acc应该会有提升,但是现在HBP pytorch的acc为83.9%,NTS-Net的acc为 87.5%,还是有明显的提升

4.4 Ablation Study

table 4.

  • NS-Net表示没有使用Teacher network,acc从87.5%下降为83.3%,原因:因为navigator没有受到teacher的监督,会提出随机的区域,作者认为这不利于分类。

  • 对于超参K,K=2——>K=4时,acc上升0.2%,但是feature维度几乎加倍,但是K=0——>K=2,acc上升2%表明multi-agent的优势。

4.5 Qualitative Results

可视化部分:To analyze where Navigator network navigates the model。

选择前4个信息量最多的部分,red>orange>yellow>green

Fig.5第一行,对应前两个信息量最多的区域,即K=2,从第二张图片可以看出,鸟跟背景相似也可以做出比价好的定位

从该图可以看出,信息量最多的地方为 头部、翅膀、身体,这跟人的认知是一样的。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Learning to Navigate for Fine-grained Classification