图像检索----迭代量化(Iterative Quantization)理解
2016-10-03 12:29
218 查看
原文出处:http://blog.csdn.net/CHIERYU
,每个样本为d维,每个样本为一个行向量。假设所有样本都是0均值的,即满足一下条件:
通过c个函数
把每个样本x映射到一个二进制超立方体的一个顶点上,其中
是一个列向量。因此得到每个样本x在二进制超立方体上的二进制编码,编码长度c,用矩阵表示描述这个过程就是:
其中sgn函数是对矩阵的元素级操作,得到的是同样大小的矩阵。ITQ的目标就是学习一个编码矩阵:
。
什么样的二进制编码才是好的编码呢?所有位(总共c位编码)上编码的结果要满足编码为-1(实际上使用的是0而不是-1)和1的样本数相等且各位上编码应该是不相关的(否则出现编码冗余了)。而编码0和1的样本数相等等价于编码值的方差最大。即:
但是上式中含有sng(xw)函数不好处理,于是采用一种signed magnitude relaxation技术,将上式化为:
这样就讲一个离散的目标函数转化为一个连续的目标函数。这个式子跟PCA的目标式很像。
就是样本的协方差矩阵。因此,要找到协方差矩阵的前c个特征值对应的特征向量作为W。
另外,假设实数空间
中一个点v是样本点x乘以W投影后得到的投影空间中一个点,在欧式距离的测度下,v到超平面立方体
上最近的点就是超立方体的一个顶点
。因此,二值量化的目标函数是最小化这个距离
。于是使用等式替换V=XW,sgn(V)=B,二值量化误差目标式可以化为:
由于迹具有性质
,因此如果W是(1)的解,那么WR也是(1)的解。于是目标式可以变为:
目标式中使用的是F范数,即矩阵各元素的平方和再开根号。
但是Jegou et al发现不使用正交矩阵R,而仅仅使用一个随机旋转矩阵R也取得了很好的结果,而找一个随机旋转矩阵R要比找正交矩阵简单得多。
从上面可以看到最小化(3)式等价于最大化
,其中
。当
时更新
,否则更新
为0。
做SVD分解为
,更新R使得
。
参考文献:
1.Gong Y, Lazebnik S. Iterative quantization: A procrustean approach to learning binary codes[C]//Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. IEEE, 2011: 817-824.
(转载请注明作者和出处:http://blog.csdn.net/CHIERYU
未经允许请勿用于商业用途)
一.目标
数据集为:,每个样本为d维,每个样本为一个行向量。假设所有样本都是0均值的,即满足一下条件:
通过c个函数
把每个样本x映射到一个二进制超立方体的一个顶点上,其中
是一个列向量。因此得到每个样本x在二进制超立方体上的二进制编码,编码长度c,用矩阵表示描述这个过程就是:
其中sgn函数是对矩阵的元素级操作,得到的是同样大小的矩阵。ITQ的目标就是学习一个编码矩阵:
。
二.算法推导过程
在应用ITQ算法之前要对数据做PCA降维,把数据从d维降到c维,编码时编码长度就是c维。什么样的二进制编码才是好的编码呢?所有位(总共c位编码)上编码的结果要满足编码为-1(实际上使用的是0而不是-1)和1的样本数相等且各位上编码应该是不相关的(否则出现编码冗余了)。而编码0和1的样本数相等等价于编码值的方差最大。即:
但是上式中含有sng(xw)函数不好处理,于是采用一种signed magnitude relaxation技术,将上式化为:
这样就讲一个离散的目标函数转化为一个连续的目标函数。这个式子跟PCA的目标式很像。
就是样本的协方差矩阵。因此,要找到协方差矩阵的前c个特征值对应的特征向量作为W。
另外,假设实数空间
中一个点v是样本点x乘以W投影后得到的投影空间中一个点,在欧式距离的测度下,v到超平面立方体
上最近的点就是超立方体的一个顶点
。因此,二值量化的目标函数是最小化这个距离
。于是使用等式替换V=XW,sgn(V)=B,二值量化误差目标式可以化为:
由于迹具有性质
,因此如果W是(1)的解,那么WR也是(1)的解。于是目标式可以变为:
目标式中使用的是F范数,即矩阵各元素的平方和再开根号。
但是Jegou et al发现不使用正交矩阵R,而仅仅使用一个随机旋转矩阵R也取得了很好的结果,而找一个随机旋转矩阵R要比找正交矩阵简单得多。
三.推导步骤
1.降维。
在上述推导的指导下,先将数据从d维降到c维,然后使用RR(random rotate)方法找个旋转矩阵R,大小为c*c(实际中可以先随机生成一个矩阵,然后做SVD分解,用S作为旋转矩阵),右乘到降维后的数据V,最小化目标式(2)求得一个粗糙解。下面开始应用ITQ算法迭代新R,使得目标式(2)的值减少。2.固定R,更新B。
从上面可以看到最小化(3)式等价于最大化
,其中
。当
时更新
,否则更新
为0。
3.固定B,更新R。
当B固定时求解这个(2)目标式的最小值就是一个Orthogonal Procrustes problem。于是,先对矩阵做SVD分解为
,更新R使得
。
4)分支判断。
迭代次数是否达到50次,如果没有,则回到第2步;如果达到了,就结束循环。计算最后得到的编码就是sgn(XWR),大小为n*c。参考文献:
1.Gong Y, Lazebnik S. Iterative quantization: A procrustean approach to learning binary codes[C]//Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. IEEE, 2011: 817-824.
(转载请注明作者和出处:http://blog.csdn.net/CHIERYU
未经允许请勿用于商业用途)
相关文章推荐
- 图像检索----迭代量化(Iterative Quantization)理解
- 图像检索之乘积量化一
- 图像检索之乘积量化二
- 我的一篇关于图像检索领域中场景理解的报告
- 图像检索 - 乘积量化PQ(Product Quantization)
- 图像检索中BOW和LSH的一点理解
- 图像检索之乘积量化(Product Quantizer)
- 迭代量化:图像的压缩二进制表示
- ITQ(Iterative Quantization)迭代量化方法详解 hash 哈希算法
- 图像检索:RGBHistogram+欧几里得距离|卡方距离
- 完全理解Python迭代对象、迭代器、生成器
- 理解图像的傅里叶变换(细心分析)
- 深入理解JPEG图像格式Jphide隐写
- 基于OpenCV的图像检索系统
- 图像检索:基于内容的图像检索技术
- RGB图像之灰度级和通道的理解
- 基于HSV分块颜色直方图的图像检索算法
- 图像处理中Stride的理解
- 【CBIR】基于内容的图像检索技(CBIR)术相术介绍
- 用VC++实现图像检索技术3