实践总结:
- 首先了解做人脸识别的步骤
- 各个算法后面的原理
- 原理背后的相关知识的了解
- 人脸识别项目总遇到的问题
由于篇幅原因,后面一篇写各个算法背后的原理,原理背后的相关知识的了解,人脸识别项目总遇到的问题
首先感谢:
https://blog.youkuaiyun.com/qq_37406130/article/details/78697244 基于Opencv的人脸识别
https://blog.youkuaiyun.com/xingchenbingbuyu/article/details/51386949 OpenCV实践之路——人脸识别之一数据收集和预处理
https://blog.youkuaiyun.com/u013088062/article/details/38588185 浅谈Openv中人脸识别类FaceRecognizer
https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#appendixft Face Recognition with OpenCV
https://blog.youkuaiyun.com/matrix_space/article/details/51364302 机器学习: 特征脸算法 EigenFaces
https://blog.youkuaiyun.com/u010402786/article/details/52261933 算法优化二——如何提高人脸检测正确率
要进行人脸的识别的训练,首先我们要对Openv中人脸识别类FaceRecognizer要有一个了解,http://www.cnblogs.com/guoming0000/archive/2012/09/27/2706019.html (这个实际上就是 Face Recognition with OpenCV的翻译)可以参考这个博客对FaceRecognizer 有一个了解http://blog.youkuaiyun.com/u013088062/article/details/38588185 这个博客对人脸的训练解释的很好,具体怎么训练可以阅读这个博客。
正 文
1首先了解做人脸识别的步骤
数据收集和预处理、训练模型、人脸识别三个部分
- 数据收集和预处理
(1)下载数据集
本次用的数据集是opencv给出的教程里面的第一个数据集:The AT&T Facedatabase。又称ORL人脸数据库,40个人,每人10张照片。照片在不同时间、不同光照、不同表情(睁眼闭眼、笑或者不笑)、不同人脸细节(戴眼镜或者不戴眼镜)下采集。所有的图像都在一个黑暗均匀的背景下采集的,正面竖直人脸(有些有有轻微旋转)。
可以用imread()函数读出pgm看看各图效果。
(2)准备识别人脸的数据集
拍照程序
#include <opencv2\opencv.hpp>
#include <vector>
#include <iostream>
#include<stdio.h>
//#include <stdio.h>
//#include <cv.h>
using namespace