论文阅读笔记 SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
这篇论文来自美国罗格斯大学的 Han Zhang, CVPR2016
1. 简介
相较于常规的目标识别技术而言,在细粒度目标识别领域所面临的挑战更为显著。这种现象的根本原因在于物体的姿态与观察视角之间的差异可能导致同一类别内的不同实例呈现明显的视觉差异。为了有效区分不同子类别的对象,在现有的研究中提出了多种解决方案。其中一种直接的方法是通过分析目标的不同部分来实现分类。然而,在现有研究中发现这一策略存在明显局限性:现有的方法主要关注较大的部分特征(如鸟的头和身体),而忽视了一些细节部分(如尾巴和翅膀)(例如,在CUB-2011鸟类数据集上进行测试时发现现有方法仅能定位头部和躯干等主要部位,并未充分考虑尾部和其他翅膀等细节部位的重要性)。在基于CNN的细粒度图像识别中采用part-based的方法通常会遵循以下步骤:首先分别对每个part设计独立的CNN网络模型;然后从每个part提取对应的CNN特征并进行融合;最后将融合后的特征向量作为分类依据训练分类器(如支持向量机)。尽管这种方法在一定程度上能够提升识别性能但它也存在一些明显的缺陷:第一,在训练与测试过程中采用了复杂的多阶段流程;第二其模型架构难以有效建模各部分之间的相互关系。
针对上文所述的问题, 该研究旨在构建一种嵌入了中层parts的抽象层(abstract layers of mid-level parts)的深度卷积神经网络模型(CNN). 该模型主要包含两个关键组件:分类子网络(recognition subnetwork) 和 检测子网络(detection subnetwork).
本节主要介绍三种创新性工作。(1)在检测子网络模块中设计了一种自顶向下结构来生成多类别语义分割候选区域;(2)在识别子网络模块中提出了一个新的基于小部分特征提取模块,在此基础上实现了对目标各层次细节信息的有效融合;(3)将分割器与识别器统一设计,并构建了一个完整的分割与分类一体化框架
2. 网络结构
整个架构如图所示,则由两个关键组件构成:检测子网络与识别子网络。下面将详细阐述各组成部分的功能与作用

2.1 Part Detection Sub-network
2.1.1 生成带几何约束的part proposals (Geometrically-constrained Top-down Region Proposals for Small Semantic Parts)
该作者所提出的生成part proposal的方法与K邻近算法具有相似性。具体而言,在处理一个输入图像时,首先通过计算物体bounding box的直方图特征(Histograms of Oriented Gradients, HOG),然后基于这些HOG特征从训练集中检索出最接近的K个样本图像。对于每个领域中的部分区域,在缩放后使其与输入图像保持一致尺寸后得到相应的变换后部分边界框B = [b11, ..., b1m, b21, ..., b2m, ..., bk1, ..., bkm](其中m表示每个物体中部分的数量)。随后通过以上步骤获得的部分边界框将用于生成相应部分区域建议,并引入两类先验信息:第一类为强约束(strong prior),第二类为弱约束(weak prior)。它们之间的区别在于是否考虑部分类别标签及几何约束。
2.1.2 基于Farst-RCNN的part 检测(Fast RCNN based Part Detection)
通过上一步骤能够获得多个part proposals,在经过上一步骤后,我们能够获得多个part proposals。进一步采用Fast RCNN方法对每一个proposal进行回归分析,并推导出相应的part label信息。
2.2 Part Abstraction and Classification
该子网络的核心在于将其整合到一个CNN的分类网络中进行处理,并通过系统性地提取各 semantic part 的特征信息完成识别任务。具体而言,在整个流程中首先对各 semantic part 进行独立特征提取,在此基础上实现多层级联结从而生成统一的特征矢量表示以实现最终的目标任务完成。
