对人脸检测训练样本如何生成正样本描述文件和负样本集合文件
来源:互联网 发布:在线报名系统 php 编辑:程序博客网 时间:2024/06/02 09:08
本博是笔者读书笔记整理,欢迎转载,请注明出处,如有不足,还望网友们指教。
准备工作:
1 两个文件夹,一个存放的是人脸样本,一个存放的是非人脸样本;
2 opencv_createsamples.exe 该可执行文件在opencv的bin文件夹下,请注意查找;
注:
正样本需要生成的是正样本描述文件,负样本生成的是负样本集合文件,两者是不一样的,因为,在正样本的描述文件中的每一行的末尾都含有1 0 0 20 20这样的内容,1的含义是该幅人脸图片中只含有一个人脸,后面两个0的含义是,人脸在图片的启事坐标为(0,0);最后两个20的含义是该人脸的大小,宽为20个像素,高为20个像素。
一 生成正样本描述文件
1 利用上一篇内容,可以对正样本人脸图片生成一个.txt文件,下面需要进一步处理。假设这个已经生成的.txt文件的名字是pos.txt。
其内容举例:
F:\OpenCV\train\MSLGface_train3\faces\004998.bmp
F:\OpenCV\train\MSLGface_train3\faces\006994.bmp
F:\OpenCV\train\MSLGface_train3\faces\007395.bmp
F:\OpenCV\train\MSLGface_train3\faces\010796.bmp
F:\OpenCV\train\MSLGface_train3\faces\014985.bmp
。。。。。
再新建一个批处理文件(.bat),暂时取名为pos_vec.bat,其内容如下:
@echo off
set c= 1 0 0 20 20
for /f "tokens=* delims= " %%i in (pos.txt) do echo %%i%c%>>"pos5.txt"
pause
注:
“tokens=* ”表示取整个行当成一个整体;
“delims= ”的后面一定要有空格;
%%i in (pos.txt):中间也一定有空格,当时我没有,老是出错;
这样,结果就生成了一个新的pos5.txt文件,处理后的内容举例:
F:\OpenCV\train\MSLGface_train3\faces\004998.bmp 1 0 0 20 20
F:\OpenCV\train\MSLGface_train3\faces\006994.bmp 1 0 0 20 20
F:\OpenCV\train\MSLGface_train3\faces\007395.bmp 1 0 0 20 20
F:\OpenCV\train\MSLGface_train3\faces\010796.bmp 1 0 0 20 20
F:\OpenCV\train\MSLGface_train3\faces\014985.bmp 1 0 0 20 20
。。。。。
2 运行opencv_createsamples.exe
新建一个opencv_createsamples.bat文件,编辑内容如下:
cd F:\OpenCV\train\MSLGface_train3
opencv_createsamples.exe -info pos5.txt -vec vec.txt -w 20 -h 20 -num 2706
pause
注:
上述绝对路径“ F:\OpenCV\train\MSLGface_train3”要根据你自己的路径自行修改;
-info pos5.txt:表示输入需要处理的文件;
-vec vec.txt:表示输出文件,也有人是输出的.vec文件,不过效果都是都是一样的;
到达这一步,正样本描述文件终于训练出来的,不容易呀,不容呀
二 生成负样本集合文件文件
负样本集合文件的生成比较简单,请参考上一篇博客http://blog.csdn.net/ding977921830/article/details/45913789,生成的.txt文件即为所求。
- 对人脸检测训练样本如何生成正样本描述文件和负样本集合文件
- python生成opencv正样本和负样本描述文件
- 人脸检测训练样本
- Tesseract-OCR 样本训练,生成语言文件
- 训练样本和测试样本
- SVM人脸样本训练检测流程
- SVM+HOG:用初次训练的.xml分类器在负样本原图上检测生成HardExample样本
- 关于ADABOOST人脸检测负样本的选取
- 关于ADABOOST人脸检测负样本的选取
- 快速生成训练样本与标签样本之间的索引文件
- 如何打乱训练样本和测试样本的顺序
- 训练样本和测试样本(还有验证样本)
- 机器学习中的正/负样本
- 根据当前文件夹下所有文件随机自动生成训练和测试样本列表
- MATLAB生成正态样本以及正态矩阵、从文件读入矩阵
- 为OpenCV产生正样本描述文件写的一个小程序
- HOG 行人检测 学习体会(如何制作训练样本)
- HOG 行人检测 学习体会(如何制作训练样本)
- 阿里巴巴Dubbo实现的源码分析
- c++学习(1)--explicit
- tar 基本操作
- Count and Say
- JVM -XX: 参数介绍
- 对人脸检测训练样本如何生成正样本描述文件和负样本集合文件
- FileStream类
- BZOJ 1116: [POI2008]CLO
- 关于Android中的乱码
- 黄斤德:金价千二上方如履薄冰,耶伦携重磅数据登场
- 设计模式—单例模式分析
- scanf,sscanf高级用法
- Cursor 的用法
- Linux初探