Content-based image retrieval with compact deep convolutional features

摘要

现有的基于内容的检索过程中,大部分模型通常使用单一的CNN架构来提取特征,这样就对识别图像局部特征所有限制。首先,本文中提出一种新型的双线性的CNN架构,使用两个并行的CNN作为特征提取器。卷积层直接用于提取不同位置和不同尺度的特征(先pre-trained,后fine-tuned)。此外,提出一种有效的双线性根池化(bilinear root pooling)应用到低维池化层从而减少特征维度,同时保持对于图像特征的识别力。最后,进行端到端反向传播训练进行微调,并学习其参数以完成图像检索任务。基于三个标准数据集上的实验结果表现出来良好的性能。例如基于16位在Oxford 5K达到95.7% ( mAP) ,在 Oxford 105K达到88.6%,此外降低了特征提取的时间和空间代价。

本文的思路和主要贡献

此前的工作主要存在的问题包括:(1)CNN模型微调的有效性,比如说图像分类迁移到图像检索中;(2)相比VLAD特征,基于BOF和Fisher vector这两种聚合local特征,从而提出了VLAD特征(vector of locally aggregated descriptors,TPAMI 2012),直接通过CNN提取特征的有效性;(3)现有的CNN架构产生了不利于图像表示的高维特征;(4)查询处理、相似性/不相似性匹配以及检索的时间和空间性能如何有效的链接在一起。

基于上述问题,本文主要采用两个并行的CNN来进行特征提取,仅仅基于语义内容并没有先验知识(标签、标注等),通过对于基于图像特征和尺度的特征进行融合从而建立局部特征相关性的模型。更重要的是,提出一种有效的compact root pooling layer,从而大大提高了图像检索效率。由于特征维度降低从而减少代价。

本文的主要贡献:

(1)本文的模型是基于无监督的特征提取,仅仅基于语义内容并没有先验知识(标签、标注等);

(2)通过一种池化机制将提取到的维度降低到低维空间中,从而减少时空代价;

(3)这是一个将双线性的CNN框架应用到CBIR中

(4)实验结果表明在检索准确性、提取特征和检索的速度以及空间上有了很大提升。

模型架构

检索和深度学习框架

本文中模型主要包括三部分:(1)对于CNN模型进行预训练;(2)在图像检索数据集上对于线性CNN进行微调;(3)特征提取和查询。如下图所示。CNN架构是基于VGG-m和VGG-16,在ImageNet进行预训练;其中,全连接层被去除,因此所有的图像特征可以直接提取。

Content-based image retrieval with compact deep convolutional features

首先,最后一层的卷积层被去除output的尺寸为512,VGG-m中的第14层,VGG-16中的第30层;其次,加入如下网络层:(1)root compact bilinear pooling层将数据映射到低维空间;(2)signed square root layer;(3)L2 normalization.网络通过两个低维双线性提取器提取的特征,采用内积形成一个单一的通用图像向量。

特征提取和检索

两个并行CNNs提取特征,默认输出特征尺寸为512并在在不同的位置和尺度上图像特征进行累积。双线性模型B可以表示为Content-based image retrieval with compact deep convolutional features 其中fA和fB为特征函数,P为池化函数。对于给定的图像I和位置L,特征函数表示为一个映射:Content-based image retrieval with compact deep convolutional features为输出的特征尺寸a*D,因此使用