自适应多位编码量化的哈希图像检索方法

论文杂记
上一篇主目录 下一篇


前言
西安交通大学学报的一篇论文《自适应多位编码量化的哈希图像检索方法》,徐思雨师姐之作。

本文摘要
针对目前哈希图像检索技术中多比特位量化方法通过将实数向量 的每一维分别量化 ,割裂了实数向量各个维度之间联系的问题 ,提出了一种子空间自适应多位编码量化 的哈希图像检索方法 。该方法对 一组实数做量化并且拓展到乘积空间 ,将 实数向量划分为若干个数据子向量 。由于子空间的方差 和信息量大小呈正相关 (方差表示了数据的离散程度,方差越大,数据离散程度越高,就需要更长的编码来表示这些数据),该 方法可根 据子空间的方差计算并分配编码位 数 ,使 方差大的子空间拥有更长的编码位数 ,并且减小了因给不同的子 间分配相同的比特位而引起的信息损失 ,提高了编码 的精度
论文《自适应多位编码量化的哈希图像检索方法》下载地址
或者联系博主获取,邮箱:shaneholmes@qq.com

本文引用仅供学习用,如有侵权请联系删除。


1 预备知识

1.1 hash图像检索技术

参考文章:https://blog.csdn.net/qq_41635631/article/details/79836614
简介
哈希图像检索方法通过哈希函数将图像特征压缩编码成 进制哈希 码 ,使得哈希码尽可能地保持原空间中的近邻关系 。使用哈希码之间的汉明距离度量图像间的相似度既节省了存储空间 ,又提高了检索速度,因此哈希图像检索方法是提高图像检索效率的有效途 径 。
主要思想是,将每一张图片用一个相对较短的01编码表示。例如长度为64,128的编码,这个编码依然近似保持了图片空间的物理近邻关系。当用户上传一张图片时,使用哈希函数将它转化为01编码,然后计算这条编码与数据库中所有图片的编码进行距离计算(此时使用汉明距离计算)即是将该图片的二进制编码,与数据库中所有二进制编码进行异或运算,其中1的个数即为距离,对所有的距离进行排序,选择前100个距离最近的作为相近的图片,然后通过索引找到原始图片显示出来。
哈 希 图像 检 索方 法 分 为投 影 和 量 化 两个 步 骤 :

  1. 投 影 即为对 原 始空 间 的 数 据 降维 ,得 到低 维 空 间 的实数 向量 表示 ;
  2. 量化 即为 对得 到 的实数 向量 量化 ,得到二 进制 哈希 码 。

投影 时根 据是 否利用 图像 的监 督信息 (如类 别标 签 )分为 非监督哈希方法监督哈希方法半监 督哈希方法

1.1.1 非监督哈希方法

利用图像数据特征(没有标签只能根据图像的数据特征)生成紧凑的二进 制编 码 。
(1)局 部 敏 感 哈 希 (LSH,Locality-sensitive Hashing)
参考文章:
https://www.cnblogs.com/wt869054461/p/8148940.html
https://blog.csdn.net/yc461515457/article/details/48845775
LSH的基本思想是:原始数据空间中的两个相邻数据点通过相同的映射或投影变换(projection)后,这两个数据点在新的数据空间中仍然相邻的概率很大,而不相邻的数据点被映射到同一个桶的概率很小。也就是说,如果我们对原始数据进行一些hash映射后,我们希望原先相邻的两个数据能够被hash到相同的桶内,具有相同的桶号。对原始数据集合中所有的数据都进行hash映射后,我们就得到了一个hash table,这些原始数据集被分散到了hash table的桶内,每个桶会落入一些原始数据,属于同一个桶内的数据就有很大可能是相邻的,当然也存在不相邻的数据被hash到了同一个桶内。 因此,如果我们能够找到这样一些hash functions,使得经过它们的哈希映射变换后,原始空间中相邻的数据落入相同的桶内的话,那么我们在该数据集合中进行近邻查找就变得容易了,我们只需要将查询数据进行哈希映射得到其桶号,然后取出该桶号对应桶内的所有数据,再进行线性匹配即可查找到与查询数据相邻的数据。换句话说,我们通过hash function映射变换操作,将原始数据集合分成了多个子集合,而每个子集合中的数据间是相邻的且该子集合中的元素个数较小,因此将一个在超大集合内查找相邻元素的问题转化为了在一个很小的集合内查找相邻元素的问题,显然计算量下降了很多。
那具有怎样特点的hash functions才能够使得原本相邻的两个数据点经过hash变换后会落入相同的桶内?这些hash function需要满足以下两个条件:

