face_recogniton人脸识别安装及使用

一 安装部分

1.1 face_recognition简介

face_recognition主要是对dlib机器学习库的二次开发,主要功能包括人脸检测、人脸关键点检测、人脸识别。

1.2 环境参数

Python3.4+
dlib
face_recognition

1.3 下载face_recognition源代码

下载地址:https://github.com/ageitgey/face_recognition

二 简单的命令行界面使用

安装face_recogniton时,将获得一个命令行程序,称为face_recogniton,可进行人脸识别。

2.1 人脸识别

首先准备./pictures_of_people_i_know/和./unknown_pictures/文件夹,分别保存已知人员和未知人员的图片,见下图:
在这里插入图片描述在这里插入图片描述
进入文件夹所在目录,运行:

# face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/

在这里插入图片描述
调整检测阈值(默认0.6),运行:

# face_recognition --tolerance 0.54 ./pictures_of_people_i_know/ ./unknown_pictures/

显示两面部匹配的距离,运行:

# face_recognition --show-distance true ./pictures_of_people_i_know/ ./unknown_pictures/

三 人脸检测

3.1 HOG+SVM模型

3.1.1 代码

代码:examples/find_faces_in_picture.py
在这里插入图片描述

3.1.2 测试结果

(左边原图,右边人脸检测图)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 cnn模型

官网上描述cnn模型比HOG+SVM模型的检测效果要好,但是速度较慢。

3.2.1 代码

代码:examples/find_faces_in_picture_cnn.py
在这里插入图片描述

3.2.2 测试结果

(左边原图,右边人脸检测图)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 视频中的人脸检测

3.3.1 代码

代码:examples/blur_faces_on_webcam.py
在这里插入图片描述

3.3.2 测试结果

(略)

四 人脸关键点检测

4.1 人脸关键点检测(级联回归算法)

4.1.1 代码

代码:examples/find_facial_feature_in_picture.py
在这里插入图片描述

4.1.2 测试结果

在这里插入图片描述

4.2 人脸关键点检测的化妆应用

4.2.1 代码

代码:examples/digital_makeup.py
在这里插入图片描述

4.2.2 测试结果

在这里插入图片描述

五 人脸识别

5.1 人脸识别(残差网络模型)

5.1.1 代码

代码:examples/recognize_faces_in_picture.py
在这里插入图片描述

5.1.2 检测结果

在这里插入图片描述

5.2 视频中的人脸识别

5.2.1 代码

代码:examples/facerec_from_webcam_faster.py
在这里插入图片描述

5.3 人脸识别(残差网络模型+knn近邻分类器)

当存在大量已知人员(即同一个人存有多张图片)时可使用该案例。人脸识别的128维特征提取仍是用残差网络模型,只不过预测时,knn算法会从训练集中找出k个最相似的面孔,进行多数投票进行人脸预测。

5.3.1 算法说明

算法步骤:
(1) 生成数据集及标签:
在这里插入图片描述
(2) 训练,生成knn分类器
在这里插入图片描述
(3) 测试,判断匹配脸最接近的距离是否小于阈值,若大于则预测人脸为unknown,若小于则进行knn的人脸识别预测
在这里插入图片描述

5.3.2 代码

代码:examples/face_recognition_knn.py

5.3.3 检测结果

在这里插入图片描述

六 代码运行方式

进入代码所在目录,运行:

# python3 XXX.py
发布了48 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_29153321/article/details/103952879