一. 安装

首先安装相关依赖(安装环境window10,pycharm下,python3.6)

按顺序安装以下依赖(pycharm下安装方式就是 File - Settings - Project: TensorFlowTestNew - Project Interpreter,之后点击+号搜索安装)

python中face_recognition python中face_recognition安装_特征向量

(1)先安装Cmake和boost

(2)安装dlib,我安装的时候报了一个错误大体是说pip不是最新,执行 python -m pip install --upgrade pip  就Ok了

(3)安装opencv和face_recongnition

二.API详解

face_recongnition   API详细
不懂?没关系,下面我来一一介绍
1、人脸定位——locations
face_locations(img, number_of_times_to_upsample=1, model="hog")
    1
利用CNN深度学习模型或方向梯度直方图(Histogram of Oriented Gradient, HOG)进行人脸提取。返回值是一个数组(top, right, bottom, left)表示人脸所在边框的四条边的位置。
 成员变量:    img:图片名
     number_of_times_to_upsample=1:数值越大识别的人脸越小,耗时也越长
     model=”hog”:使用的人脸检测模型此外,人脸定位的方法还有:
_raw_face_locations(img, number_of_times_to_upsample=1, model="hog")
 _raw_face_locations_batched(images, number_of_times_to_upsample=1, batch_size=128)
 batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)    1
     2
     3

读者有兴趣可自行尝试,不一一赘述。

2、人脸解码——encodings
人脸识别的前菜。输入一张图片后,生成一个128维的特征向量,这是 人脸识别的依据。

face_encodings(face_image, known_face_locations=None, num_jitters=1)

    1

成员变量:

    face_image:图片名
    known_face_locations=None:这个是默认值,默认解码图片中的每一个人脸。若输入face_locations()[i]可指定人脸进行解码。
    num_jitters=1:池化操作。数值越高,精度越高,但耗时越长。

3、人脸比对——compare
人脸识别的核心,设置一个阈值,若两张人脸的特征向量的距离,在阈值范围之内,则认为其是同一个人,最后返回一个Boolean值的list。

compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)

    1

成员变量:

    known_face_encodings:人脸解码方法中返回的特征向量,此处是已知人脸的特征向量。
    face_encoding_to_check:此处是未知人脸的特征向量。
    tolerance=0.6:比对阈值,即容差,默认为0.6。

4、人脸特征向量距离——distance
跟上面的方法同样原理,不过输出由对错改为数字。

face_distance(face_encodings, face_to_compare)
    1
成员变量:
    face_encodings:人脸解码方法中返回的特征向量,此处是已知人脸的特征向量。
     face_to_compare:此处是未知人脸的特征向量。5、人脸特征提取——landmark
face_landmarks(face_image, face_locations=None, model="large")
    1
成员变量:
    face_image:输入图片。
     face_locations=None:这个是默认值,默认解码图片中的每一个人脸。若输入face_locations()[i]可指定人脸进行解码。
     model=”large”:输出的特征模型,默认为“large”,可选“small”,改为输出5点特征,但速度更快。