人脸识别的功能我们已经研究了一段时间,我们主要需要实现的形式是将识别的人脸与人脸库中的人脸进行对比,然后通过系统评选出相似度最高的人脸进行匹配。因此,假如我们传入一张对比人脸,会从注册中找一张最接近的人脸返回出去。
经过我们讨论,我们现在需要修改这个识别和对比的机制,需要传入一张图片,从注册人脸中找多张(目前是4张)人脸对比图返回出去,而不是一张相似度最高的人脸。
人脸对比接口的入口方法:
传入的人脸检测接口(会不会识别到人脸),和人脸对比接口:
人脸对比接口会返回参数有:注册姓名、相似度和成功与否;其中相似度检测是需要看看怎么实现,以便用于修改。下面的方法是用于输入人脸与注册人脸进行对比,也有相似度的返回值。
face_recognition.compare_faces(self.known_face_encodings, face_encoding, tolerance=tolerance)
下面实现最终的会返回一个相似度值:
找到所有的方法,那么修改代码就变简单。返回一个相似度,那么就定义一个变量返回多个或者四个图片和相似度的值。所以修改如下:
这样修改,接口返回是四张相似度最高的人脸识别。