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

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

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

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

4886
来自专栏IT派

用 TensorFlow 让机器人唱首歌给你听

然后会用一些打过标签的音乐的数据,这些标签就是人类的各种情感。接着通过在这些数据上面训练一个模型,模型训练好后就可以生成符合要求关键词的音乐。

1162
来自专栏AI研习社

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

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

7866
来自专栏机器之心

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

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

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

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

7481
来自专栏媒矿工厂

面向视频编解码后处理的深度学习方法进展

接前一帖(适用于视频编码帧间预测分数像素插值的卷积神经网络方法简介),今天继续介绍一类基于人工智能的视频处理技术——深度学习在视频后处理中的应用。 1 背景介绍...

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

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

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

1174
来自专栏AI研习社

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

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

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

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

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

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

硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧

编译 | AI科技大本营(rgznai100) 参与 | JeyZhang,鸽子 在NLP社区中曾流行着这样一个玩笑,说是一个带注意力机制的LSTM模型在任何的...

3004

扫码关注云+社区