上文《旷视Face++人脸识别登录方案介绍(五)向人脸库添加人脸》我们完成了整个人脸库的人脸信息建设。到此为止,我们的前置工作都已经完成了,这里的话我们就进入正式的应用阶段,也就是实现人脸登录的功能。
这里实现人脸登录的功能,我们主要是使用人脸搜索的api在人脸库中进行搜索,如果有匹配我们就认为是1个人。然后让用户登录即可。
在face++的人脸搜索里面,这里我们不需要单独调用人脸检测API了,只需要调用人脸搜索API即可,这里直接支持上传图片,然后由face++生成face_token在人脸库里面进行比对,下面我们来演示一下:
整个API的核心参数主要是:
1、当前人脸照片 2、需要搜搜的人脸库token
调用成功之后,会返回两个比较重要的object,分别是:
1、thresholds(一组用于参考的置信度阈值) 2、confidence(比对结果置信度,范围 [0,100],小数点后3位有效数字,数字越大表示两个人脸越可能是同一个人。)
然后我们使用如下的逻辑来判断当前用户是否是同一个人:
三个阈值等级,一般我们推荐1e-4,如果confidence >1e-4,可以认为是同一人
上面的案例我们使用的是人脸库的这个人的另外一张照片,我们可以看到对比的对象:
83.074 > 69.101
所以我们认为当前的这个人是返货的face_token的这个人。我们可以让前端进行登录逻辑了。接着我们另外找一张照片:
我们用这张照片去人脸库中进行搜索:
可以看到返回的置信度是38.901,此时按照规则:
38.901 < 69.101
所以我们认为不是一个人,所以认为当前人脸在人脸库中无法匹配,前端就需要返回错误的信息。
到此,我们以上6文结合起来,就是使用face++的产品实现用户人脸识别登录的方案。仅供参考。
备注:
1、这里的人脸的话我们其实主要还是需要前端实现拍照相关的功能,这些功能可以下载对应的sdk来实现。 2、旷世的后台没用相关的人脸库和人脸token相关的可视化展示信息,只能通过api来获取,所以我们需要在自己的业务库中建立对应的关联关系。 3、人脸搜索接口中,如果当前人在人脸库中没用添加过,也会返回一个results信息,所以我们需要使用公式来进行逻辑比对,然后给与相关业务不同的应答。
还没有评论,来说两句吧...