首页 > 技术文章 > 一些文章和他们讲的东西的整理

hoey-ge 2016-08-22 19:44 原文

Symbiotic Segmentation and Part Localization for Fine-Grained Categorization  讲了利用图像分割和局部定位的方法分离出图像前景,来提高分类结果。

Deep Domain Adaptation for Describing People Based on Fine-Grained Clothing Attributes  没细看,讲的衣服的分类的。

Nonparametric Part Transfer for Fine-grained Recognition  用无参数局部转移的方法来提高识别率。

Hypercolumns for Object Segmentation and Fine-grained Localization  利用较下层的cnn网络的信息来提供空间信息,来提高分类结果。

Fine-Grained Recognition without Part Annotations  讲他这个文章不用局部注释和关键点,效果很好。

Deep LAC: Deep Localization, Alignment and Classification for Fine-grained Recognition  构造一个检测、对齐、分类与一体的神经网络,来进行细粒度图像分类。

The Application of Two-level Attention Models in Deep Convolutional Neural Network for Fine-grained Image Classification  这篇很重要,摘要部分很多可以借用,另外图标上有很多数据,可以借鉴。

上面是CVPR2015和细粒度有关的文章,下面是2016。

1. Picking Deep Filter Responses for Fine-grained Image Recognition[1]这篇文章是来自上海交通大学Xiaopeng Zhang等人的工作,该文章提出了一种对深度网络中的filter进行挑选的方法,基于挑选的filter的结果构建复杂特征表达。文章中提出的方法框架如下图所示:

