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人脸特征的训练的更多相关文章

  1. 万张PubFig人脸数据实现基于python+OpenCV的人脸特征定位程序(1)

    在最近刷今日头条以及其他媒体软件时,经常会发现一些AI换脸的视频,于是我想,可不可以自己实现一个可以进行人脸识别的软件程序.我的具体流程是先配合python网络爬虫先进行万张PubFig人脸公共图片的 ...

  2. 使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_126 OpenCV4.1已经发布将近一年了,其人脸识别速度和性能有了一定的提高,这里我们使用opencv来做一个实时活体面部识别的 ...

  3. OpenCV摄像头人脸识别

    注: 从外设摄像装置中获取图像帧,把每帧的图片与人脸特征进行匹配,用方框框住识别出来的人脸 需要用到的函数: CvHaarClassifierCascade* cvLoadHaarClassifier ...

  4. Ello讲述Haar人脸检测:易懂、很详细、值得围观

    源地址:http://www.thinkface.cn/thread-142-1-1.html 由于工作需要,我开始研究人脸检测部分的算法,这期间断断续续地学习Haar分类器的训练以及检测过程,在这里 ...

  5. OpenCV + Python 人脸检测

    必备知识 Haar-like opencv api 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候 ...

  6. 【转载】opencv实现人脸检测

    全文转载自CSDN的博客(不知道怎么将CSDN的博客转到博客园,应该没这功能吧,所以直接复制全文了),转载地址如下 http://blog.csdn.net/lsq2902101015/article ...

  7. 基于 OpenCV 的人脸识别

    基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...

  8. 【计算机视觉】基于OpenCV的人脸识别

    一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  9. opencv实现人脸识别(一)opencv的相关知识了解

    这回进行了人脸识别的项目,对学习过程进行记录. 首先进行的就是一系列环境的配置,如 python3.7的安装, python的IDE  pycharm的安装,然后进行opencv库的安装,可以通过py ...

随机推荐

  1. js模拟类

    ECMAScript6已经支持了class,但之前版本都不支持类,但是可以通过一些方法来模拟类. js中的类,既是重点,也是难点,很多时候都感觉模棱两可. 首先强调一下js中很重要的3个知识点:thi ...

  2. iTunes Affiliate Resources

    https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/

  3. [最近公共祖先] POJ 3728 The merchant

    The merchant Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 4556   Accepted: 1576 Desc ...

  4. ExtJs中gridpanel分组后组名排序

    /** * 定义降序的groupingStore */ var DescGroupingStore = Ext.extend(Ext.data.GroupingStore, { groupDir : ...

  5. 使用rpm命令卸载程序

    步骤1.rpm -qa|grep 程序名称 步骤2.rpm -e 安装包名称 --nodeps

  6. powershell中的两只爬虫

    --------------------序-------------------- (PowerShell中的)两只爬虫,两只爬虫,跑地快,爬网页不赖~~~ 一只基于com版的ie,一只基于.net中 ...

  7. mysq常见问题

    1.Reading table information for completion of table and column names You can turn off this feature t ...

  8. CPU寄存器

    CPU寄存器主要的有 CS:IP这是代码段,主要是执行代码的: SS:SP这是栈段,很多时候数据都要用它, ds:si,这是一个数据段, 还有一个标志寄存器flag,中断的时候要保存它的信息,以便中断 ...

  9. The 10 best sweet treats in Singapore

    Every time I walk out of Changi airport's air-conditioning into the humid outdoors, there's a sweet ...

  10. JavaScript基础--事件驱动和访问CSS技术(十)

    1.原理: 2.快速入门案例 js中的事件主要分为4种: 案例:监听鼠标点击事件,并能够显示鼠标点击的位置x,y <script language="javascript" ...