本代码实现环境为opencv3.2.0,Python2.7,实现功能是汽车检测,主要用到SVM和BOW构建分类器。
BOW又名词袋,最开始出现是用来解决文档分类,在一系列文档中计算每个词出现的次数,用这些词构成的向量重新表示文档。在计算机视觉中可以用来目标检测:
(1)需要一个类似于字典的数据集,数据集可以通过网络下载,本文中用的数据集是UIUC Car Detection,里面包含500 张图片。
(2)通过SIFT或者SUFR等方法对数据集中的每幅图片提取描述符,并将描述符添加到BOW训练器中。
(3)执行K-means分类,并返回词汇
(4)创建数组,保存训练数据和标签
(5)创建SVM,并将训练数据和标签放进SVM进行训练
————————至此,准备工作全部完成—————————
(6)预测图片