Abstract

针对大规模的图像检索问题,论文提出了一个高效的ITQ算法。该算法先将中心化后的数据映射到超立方体的顶点上,再通过优化过程寻找一个旋转矩阵,使得数据点经过旋转后,与超立方体的顶点数据具有最小的量化误差。ITQ算法涉及到了multi-class spectral clustering(不懂)以及Orthogonal Procrustes problem,且可以通过PCA(无监督)或CCA(监督)的方法事先对数据进行降维。该方法的实验结果优于大部分start-of-the-art方法。

1. Introduction

一个高效的二值编码学习方法应具有以下特点:(1)码长足够短,内存才不会占用过大;(2)应该具有局部敏感性,即原始空间相似的两个数据点在二值空间也应具有较近的汉明距离;(3)学习和查询过程效率也足够高。

在很多哈希方法中,初始的操作都是对数据进行PCA降维。但是每个特征维度所具备的方差是不同的,高方差的特征方向往往具有更多的信息,如果对所有方向都进行相同的编码(亦或要求向量间正交),那么算法有时会具有更差的表现。SSH算法通过放松对hash函数的正交限制得到了不错的表现,而在ITQ算法中并没有显式得对hash函数添加正交限制。算法初始也是进行PCA降维,然后随机初始化一个旋转矩阵,通过最小化量化误差的过程寻找到矩阵矩阵\(R^*\),从而得到最终的映射函数。

2. Unsupervised Code Learning

接下来对文章用到的符号表示进行声明:

\(X∈R^{n*d}\),为数据矩阵,并且对其进行中心化预处理0

\(B = sgn(XW)\),W为映射函数,sgn为符号函数,B表示X经过映射后的数据,在二值超立方体上的映射的数据。

令\(V = XW\),算法的目标是最小化量化误差\(||sgn(V) - V||\),并令\(W^*\)表示最优解。假设R为旋转矩阵,因为旋转矩阵只改变方向不改变映射关系,因此\(W = W^* R\)依然为算法的最优解。据此可得到量化损失函数为:
\[
Q(B,R) = |B - VR|_F^{2}-------(1)
\]
在实验中,发现对旋转矩阵R进行随机初始化,可以得到不错的效果。接下来,我们利用ITQ算法进行k(通常为50)次迭代,迭代过程分为两个步骤:

固定R,对B进行更新

通过对\(Q(B,R)\)公式的推导,我们得到最小化\(Q(B,R)\)的过程等同于最大化\(tr(BR^TV^T) = \sum_{i=1}^n \sum_{j=1}^cB_{ij}V^*_{ij}\),其中\(V^* = VR\)。显然,因为B的取值只有-1和1,为使得该式最大,应使得V为正值时对应的B为1,V为负值时对应的B为-1。此外,对原始数据\(X\)的尺度进行改变不会影响到B或R的最优值,因此我们实现对数据进行中心化处理对实验结果没有影响。

固定B,对R进行更新

在此情况下,目标公式(1)就变成了典型的Orthogonal Procrustes problem,该问题的求解过程可以参考wiki百科。在本文中,利用SVD分解,使得\(B^TV = S\Omega S^T\),再令\(R = SS^T\),便可求解。

3. Evaluation of Unsupervised Code Learning

数据集

  • CIFAR:包括64800个数据,11类。

  • Tiny image dataset:包括580000个数据,分别对应388个Internet search key words。是以二进制文件形式存储的,每个数据文件包括图片本身、与图片相关的元数据(文件名,使用的搜索引擎,排名等)、每个图片的Gist描述符。

评估方案

  • 第一个评估方法使用欧几里得近邻。在该方法中没有用到类标签的信息。对于每一个查询点,将其与其他数据点的距离进行升序排序,对于距离最近的前50个数据点,只要距离小于一个事先设定的阙值,便认为查询的结果是正确的,否则即为错误的查询结果。然后通过计算错误和正确的比例来得到精度和召回率。
  • 第二个评估方法使用类标签。对每个查询点,得到对应top500的图像数据,然后通过计算top500中类标签和查询点相同所占的比例得到精度,再结合数据集中和查询点标签相同的所有数据点的数量得到召回率。

论文比较了PCA-RR、PCA-ITQ等与其他baseline方法在两种评估尺度下的表现:

在CIFAR下的实验结果表明,在两种评估方案下,PCA-ITQ算法的表现基本都优于其他baseline。除了在256-bits时,SKLSH在第一种量度下的表现最好,但是SKLSH在第二种量度下的表现却很差。由此可以看出基于PCA的方法可以很好得保留原始数据的语义一致性。

