无监督图像检索 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features...》

基于部件的CNN特征加权聚合的无监督图像检索


该文提出了一种利用卷积神经网络中的 filters 作为部件检测器,采用无监督方式选择部件检测器的图像特征提取方法,属于特征聚合方法,用于图像检索领域。代码在:点击打开链接

特征聚合方法一般用于具有不同个数的局部特征(如SIFT)的图像特征表示。卷积神经网络的全连接层得到的分类特征维数是固定的,无需进行特征聚合,以及其他特征聚合方法如WoF,VLAD,FV类方法,它们都忽视了物体各个部件的所具有的判别性能力。

卷积神经网络的研究结果表明:some input patterns stimulate the special channels of feature maps of the latter convolutional layers,且该性质被广泛应用在设计新的网络,SPP-net中不同语义内容激活不同的 filters,FCN中输出特征层不同通道代表像素像素的不同类别。本文从中受到启发,采用特征图的某个特殊通道来编码物体某个部件相对于部件的位置及其像素的语义类别,并将这种通道称为“probabilistic proposal”并对该通道进行可视化。

无监督图像检索 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features...》_第1张图片

文章重点不在重现这个效果,而是将该性质用来分别表达物体的各个部件的特征,从而提出一种新的特征聚合方法。【我看到这篇文章是被Unsupervised 一词吸引的】,下面着重分析其unsupervised是怎么做的。

无监督图像检索 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features...》_第2张图片

Unsupervised part detector selection

1. 训练阶段。采用预训练好的模型(如ImageNet VGG16)跑inference,得到所有图像的某个feature map。如上图所示,假设分类数为C,那么输出层一共有C个通道,HxW大小,【根据前面性质,每个通道对应一个类别】,那么计算出一张图像的每个通道特征,得到所有图像C个通道后,计算每个通道的平均值及各个通道的方差,将方差降序排列,选出方差最大的前N个通道(why?)作为部件检测器。从而所有图像的部件可表示为一个 HxWxN 的特征图(N


2. 预测阶段。对于查询图像,首先提取HxWxC的特征图,需要将HxWxC的特征图转化为一个向量。根据前面训练阶段生成的 “probabilistic proposal”,【每个类别物体会对应多个部件】,选出最明显的部件,方法是对每个HxW特征图进行点乘求和(sum pooling)操作,即对来自查询图像的每个HxW特征,拿“probabilistic proposal”的每个HxW特征进行点乘并求和,然后计算N次求和,从而得到NxC的特征。实际上PWA采用的是weighted sum pooling 操作。

2. 后处理阶段。为了减少维度,对于N个C维向量采用l2-normalization, PCA降维以及白化操作,将特征压缩到M维。从而查询图像可以表示为一个M维的向量。

得到的mAP结果如下:

无监督图像检索 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features...》_第3张图片

点评:

1. 整篇文章利用CNN的各个通道对物体各部件响应不同的性质,提出probabilistic proposal,然后对未知图像的特征图做特征聚合,避免采用全连接层特征时忽略物体部件表达能力的问题,感觉利用这个性质设计出一种新算法挺有意思的。

2. 文章标题声称的“unsupervised part-based”是采用有监督训练得到的CNN特征图来做无监督方式的特征聚合。

3. 个人觉得文章重点在于计算出HxWxN的“probabilistic proposal”,或者说part表示能力,因为实际上物体的part总数会远远大于类别总数,从而当设置的part数目少时表达能力不够,多时维数又太高。

你可能感兴趣的:(深度学习,索引技术,近似最近邻检索技术)