YingXiuHe / MTCNN-for-Face-Recognition

Use MTCNN and Face Recognition algorithm for real_time face recognition project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MTCNN-for-Face-Recognition

MTCNN人脸检测 + face_recognition + KNN人脸识别 (face_recognition模块的人脸定位采用dlib模块,本project采用mtcnn对其进行替换)

环境配置:

  • nvidia-smi:410.93;
  • python=3.5;
  • cuda=10.0;
  • cudnn=v7.4;
  • tf-gpu=1.13.1;
  • face_recognition;
  • opencv-python;
  • dlib(需要源码编译,启用GPU加速);
  • scikit-learn;
  • pickle;

实现流程 1.将底库照片分好文件夹,训练KNN人脸特征分类器;

  • 对应代码: train_classifier.py [训练时需要注意代码内相关的路径,人脸定位采用dlib]

  • 或 train_classifier_mtcnn.py [人脸定位采用mtcnn,效果优于dlib]

  • 训练用的代码有两份: 一份代码训练用于图片人脸识别: test_code/train_classifier_mtcnn.py 生成的特征库文件为:***.clf文件 一份代码训练用于视频流人脸识别: test_code/encodings_faces_mtcnn.py 生成的特征库文件为: ***.pickle文件

训练数据集格式:

  person-1(name)
	--1.jpg
	--2.jpg
	
  .......
  persong-n(name)
	--1.jpg
	--2.jpg

2.测试识别 (这里需要注意几个参数的设定,能一定程度提升人脸识别的精度: model='large'; num_jitters(人脸re_sample的次数))

  • 1.单张照片人脸识别: 代码: recognize_faces_pic.py test_code/mtcnn_recognize_faces_pic.py [调用mtcnn检测模型,人脸识别效果更优]
  • 2.实时视频流人脸识别: 代码: test_code/mtcnn_recognize_video.py

2019-8-27 增加了人脸对齐操作的代码,一定程度上尝试提升人脸识别的精确度 代码为: /test_code/batchfaces_alignment_dlib.py

About

Use MTCNN and Face Recognition algorithm for real_time face recognition project


Languages

Language:Python 100.0%