显然,无监督学习的方法(目标函数直接对距离进行优化)在第一种评估尺度下表现优于监督学习的方法,而在第二种评估尺度下,监督学习有效得利用了类标签的信息,因此表现普遍优于无监督学习方法。因此实验结果表明,欧式距离更近并不等同于更一致的语义信息。

4. Leveraging Label Information

RR和ITQ可以利用任何基于正交的投影方法。PCA利用一种无监督的方法进行降维,而CCA结合了数据中的标签进行,进行有监督得降维,从而得到了更好的实验结果。

因为CIFAR的类标签时人为标注的,较为“clean”,而Tiny image dataset的数据是互联网自动产生的,较为“noisy”。从实验结果可以看出,利用clean数据训练的CCA-ITQ具有最优的表现,而利用noisy数据训练的CCA-ITQ同样也比PCA-ITQ得到了很大的提升。

Iterative Quantization,ITQ的更多相关文章

  1. ITQ迭代量化方法解析

    一.问题来源 来源于换关键字,从LSH转换为hash检索,这要感谢李某. 二.解析 笔者认为关键思想是数据降维后使用矩阵旋转优化,其他和LSH一样的. 2.1 PCA降维 先对原始空间的数据集 X∈R ...

  2. LSH、ITQ、SKLSH图像检索实验实现(包含源码下载地址)

    原文来自我的独立blog:http://www.yuanyong.org/blog/cv/lsh-itq-sklsh-compliment 这两天寻找idea,想来思去也没想到好点的方法,于是把前段时 ...

  3. 乘积量化(Product Quantization)

    乘积量化 1.简介 乘积量化(PQ)算法是和VLAD算法是由法国INRIA实验室一同提出来的,为的是加快图像的检索速度,所以它是一种检索算法,在矢量量化(Vector Quantization,VQ) ...

  4. PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手

    原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...

  5. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...

  6. 哈希学习(2)—— Hashing图像检索资源

    CVPR14 图像检索papers——图像检索 1.  Triangulation embedding and democratic aggregation for imagesearch (Oral ...

  7. Hashing图像检索源码及数据库总结

    下面的这份哈希算法小结来源于本周的周报,原本并没有打算要贴出来的,不过,考虑到这些资源属于关注利用哈希算法进行大规模图像搜索的各位看官应该很有用,所以好东西本小子就不私藏了.本资源汇总最主要的收录原则 ...

  8. 图像识别领域的一些code

    图像识别领域的一些code 转自:http://blog.163.com/pz124578@126/blog/static/23522694201343110495537/ ps:里面的一些方法都是目 ...

  9. paper 156:专家主页汇总-计算机视觉-computer vision

    持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...

随机推荐

  1. 【转】头部属性 Meta http-equiv 大全

    http-equiv类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容.常用的http-equiv类型有: 1.Content-Type和Content-Langu ...

  2. Apache服务器的安装与配置

    文档:http://httpd.apache.org/docs/2.4/ 指令:http://httpd.apache.org/docs/2.4/mod/core.html 一.配置文件 语法 * 主 ...

  3. ORACLE RMAN备份及还原(转)

    RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_heade ...

  4. JAVA框架Struts2(二)

    一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...

  5. $\mathcal{Friends' \ \ Links}$友情链接

    \(\mathcal{JuLao \ \& \ \ Dalao}\) \(\_rqy\) \(\_stdcall\) 并(吊)肩(锤)奋(死)斗(我)的\(Oier\) 王旭 苑骏康 张梓淳 ...

  6. centos 7 配置iptables(转) + iptabes规则理解

    一.防火墙配置 1.检测并关闭firewall 1 2 3 4 5 systemctl status firewalld.service #检测是否开启了firewall   systemctl st ...

  7. 曾经的UCOSii

    首先记住一句话:实时操作系统,并非真的实时.操作系统必须有延时,一个系统执行好几个任务,实质是任务之间不停的切换,有延时才有切换任务的余地,如果没有.....应该都见识过卡机,任务切换不过来了 如果你 ...

  8. 自研后端HTTP请求参数验证器服务ParamertValidateService

    好处:方便了后端对HTTP请求中参数进行核验,只需一次编写效验器,一行代码便可对所有参数的pojo进行参数核验!而且更改效验逻辑时只需要更改效验器类即可,实现了解耦合. 只需要程序员按照规范开发一个P ...

  9. AI Summit(2018.07.19)

    AI Summit 时间:2018.07.19地点:北京丽都皇冠假日酒店

  10. 20155308『网络对抗技术』Exp5 MSF基础应用

    20155308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...