想要使用Python实现人脸识别也不是一件难事,使用face_recognition
人脸识别开发库可以快速上手。
我们仍旧使用pip工具进行安装:
pip install face_recognition
载入已知人脸
首先我们需要载入已知人脸的图像「该图像中确定存在某人的脸」:
import face_recognition
picture_of_me = face_recognition.load_image_file('me.jpg')
my_face_encoding = face_recognition.face_encodings(picture_of_me)[0]
首先我们需要引入开发库import face_recognition
;然后我们载入图像picture_of_me = face_recognition.load_image_file('me.jpg')
,图像将被转换成numpy.ndarray
类型的数据;接下来对图像中的人脸数据进行编码face_recognition.face_encodings(picture_of_me)
,该函数将以列表类型返回一串编码信息,如果图像中只有一张人脸,我们只需要取第0个编码。
载入未知人脸
接下来我们载入另一张含有人脸的图像:
unknown_picture = face_recognition.load_image_file('unknown.jpg')
unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0]
对比识别
将二者进行比对,完成人脸识别操作:
results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)
if results[0] == True:
print("It's a picture of me!")
else:
print("It's not a picture of me!")
函数face_recognition.compare_faces
第一个参数为列表类型,接收一串已知的人脸编码;第二个参数为待检测的人脸编码;返回值是一个列表类型的识别结果,列表中的每一项对应第一个参数已知人脸编码的每一项,例如: [True, False]
表示待测的人脸被检测为已知列表中第0项编码所对应的人脸。