首页 > 代码库 > 图像特征提取方法:Bag-of-words
图像特征提取方法:Bag-of-words
Bag-of-words简介
最初的Bag-of-words ,也叫做“词袋”,在信息检索中,Bag-of-words model假定对于一个文本,忽略其词序和语法,句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文本中每个词的出现都是独立的,不依赖于其他词是否出现。应用于文本的BoW简单实例
John likes to watch movies. Mary likes too.
John also likes to watch football games.
根据上述两句话中出现的单词, 我们能构建出一个字典
{"John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5, "also": 6, "football": 7, "games": 8, "Mary": 9, "too": 10}
该字典中包含10个单词, 每个单词有唯一索引. 根据这个字典, 我们能将上述两句话重新表达为下述两个向量:
[1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
[1, 1, 1, 1, 0, 1, 1, 1, 0, 0]
这两个向量共包含10个元素,其中第i个元素表示字典中第i个单词在句子中出现的次数。因此BoW模型可认为是一种统计直方图。在文本检索和处理应用中, 可以通过该模型很方便的计算词频.
Bag-of-words应用于图像处理
背景知识
SIFT简介
SIFT,尺度不变特征转换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述子。这种描述具有尺度不变性,可在图像中检测出关键点。是一种局部描述子。SIFT优势
SIFT特征不只具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果。所以应用于图像识别时,可以抑制图像尺度、角度、亮度等影响。图像特征提取
图像可以类比为文档,图像中的单词可以定义为一个图像块的特征向量。那么图像的BoW模型即是 “图像中所有图像块的特征向量得到的直方图”。1.特征提取
假设有N张图像,第i张图像图像可由n(i)个image patch组成, 也即可以由n(i)个特征向量表达。则总共能得sum(n(i))个特征向量(即单词)。特征向量可以使用SIFT方法获取,每一个patch特征向量的维数是128。
2.生成词典/码本
假设词典的大小为100,即有100个词。用K-means算法对所有的patch进行聚类,k=100,当k-means收敛时,我们也得到了每一个聚类最后的质心,那么这100个质心(维数128)就是词典里的100个词了,词典构建完毕。3.根据码本生成直方图
对每张图片,通过最近邻计算该图片的每个 “单词”应该属于聚类中的“哪一类”单词,从而得到该图片对应于该码本的BoW表示。Bag-of-words模型构建完成,就可以进行分类、预测等训练
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。