Deep Learning of Binary Hash Codes for Fast Image Retrieval

  Lin K, Yang H F, Hsiao J H, et al. Deep learning of binary hash codes for fast image retrieval[C]// IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2015:27-35.

  摘要:近似最近邻搜索是用于大规模图像检索的有效策略。受到卷积神经网络(CNN)的最新进展的鼓励,我们提出了一个有效的深度学习框架来生成二进制散列码,用于快速图像检索。我们的想法是,当数据标签可用时,可以通过使用隐藏层表示主导类标签的潜在概念来学习二进制代码。利用CNN允许学习图像表示。不像其它的有监督方法需要成对的输入进行二进制代码的学习,我们的方法以点的方式学习哈希码和图像表示,使得其适用于大规模数据集 。实验结果表明,我们的方法在CIFAR-10和MNIST数据集上优于几个最先进的哈希算法。我们进一步展示其可扩展性和功效的大规模数据集的100万服装图像。

Introduction

  基于内容的图像检索的目的是通过对图像内容的分析来搜索相似图像;因此图像表示和相似性测量对于这样的任务变得至关重要。沿着这个研究轨道,最具挑战性的问题之一是将像素级信息与人类感知的语义相关联[25,27]。尽管已经提出了几种手工制作的特征来表示图像[19,2,22],但是这些视觉描述符的性能仍然有限,直到深度学习的最近突破。最近的研究[14,7,21,23]已经表明,深层CNN显著提高了对各种视觉任务的性能,例如对象检测,图像分类和分割。这些成就归功于具有学习丰富的中级图像表示能力的深层CNN

  由于深层CNN能够学习丰富的中级图像描述符,Krizhevsky et al。 [14]在图像检索中使用了第7层的特征向量,并在ImageNet上展示了出色的性能。然而,由于CNN特征是高维的,并且直接计算两个4096维向量之间的相似性是低效的,Babenko等人 [1]提出使用PCA和区别性维数压缩来压缩CNN特征,并获得良好的性能。

  在CBIR中,图像表示和计算成本都起着至关重要的作用。由于最近视觉内容的增长,在大型数据库中的快速搜索成为一种新兴的需求。许多研究旨在回答如何从大规模数据库有效地检索相关数据的问题。由于高计算成本,传统的线性搜索(vs穷举搜索)不适合在大语料库中搜索。代替线性搜索,实际的策略是使用近似最近邻(ANN)或基于散列的方法的技术[6,29,18,20,15,30]用于加速搜索。这些方法将高维特征投影到较低维空间,然后生成紧凑二进制代码。受益于所产生的二进制码,可以通过二进制模式匹配或汉明距离测量来执行快速图像搜索,这显着地减少了计算成本并进一步优化了搜索的效率。这些方法中的一些属于使用相似性矩阵(包含数据的成对相似性)的成对法,以描述图像对或数据对的关系,并且使用该相似性信息来学习哈希函数。然而,在处理大规模数据集时,需要构建矩阵并生成代码。

  从深度学习的进步启发,我们提出一个问题,我们可以利用深层CNN实现哈希吗?而不是使用成对学习方法,我们可以直接从深的CNN生成二进制紧凑代码?为了解决这些问题,我们提出了一个深的CNN模型,可以基于数据被标记的假设同时学习图像表示和二进制代码。也就是说,我们的方法被特别设计用于监督学习。此外,我们认为,当使用诸如深层CNN的强大学习模型并且数据标签可用时,可以通过使用一些隐藏层来表示潜在概念(用二进制激活函数例如Sigmoid)来掌握二进制代码 在架构中的类标签。这不同于其他监督方法(如[30]),考虑到数据标签,但需要成对输入到准备的学习过程。换句话说,我们的方法以逐点的方式学习二进制散列码,利用深层CNN的增量学习性质(通过随机梯度下降)。深度架构的使用还允许高效检索特征学习。我们的方法适合于大型数据集比较常规方法。

  我们的方法具有以下特点:

  1. 我们介绍一个简单而有效的监督学习框架,用于快速图像检索。
  2. 通过对网络模型的微调,我们的深层CNN同时学习领域特定的图像表示和一组用于快速图像检索的散列函数。
  3. 所提出的方法在公共数据集MNIST和CIFAR-10上优于所有最先进的工作。我们的模型改进了CIFAR 10数据集上的最佳检索性能30%的精度,MNIST数据集的精度提高了1%。
  4. 我们的方法以点方式学习二进制散列码,并且与常规成对方法相比容易扩展数据的大小。

  本文组织如下:第二部分我们简要回顾了哈希算法和深度学习中图像检索的相关工作,第三部分我们详细阐述了我们的方法的细节,第四部分提供实验结果, 其次是第5节的结论。

