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:{14x14,7x7,4x4} corresponding to regions of scale {48x48,96x96,192x192}
  • 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(224x224)个信息区域{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(该论文使用224x224)

然后送到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 448x448

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,从第二张图片可以看出,鸟跟背景相似也可以做出比价好的定位

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

Learning to Navigate for Fine-grained Classification相关推荐

  1. 阅读笔记 PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    一.背景 点云是三维坐标系统中的一组三维向量的集合,是表示物体外表的一个形状,接近物体原始特征 我们的卷积神经网络通常需要规则的数据形式作为输入,但由于点云是非规则数据类型所以通常的做法大都先对点云进 ...

  2. Bag of Tricks for Image Classification with Convolutional Neural Networks(卷积神经网络在图像分类中的技巧)

    来源:Tong He Zhi Zhang Hang Zhang Zhongyue Zhang Junyuan Xie Mu L Amazon Web Services fhtong,zhiz,hzaw ...

  3. An Efficient Solution for Breast Tumor Segmentation and Classification in Ultrasound Images Using Deep

    An Efficient Solution for Breast Tumor Segmentation and Classification in Ultrasound Images Using Deep ...

  4. 论文翻译 3-3Flexible Metric Nearest Neighbor Classi¯cation 弹性度量最近邻居分类

    弹性度量最近邻居分类 Flexible Metric Nearest Neighbor Classi¯cation Jerome H. Friedman¤杰罗姆 h. 弗里德曼 斯坦福,加利福尼亚州 ...

  5. 【论文阅读】Adaptive Clustering-based Malicious Traffic Classification at the Network Edge

    [论文阅读]Adaptive Clustering-based Malicious Traffic Classification at the Network Edge 原文标题:Adaptive Clu ...

  6. Learning to Navigate Unseen Environments: Back Translation with Environmental Dropout

    Instruction Tan H, Yu L, Bansal M. Learning to navigate unseen environments: Back translation with e ...

  7. YouTube-8M: A Large-Scale Video Classification Benchmark简介

    YouTube-8M: A Large-Scale Video Classification Benchmark Abstract 作者以1帧每秒的速度解码视频,同时利用预训练在imagenet上的De ...

  8. 论文阅读:Automatic Detection and Classi cation of Teeth in CT Data

    [论文信息] MICCAI 2012 会议论文 文章实现了中全自动的牙齿检测和分类,对象为CBCT/MSCT,实验数据集是43套临床头部CT图像. 主要是两个步骤: 1. 分割上颌骨: 2. 分成16 ...

  9. Ensemble of the Deep Convolutional Network for Multiclass of Plant Disease Classi¯cation Using Leaf

    Ensemble of the Deep Convolutional Network for Multiclass of Plant Disease Classi¯cation Using Leaf ...

最新文章

  1. 我又来定计划了~2015-8至年底
  2. 计算机一级考可以用计算器吗,全国计算机一级考试题(判断题),你对电脑知识了解多少?...
  3. phonegap工程中修改app的名字
  4. csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表
  5. mysql单点故障_如何解决云服务商单点故障频发的问题?
  6. ChubaoFS:一个面向大规模容器平台的分布式文件系统
  7. python手势识别_Python|使用opencv进行简单的手势检测
  8. Netty Associated -- ByteBuf
  9. .NET的Math.Round与数学无关。没关系!
  10. windows安装mysql-8.0.12-winx64和Navicat客户端连接(亲测有效)
  11. 2.栅格的类中同时设置col-md-* col-sm-*的作用
  12. JSJQuery必备技能
  13. Redis设计与实现-监视器
  14. OS篇-Bochs在Ubuntu下的安装教程
  15. 计算机出现假桌面怎么解决办法,Win10系统下“AppHangXProcB1”导致桌面频繁假死如何解决?...
  16. 【MIPS汇编编程练习Lab5】汇编中的条件语句 大于小于比较 if-else statement slt
  17. R语言小代码(聚类练习)
  18. AI绘图打开二次元世界
  19. 解决双击tomcat startup.bat的弹框一闪而过的问题,以及如何配置 jre_home 和 java_home
  20. zsh: command not found: conda

热门文章

  1. iOS - 百度推送
  2. 登录页面右上角切换二维码
  3. 怎样学习一款数据挖掘软件?
  4. \src\core\plainobjectbase.h(311): error C2338: YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX
  5. heroku java_heroku部署java web项目
  6. 微信小程序开发之——音乐小程序-项目说明
  7. uni-request的使用
  8. Fiddler 过滤Host
  9. ognl是个什么东东呢?
  10. 一种基于Lucene的实时搜索方案|淘宝技术部