Large Scale Matching
以前由于图片数量的限制,我们一般对图片做detection,然而随着网络的快速发展,图片的数量也快速增长,我们几乎可以拥有所有图片,因此detection问题转化为matching问题。然而如何在这大量图片中实现匹配呢?解决该问题关键在于怎样对图片进行有效降维,即用更少的空间代表图片,一般我们用二值化的向量来表示。这样不仅可以减少存储空间,并且可以提高匹配速度。更重要的是相似的图片具有相同的编码,因此大大地减少了搜索空间。
现有的方法包含以下几种:
1、Local Sensitive Hashing(LSH):使用多个hash function,将每个hash function值量化为few bits,这样整个特征空间被划分为若干个区域,相似的图片具有相似的编码。
2、RBM:是机器学习的基础算法。它的输出即为降维后的二值向量
3、BoostSCC:即学习阈值来量化LSH中hash function的值。
4、Spectral Hashing:通过学习的方法来得到二值化向量。主要思想是如何找到一个特征表示,使hamming distance的相似度与原特征空间(在这里认为是欧式空间)中的相似度一致,即相似的图片hamming distance越小,反之越大。目标函数即最小化hamming distance,hamming distance的权值使用欧式空间的相似度来表示,exp[-pow(xi-xj)/t],t为欧式空间中与xi相似的特征的最大距离。
通过实验发现,RBM的结果最好,搜索空间最小。这个也很好理解,RBM通过多层学习,学到的特征自然比其它方法得到的特征更具。
2014-03-27 14:03:15