H5利用face++和腾讯云慧眼实现活体检测(人脸识别)的流程总结

简介: H5利用face++和腾讯云慧眼实现活体检测(人脸识别)的流程总结

背景

随着当前业务安全以及风控的要求,在做一些业务特别是涉及金融领域的业务,需要对用户进行OCR身份证上传识别,活体检测辨别真人,以规避风险和便于风控评估。

再说说为何不使用face++或者腾讯云慧眼的saas模式,因为saas模式集合了身份证OCR,银行卡OCR,活体检测于一体,不可拆分,自定义空间不多,因此我们公司使用的多是paas模式,借用face++或者腾讯云慧眼的api,自定义写自己的业务需求,实现相应的身份证,银行卡OCR进件和活体检测。(ps:如果对业务需求要求没那么高的,可以直接使用face++或者腾讯云慧眼的saas模式,一个链接跳转就搞定了,省事便捷。如有兴趣可查看face++官方文档和腾讯云慧眼官方文档)


paas模式活体检测流程(以数字模式的活体检测为例)

前端从后端获取数字口令,并展示在界面上(用户需要录制读数字的视频上传给后端做活体检测)

<divclass="face-record-prompt"><span>请使用前置摄像头</span><span>录制一段匀速读取下方数字的身份验证视频</span></div><divclass="face-record-num"><divclass="face-record-num-item">6577</div></div><span>开始录制视频</span>
  1. 用户点击开始活体,调用摄像头录制视频并上传给后端(通过input 标签实现视频文件的读取并将视频文件转为base64字符串传给后端做活体检测)
<template><!--不限制格式--><inputtype="file"accept="video/*"id="video"name="video"@change="uploadVideo"capture="user"/><!--限制格式--><!--<inputtype="file"accept="video/mp4, video/avi, video/flv"id="video"name="video"@change="uploadVideo"capture="user"/>--></template><script>exportdefault {
name: 'VideoUpload',
methods: {
uploadVideo(e) {
// console.log(e);constfile=e.target.files[0];
// 限制格式,判断视频文件类型是否正确leterrorMsg=null;
if (!/video\/\w+/.test(file.type) || (/video\/\w+/.test(file.type) && (!/mp4/.test(file.type) &&!/avi/.test(file.type) &&!/flv/.test(file.type)))) {
errorMsg='请上传mp4, avi, flv类型的视频文件';
      }
if (errorMsg) {
console.log(errorMsg);
e.target.value=null;
return;
      }
this.switchVideo(file);
    },
// 将视频转为base64switchVideo(file) {
constsize= (file.size/1024/1024).toFixed(3);
if (size>10) {
console.log('视频大小超过限制,请控制录制时长在3~5s左右');
      } else {
constreader=newFileReader();
constrs=reader.readAsDataURL(file);
// 将视频转为base64reader.onload= (event) => {
letdataBase64=event.target.result;
dataBase64=dataBase64.split(',')[1];
//提交到后台部分略constpath='https://后端上传视频的地址';
constpostData= {
videoStr: dataBase64,
          };
this.$http.post(path, postData).then((res) => {
console.log('上传成功');
          });
        };
      }
    },
  },
};
</script><stylelang="less"scoped>input {
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
left: 0;
top: 0;
}
</style>

后端返回活体状态并展示活体检测成功与否


总结:官方文档接入paas模式的描述,需要配置请求公共参数以及密钥参数之类的配置,出于安全性和可控性考虑,不由前端直接调用face++和腾讯云慧眼的接口,而是后端封装接口供前端使用,前端调用后端提供的接口,后端再调用face++和腾讯云慧眼的服务。


saas模式活体检测流程

saas模式的活体检测,通常包含了身份证OCR进件和活体检测两个步骤,这个模式下,前端并不需要太大的工作量,直接从后端获取活体检测的token,将其拼接到face++或腾讯云慧眼提供的链接地址,再跳转到拼接好的地址上即可。

window.location.href=`https://${face++或者腾讯云慧眼提供的saas地址}?token=${faceToken}`;
  1. 关于后端返回的token,通常是经过加密生成的,用于调用saas模式时进行鉴权。
目录
相关文章
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——Landmark
人脸识别活体检测之张张嘴和眨眨眼——Landmark
13 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
17 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing
人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing
14 0
|
2月前
|
JSON 安全 Java
人脸识别活体检测之张张嘴和眨眨眼
人脸识别活体检测之张张嘴和眨眨眼
24 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——login.jsp
人脸识别活体检测之张张嘴和眨眨眼——login.jsp
17 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——readme
人脸识别活体检测之张张嘴和眨眨眼——readme
15 0
|
2月前
|
JSON 安全 Java
人脸识别活体检测之眨眨眼和张张嘴
人脸识别活体检测之眨眨眼和张张嘴
22 0
|
3月前
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
40 0
|
29天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
62 7
|
3月前
|
算法 安全 搜索推荐
深入浅出:使用Python实现人脸识别系统
在当今数字化时代,人脸识别技术已成为安全验证、个性化服务等领域的关键技术。本文将引导读者从零开始,逐步探索如何利用Python和开源库OpenCV来构建一个基础的人脸识别系统。本文不仅会详细介绍环境搭建、关键算法理解,还会提供完整的代码示例,帮助读者理解人脸识别的工作原理,并在实际项目中快速应用。通过本文,您将能够掌握人脸识别的基本概念、关键技术和实现方法,为进一步深入学习和研究打下坚实的基础。