论文部分内容阅读
图像检索是一项富有生命力的研究课题,而细粒度级别的图像检索又是图像检索中具有十分广阔的应用前景和巨大研究价值的子课题,如电商图片搜索,科研动植物图像搜索等。相比于传统图像检索的大类区分,细粒度图像检索更加关注图像上细微的局部特征。随着深度学习在计算机视觉上的成功,针对细粒度图像检索也出现了应用深度学习的算法。在图像检索中,特征聚合(Feature Aggregation)是将多个局部特征编码成一个全局特征(一个一维向量)的过程。我们基于深度卷积神经网络的特征的聚合过程,提出一种无监督的检索算法和一种有监督的度量学习算法。本文的主要工作如下:对于针对细粒度图像检索任务,本文提出一种无监督的算法,不需要图像的标签来训练网络提取图像特征,并自动筛选出覆盖到图像主体上的局部深度特征。我们统计了累加特征图上每个空间位置上最大响应出现的频次,并且设定了阈值来筛选频次较大的局部描述子,分离了主体和背景的局部特征。我们将筛选出的特征进行广义平均池化。首先我们研究了特征筛选的阈值参数和广义平均池化参数p的关系。其次我们研究了不同特征组合方式对检索性能的影响。我们将提出的方法跟经典图像检索聚合方法以及当前较先进的细粒度图像检索方法在CUB200-2011,Stanford Dogs,Oxford Flowers,Oxford Pets,Aircraft五个数据集上相比较,实验结果证明了我们提出的算法的有效性。最后我们研究了特征降维和白化的作用,对我们的方法聚合得到的特征,特征降维和白化可能会提升检索性能。无监督的细粒度图像检索使用预训练的网络。但是针对特定数据集,预训练的网络提取到的特征需要加上标签等监督信息重新进行训练,即利用度量学习的方法训练网络。但是已有的关于深度度量学习的工作关注在设计更好的损失函数和如何构建训练对。受到传统图像检索的卷积层特征聚合的启发,我们探究了卷积层特征聚合是否更适合作为度量学习训练时损失函数的输入这一问题。我们设计了三种网络结构来验证我们的想法。第一种网络结构是VGG-16BN原始结构,我们使用最后的全连接层作为损失函数的输入。第二种网络结构是VGG-16BN去掉全连接层,加上一个特征聚合层,特征聚合层既作为损失函数的输入也作为检索测试时的输出。第三种网络结构是特征聚合层加上一个全连接层,全连接层作为损失函数的输入,将特征聚合层和全连接层作为测试的输出。实验结果证明第三种网络结构相比于前两种网络结构能够提高检索性能。我们将第三种网络结构使用三元损失函数在CUB200-2011、Cars-196、Stanford Online Product、In-shop数据集上和当前先进的深度度量学习方法比较,我们的方法相比于比较的方法具有一定的优势。相比于全连接层作为最后输出的VGG-16BN网络,使用特征聚合的VGG-16BN网络能够提升检索性能。