import face_recognition
known_image = face_recognition.load_image_file(image1)
# Get the face encodings for the known images 对照片上的人像进行解码
known_face_encoding = face_recognition.face_encodings(known_image)[0]
known_encodings = [known_face_encoding]
# Load a unknown image and get enconding for it 进行学生新上传的照片进行进行解码
image_to_test = face_recognition.load_image_file(image2)
image_to_test_encoding = face_recognition.face_encodings(image_to_test)[0]
# See how far apart the test image is from the known faces 通过欧几里得距离计算相似度,数字越接近0越说明是同一个人
face_distances = face_recognition.face_distance(known_encodings, image_to_test_encoding)
一般来说 face_distances<0.6 可以认为是同一个人,但是根据我的使用感觉0.4更好,因为face_recognition对于亚洲人的识别度没有那么高。
具体原理可以参考下面文章
人脸识别相似度计算方法_liguiyuan的博客-CSDN博客_人脸相似度