Face Recognition 简介

Face Recognition 是一个基于 Dlib 的 Python 库,它简化了人脸识别的操作。它封装了人脸检测、编码和比较的功能,非常易于使用。GitHub 主页地址是 https://github.com/ageitgey/face_recognition

2024-05-21T08:45:15.png

使用最近很火的汪峰新女友森林北李巧的照片测试。

图片 L1 和 L2 对比,face distance 为 0.393,相似度为 60.69%。

2024-05-21T08:45:48.png

Python 源码

import face_recognition

# 加载两张人脸照片
image1 = face_recognition.load_image_file("images/S1.jpg")
image2 = face_recognition.load_image_file("images/L3.png")

# 获取人脸特征向量
face_encoding1 = face_recognition.face_encodings(image1)[0]
face_encoding2 = face_recognition.face_encodings(image2)[0]

# 计算两张人脸特征向量之间的距离
face_distance = face_recognition.face_distance([face_encoding1], face_encoding2)[0]

# 计算相似度
similarity = (1 - face_distance) * 100

print(f"Face Distance: {face_distance}")
print(f"Similarity: {similarity:.2f}%")

注意事项

face_recognition 的人脸识别是基于业内领先的 C++开源库 dlib中的深度学习模型,用 Labeled Faces in the Wild 人脸数据集进行测试,有高达 99.38% 的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。

Labeled Faces in the Wild 是美国麻省大学安姆斯特分校(University of Massachusetts Amherst) 制作的人脸数据集,该数据集包含了从网络收集的13,000多张面部图像。

参考资料

标签: python, 人脸识别, Face Recognition