这是一个贝叶斯模型的计算机视觉小项目。希望大家通过这个简单的项目知道一般的计算机视觉项目是怎样操作的。


我先讲题目放在这里希望有兴趣的童鞋花一周的时间思考并用python实现。一周以后我来发布我的详细操作细节和代码。

希望大家能够通过这个简单的项目将自己学到的机器学习以及计算机视觉的知识应用到实践其中。

基于OpenCV编写一个基于朴素贝叶斯的图片分类分类程序

要求:

[1] 在google的图片搜索引擎中输入"flower"和"airplane",分别下载m(>100)张"flower"图片和n(>100)张"sky"图片,作为数据集的正负样本;(注意:这两类图片也能够随意选择,比方"chair"和"car")

[2] 视觉词典的构建採用例如以下的方式:随机从每张训练集的图片中分割出p(p>500)个25x25的图片块,计算改图像块的颜色直方图特征(6x6x6个区间),然后将这些图像块(共同拥有p*(m+n))用kmeans聚成K(K>1000)个类,作为词典;注:kmeans能够直接调用opencv,或者用其它工具包来聚类。

[3] 训练或者測试时,对待測试的图片进行密集採样,用Histogram Intersection距离(计算公式为)。採用近期邻的方法计算每一个单词的次数。

[4] 使用5折交叉验证计算出平均的Precision和Recall;


数据集大家能够考虑编写一个爬虫到谷歌下载图片(假设能够的  麻烦教我爬虫怎么操作哈)假设不行的能够找我索要数据集QQ 42 #14# 14# 626 。