HOG 行人检测 学习体会(如何制作训练样本)
2012-12-19 22:30
357 查看
转自:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=9146#p35176
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如何制作训练样本
分析了原作者的数据集,结合网上一些资料,下面描述如何制作训练样本
1、如何从原始图片生成样本
对比INRIAPerson\INRIAPerson\Train\pos(原始图片),INRIAPerson\train_64x128_H96\pos(生成样本)可以发现,作者从原始图片裁剪出一些站立的人,要求该人不被遮挡,然后对剪裁的图片left-right reflect。以第一张图片为例crop001001,它剪裁了2个不被遮挡的人,再加上原照片,共3张,再加左右镜像,总共6张。
2、裁剪
可利用基于opencv1.0的程序imageclipper,进行裁剪并保存,它会自动生成文件名并保存在同一路径下新生成的imageclipper文件夹下。
3.改变图片大小
可以利用Acdsee软件,Tools/open in editor,进去后到Resize选项; tools/rotate还可实现left-right reflect
4. 制作pos.lst列表 进入dos界面,定位到需要制作列表的图片文件夹下,输入 dir /b> pos.lst,即可生成文件列表;
仔细分析了cvhop.cpp中的compute函数,可以直接调用它来获得样本HOG,然后训练得到检测算子
1.制作样本
2.对每一张图片调用
hog.compute(img, descriptors,Size(8,8), Size(0,0));
可以生成hog descriptors,把它保存到文件中
for(int j=0;j<3780;j++)
fprintf(f,"%f,",descriptors[j]);
3.利用SVM进行训练和分类,可得到权重系数,即getDefaultPeopleDetector()函数中调用的检测算子detector[ ]
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如何制作训练样本
分析了原作者的数据集,结合网上一些资料,下面描述如何制作训练样本
1、如何从原始图片生成样本
对比INRIAPerson\INRIAPerson\Train\pos(原始图片),INRIAPerson\train_64x128_H96\pos(生成样本)可以发现,作者从原始图片裁剪出一些站立的人,要求该人不被遮挡,然后对剪裁的图片left-right reflect。以第一张图片为例crop001001,它剪裁了2个不被遮挡的人,再加上原照片,共3张,再加左右镜像,总共6张。
2、裁剪
可利用基于opencv1.0的程序imageclipper,进行裁剪并保存,它会自动生成文件名并保存在同一路径下新生成的imageclipper文件夹下。
3.改变图片大小
可以利用Acdsee软件,Tools/open in editor,进去后到Resize选项; tools/rotate还可实现left-right reflect
4. 制作pos.lst列表 进入dos界面,定位到需要制作列表的图片文件夹下,输入 dir /b> pos.lst,即可生成文件列表;
仔细分析了cvhop.cpp中的compute函数,可以直接调用它来获得样本HOG,然后训练得到检测算子
1.制作样本
2.对每一张图片调用
hog.compute(img, descriptors,Size(8,8), Size(0,0));
可以生成hog descriptors,把它保存到文件中
for(int j=0;j<3780;j++)
fprintf(f,"%f,",descriptors[j]);
3.利用SVM进行训练和分类,可得到权重系数,即getDefaultPeopleDetector()函数中调用的检测算子detector[ ]
相关文章推荐
- HOG 行人检测 学习体会(如何制作训练样本)
- HOG 行人检测 学习体会(如何制作训练样本)
- 利用Hog特征和SVM分类器进行行人检测(自己收集正反例样本训练分类器)
- (转)利用Hog特征和SVM分类器进行行人检测(自己收集正反例样本训练分类器)
- 开篇-HOG提取训练检测+样本制作
- 开篇-HOG提取训练检测+样本制作
- 开篇-HOG提取训练检测+样本制作
- HOG提取训练检测+样本制作
- HOG行人检测 如何制作样品
- 开篇-HOG提取训练检测+样本制作
- 自己训练SVM分类器进行HOG行人检测
- 自己训练SVM分类器进行HOG行人检测
- 深度学习实践经验:用Faster R-CNN训练行人检测数据集Caltech——准备工作
- HOG+SVM 自己制作训练样本+训练分类器
- 目标检测学习_1(用opencv自带hog实现行人检测)
- 自己训练SVM分类器进行HOG行人检测
- 深度学习实践经验:用Faster R-CNN训练行人检测数据集Caltech——准备工作
- 用opencv的traincascade.exe训练行人的HAAR、LBP和HOG特征的xml文件,并对分类器进行加载和检测
- 目标检测学习_1(用opencv自带hog实现行人检测)
- SVM+HOG:利用训练好的XML进行行人检测(检测效果)