人脸识别源码运行指南
来源:互联网 发布:个性化商品推荐算法 编辑:程序博客网 时间:2024/05/07 20:18
前言
人脸识别的源码放出来之后,不少小伙伴下载之后仍然不能运行成功。于是被逼无奈,把源代码改成了我认为最容易运行成功的版本。即使如此,我认为写下这个指南还是有必要的。因为反复回答相同的问题实在是太累人了。
重复一遍,本文环境为win7+vs2015+opencv3.2_with_contrib
源码下载地址
公众号回复:人脸识别源码
或者
网盘:
http://pan.baidu.com/s/1b1J23O
密码:kv1e
几个问题
首先还是说明几个问题,虽然都说过,但是还是有人问。以后再有人问就直接给他这篇文章。
找不到
FaceRecognizer
FaceRecognizer
在opencv的contrib模块里的face模块里面。而opencv官方下载的opencv默认是不带contrib的,要实现人脸识别需要用编译了contrib模块的opencv。一般来说需要自己编译。但是自己编译比较麻烦,网上有人分享了编译好的opencv3.2的版本。在公众号回复“opencv”获取下载地址,或者用下面的下载地址:
链接:
http://pan.baidu.com/s/1qYx3v8S
密码:i0c0
csv文件(也即at.txt)难以自动生成。
源码中我已经写了一个名为add_label.py
的python脚本,运行此脚本可以自动生成at.txt。
有时程序崩溃但是黑窗无报错信息。
一个可能的原因是,添加附加依赖项的时候,debug模式最好只添加*d.lib
。而release模式最好只添加*.lib
。
运行指南
方便起见,下载的源码的文件夹下已经包含了需要用的ORL人脸数据库。在配置好opencv的情况下,需要以下几步。
首先用VS打开
face-rec.sln
。在解决方案管理器中的源文件下添加take_photos.cpp
,如果源文件下还有其他cpp文件,请它们排除到项目之外。然后运行此拍照程序。如果拍照效果不好,请自动调整人脸与摄像头之间的距离,或者调节光照条件。拍好的照片会保存在att_faces\s41
文件夹下。生成csv文件。需要电脑上安装有Python2,如果是Python3的话需要把print语句注释掉,没有实际测试过。如果对python有了解,应该不难。在add_label.py所在文件夹下
shift+右键
然后选择在此处打开命令行窗口
。在命令行输入命令:python add_label.py
,Enter
运行即可。回到VS。把
take_photos.cpp
排除到项目之外,添加train.cpp
到源文件,运行。最后输出3行类似下面的语句表示训练模型成功。此时打开工程文件夹可以看到生成的后缀为xml的模型文件。Predicted class = 9 / Actual class = 9.
回到VS。把
train.cpp
排除到项目之外,添加rec-your-own-face.cpp
到源文件,运行。此时应该会打开摄像头并识别自己的脸。
最后
此人脸识别程序只能做学习研究,因为这个正确率略低。有更高要求的小伙伴请自行探究更好的方法,在这方面我能指点内容的有限。
另外
发现一个有意思的东西,小密圈。据说可能是最好的微信公众号读者论坛。也尝试一下,名字就叫OpenCV实践之路
。出了平时发文章之外,也会发一些我平时的参考资料,欢迎加入。
- 人脸识别源码运行指南
- face++人脸识别源码
- 人脸识别考勤操作指南
- 人脸识别系统运行步骤
- 人脸识别(不是检测,而是识别,源码下载)
- Android7.0源码编译运行指南
- Android7.0源码编译运行指南
- Android7.0源码编译运行指南
- 人脸识别开源SDK源码
- OpenCV人脸识别C++源码分析
- PCA 的人脸识别源码
- 【OpenCV入门指南】第十三篇 人脸识别
- 【OpenCV入门指南】第十三篇 人脸识别
- EasyPR车牌识别学习系列(1)—运行源码
- ROS使用USB摄像头运行pi_face_tracker,进行人脸识别
- 人脸识别运行之前需要处理的问题
- 学习OpenCV——行人识别&人脸识别(总算运行出来了)
- 学习OpenCV——行人识别&人脸识别(总算运行出来了)
- IntelliJ idea报错cannot load module XXX
- vue插件
- JavaScript学习总结——Javascript面向(基于)对象编程
- 浅谈分布式项目日志监控
- sql 语句执行顺序
- 人脸识别源码运行指南
- 面试题7—用两个栈实现队列
- java—WEB配置Tomcat与MyEclipse关联Tomcat
- 最流行的5个前端框架对比
- Roman Numeral Converter
- 机器学习笔记day01
- 主题模型及其在文本情感分析中的应用
- 23、输入输出重定向
- java集合框架之集合工具类Arrays类