Program Links : https://github.com/JJJYmmm/Image-Classification-with-SIFT-and-BOW
ReadMe
使用SIFT+BOW+SVM实现的一个图像分类器。SIFT负责提取图片中的尺度不变特征,词袋模型BOW则负责描述一张图片的SIFT特征分布,将结果送入SVM进行学习。项目参考https://github.com/CV-xueba/A01_cvclass_basic_exercise,不过修复了其中的SPM特征提取代码bug,具体修复见Vocabulary.py中的calSPMFeature函数。
项目结构如下:
- main.py : 程序入口点
- DataProcess.py : 读取图像,提取图像的SIFT特征
- ImageInfo.py : 图像相关信息的类,包括类别、大小、SIFT特征的位置和描述符等
- Vocabulary.py : 词袋模型,将所有SIFT特征进行聚类得到单词,并提取每个图像的SPM特征
- ClassifierKernel.py : SVM学习BOW特征的实现
结果见项目output.txt
以下是测试集的混淆矩阵