Hierarchical Bilinear Pooling for Fine-Grained Visual Recognition论文笔记
华中科大的作品,写的很棒,属于看完拍大腿系列。HBP论文地址
出发点:基于Bilinear pooling的模型已经被实验验证了在细粒度认知的有效性,然而很多之前的方法忽略了层间局部特征的交互和细粒度特征的学习是相互关联的同时也能强化彼此。
以此为出发点,作者提出来一种跨层的bilinear pooling方法来捕获层间局部特征关系,然后在这个基础上提出了一种新的分层双线性池框架来集成多个跨层双线性特征,以提高它们的表示能力。
和之前的定位局部来学习细粒度特征不同,作者将来自不同卷积层的**视为对不同部件属性的响应,而不是显式地定位对象局部,利用跨层双线性池捕获局部特性的跨层间交互,这对于细粒度识别非常有用。
DISS: 之前的很多工作已经引入双线性池框架-来建模对象的局部部分。虽然已经报告了很不错的结果,但是进一步的改进受到以下限制。首先,现有的基于双线性池的模型大多只将最后一个卷积层的**作为图像的表示,不足以描述对象的各个语义部分。其次,忽略了中间卷积
**,导致细粒度类别的判别信息丢失,这对细粒度的视觉识别具有重要意义。
贡献:
- 我们开发了一种简单但有效的跨层双线性池技术,它同时支持特性的层间交互,并以一种相互增强的方式学习细粒度表示。
- 2.在跨层双线性池的基础上,提出了一种分层双线性池集成框架,对多个跨层双线性模块进行集成,从中间卷积层获取互补信息,提高性能。 2.在跨层双线性池的基础上,提出了一种分层双线性池集成框架,对多个跨层双线性模块进行集成,从中间卷积层获取互补信息,提高性能。
- 我们对三个具有挑战性的数据集(幼鸟、斯坦福汽车、fgvc飞机)进行了综合实验,结果证明了我们方法的有效性。我们对三个具有挑战性的数据集(幼鸟、斯坦福汽车、fgvc飞机)进行了综合实验,结果证明了我们方法的有效性。
整体模型结构:
作者论文里面呈现了很多公式,像我这种数学弱鸡,就不解读了,不过看完上面两个图 思想基本上了解了。
下面来看看实验:
作用采用的基础模型是VGG-16,然后去掉最后三层全连接层,只留下卷积层。分层线性池化在VGG-16的relu5_1, relu5_2, relu5-3三个卷积层上实现。
FBP表示Factorized Bilinear Pooling
CBP表示Cross-layer Bilinear Pooling
HBP表示Hierarchical Bilinear Pooling
阅读感受(节选自陈xian生):
Hierarchical Bilinear Pooling 比 Bilinear Pooling多的就是层之间的交互,具体是这样实现的:以最简单的结构举例,假设两个CNN都采用VGG-16结构,去掉VGG的全连接层,卷积层最后三层定义为relu5_1, relu5_2, relu5-3,Bilinear Pooling 就是将CNN1的relu5-3和CNN2的relu5-3做了Bilinear Pooling操作,得到的结果进行分类。而Hierarchical Bilinear Pooling是将CNN2的relu5-3分别和CNN1的relu5-1,relu5-2,relu5-3做Bilinear Pooling操作,得到三组特征,并将这些特征拼接在一起,最后进行分类。
参考:1.陈xian生 细粒度识别之Hierarchical Bilinear Pooling