1)如果d(x,y) ≤ d1, 则h(x) = h(y)的概率至少为p1;
2)如果d(x,y) ≥ d2, 则h(x) = h(y)的概率至多为p2

  • 其中d(x,y)表示x和y之间的距离,d1 < d2, h(x)和h(y)分别表示对x和y进行hash变换。

满足以上两个条件的hash functions称为 (d1,d2,p1,p2)-sensitive 。而通过一个或多个(d1,d2,p1,p2)-sensitive的hash function对原始数据集合进行hashing生成一个或多个hash table的过程称为Locality-sensitive Hashing。

LSH在图像检索中的应用:
在图像检索领域,每张图片可以由一个或多个特征向量来表达,为了检索出与查询图片相似的图片集合,我们可以对图片数据库中的所有特征向量建立LSH索引,然后通过查找LSH索引来加快检索速度。图像的特征通过相同的Hash后,相同的特征在新的数据空间中仍然相邻(同一个hash表)的概率很大,而不相邻的特征被映射到同一个hash表的概率很小
缺点:由于 在构 造哈希函数过程中并没有利用数据本身 ,所 以检索准确率不高

空间转换
这里涉及到原空间所有的点集坐标向量转换成二值向量的空间转换问题,具体转换过程如下:

1.计算出点集中坐标值最大的值C
2.对数据集中每一个点p(x1,x2…xn)的每一个维度xi变换成一个长度为C的向量,向量的前xi(xi的值)个元素为1,其余为0
3.把n个长度为C的向量链接成一个长度为Cn的向量
这样,就把数据集中的每一个点转换成了二值向量。

  • 一个例子:二维坐标下两个点p1(3,4),p2(4,7)则:
    1.c=7
    2.数据集有两个数据x1和x2,将这两个维度都转换成长度为c的向量,前xi个为1:
    p1:3->1110000, 4->1111000
    p2:4->1111000, 7->1111111
    3.链接:p1:11100001111000,p2:11110001111111
    汉明距离为:(p1亦或p2)=4

(2)谱哈希 (SH)
将 问 题转 换 成 拉 普 拉 斯 特 征 图 的降 维 问题 来求 解 哈希码 ,提 高 了检索精度
(3)迭代量化方法
学 习 最优旋 转 矩 阵来 减 小 量化 误 差 ,又进 一 步 提 高了检 索精 度

1.1.2 监督哈希方法

利用图像的标签信息对哈希函数进行训 练 ,即为监督哈希方法。离 散 监 督 哈希 方 法通过解 决一 个正 则化 的子 问 题 ,可 以处 理大规模 数据集 ;基 于 核 的监 督 哈希 用 带 标 签数 据 学 习得到哈希 函数 ,将 各个 数据 分别 输入 哈希 函数 ,得 到所有 图像数 据 的 哈希 编 码 序 列l 。与 非 监 督 哈希 方 法 相比 ,监督 哈希 方法 在 检 索 精 度 上有 了提 高 。

1.1.3 半监督哈希方法

半 监 督哈希 方法 利用 一小 部分 带有 标签 的 图像 数 据作 为监督信 息 ,避免 过拟合 ,提 高 了算法 的泛 化能 力

1.2 非对称距离

文中引用的论文:二值嵌入的非对称距离
Asymmetric Distances for Binary Embeddings

根据是 否将 查 询 向量 量化 为 二 进 制 哈 希码 ,计 算 向量间近似 欧 氏距离 的方法 可 分为对 称距 离计 算 和非对称距 离 计算。
两种 距 离的计 算方 式如 下图所示 。对 于 给定 的查询 向量 x2和 数 据 集 中任 一 向 量x1 ,对 称 距 离计算 方法 计算 这两 个 向量量 化后 各 自码 字 【二进制编码序列】cy1和 cy2。间的距 离 ,而非 对称 距离计 算 查询 向量x2本 身与 数据集 中的 向量 x1 量化后 的码字cy2的距 离 。 非 对称 距离 比对 称距 离误 差上界 小 ,因此 利用 非 对 称距 离提 高图像 查询 精度 。
在这里插入图片描述

