BoW用于图像分类

关于boW模型简介,请看上篇博文;

下面简要说下Bow用于图像分类的过程;

SVM训练

SVM分类器的思想是通过寻找一个超平面来将属于不同类别的数据进行分类。SVM分类器的几何距离被定义为离超平面最近数据到超平面的距离。对于给定的数据X,我们通常给该类数据加上标签+1或者-1,SVM分类器函数通常是:

                                                               

其中w和b代表超平面的参数。

通常数据不是线性可分的,对此,SVM可以采取两种方法解决此问题。

一种是引如一个误差权重C,另一种是将原始数据映射到一个高维空间。为了更好的实现分类效果,我们在此引入核函数。

使用SVM训练特征直方图的包含两步,一是分别计算已知类别的图像的特征直方图;二是为已知图像添加标签,同类的图像标签相同。

实验

我们实验使用的数据库是Caltech101,该数据库含有102种物体类别,每种物体含有40到800张图像,大多数类别含有50张图像。每张图像的大小一般为300*200Pixel。

我们实验选取“anchor”、“brain”、“camera”、“cup”、“Faces”、“panda”六种物体类别,每种类别我们选取的训练样本在10到20张图像之间,测试样本在40到100张图像之间。图7是本次实验数据集的几张样本图片。

                           BoW用于图像分类_第1张图片

                                                                图7实验数据集图片样本

在此,我们使用的K均值聚类中的K值为1000,SVM使用RBF函数训练。图8是实验结果,由图8知道,“anchor”、“brain”、“camera”、“cup”、“Faces”、“panda”六类的正确识别率分别是:0.45、0.88、0.76、0.46、0.89、0.87、0.75。

总的测试图像为364张,正确识别的为272张,整体识别率为0.747。

                                       BoW用于图像分类_第2张图片

图8 实验结果


关于实验程序见download.csdn.net/detail/u010213393/8275761


你可能感兴趣的:(机器学习,C++)