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

传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,称为“以字找图”(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

原文发布于微信公众号 - 媒矿工厂(media_tech)

原文发表时间:2017-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

为什么ResNet和DenseNet可以这么深?一文详解残差块为何有助于解决梯度弥散问题

传统的“提拉米苏”式卷积神经网络模型,都以层叠卷积层的方式提高网络深度,从而提高识别精度。但层叠过多的卷积层会出现一个问题,就是梯度弥散(Vanishing),...

3295
来自专栏机器之心

业界 | Tensor Core究竟有多快?全面对比英伟达Tesla V100/P100的RNN加速能力

2819
来自专栏ATYUN订阅号

OpenAI提出比GAN更具优势的可逆生成模型Glow

Glow,一种使用可逆1×1卷积的可逆生成模型。它扩展了以前的可逆生成模型,简化了架构。模型可以生成逼真的高分辨率图像,支持高效采样,并发现可用于操纵数据属性的...

1083
来自专栏机器学习算法全栈工程师

【TPAMI重磅综述】 SIFT与CNN的碰撞:万字长文回顾图像检索任务十年探索历程(上篇)

基于内容的图像检索任务(CBIR)长期以来一直是计算机视觉领域重要的研究课题,自20世纪90年代早期以来,研究人员先后设计了图像的全局特征,局部特征,卷积特征的...

964
来自专栏AI研习社

计算机视觉中,有哪些比较好的目标跟踪算法?(下)

相信很多来这里的人和我第一次到这里一样,都是想找一种比较好的目标跟踪算法,或者想对目标跟踪这个领域有比较深入的了解,虽然这个问题是经典目标跟踪算法,但事实上,可...

6946
来自专栏AI研习社

如何让你的深度神经网络跑得更快

由于内存和计算能力有限,随着网络变得越来越深,对包括移动设备在内的有严格时延要求的有限资源平台而言,神经网络压缩就成为一个关键问题。就降低性能和加快深度网络之间...

1093
来自专栏机器之心

数据科学家必须了解的六大聚类算法:带你发现数据之美

33511
来自专栏AI研习社

使用深度学习来理解道路场景

语义分割是深度学习的方法之一,通过语义分割,我们可以对图片中的每一个像素赋予含义,即将像素划分到一个预先设定的类中。从上边的 GIF 图可以看出,我们在语义切分...

632
来自专栏计算机视觉战队

什么促使了候选目标的有效检测?

首先,把之前推送的关于大数据问题与解决办法的内容上传给大家,供大家去学习去挖掘有用的知识。 网址:http://pan.baidu.com/s/1nvwoQ0p...

2709
来自专栏机器之心

学界 | 旷视科技提出新型卷积网络ShuffleNet,专为移动端设计

选自arXiv 机器之心编译 参与:Smith、李泽南 近日,来自旷视科技的 Zhang Xiangyu 等四名研究员联合提出了一种专门为移动端设备而设计的高效...

2804

扫码关注云+社区