训练:
输入:训练图像集
步骤:
1,对所有的训练图像提取SIFT特征
2,对提取的SIFT特征使用kmeans算法得到k个聚类中心
3,将每张训练图像的SIFT特征通过第2步得到的kmeans模型进行聚类,将SIFT特征分为k个簇
4,对每张图像的每个簇的SIFT特征统计直方图,得到k维直方图,将图像由SIFT特征转换为k维直方图特征向量
5,将每一类的k维向量送入SVM分类器中训练,得到分类超平面
测试:
输入:测试图像
步骤:
1,提取SIFT特征
2,将SIFT特征转换为训练过程的kmeans模型的k维向量
输入:训练图像集
步骤:
1,对所有的训练图像提取SIFT特征
2,对提取的SIFT特征使用kmeans算法得到k个聚类中心
3,将每张训练图像的SIFT特征通过第2步得到的kmeans模型进行聚类,将SIFT特征分为k个簇
4,对每张图像的每个簇的SIFT特征统计直方图,得到k维直方图,将图像由SIFT特征转换为k维直方图特征向量
5,将每一类的k维向量送入SVM分类器中训练,得到分类超平面
测试:
输入:测试图像
步骤:
1,提取SIFT特征
2,将SIFT特征转换为训练过程的kmeans模型的k维向量
3,通过SVM超平面进行划分
以上,是我对BOW模型的最简单的描述,如果用matlab在调包的情况下应该可以在30行内完成该算法,各位可以尝试一下