Relate Work

  已经提出了几种散列算法[6,29,18,20,28,10]来近似地标识与查询相关的数据。这些方法可以分为两个主要类别,无监督和有监督的方法。无监督的哈希方法使用未标记的数据来学习一组哈希函数[6,29,8]。最有代表性的是位置敏感哈希(LSH)[6],其目的在于最大化类似数据被映射到类似二进制代码的概率。LSH通过将数据点投影到具有随机阈值的随机超平面来生成二进制代码。 光谱散列(SH)[29]是另一种代表性的方法,其通过沿给定数据的PCA方向的非线性函数的阈值产生紧凑二进制码。

        最近的研究表明,使用监督信息可以提高二进制散列码学习性能。监督方法[18,20,15]在学习期间并入标签信息。这些监督散列方法通常使用成对标签来生成有效的散列函数。然而,这些算法通常需要大的稀疏矩阵来描述训练集中的数据点之间的相似性。

        除了哈希的研究轨迹,图像表示也在CBIR中发挥重要作用。近来,基于CNN的视觉描述符已被应用于图像检索的任务。Krizhevsky et al。 [14]首先使用从第七层提取的特征来检索图像,并在ImageNet上实现令人印象深刻的性能。Babenko et al。 [1]着重于CNN特征的维数缩减,并通过压缩CNN特征提高检索性能。虽然这些最近的工作[14,1]在图像检索的任务上呈现良好的结果,但是所学习的CNN特征被用于通过在欧几里得空间中直接执行模式匹配来检索,这是低效的。

        深度架构已被用于哈希学习。然而,它们中的大多数是无监督的,其中深度自动编码器用于学习表示[24,13]。Xia et al [30]提出了一种基于深度学习的监督哈希方法来学习二进制哈希码进行快速图像检索,并展示了公共数据集的最先进的检索性能。然而,在它们的预处理阶段,使用矩阵分解算法来学习数据的表示代码。因此,需要输入数据的成对相似性矩阵,并且当数据大小较大时(例如,在我们的实验中为1M),它是不利的,因为它消耗相当大的存储和计算时间。相比之下,我们提出了一种简单而有效的深度学习方法来学习一组有效的类哈希函数,并在公开可用的数据集上实现更好的结果。我们进一步应用我们的方法到大规模数据集的100万服装图像,以演示我们的方法的可扩展性。我们将在下一节中描述所提出的方法。


Method

        图1显示了所提出的框架。 或方法包括三个主要组件。第一部分是大规模ImageNet数据集的监督预训练[14]。第二个组件是利用潜在层对网络进行微调,以同时学习域特定特征表示和一组类似哈希的函数。第三个通过建议的分级深度搜索检索类似于查询的图像。 我们使用由Krizhevsky等人提出的预训练的CNN模型。 [14]从Caffe CNN图书馆[11],它是在大规模的ImageNet数据集训练,包含超过120万图像分类为1000个对象类。我们的学习二进制代码的方法详细描述如下。

3.1  Learning Hash-like Binary Codes

        最近的研究[14,7,5,1]已经表明,由输入图像包括的层F6-

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值