HOG + SVM 进行图片分类(python)
来源:互联网 发布:java oracle 快速入门 编辑:程序博客网 时间:2024/06/13 18:35
前言
大家能看到这篇文章,想必对HOG还是有些了解了,那我就不赘述了,其实我自己不太懂,但是还是比刚开始好一些了。下面我的代码是参考这位博主的:点我查看
上面那位博主是用的cifar-10数据集,但是我们的数据集很可能是普通的图片,所以我进行了一些改进。
注意事项:
你的图片必须是正方形,你需要调整图片大小可以参考这篇文章,把图片全部换成宽高相等的。
你图片对应的标签必须是这样的:
001.jpg 1
003.jpg 2
前面是图片名称,后面是对应的类别,中间要用空格隔开,每个标签占一行。
你要准备两个文件,一个是训练用的,一个是测试用的。
你的训练和测试的图片可以放在同一个文件夹下面
你要更具你图片的大小,对这行代码进行一些调整,这个调整需要你先了解hog的知识:
fd = hog(gray, orientations=18, pixels_per_cell=[8,8], cells_per_block=[4,4], visualise=False, transform_sqrt=True)
这是我为128x128大小图片设置的提取hog特征的参数,你需要适当改变一些,到时候的效果也不同。
orientations
我是选9或18,即梯度方向的个数一般来说,图片越大,
pixels_per_cell
和cells_per_block
里面的值可以相应变大。如果你要进行多次,建议你把文件位置的参数写死
#训练集图片的位置train_image_path = '/home/icelee/Downloads/dataset/small_shixun/'#测试集图片的位置test_image_path = '/home/icelee/Downloads/dataset/small_shixun/'#训练集标签的位置train_label_path = '/home/icelee/Downloads/dataset/mydata.txt'#测试集标签的位置test_label_path = '/home/icelee/Downloads/dataset/test.txt'#图片大小size = 128
- 你需要安装sk-learn库,hog,PIL库等。可能还有一些零碎的库,大家用pip安装就好。
采用这个测试cifar-10,准确率有50%多一点点(乱猜的准确率是10%),所以效果还是可以的,虽然比不上深度学习。
点我下载代码
代码只有130多行,可以按照提示进行填写路径。不懂的欢迎留言~~
阅读全文
0 0
- HOG + SVM 进行图片分类(python)
- HOG+SVM进行图像分类
- SVM+HOG对图像进行分类(MATLAB实现)
- SVM+HOG对图像进行多分类(OpenCV实现)
- SVM分类器进行HOG行人检测
- OpenCV3.2 HOG+SVM进行物体分类
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 自己训练SVM分类器进行HOG行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- 利用Hog特征和SVM分类器进行行人检测
- Mvvm Light Toolkit 入门
- gradle进行工程环境配置(通过修改Asset目录下的文件)
- 我的第一个hbuilder项目,基于h5的五子棋游戏
- 我的第一个Hbulider项目——基于html5的五子棋游戏
- ORB-SLAM2详解(六)闭环检测
- HOG + SVM 进行图片分类(python)
- 操作系统 -- PV操作
- <c:url/>标签用法
- 补充排序的性能比较
- Oracle 学习笔记(1)
- MyBatis 动态SQL语句
- JAVA_HOME环境变量失效的解决办法
- Cow Contest(Floyd求传递闭包)
- Redis笔记,主从复制 (2.1)