基于matlab和bag of words的图像分类,
目录中不包含数据集!
设计目标
输入一幅图像,输出标签
可以固定图片大小
实现
数据集:caltech101
matlab + bag of words
改自ImageCategoryClassificationTrainSample
bag of words:利用matlab中bagOfFeatures函数提取SURF特征并K-means聚类构造“词典”
svm:利用trainImageCategoryClassifier函数训练线性SVM分类器
测试结果:
训练集正确率:97.91%
测试集正确率:30.11%
matlab + cnn + svm
改自DeepLearningImageClassificationSample
cnn:利用预先训练好的AlexNet CNN网络获取特征向量,由于AlexNet已经针对ImageNet上的众多样本进行了训练,从其中抽取的特征向量对于一般图像具有较强的区分能力
svm:fitcecoc函数可以方便地训练基于SVM的多分类分类器
测试结果:
训练集正确率:99.67%
测试集正确率:77.95%
运行说明
两个实验文件夹都包含xml、m文件
xml为matlab2016b的新功能,旧版本可使用m文件
两个文件夹都有predictCategory.m文件,该函数输入参数为一幅任意图形,输出参数为类别字符串的元胞数组