广州市建设工程检测协会网站,电子机箱网站建设报告,图片展示型网站,网上视频教程怎么制作前言
大家能看到这篇文章#xff0c;想必对HOG还是有些了解了#xff0c;那我就不赘述了#xff0c;其实我自己不太懂#xff0c;但是还是比刚开始好一些了。下面我的代码是参考这位博主的#xff1a;点我查看
上面那位博主是用的cifar-10数据集#xff0c;但是我们的数…前言
大家能看到这篇文章想必对HOG还是有些了解了那我就不赘述了其实我自己不太懂但是还是比刚开始好一些了。下面我的代码是参考这位博主的点我查看
上面那位博主是用的cifar-10数据集但是我们的数据集很可能是普通的图片所以我进行了一些改进。
注意事项 你的图片长宽可以不相等设置好image_height和image_width即可。 如果图片大小不相等可以使用change_size.py把所有图片大小resize成一样的。 你图片对应的标签必须是这样的 001.jpg 1 003.jpg 2 前面是图片名称后面是对应的类别类别用数字表示中间要用空格隔开每个标签占一行。 你要准备两个文件一个是训练用的一个是测试用的。 训练样本标签和预测的都是一样的格式 大家可以看github上面的实例.(image文件夹) 你的训练和测试的图片可以放在同一个文件夹下面也可以不同设置好train_image_path和test_image_path即可。 你要根据你图片的大小对这行代码进行一些调整这个调整需要你先了解hog的知识 fd hog(gray, orientations18, pixels_per_cell[8,8], cells_per_block[4,4], visualiseFalse, transform_sqrtTrue) 这是我为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
#图片大小
image_height 128
image_width 128你需要安装sk-learn库hogPIL库等。可能还有一些零碎的库大家用pip安装就好。 实验都是彩色图片如果你的图片是纯黑白的很有可能需要改一下代码看一下代码注释即可
采用这个测试cifar-10,准确率有50%多一点点乱猜的准确率是10%所以效果还是可以的虽然比不上深度学习。
为了方便大家查看代码放在了github:GitHub - xiaobingchan/HOG_SVM: 使用HOGSVM进行图像分类
可能出现的错误
ValueError: Expected 2D array, got 1D array instead: array[]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 出现上面的错误说明没有正常读取到图片所以请检查图片宽高是不是和设置的size一样路径是否正确。更改之后运行程序时请选择重新获取特征。
任何程序错误以及技术疑问或需要解答的请添加