2 本文工作

文章针对传统哈希方法存在的问题提出了新的解决方式,问题如下:
每 个 子 空 间 的信 息量 不 相 同 ,信 息量 越 大 的 子空间越 重要 。传 统 哈希方 法使 用与 具有 较多 信息 量的子 空间相 同位 数 的码字来 量 化具有 较 少信 息量 的子 空 间 ,会产 生码 字 的冗余 ,而 如果使 用 与具有 较少信 息量 的子 空 间相 同位数 的码 字来量 化具 有较 多信息 量 的子空 间 ,则 部分 信息将 丢 失 ,导 致量 化误 差变大 ,因此 ,可 利用 投影 数据 的信 息量 大小来 优化 子 空问编码 分配 策 略 ,减小 量化 误差 ,提 高检 索精度 。

2.1 子空间数据分布

对 于 n个原 始 图像 S= {S1,S2 ,… Sn},S∈ RD,k=1,2,… ,n, 【有n张图像,每一幅图像是Sk,每幅图像可以看作维度为D的向量】。经 过投 影 函数 f(Sk)降 维后 的数据 集表 示 为 X={X 1,X2 ,… ,Xn },Xk ∈Rd ,其 中 Xk表 示 Sk经 过 降维投 影后 的 向量 ,即 Xk =f(Sk),【Xk =f(Sk), Xk是Sk投影得到的向量,Xk的维度是d。f具体形式不知道。。。】。设 X k编 码 为b位 的二进 制码 Cyk.则 经过 编 码 量化 后 的数 据集 表示 为 Cy={Cy1 ,Cy2,… ,Cyn),Cyk∈ {0,1}b【Cyk是取值为0、1序列的二进制编码,编码长度是b。从图像Sk转换为向量Xk是经过函数Xk =f(Sk),那么从向量Xk转换成Cyk的二进制编码如何进行???如下】。将 投影 空间 X分解 为 m个 维 度 为 a的子 空 间 Yi ,a=d/m ,i=1,2,… ,m,【Xi的维度是d,子空间的维度是a,那么有d/a=m个子空间,每个子空间表示为Yi。也就是说,某一个图Sk对应的特征向量Xk有m个子空间Yi,i=1,…,m】每 个 子 空 间 Yi 通 过 哈 希 量 化 学 习 函数 hi(·)生成 2bi个子码字【每个子空间通过hash函数生成长度为bi的0、1二进制编码串,每个bi到底是多少?不知道。另外,2bi个子码字应该是bi位二进制的取值个数。在hash映射前,向量里的数值不是0、1序列;而子空间Xki在hash函数映射之后得到长度为bi的0、1序列】 ,并且
在这里插入图片描述
对于任 意Xk ,设 其位 于第 i个 子 空 间 的子 向量 为Xki ,Xki通 过 h(·)生成 长度 为 bi 的码 字
在这里插入图片描述
连 接m个 子空 间 的所有码 字 ,可形 成 Cyk【链接所有子空间的码字得到长度为b的特征向量Xi对应的二进制编码,具体的每个子空间的bi是多少不知道】

在信 息理论 中 ,方差 和熵是 信 息量 的测量 标准 ,本 文 选择方 差作 为信 息量 的度 量 。
使用 Yi的平 均 方差 A(Yi )来 描 述 Yi的信 息 量大小 ,A(Yi )的定义 为
在这里插入图片描述

式 中 :v(Yij )表 示Yi的第j 维 数 据 的方 差j= 1,2,… ,a。【为啥是a呢?a是子空间Yi的维度,j=1到a是某一个子空间Yi中每一个维度。】定 义 整个 投影数 据 空间 X的信息 量
在这里插入图片描述
【从i=1到m,求A(Yi)的和,结果就是求得一幅图片的信息量。S(X)应该是对一个数据而言的】

2.2 子空间自适应编码量化策略

2.2.1 子空间编码位数粗分配

直 观上 ,子 空 间二 进制 哈希 码 的 比特 位 数应 与子 空 间方差成 比例 。如 图 2所 示 ,将 x 分 为 4个 子空 间 ,且 4个 子空 间的方差 依次减小 ,为保 留原始 空间的邻 近结 构 ,对于具 有 更 大方 差 的子 空间应 使 用 更 多 的 比特 位 编 码 ,即使 得

