opencv - haar人脸特征的训练
step 1: 把正样品,负样品,opencv_createsamples,opencv_haartraining放到一个文件夹下面,利于后面的运行。
step 2: 生成正负样品的描述文件
正样品描述文件
find positive_boosted -iname "*.bmp" -exec echo \{\} 1 0 0 20 20 \; > face.info
生成
positive_boosted/face00244.bmp 1 0 0 20 20
positive_boosted/face00177.bmp 1 0 0 20 20
positive_boosted/face01533.bmp 1 0 0 20 20
positive_boosted/face01542.bmp 1 0 0 20 20
positive_boosted/face00733.bmp 1 0 0 20 20
positive_boosted/face01708.bmp 1 0 0 20 20
positive_boosted/face01625.bmp 1 0 0 20 20
其中的pos_image/是相对路径名,后面紧接着的是文件名,1代表一个文件,0 0 24 24表示这个文件的2个顶点位置坐标。保存退出即ok。
负样品描述文件
find negative_boosted -iname *.bmp > non_face.txt
生成
negative_boosted/face01542.bmp
negative_boosted/face00733.bmp
negative_boosted/face01708.bmp
negative_boosted/face01625.bmp
step 3: 生成vec文件
opencv_createsamples -vec face.vec -info face.txt -bg non_face.txt -w 20 -h 20 -num 2429
其中的-vec是指定后面输出vec文件的文件名,-info指定正样本描述文件,-bg指定负样本描述文件,-w和-h分别指正样本的宽和高,-num表示正样本的个数。执行完该命令后就会在当前目录下生产一个face.vec文件了。
step 4: 开始训练
首先在当前目录下新建一个xml文件夹用于存放生成的.xml文件。
opencv_haartraining -data xml -vec face.vec -bg non_face.txt -npos 500 -nneg 500 -w 20 -h 20 -nstages 20 -nsplits 2 -minhitrate 0.999 -maxfalsealarm 0.5
opencv_traincascade (新的命令)
其中
-data为输出xml中间文件的位置;
-vec 正样品文件名
-bg 负样本文件名
-nsplits 1表示使用简单的stump classfier分类。
-mode (default|all) all表示使用haar特征集的种类既有垂直的,又有45度角旋转的; default只是垂直的.
-npos 正样本数
-nneg 负样本
-minhitrate 最小命中率,即训练目标准确度。
-maxfalsealarm最大虚警(误检率),每一层训练到这个值小于0.5时训练结束,进入下一层训练
在实际训练时,为了节约时间,调小了npos,nneg
会产生xml.xml文件,可以利用所得到的分类器进行测试了。
step 5: 合并训练所产生的xml文件
生成多个
opencv - haar人脸特征的训练的更多相关文章
- 万张PubFig人脸数据实现基于python+OpenCV的人脸特征定位程序(1)
在最近刷今日头条以及其他媒体软件时,经常会发现一些AI换脸的视频,于是我想,可不可以自己实现一个可以进行人脸识别的软件程序.我的具体流程是先配合python网络爬虫先进行万张PubFig人脸公共图片的 ...
- 使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_126 OpenCV4.1已经发布将近一年了,其人脸识别速度和性能有了一定的提高,这里我们使用opencv来做一个实时活体面部识别的 ...
- OpenCV摄像头人脸识别
注: 从外设摄像装置中获取图像帧,把每帧的图片与人脸特征进行匹配,用方框框住识别出来的人脸 需要用到的函数: CvHaarClassifierCascade* cvLoadHaarClassifier ...
- Ello讲述Haar人脸检测:易懂、很详细、值得围观
源地址:http://www.thinkface.cn/thread-142-1-1.html 由于工作需要,我开始研究人脸检测部分的算法,这期间断断续续地学习Haar分类器的训练以及检测过程,在这里 ...
- OpenCV + Python 人脸检测
必备知识 Haar-like opencv api 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候 ...
- 【转载】opencv实现人脸检测
全文转载自CSDN的博客(不知道怎么将CSDN的博客转到博客园,应该没这功能吧,所以直接复制全文了),转载地址如下 http://blog.csdn.net/lsq2902101015/article ...
- 基于 OpenCV 的人脸识别
基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...
- 【计算机视觉】基于OpenCV的人脸识别
一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...
- opencv实现人脸识别(一)opencv的相关知识了解
这回进行了人脸识别的项目,对学习过程进行记录. 首先进行的就是一系列环境的配置,如 python3.7的安装, python的IDE pycharm的安装,然后进行opencv库的安装,可以通过py ...
随机推荐
- iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
iOS开发UI篇—Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...
- iOS开发UI篇—无限轮播(新闻数据展示)
iOS开发UI篇—无限轮播(新闻数据展示) 一.实现效果 二.实现步骤 1.前期准备 (1)导入数据转模型的第三方框架MJExtension (2)向项目中添加保存有“新闻”数据的pli ...
- 一步步调试解决iOS内存泄漏
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄 ...
- poj2253
此题略坑,%.3lf用g++一直WA,c++过的 //Accepted 468 KB 16 ms #include <cstdio> #include <cstring> #i ...
- php大力力 [041节] 今天没有写日志哈
php大力力 [041节] 今天没有写日志哈 如何下拉,左边的side颜色 能顺延下去?? 今天做了一个表格显示
- Eclipse安装easyShell插件
easyshell是一个用于快速打开文件目录.复制文件路径.cmd打开等等的eclipse插件工具. Eclipse下安装easyshell: 1.打开Eclipse商店 2.输入easyShell点 ...
- Roman to Integer -- LeetCode 13
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- CSS transform-style属性实现3D效果
相对于transform-style:flat,在2d平面呈现,transform-style:preserve-3d则将所有子元素呈现在3d空间中. 实例: HTML: <div class= ...
- 第二个Sprint冲刺团队贡献分
201306114322 邵家文 50分 201306114319 陈俊金 10分 201306114320 李新 10分 201306114324 朱浩龙 10分
- 详解Objective-C runtime
感谢翻译小组成员wingpan热心翻译.本篇文章是我们每周推荐优秀国外的技术类文章的其中一篇.如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315 ...