face_recognition模块方法集合

Posted arvik

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了face_recognition模块方法集合相关的知识,希望对你有一定的参考价值。

face_recognition API

以下描述了face_recognition人脸识别库的一些API参数、用法、返回值

函数batch_face_locations

batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)

使用cnn人脸检测器返回一个包含人脸特征的二维数组,如果使用了GPU,这个函数能够更快速的返回结果;如果不使用GPU的话,该函数就没必要使用

参数
images : 一个包含图像数据的list,每个成员都是一个 numpy array类型

number_of_times_to_upsample: 从images的样本中查找多少次人脸,该参数的值越高的话越能发现更小的人脸

batch_size: 每个GPU一次批处理多少个image

返回值

一个元组列表,列表中的每个元组包含人脸的位置(top, right, bottom, left)


函数compare_faces

compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)

比较脸部编码列表和候选编码,看看它们是否匹配。

参数
known_face_encodings:已知的人脸编码列表

face_encoding_to_check:待进行对比的单张人脸编码数据

tolerance:两张脸之间有多少距离才算匹配。该值越小对比越严格,0.6是典型的最佳值

返回值
一个 True或者False值的列表,该表指示了known_face_encodings列表的每个成员的匹配结果


函数face_distance

face_distance(face_encodings, face_to_compare)

给定一组面部编码,将它们与已知的面部编码进行比较,得到欧氏距离。对于每一个比较的脸,欧氏距离代表了这些脸有多相似。

参数
faces:要比较的人脸编码列表

face_to_compare:待进行对比的单张人脸编码数据

tolerance:两张脸之间有多少距离才算匹配。该值越小对比越严格,0.6是典型的最佳值

返回值
一个numpy ndarray,数组中的欧式距离与faces数组的顺序一一对应


函数face_encodings

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

给定一个图像,返回图像中每个面的128维人脸编码。

参数
face_image:包含一个或者多个人脸的image

known_face_locations:可选参数,如果你知道每个人脸所在的边界框

param num_jitters:在计算编码时要重新采样的次数。越高越准确,但速度越慢,(100就会慢100倍)

返回值

一个128维的面编码列表(每个面对应一个图像)


函数face_landmarks

face_landmarks(face_image, face_locations=None)

给定一个图像,返回图像中每个人脸的面部特征位置(眼睛、鼻子等)

参数
face_image:待搜索的image

face_locations:可选参数,可选地提供要检查的面位置列表

返回值

面部特征位置(眼睛、鼻子等)的字典记录列表


函数face_locations

face_locations(img, number_of_times_to_upsample=1, model='hog')

给定一个图像,返回图像中每个人脸的面部特征位置(眼睛、鼻子等)

参数
img:一个image(numpy array类型)

number_of_times_to_upsample:从images的样本中查找多少次人脸,该参数的值越高的话越能发现更小的人脸

model:使用哪种人脸检测模型。“hog” 准确率不高,但是在CPUs上运行更快,“cnn” 更准确更深度(且GPU/CUDA加速,如果有GPU支持的话),默认是“hog”

返回值

一个元组列表,列表中的每个元组包含人脸的位置(top, right, bottom, left)


函数load_image_file

load_image_file(file, mode='RGB')

加载一个图像文件到一个numpy array类型的对象上

参数
file:待加载的图像文件名字

mode:转换图像的格式。只支持“RGB”(8位RGB, 3通道)和“L”(黑白)

返回值

一个包含图像数据的numpy array类型的对象

以上是关于face_recognition模块方法集合的主要内容,如果未能解决你的问题,请参考以下文章

使用 yolov4 人脸检测和 face_recognition

使用 pip 安装 face_recognition 模块时出错

如何为 python 安装 face_recognition 模块

如何将 128 维面部编码存储在 numpy 多维数组中?

使用 python3 模块 face_recognition 比较两个人脸?

使用“截断”大 68 点模型进行人脸编码