• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 基于HTML5 的人脸识别活体认证的实现方法

基于HTML5 的人脸识别活体认证的实现方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5 ,人脸识别,活体认证等相关知识,匿名希望在学习及工作中可以帮助到您
近几年,人脸识别技术在身份认证领域的应用已经有了较多应用,例如:支付宝、招行的取款、养老金领取等方面,但在杜绝假冒、认证安全性等方面,目前还是一个比较需要进一步解决的课题,特别是在移动端的活体认证技术方面。
本文介绍了在HTML5 环境下可以采用clmtrackr.js 检测工具,结合人脸模型,实现人脸的跟踪检测。同时采用动作识别实现活体认证。
但本方案只能够在Firefox 或者Chrome中使用。并且只适合研究学习,实际场景中不太理想,需要进一步优化才能够应用。
如果有人有相关的技术,可以推荐介绍给我。

<!DOCTYPE html>  

    <!--  

    Ideally these elements aren't created until it's confirmed that the   

    client supports video/camera, but for the sake of illustrating the   

    elements involved, they are created with markup (not JavaScript)  

    -->  

    <html>  

    <meta charset="GBK">  

    <style>  

    #container {  

    position : relative;  

    }  

     

    #canvas {  

    position : absolute;  

    left : 0;  

    top : 0;  

    }  

    </style>  

    <script src="utils.js"></script>  

    <script src="clmtrackr.js"></script>  

    <script src="./models/model_pca_20_svm.js"></script>  

    <script src="numeric.js"></script>  

    <script src="ccv.js"></script>  

      

    <audio id="media">   

    你的浏览器不支持audio标签。  

    </audio>  

    <p id="container">  

    <video id="video" width="600" height="400" autoplay >   

    您的浏览器不支持video标签  

    </video>  

    <canvas id="canvas" width="600" height="400"></canvas>  

    </p>      

      

    <button id="snap">Snap Photo</button>  

      

    <button id="start">Start</button>  

      

    <button id="showposition">显示</button>  

      

    <button id="hideposition">不显示</button>  

      

    <br/>  

      

    <button id="mouse">张嘴验证</button>   

    <button id="head">摇头验证</button>   

    <button id="eye">眨眼验证</button>  

      

      

    <p id="tip">  

    </p>  

    <p id="result">  

    </p>  

    <p id="msg">  

    </p>  

      

    <p id="positions">  

    </p>  

      

    <script>  

      

    var showpos=false;  

    // Put event listeners into place  

    //window.addEventListener("DOMContentLoaded", function() {  

      

    // Grab elements, create settings, etc.  

    var canvas = document.getElementById("canvas"),  

    context = canvas.getContext("2d"),  

    video = document.getElementById("video"),  

    videoObj = { "video": true },  

    errBack = function(error) {  

    if (error.PERMISSION_DENIED) {  

    jAlert('用户拒绝了浏览器请求媒体的权限', '提示');  

    } else if (error.NOT_SUPPORTED_ERROR) {  

    jAlert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器', '提示');  

    } else if (error.MANDATORY_UNSATISFIED_ERROR) {  

    jAlert('指定的媒体类型未接收到媒体流', '提示');  

    } else {  

    jAlert('系统未能获取到摄像头,请确保摄像头已正确安装。或尝试刷新页面,重试', '提示');  

    }  

    };  

      

    // Put video listeners into place  

    if(navigator.getUserMedia) { // Standard  

      

    navigator.getUserMedia(videoObj, function(stream) {  

      

    video.src = stream;  

    video.play();  

      

    }, errBack);  

      

    } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed  

      

    try{  

      

    navigator.webkitGetUserMedia(videoObj, function(stream){   

    video.src = window.webkitURL.createObjectURL(stream);  

    video.play();  

    }, errBack);  

      

    }catch(error){  

    alert(error);  

    }  

      

    }  

    else if(navigator.mozGetUserMedia) { // Firefox-prefixed  

    navigator.mozGetUserMedia(videoObj, function(stream){  

      

    video.src = window.URL.createObjectURL(stream);  

    video.play();  

    }, errBack);  

    }  

      

      

      

    // Trigger photo take  

    document.getElementById("snap").addEventListener("click", function() {  

    context.drawImage(video, 0, 0, 600, 400);  

    });  

    document.getElementById("start").addEventListener("click", function() {  

    startTrack();  

    });  

      

      

    document.getElementById("showposition").addEventListener("click", function() {  

    showpos=true;  

    });  

      

    document.getElementById("hideposition").addEventListener("click", function() {  

    showpos=false;  

    });  

      

    document.getElementById("mouse").addEventListener("click", function() {  

    alive_mouse();  

    });  

    document.getElementById("head").addEventListener("click", function() {  

    alive_head();  

    });  

      

    document.getElementById("eye").addEventListener("click", function() {  

    alive_eye();  

    });  

      

      

      

      

    //}, false);  

      

      

    </script>  

      

    <script>  

      

    //////////////////////////////////////////////////////////////////////////////  

    //活体  

    var last_time=0;//时间因素  

    var last_nose_left=0;  

    var last_nose_top=0;  

      

    //张嘴动作  

    var is_mouse_ok=false;   

    var is_alive_mouse=false;  

    var last_dis_eye_norse=0;  

    var last_dis_mouse=0;  

    function alive_mouse(){  

      

    var media = document.getElementById("media");  

    media.src="mp3/alive_mouse.mp3";  

    media.play();  

      

    document.getElementById("tip").innerHTML="请张合嘴巴";  

    document.getElementById('result').innerHTML = "";  

      

    is_mouse_ok=false;  

    last_dis_mouse=0;  

    last_time=0;  

    last_dis_eye_norse=100000000;   

      

    is_alive_head=false;  

    is_alive_mouse=true;  

    is_alive_eye=false;  

      

    }  

    //摇头动作  

    var is_head_ok=false;   

    var is_alive_head=false;  

    var last_dis_left_right=100000000;   

    function alive_head(){  

      

    var media = document.getElementById("media");  

    media.src="mp3/alive_head.mp3";  

    media.play();  

      

    document.getElementById("tip").innerHTML="请在水平方向左右摇头";  

    document.getElementById('result').innerHTML = "";  

      

    is_head_ok=false;  

    last_dis_left_right=100000000;   

    last_time=0;   

    is_alive_head=true;  

    is_alive_mouse=false;  

    is_alive_eye=false;  

      

    }  

      

    //眨眼动作  

    var is_alive_eye=false;  

    var is_eye_ok = false;  

      

    function alive_eye(){  

    var media = document.getElementById("media");  

    media.src="mp3/alive_eye.mp3";  

    media.play();  

      

    document.getElementById("tip").innerHTML="请眨眼";  

  


 

您可能想查找下面的文章:

  • HTML5的本地存储
  • Define charset for HTML5 Doctype
  • HTML5 canvas如何绘制动态径向渐变
  • 如何使用HTML5 Canvas绘制动态线性渐变
  • HTML5 canvas如何实现马赛克的淡入淡出效果(代码)
  • HTML5 canvas中如何绘制图像
  • 如何使用HTML5 canvas实现图像的马赛克
  • html5 canvas实现简单的双缓冲
  • HTML5 Canvas 图形组合是如何实现的?附代码
  • HTML5 figure标签是什么意思?HTML5 figure标签的使用方法详解

相关文章

  • 2018-12-03项目实战:医药箱APP
  • 2018-12-03HTML5表单的属性有哪些?
  • 2018-12-03canvas API ,通俗的canvas基础知识(一)
  • 2018-12-03有关设计参考的文章推荐5篇
  • 2018-12-03HTML5中语义化 b 和 i 标签_html5教程技巧
  • 2018-12-03避免常见的六种HTML5错误用法 (1)
  • 2018-12-03基于HTML5 Canvas 实现地铁站监控
  • 2018-12-03h5canvas实现黑客帝国矩形阵效果代码
  • 2017-08-06HTML5微信播放全屏问题的解决方法
  • 2018-12-03新手求问,html5的开发工具用什么好,可以边开发边看效果的?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 用HTML5画一个3D的三角形网格
    • Html5实现如何在两个div元素之间拖放图像
    • HTML5 canvas基本绘图之绘制线条
    • 入行5年多的as3程序员,不知道未来怎么样!该转型吗? ?对未来有些迷茫!?
    • 24岁从零开始学html晚不晚?
    • 实例讲解使用HTML5 Canvas绘制阴影效果的方法_html5教程技巧
    • HTML5无刷新改变当前url的代码
    • li inside-block在IE11换行无效的原因
    • HTML5+A*算法实现游戏寻路的代码分享
    • JCanvas库 开发接口

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有