上一篇介绍了NodeJS实现人脸识别中的人脸注册,搜索,检测功能。可以看到其实抛开用户量不说,其实任何想要实现的功能最终用NodeJS都是可以实现的。今天我们来看下SDK文档关于人脸识别其他的接口,我们可以来看看整套人脸识别具体有什么功能,我们可以怎么在实际应用中去进行应用呢?
人脸更新
我们上一篇讲到了人脸注册,每个人脸会绑定一个唯一的userId, 当然,既然注册了必须要有更新功能。人脸更新就是针对userId进行更新,这时候有两种可能性:
> userId存在于人脸库
> userId不存在人脸库
第一种情况很好理解,存在即更新。那如果第二种情况呢?我们可以先看看如果人脸库存在userId的情况:
我们跑下测试下效果:
可以看到userId存在的情况下会成功更新人脸并返回图片新的face_token以及人脸相对图片的位置信息。那如果userId不存在呢?
可以看到人脸不存在会报错user is not exist。这样的返回其实也是可以的,但是人脸识别本质就是为了提升用户体验,降低操作复杂性,所以其实还有一种方案可以在用户不存在的情况进行将该人脸静默注册到人脸库,就是添加参数action_type: REPLACE。
PS:文档中这里存在一个坑:relace文档小写,实际需要大写,且选传参数文档并没有action_type这参数。
我们现在给本接口添加action_type参数:
我们现在使用不存在的userId测试一下具体效果:
可以看到如果人脸不存在直接静默注册到人脸库,这样就可以大大提升用户体验。当然这个接口一样可以添加选传参数,我就不详细演示了。我直接贴上请求参数及接口返回参数: