大规模图像检索的深度哈希方法简介

传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,称为“以字找图”(text-based image retrieval),既耗时又主观多义。如今每一秒都有数百万图片通过各种渠道上传到各种大规模存储设备中。给定一张查询图片,快速从百万量级的图像数据库中通过图像特征来找出内容相近的一定数量的图片,这种任务被称为“基于内容的图像检索”(content-based image retrieval (CBIR)),是目前非常流行的研究方向。

基于内容的图像检索
哈希方法-提升检索速度
在CBIR中,查询速度和查询准确率是一对需要权衡的指标。查询速度方面,可以使用二值哈希的方法来大幅度提升。简单概括下即将每张图片通过一个函数映射成一定长度的二进制码(如48bit),将图片的二进制码间的汉明距离(hamming distance)定义为图像之间的相似程度。由于汉明距离的比较完全可以基于位操作,相比基于数值特征的图像检索,查询速度可以得到数十倍的提升。
具体的查询过程如下,用事先定义好的哈希函数将查询图片映射成48bit的二进制码,与数据库中所有图片的二进制码比较汉明距离,按汉明距离从小到大排序即为本次图像检索的结果。
深度哈希-提升检索精度
深度学习算法,如卷积神经网络CNN将众多计算机视觉任务如图像分类,物体识别,人脸识别等的准确度实现了一个飞跃。CNN的成功在于其深层的卷积网络拥有传统方法所不具备的特征提取能力,其精炼准确的特征非常适合应用于CBIR任务。深度哈希(deep hash)将CNN与哈希图像检索结合,同时拥有检索精度高,速度快的特点。其方法可以概括为,训练一个CNN网络将图像映射成较低维度的特征,再将特征转化为二进制码进行检索。网络的设计以及训练数据的构建是决定检索精度的关键,不少研究团队提出了各种不同的深度哈希网络并在实验数据集上获得了成功。
最新成果

文中方法示意图
上海交通大学图像所研究团队提出了一种基于深度哈希的图像检索算法,在检索准确率(mean average presision)以及训练速度上表现不错,模型简单,可实用性强。该方法在常用数据集CIFAR-10,ImageNet上都达到了很高的准确率。相比于其他深度哈希的方法,该方法有以下三个特点:
1. 利用理想码组作为训练标签。大部分深度哈希方法利用CNN的中间层或定义特殊的损失函数来约束网络生成图像的目标二进制码,而这类方法的缺陷在于未能拉开不同类别图像编码间的汉明距离。假设训练数据集拥有K类图片,目标二进制码长为N比特,该方法利用贪婪法生成拥有K个码字的二进制码组,两两之间的汉明距离可以达到最优。经过训练后的网络不仅在训练集上得到汉明距离大的图像编码,在测试集上的泛化能力也十分出色。
2. 该方法的训练过程是单例(pointwise)损失函数进行的。在深度哈希以及许多CV任务如人脸鉴定中,常常用到双例(pairwise)及三例(triplet)损失函数来优化参数,这些方式的好处是可以通过不同输入间的关系来训练网络,较为直观和智能。缺点是训练时间较长,性能会有所损失。而该方法用设计好的理想码组作为训练标签,已经将不同内容信息包含在了训练集中,可以进行单例训练。训练速度快,而且不同标签的图像之间的汉明距离被拉得很开。
3. 该方法对语义不平衡的图像也有相应解决方案。语义不平衡(Semantically Uneven)是指如下情况,三类图片[人,轿车,卡车]作图像检索,输入卡车图像应该在卡车之外优先检索出轿车而不是人。这类语义不平衡的情况通常需要用三例损失函数来训练,即一次输入三张图片告知其相似程度的不同。而该方法在理想码组的训练中可以接受语义不平衡系数,使更相近的类之间拥有更近的汉明距离,使得检索更加准确。
该方法在多个数据集上的检索准确率(mean average precision)相比之前的方法有了提升。同时针对大分辨率的图像利用了inception net,准确率得到了进一步的提升。下面的表格包含了当前主流的一些深度哈希图像检索法以及传统方法在CIFAR-10和ImageNet上的检索准确率表现。(DBR以及DBR-v3为本文所属方法)。

最新方法准确率比较
论文地址:https://www.hindawi.com/journals/am/2017/8961091/
Demo源码:https://github.com/luseiee/DeepBinaryRepre