Bag-of-colors for Improved Image Search

来源:互联网 发布:c语言调用void函数例子 编辑:程序博客网 时间:2024/06/05 17:43

1.论文介绍

这篇文章通过使用图像的颜色特征(全局和局部),并结合这SIFT特征,实现BoW,作者认为颜色特征可以作为SIFT特征的补充,达到超出传统方法的效果。

2.Bag of Color

Color特征的生成过程
颜色空间:作者基于前面人的工作,借用了CIE-Lab颜色特征。这个颜色空间更接近于欧式空间。

颜色字典
颜色字典是通过聚类来实现的,对于每一个图像的颜色特征分量,L,a,b分别进行量化,量化的bin分别为4,8所以得到的颜色词典大小为64=4*4*4 或者512=8*8*8。

作者具体的做法:

  • 1000张图片,来自Flickr
  • resize 256*256,转换为CIE-Lab形式,按16*16像素分块,得到256像素块
  • 对于每一块,找到出现次数最多得Lab颜色,如果最多次数少于5,那么随机选择一个Lab颜色。
  • 每张图256个Lab color,256*10000个颜色,使用k-means进行聚类得到k个聚类中心。得到颜色词典:C={c1,,ckc}
    下图表示有16,32,64个词的颜色词典。
    颜色词典

颜色签名的生成
得到了颜色词典之后:

  • 首先把图片resize到一个固定的像素个数16384个像素。
  • 对于每一个像素,求得距离(欧式距离)颜色词典 最近的那个颜色中心
  • 统计关于颜色中心的直方图分布。得到图像关于颜色中心的直方图表示。
    经过上述步骤之后,一幅图像就可以表示成颜色中心的直方图.

逆文档频率
逆文档频率作用是削弱那些经常出现,区分力度不是很强的词,增加那些很少出现,但区分力度强的
词。所以作者会在直方图的基础上乘以视觉中心的逆文档频率。

标准化
根据幂次定律,作者对于数据进行了幂次变换。
对于特征向量:x=(x1,,xd)的每一维进行变换
xi=xi
幂次定律的目标是降低经常在特征中出现的颜色中心。和idf不同的是它不考虑其他数据的统计特性。
然后对于幂次变换之后的数据进行归一化。得到最后的颜色签名,也就是颜色特征。
归一化方式:
xi=xidn=1xn

距离的度量
距离的度量有很多种方式,这里作者使用了L1,L2,以及地球距离,卡方距离,SJD散度,以及直方图求交集。

3.部分实验结果

词典大小,归一化以及距离度量的影响如下表
codebook
从上述的表格结果来看有如下的几个结论:

  • 在自己的数据集上进行学习得到的codebook,比直接拿别人训练好的数据效果要好。
  • 幂次变换可以使得mAP提高大约8%,说明不用考虑其他特征的统计特性是很重要的。
  • idf权重,对于mAP的提高,不是很大,大约在1%左右。
  • 总的来说,L1距离效果最好,其次是卡方X2和SJD,HI和FastEMD表现不好。

颜色空间的影响:

  • RGB颜色空间没有CIE-Lab空间好,
  • RGB空间的结果是mAP=59.9%,但是CIE-Lab 空间为63.8%

颜色字典大小的影响
关于字典大小对于查询质量和查询速度的影响可以参看下面的表格:
codebooksize
实验的数据集是Holidays,查询时间的测试,是在一百万的特征向量中查找L1距离最近的100个向量。
可以看出来随着codebook 大小的增加,查询时间再增加。但是可以看出来,使用颜色签名的速度要快于暴力搜索。

和标准的BoW比较
标准的BoW使用图像像素,mAP=38.4%,当使用BoC的时候,颜色词典大小为64和512时,mAP分别为,38.0%,45.3%,参见Swain的BoC模型的实验1到4.

和传统方法在数据集上的比较
在数据集INRIA Holiday,UKB上的比较结果如下图:
BoCSIFT
可以看出来,

  • BoC效果好于BoW,Holiday上的结果,mAP=54.9%
  • UKB上面的评估标准时top4的平均准确率。
  • UKB上,BoC的结果是,score=2.99
  • 虽然BoC的结果并没有达到,几何校验和Hamming Embedding 报告的最好结果,mAP=81.3%,score=3.42
  • 但是可以从上面的论述中看出来,作者的方法更为简单,所使用到的内存更少。

4.局部颜色特征

上述的方法主要是正对全局的特征,也就是对于一张图像来进行的提取特征,这就出现一个问题,如果是对于一些裁剪的图片,那么这个特征的效果可能就会不好,所以作者在考虑到SIFT特征的一些特性的时候,把颜色特征应用到SIFT点所在的区域。并和SIFT特征共同使用,结合Hamming Embedding达到更好地效果。

二进制签名
Hamming Embedding的作用是过滤到不匹配的图像点。二进制码的形成是通过SIFT进行比较获得的。所以可以把提取到的颜色特征,然后按着SIFT二进制码形成的过程得到关于颜色特征的二进制码,嵌入到特征点当中去。

颜色特征二进制码生成
首先作者会根据SIFT获得的候选点的位置,在这个区域内进行颜色特征的提取,生成一个kc=256的直方图,然后把这个直方图转换到一个特定长度的二进制码。具体的步骤如下:
假设一个256维的BoC向量需要降维到一个特定长度bc,bc=0..64的二进制串,对于这个256维的颜色特征,可能会很稀疏,大部分分量都为0,所以作者使用一种降维的方式,来生成二进制串。

  • 得到一个矩阵Bkc×kc使得每一行和每一列的元素之和为8.然后保存前bc行,获得一个矩阵 Bbc×kc
  • 对于一个局部颜色特征向量x经过B的投影,得到x=B×x
  • 对于获得的向量x的每一维,和一个学习数据上的这一维度上的中值进行比较,(类似于Hamming code的生成),将会产生一位二进制码。

经过上述的过程就可以生成Hamming Code.对于生成的二进制码,可以作为Hamming Embedding 的二进制码,来过滤不匹配的点。

5.实验

在上述过程当中作者做了部分实验,为了进行和SIFT对比,作者特意调整了SIFT的阈值,使得提取颜色特征的个数和SIFT特征相近。这样可以进行更好地比较。具体的特征个数如下表:
SIFTColor

颜色特征和SIFT的融合
从第二张图可以看出来,不同的数据集颜色特征起到的作用是不一样的。SIFT在Holidays上面的表现要好于局部的颜色特征,但是在UKB数据集上表现的结果却相反,从实验中作者得出来,SIFT对于实验起的作用在70-75%之间,其他的结果的提升是颜色特征起的作用。

和传统方法比较
可以从上面的表3,看出来Color SIFT在Holidays上的表现好于SIFT本身。
使用了SIFT和颜色特征二进制码的方法称为LBOC(Local Bag-Of-Color),这个方法相比于BOW+HE要有更好的表现。其中在mAP值上,分别高于SIFT+HE,Color+SIFT大约4.4,2.4个百分点。

大规模数据集的实验
作者在Holidays数据集上加入了从Flickr上大约100K的的图片,使用SIFT+LBOC,检索的mAP可以达到65.3%,而SIFT+HE得到的结果是61.2%.
可以看出来作者提出来的Color特征起到了不少的作用。

6.结论

作者在传统的BOW的框架下,使用了图像的颜色特征,提取图像的全局或者局部的特征,并配合这SIFT,以及Hamming Embedding 的思想,实验的结果表明,这种方法的性能要比单个的SIFT和Color SIFT要好。

0 0
原创粉丝点击