环境
- Ubuntu 16.04
- opencv 3.0 for python3.6
pip install opencv-python
- dlib 19.16
模型下载
人脸关键点检测器predictor_path="shape_predictor_68_face_landmarks.dat
人脸识别模型face_rec_model_path = "dlib_face_recognition_resnet_model_v1.dat
含人脸库candidate-face中人脸不同表情的测试数据集test-face.zip
解压后与上述文件均置于根目录下
下载地址 : 百度云盘 https://pan.baidu.com/s/1h01sfvf5KWU6_7c2-i5HTQ运行
运行python candidate_train.py
获得人脸库特征信息,存储在candidates.npy
与candidates.txt
中 。
candidate_train.py文件:
1 | # -*- coding: UTF-8 -*- |
运行 python facerec_68point.py
得到识别结果all-face-result.jpg。
facerec_68point.py文件:
1 | # -*- coding: UTF-8 -*- |
运行 this_is_who_camera.py
打开摄像头进行实时的人脸识别
this_is_who_camera.py文件:
1 | # -*- coding: UTF-8 -*- |
补充
- 每次人脸库candidate-face中加入新的人脸数据,均需运行
python candidate_train.py
python facerec_68point.py
检测的是与人脸库中最相似的- 提供
this_is_who.py
进行在test-face
文件夹中的批量测试,测试结果存于faceRec
文件夹,识别错误结果存于faceRec_ERROR
- 最近的项目是在红外人脸图像上进行的,人脸不太清晰,如果是正常摄像头效果应该会更好
运行结果
python facerec_68point.py在单张上的测试结果:
this_is_who.py在test-face
文件夹中的批量测试结果:
this_is_who_camera.py实时检测效果.py
摄像头截图:
项目地址 :https://github.com/zj19941113/Face_Recognition_dlib