局部特征融合为全局特征笔记

图像特征分为全局特征和局部特征两种,其中全局特征代表了图像的整体表现特性,比如颜色直方图,而局部特征代表了图像的局部特性,往往能够从一幅图片中提取出若干个数量不等的局部特征,
这些局部特征组合起来代表了整幅图像的特征分布。其中局部特征提取算法(比如SIFT)提取出来的局部特征称为描述子,比如SIFT描述子的维度为128,那么如果从一张图像中提取出m个描述子,
该幅图像的描述子矩阵为m*128。每一张图片提取出的局部特征数可能是不同的,那么我们需要将这些不同数目的描述子融合成一个特征向量(假设维度为n)来表征整个图像,这样一张图片就可以用一个1*k
的向量来表征。这样做后就可以方便的实现图片检索,分类任务。

其中将局部特征融合为图片全局特征表示需要一个模型来转化。

BOW
其中源自文本分类领域的词袋模型(BOW)被应用于此就是一个很成功的应用案例。词袋模型通过对局部特征描述子进行聚类得到视觉单词,有了视觉单词就可以很方便地构建视觉词典。BOW典型的做法是计算图片所有描述子映射到离描述子最近的视觉单词,通过计算视觉单词词频来表征图片特征,其中这儿可以类似文本分类算法计算视觉单词的权重系数(IDF
inverse document frequency)来优化特征向量,还可以进行正则化(L2正则)。BOW得到的特征向量维度和视觉词典大小有关(也就是聚类中心数有关)

Fisher vector
fisher vector是通过fisher kernel计算。。。这儿fisher vector的计算过程很复杂,参考论文。
其中VLFEAT提供了fisher vector的计算接口,可以得到2*D*K维的fisher vector向量,该向量就是将一张图片中
的m*128维(假设用SIFT提取的特征)的描述子转化为一条表征整个图片的特征向量,最后得到的特征向量和BOW模型得到的特征向量是一样的效用。

聚类分为hard,soft聚类

hard聚类是非1即0型也就是说某个待聚类样本只能属于某个聚类中心,不属于其他聚类中心。(此方法的hard就这个感觉)

soft聚类以概率表征待聚类样本属于哪个聚类中心,这也比较合理。(某些样本离某些聚类中心又不近又不远,用概率表示归属于哪个聚类中心也比较符合自然感受)

典型的聚类算法有Kmeans,GMM等

GMM算法主要采用EM算法来计算聚类中心,Kmeans类似

EM算法可以说是用极大似然估计求参数估计的升级版本,EM算法是求得含有隐变量的利器,在求GMM算法的参数估计中发现样本标签算得上是隐变量了,EM求GMM参数估计的核心思路就是先初始化GMM参数值,计算在当前GMM参数下样本的聚类结果(分类结果,也就是求得了隐变量),该步骤称为E步骤。接下来再根据上面求得得样本标签(也就是隐变量)来求似然函数的极大参数估计,此步骤称为M步。接下来将M步求得的GMM参数计算E步,如此反复迭代,直到模型收敛且估计的参数不再有大变动。其中EM算法求得的GMM参数也可能是局部极值。

参考python实现fv,vlad,bow https://github.com/jeromewang-github/computer_vision

参考资料:论文,http://yongyuan.name/blog/CBIR-BoF-VLAD-FV.html

猜你喜欢

转载自blog.csdn.net/silence2015/article/details/79748812
今日推荐