openCV——人脸检测资料汇总

来源:互联网 发布:sql 微整型 编辑:程序博客网 时间:2024/06/03 06:52

关键词:CvHaarClassifierCascade

训练分类器

训练分类器,有图有真相
先看这篇,是现在网上各个版本的总结
http://blog.csdn.net/tyt2222008/article/details/5838389
上文重点提到的英语教程 Tutorial: OpenCV haartraining (Rapid Object Detection With A Cascade of Boosted Classifiers Based on Haar-like Features)
http://note.sonots.com/SciSoftware/haartraining.html#e134e74e 
其他是中文版,已过时:
基于opencv2.0的haar算法以人脸识别为例的训练分类器xml的方法
http://hi.baidu.com/zdd007007/blog/item/b2e7f026eec9e23f8644f959.html 原帖
http://hi.baidu.com/%BE%B2%BC%EA/blog/item/96351e6102285aca8db10dfe.html 转载
http://foryou11.blog.163.com/blog/static/1783781132011523112418883/

 

用AIR做图片批量旋转+保存

打开FD,新建AS3 AIR项目,注意是AIR项目。

 
先尝试用PS做,但是有bug,所以改用AIR做。PS的部分就挪到附录:
http://blog.csdn.net/eminia/article/details/6655496   openCV——人脸检测资料汇总(附录)用PhotoShop尝试旋转图片
AIR网上有保存图片的代码,比较简单,但是AIR配置折腾了好长时间,最后还是用旧版本,AIR 1.5 + SDK 3.5。
我的机器目录:D:\Program Files\Adobe\Adobe Flash Builder 4\sdks\3.5.0\bin 
这个内容集成另一个帖子:
http://blog.csdn.net/eminia/article/details/6655481  AIR环境配置问题
期间发现的好贴集中在
http://blog.csdn.net/eminia/article/details/6655509
完成的AIR工具:

 

感觉AIR写些小工具还是蛮方便的。只能用抓取软件抓头像网站,来搜集负样本。

注意

1 安装openCV不要装在Program Files文件夹,这会导致创建正样本a.vec出错,如下
create 0 samples

创建失败是因为Program Files中间有空格,所以要把openCV装到D盘,如果已经安装在Program Files也不要紧,直接剪贴到D盘。

2 我装的openCV版本是1.0版,所以和http://blog.csdn.net/tyt2222008/article/details/5838389有出入,用的是2.1版

跳过上面这个陷阱后,接着:

步骤

1 先打开命令行,开始->命令->输入cmd,按回车
2 进入posdata目录,比如我把posdata直接放在openCV目录的bin文件夹
输入
cd D:\OpenCV\bin\posdata
3 创建info.txt
输入
dir /b > info.txt

这样就多了一个info.txt,里面是posdata下的所有图片名列表:

4 打开txt,去掉info.txt这一行
5 按ctrl+h替换,把所有的png换成 png 1 0 0 20 20

执行createsamples.exe创建正样本

1 退到上一层目录
输入
cd  D:\OpenCV\bin

2 输入
createsamples.exe -info D:/OpenCV/bin/posdata/info.txt -vec a.vec -num 10 -w 20 -h 20 

只用注意最后一行是不是 Created 10 samples,是就说明成功。

bin文件夹多了一个a.vec文件,这个我做过2次,左边是灰阶图,只有8k,右边是彩色图,有102k。

创建负样本

1 进入所在目录
输入: 
cd D:\OpenCV\bin\negdata

2 创建bg.txt
输入:
dir /b > bg.txt
这样就创建了负样本列表。
3 打开txt,去掉bg.txt这一行

训练分类器

1 回到bin目录
输入
cd D:\OpenCV\bin
2 输入
haartraining.exe  -data data -vec D:/OpenCV/bin/a.vec -bg D:/OpenCV/bin/negdata/bg.txt -npos 250 -nneg 800 -nstages 4 -nsplits 2 -mem 512 -nonsym -w 20 -h 20 -minpos 100

haartraining.exe  -data data -vec D:/OpenCV/bin/a.vec -bg D:/OpenCV/bin/negdata/bg.txt -npos 250 -nneg 800 -nstages 4 -nsplits 2 -mem 512 -nonsym -w 60 -h 60 -minpos 100

最后看到Cascade performance,说明成功。

报错


Negative or too large argument of cvAlloc function
这个错误是说图片太大,我觉得可能是彩色图片,加起来是很大的量,所以接下来把图片转为黑白。

Insufficient memory (Out of memory) in function cvAlloc


负样本


正样本

不能创建新的视频通道?

OpenCV ERROR: Internal error (couldnt create new video channel)





下载opencv_createsamples.exe和opencv_haartraining.exe
http://blog.sina.com.cn/s/blog_5165493c0100cwvk.html    HARR人脸检测http://blog.finalevil.com/2008/03/opencv04face-detectionhaardetectobjects.html   [程式]OpenCV學習筆記心得04:簡單的人臉偵測(face detection),使用HaarDetectObjects
harr 分类器

http://wenjuanhe.blog.163.com/blog/static/745017252009102101728454/      分类器(模式识别)

http://2000liuzhenxing.blog.163.com/blog/static/5167747520095694539472  OpenCV学习笔记之人脸检测的代码分析

http://2000liuzhenxing.blog.163.com/blog/static/5167747520096189318267  Haar-like特征人脸检测

http://2000liuzhenxing.blog.163.com/blog/static/5167747520098195217494/【转载】浅谈OpenCV人脸检测 (1)

http://www.cocoachina.com/bbs/simple/?t33693.html     iphone项目中使用opencv教程 --]

http://hi.baidu.com/fan_ingrid/blog/item/e07e740a4d7ce2dc3bc763fc.html    所谓人脸检测--[我又抽了+自爆慎入]

http://hi.baidu.com/wusai_8/blog/item/47a1df6d2e9ddae5f6365459.html    opencv实现人脸检测及程序注解

Android人脸检测类FaceDetector   

原创粉丝点击