b1>b2>b3>b4

在这里插入图片描述
对 于 给定长 度 为 b的二 进 制 编码 ,平 均 到 每 比特位上 的方差

μ=S(x)/b

μbi 表 示 子 空 间 Yi分 配 bi 比特 位 后 的平 均 方差 ,μbi应 与 Yi实 际 的平均方差 A(Yi)尽量 接 近 。问题描 述 为
在这里插入图片描述
求解 上式,可 以得 到如下 近 似解
在这里插入图片描述
在这里插入图片描述
式 中 :[·]表 示 向下取整 。式 (4)完成 了根据 子空 间方 差 的大小来 确 定每个 子 空间 的 比特 编码位 数 的粗分 配 。

2.2.2 编码分配优化

上面粗分配存在的问题及解决方案:

  1. 若 部 分 子 空 问 的 A (Yi )值 非 常 接 近 ,且A(Yi)的 值 又 比较 小 ,例 如 ,假 设 A(Yi )是 投影 数 据集 中第 P个子空 间 的平均 方差 ,1≤p≤ m【一共有m个子空间,每个空间a维】,那 么 当满足A(Yp)<0.5∑(i= 1到m) A(Yi)/b时,将会导致bp=0并且∑(i=1到m) bi≠b,这与限定条件∑(i=1到m) bi=b不符。
    在这里插入图片描述
    为 了解 决 该 问 题 ,本 文 参 考 多 比特 位 量 化 方法 ,将式
    在这里插入图片描述
    所表示 的子空间编码分配方案 调整为
    在这里插入图片描述
    根据上式可知,若 bp=0,且∑(j=1到p-1) bj≠b,人为 设定 bp=1,则 分 配得 到的第 i个 子空 间哈 希编码 长度bi满足了限定条件 ∑(i=1到m) bi=b。【???】
  2. 对 于第 i个 子 空 间 ,分 配 得 到 bi 位 (论文是di,写错了?) 哈 希 编码 ,可 以产生 2bi个 用 于 量 化 的 子码 字 ,与 固定 子 空间相 同编码位 数 的量 化 方 法 相 比,每个 子 空 间可 以产 生大小 为 2b/m 的子 码 字【固定子空间的编码长度=总的编码长度b/子空间大小m】 ,则 可 以通 过 对 子空 间个数 m 的控 制 实现对 子码 字大 小 的控制 ,而本 文 提 出的根据 子空 间方 差 /信 息量 大 小 的 自适 应 多 位 编码的分 配 策略无 法 实现 对 子码 字 大小 的 控 制 ,从 而可能产 生 问题 :当投 影数据 集 的大小 n< 2bi 时 ,将会 导致 不足 以生 成 2bi 组子 码字 【投影数据集是啥???为什么???】
    为解 决该 问题 ,本文 先计 算最 大编码 分 配
    在这里插入图片描述
    根 据上式计 算 出第 i个子 空 间编 码 的初分 配 bi,由于bmax的限制 ,因此 ,可 以对 bi 进行 优化
    在这里插入图片描述
    至 此 ,完 成 了根据 子 空 间信 息 量分 布 ,得 到第 i个子空间满足 ∑(i=1到m) bi=b 的哈希编码bi的分配及优化。

【以上只说明了对于一个向量Xk的子空间Xki的分配编码的长度bi,没有说如何编码。前面的也没有说从图Sk如何降维投影成向量Xk】

2.3 非对称距离

3 实验分析

提 取 了数据集图 像 的GIST特 征 ,每 幅 图像 用 512维 GIST 特征 向量 表示。数据 经 过投 影 后 的维 度 为 d,每 个 子 空 间 维度 为 s,则 划分 的子 空 间个 数 m=d/s。,s= 8是 平 衡 了效 率 和 效果 的合理 取值。
采 用 主成分 分 析作 为投影 函数 ,子空 问 的信 息量 依次 递减 ,具有 更 多信息 量的子 空 间分配 到 了更多 的 比特位 编码:
在这里插入图片描述
一共有8个子空间,{13,3}只有两个是因为后面为0缺省,13+3=16.下面类似。。。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值