首页 > 代码库 > Multi-Scale Orderless Pooling of Deep Convolutional Activation Features
Multi-Scale Orderless Pooling of Deep Convolutional Activation Features
一、本文的主要思想
由于全局的CNN特征缺少几何不变性,限制了对可变场景的分类和匹配,因此本文针对这个问题并且在不降低CNN本身的能力的的前提下,提出了multi-scale orderless pooling (MOP-CNN):即对图像提取多尺度(三个levels)无序的CNN,然后经过PCA降维,VLDA编码,再PCA降维,最后将这三个level的特征级联为3*4096维特征,采用one-vs-all的线性svm分类,取得了一定的效果。提取特征的结构图如下所示:
二、multi-scale orderless pooling (MOP-CNN)具体框架
本文采用的是开源的caffe CPU模式运行
1、将原始图像缩放到256*256,然后减去均值,再输入caffe中,提第七层的4096维特征,作为level1的特征;
2、在原始图像上以窗口为128*128,步长为32提取加入m个图像batches,将每个batch按照上面一步的方式提取每个batch的特征,假如生成m个4096维的特征;采用PCA的将4096维特征降到500维;采用k-means的方法训练一个100*500的codebook;采用VLAD(FV的简单版)对着m个500维的特征进行编码,二范数归一化,生成一个50000维的特征;采用PCA降维到4096,将最后这个4096维的特征左右level2的特征;
3、方法和上面一步一样,只是窗口大小为64*64,将这步的4096的特征左右level3的特征;
4、将这三个level的4096特征归一化,级联为一个3*4096维的一个向量特征;
VLDA的编码方式如下:
5、采用one-vs-all的线性SVM进行分类
三、总结
本文思想简单明了,将多尺度特征和CNN结合起来,采用了VLAD编码方式。就此方法本身而言,多尺度相对于单尺度来讲,还是取得了不错效果。本文是基于在图像层进行多尺度的特征提取,下一篇将简单介绍一篇在特征层面进行pooling的论文。