整个方案分两步走:首先,利用深度filter的选择性来挖掘对于某些模式敏感的filter (比如鸟的喙与腿,如下图所示)从而得到一个weak的Part Detector。进而通过该Weak Detector作为初始来训练一个Discriminative Part Detector;
第二步便是利用第一步的Part Detector进行图像patch的检测然后提取deep descriptors,利用提出的Spatially Weighted Fisher Vector (SWFV)对deep descriptors进行pooling,从而得到图像SWFV-CNN特征描述。文章中报告的结果表明,利用该方法在CUB-200-2011和Stanford Dogs两个数据集上都取得了较优异的成果。值得一提的是,该方法并未利用人工标注信息(bbox+parts),在测试集上相比于利用标注信息的方法有了显著提高。该方法并非采用End-to-End的结构,在中间的环节如Spatial weighting, FV pooling需要针对数据分布的不同而做细致调整。
2. SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition[2]这篇文章是来自罗格斯大学的Han Zhang等人的工作。由题目可知与上一篇文章一样,本文的作者也关注到了富有语义的局部(利用Part,Part,Part,重要事情强调三遍),作者不满足于CUB-2011提供的head和body的定位结果,提出了small semantic parts 生成的方法。结果表明,充分利用了更多的small parts在fine-grained的问题上可以更好的提高分类结果,下面简单介绍作者的思路。整个系统由两个子网络组成,一个是Detection网络,另一个是Classification网络,方法流程如下图所示。
与已有的一些方法不同,作者并没有使用Region+CNN+SVM这样的框架,而是将Detection与Classification构建了一个End-to-End的网络。在Part Proposal阶段,作者利用了全局形状与几何限制条件,通过引入这样的先验知识,生成的proposals与传统方法相比减少了一个数量级(200 vs 2000)。然后基于proposal的结果利用Fast-RCNN生成Head,Back,Belly,Breast,Leg,Wing,Tail七个Parts,部分检测结果如下图所示,结果明显优于Selective Search。
总的来说,文章作者基于鸟的形状特性,在Proposal生成阶段构造了几何限制条件,并基于此提出了一种Part Detection的方法。而Parts在鸟类Fine-Grained分类问题上对结果的提高有明显帮助。作者将Part Detection和Classification结合成一个End-to-End的结构,同时进行训练与测试,取得了优异的结果。
3.Part-Stacked CNN for Fine-Grained Visual Categorization[3]这篇文章是来自悉尼科技大学Shaoli Huang等人的工作,与前两篇文章的出发点类似,本篇文章也是在Parts上寻找Fine-Grained的线索,但与前两篇文章相比,在框架中人工的参与更少。同其它Fine-Grained分类任务相似,这篇文章也采用两步走,即object parts localization (where pathway)和classification (what pathway),值得一提的是在part定位过程中,利用了FCN(Fully Convolutional Network)。方法的流程如下图所示:
方法的特点在于,在分类阶段利用了Two-stream的结构在object-level和part-level进行特征提取,进而对feature map进行拼接,由此构建包含有全局与局部的特征描述。作者命名该架构为PS-CNN,为了兼顾性能与效率,作者采用基于AlexNet的CNN模型。在object-level与part-level特征拼接过程中,由于两部分输入数据尺度存在差异,因此需要在feature map中进行尺度调整。对于Object-level,抽取了pool5层的feature map(6×6),而Part-level则提取了conv5的feature map(27×27),并在conv5的基础上根据part定位的结果进行crop得到相应的feature map(6×6)。最后拼接过的feature map送入全连接层,得到4096维的特征向量。
由此我们可以发现,定位的part直接影响特征的描述结果,那么part-localization网络的结果如何呢?下图给出了测试集上的部分结果
而且最终分类结果表明,利用了part的结果要远远优于仅适用BBox的结果(76.7% vs 69%),当然本文章所给出的启发并不局限于鸟类的分类。文章所提出的PS-CNN架构不仅可以用于鸟类等Fine-grained任务,还可以用于别的分类任务,框架比较general,而且在测试阶段在GPU K80平台上可以达到20 frames/sec,满足实时性的要求。
4. Mining Discriminative Triplets of Patches for Fine-Grained Classification[4]除了以上几种基于深度框架的Fine-Grained方法之外,来自马里兰大学的Yaming Wang等人提出了挖掘mid-level patch 的一种方法 [4],文章中提出了基于mid-level representation的特征构建方法并结合SVM分类器进行分类,提出了一种基于顺序与形状条件限制的Triplet Mining方法。其中所谓的Triplets与两种限制如下图所示:
A、B、C可以被看做patch的Appearance model,利用顺序限制(左)和形状限制(右)进行中层特征的表示,构建了Bag of Triplets特征表达,方法流程如下图所示
文章的实验主要在车辆数据集(BMVC-14, Cars-196),实验结果中表明,仅仅使用HOG特征的分类准确率就超过了fine-tune的AlexNet。在结合深度特征的基础上,该方法取得了state-of-the-art的结果。这篇文章并没有采用End-to-End的结构,而是挖掘Mid-level中有信息价值的表达,除了手动挖掘,深度网络是否也可以自动挖掘呢?这是否可以对我们做Fine-Grained任务引发一些思考呢?
5. 应对Fine-grained训练数据有限等问题的系列工作在Fine-Grained问题中,现在面临很多的难题,比如常见的FGVC数据集数量有限,而这些数据对于AlexNet、VGGNet、GoogleNet和ResNet等深度网络来说无法有效训练得到很好的结果;种类数目繁多,单单以花为例,全世界已发现的品种有超过400000,如果将全连接层节点数设置这么大的话,训练难度可想而知;除此之外,Fine-Grained还有类内差异大,类间差异小等情况。对于这些问题的解决,来自NEC实验室的Feng Zhou(http://f-zhou.com/)等人在本次CVPR中提出了一系列的方法:Fine-grained Image Classification by Exploring Bipartite-Graph Labels[5]、Embedding Label Structures for Fine-Grained Feature Representation[6]、Fine-grained Categorization and Dataset Bootstrapping using Deep Metric Learning with Humans in the Loop[7],在线Demo地址:http://f-zhou.com/fg_demo/。
部分Fine-Grained分类结果(笔者已经看的饿了),在深度模型训练过程中,除了常见的crop、rotate等data augmentation手段,Feng Zhou他们利用Bootstrapping来增加训练数据,为了解决类内-类间的问题,利用了基于Triplet loss的的Deep metric learning方法。更具体的细节笔者就不在这里详述,感兴趣的读者可以关注对应的文章

有别人写好的,摘录在此就可以先看别的文章了。

 

推荐阅读