活体检测功能的接入
什么是活体检测
活体检测是一种基于人脸识别的应用,通过眨眼、张嘴、点头等动作组合,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作。可以有效抵御照片、换脸、面具、遮挡以及屏幕翻拍等常见的攻击手段。
随着apple退出人脸解锁,各大智能机厂商在其高端设备中都增加了人脸识别功能,而对应的各种作弊手段也层出不穷,所以活体检测也变得越来越重要。
最常见的使用场景,是金融行业(包括刷脸支付)。
提供活体检测的公司
一般情况下,小团队是没有能力自己开发活体检测功能的,也没有必要,一般通过接入一些第三方公司的sdk来实现。
例如:
百度活体检测
提供H5在线服务API,离线SDK,及私有化部署服务。
可用于金融远程开户,酒店自助入住,刷脸闸机通行等。
费用:点击查看
企业用户10QPS是免费的。
网易网盾
提供多种身份认证相关功能,其中就包括活体检测。
费用和细节未公开。注册之后会有专人协助接入。
旷世科技FaceID
支持APP,移动端H5和PC网页接入
faceID官网:https://faceid.com/
技术文档:移动端网页KYC验证服务
领创智信Advance.AI
ADVANCE.AI是一家总部位于新加坡的人工智能和大数据风控服务提供商。主要为出海企业提供活体检测服务。
活体检测Liveness Detection
商汤科技-人脸与人体分析技术
无具体信息
如何接入Cordova版的SDK
要注意,一般活体检测公司不会提供基于cordova的sdk,只会提供iOS或者AndroidSDK,个别平台会提供h5版本。
如果是有h5版本,就不用费劲了,直接接入h5版本即可。
没有的情况嘛,以android为例,这时候,就需要我们用接入第三方sdk的方式来接入android版本的sdk,然后自己做一个cordova插件,把相关接口通过插件对接到web层,供web调用。
如何制作cordova插件
例子:如何接入Advance.AI
因为百度的网上已经有很多例子了,就不说了。
这里用Advance.AI举个例子。
同时也是一个如何给android项目增加额外模块,且模块内部有arr文件的例子。
1.前往官网注册账户,咨询,并获取SDK
2.将sdk拷贝放在android项目的app同级目录下作为一个AndroidModule,其中包括arr文件和一些图片。
3.修改android目录下的setting.gradle
文件,添加项目模块的引用
include ":liveness"
否则会报错project with path could not be found in project app'
3.修改app里的build.gradle
文件,增加flatDir
repositories {
flatDir {
dirs project(':liveness').file('libs')
}
}
同时在dependencies中添加
implementation(project(path: ":liveness"))
如何实现一个带module的cordova插件接入
前文是普通项目的接入Advance接入方式,那么如何在cordova中接入呢?
可以参考文章如何创建一个引入Module的Cordova插件
相关技术
知乎人脸识别中的活体检测算法综述
阿里云栖活体检测很复杂?仅使用opencv就能实现!(附源码)
CSDN活体检测笔记总结