1
face_recognition.api.batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)
- 如果使用的是GPU,这可以给更快的结果。如果不使用GPU,则不需要这个函数。
- 使用CNN进行人脸检测
参数:
(1)images: 图像列表。 (每个图像作为一个numpy数组)
(2)number_of_times_to_upsample:进行上采样的次数。次数更多能找到更小的脸。
(3)batch_size:每一个GPU处理批中包含多少图像。
返回:
找到的人脸位置的元组(上、右、下、左)列表。
2
face_recognition.api.compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)
参数:
(1)known_face_encodings:known_face_encodings列表
(2)face_encoding_to_check:单个人脸编码(128维)与列表进行比较
(3)tolerance:两张脸之间的距离有多远才算匹配。越低越严格。0.6是典型的最佳性能。
返回:
A numpy ndarray with the distance for each face in the same order as the ‘faces’ array
3
face_recognition.api.face_encodings(face_image, known_face_locations=None, num_jitters=1)
图像中的每张人脸返回128维的人脸编码。
参数:
(1)face_image:包含一张或者更多张人脸的图片
(2)known_face_locations:-可选-每个人脸的Bbox(已知)
(3)num_jitters:编码时重采样的次数。越高越准确,但是速度会慢些。
返回:
128维的人来你编码List(图像中的每张脸都有)
4
face_recognition.api.face_landmarks(face_image, face_locations=None, model='large')
返回图片中的每张人脸的人脸特征定位(眼睛,鼻子等)
参数:
(1)face_image:输入的图片
(2)face_locations:-可选-每个人脸的定位(已知)
(3)model:-可选-使用的模型。“large”为默认;“small”返回5点,但是更快。
返回:
面部特征位置(眼睛、鼻子等)的字典
5
face_recognition.api.face_locations(img, number_of_times_to_upsample=1, model='hog')
返回图片中所有人脸的Bbox(array)
参数:
(1)img:输入的图片(numpy array)
(2)number_of_times_to_upsample:上采样的次数,次数越多越能找到更小的人脸。
(3)model:“hog”为默认;“hog”在上不精准,但是快。“cnn”是更精准的深度学习模型,需要GPU/CUDA加速。
返回:
人脸定位元组(top, right, bottom, left)的List。
6
face_recognition.api.load_image_file(file, mode='RGB')
下载图片文件(.jpg .png等)转成numpy array
参数:
(1)file:要加载的图像文件名或文件对象
(2)mode:将图像转换成的格式。支持“RGB”(8位,3通道)和“L”(黑白)
返回:
Numpy array 的图像内容
7
face_recognition.api.face_distance(face_encodings, face_to_compare)
参数:
(1)face_encodings:人脸编码List
(2) face_to_compare:用来比较的一个人脸编码
返回:
与人脸编码List顺序相同的距离array。