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

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

3365
来自专栏AI科技评论

开发 | 计算机视觉中,究竟有哪些好用的目标跟踪算法(下)

VOT2015竞赛 VOT2015 Challenge | Home(http://votchallenge.net/vot2015/) 如期而至,这一年有60...

4676
来自专栏数据科学与人工智能

【智能】自然语言处理概述

1 什么是文本挖掘? 文本挖掘是信息挖掘的一个研究分支,用于基于文本信息的知识发现。文本挖掘的准备工作由文本收集、文本分析和特征修剪三个步骤组成。目前研究和应用...

3715
来自专栏视觉求索无尽也

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

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

4961
来自专栏机器之心

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

34411
来自专栏杨熹的专栏

用 TensorFlow 让你的机器人唱首原创给你听

Siraj 的视频 源码 今天想来看看 AI 是怎样作曲的。 本文会用 TensorFlow 来写一个音乐生成器。 当你对一个机器人说:我想要一种能够表达出希...

3396
来自专栏机器学习算法工程师

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

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

1074
来自专栏AI研习社

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

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

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

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

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

2779
来自专栏AI科技大本营的专栏

神探Sherlock如何用AI破案?教你在Excel中搭建一个人脸识别CNN网络

【导读】人脸识别技术已经有了非常广泛的应用,国内大规模监控系统背后运用的技术就是人脸识别。

901

扫码关注云+社区