人脸识别、活体检测(眨眼、摇头、张嘴动作)clmtrackr
人脸识别、活体检测(眨眼、摇头、张嘴动作)项目总结
项目需求 / 步骤实现描述:
1、申请摄像头权限,开始识别面部信息、同时开始录像 ;
2、随机顺序生成面部检验动作;
3、并开始倒计时,需10s内完成该组检验动作;
4、完成动作通过后,停止录像。
5、截取一张图片;并将录像和图片、检验动作、检验结果上传后台保存;
6、上传成功根据返回结果登录系统页面。
一、遇到的问题及解决方案
问题1、ios苹果系统在微信中允许摄像头权限后,页面无人像并一片空白问题。或是有些苹果机需要手动点击页面的视频播放才能出现视频人像;
因为微信浏览器没有开启ios摄像头的权限,所以才会出现有些需要手动再次点击播放才能出现。 (ios系统安全机制,需使用自带的safari浏览器才可以有权限)
问题2、ios或是部分手机的视频录制格式 MediaRecorder-MIME 格式被客户端录制;
问题1解决方案:
创建页面监听(WeixinJSBridgeReady)
原理:对页面加载进行监听,等待微信客户端页面加载完毕后,自动触发音频播放
<video id="Video" preload autoplay loop muted webkit-playsinline="true" playsinline="true"></video>
<script> // 使用微信自带的WeixinJSBridgeReady事件 document.addEventListener('WeixinJSBridgeReady', function() { document.getElementById('Video').play() })
</script>
问题2解决方案:
增加类型的判断
var p = navigator.mediaDevices.getUserMedia({ audio: true, video: true });
p.then(function(stream) {
var _this = this;
console.log('stream.id----', stream.id);
var options = {
mimeType: 'video/webm;codecs=vp9' // '默认'
};
if (!MediaRecorder.isTypeSupported(options.mimeType)) {
logger('ondataavailable', 'MIME 格式无法被客户端录制');
var types = [
'video/webm\;codecs=vp8',
'audio/mp4',
'video/mp4',
'video/webm',
'audio/webm',
'video/webm\;codecs=daala',
'video/webm\;codecs=h264',
'audio/webm\;codecs=opus',
'video/mpeg'
];
for (var i in types) {
logger('判断类型: ', types[i]);
if (MediaRecorder.isTypeSupported(types[i])) {
options.mimeType = types[i]
logger('MediaRecorder-MIME 录制类型: Maybe!', types[i]);
break
}
}
}
if (!MediaRecorder.isTypeSupported) {
options.mimeType = 'audio/mp4'
}
_this.recoder = new MediaRecorder(stream, options);
console.log('stream', stream)
_this.recoder.ondataavailable = function (e) {
recodedBuffer.push(e.data);
logger('ondataavailable', '录制数据有效', e, e.data, e.data.size);
}
...
...
})
人脸识别、活体检测(眨眼、摇头、张嘴动作)clmtrackr的更多相关文章
- 基于HTML5 的人脸识别活体认证
近几年,人脸识别技术在身份认证领域的应用已经有了较多应用,例如:支付宝.招行的取款.养老金领取等方面,但在杜绝假冒.认证安全性等方面,目前还是一个比较需要进一步解决的课题,特别是在移动端的活体认证技术 ...
- opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程
很多朋友为了学习python.ML(机器学习).DL(深度学习).opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索.下载.安装配置,出问题等. 市面上的配置资料很多,选 ...
- 基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)
本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172 import numpy as np import cv2 # ...
- Python3+Dlib实现简单人脸识别案例
Python3+Dlib实现简单人脸识别案例 写在前边 很早很早之前,当我还是一个傻了吧唧的专科生的时候,我就听说过人脸识别,听说过算法,听说过人工智能,并且也出生牛犊不怕虎般的学习过TensorFl ...
- 基于iOS用CoreImage实现人脸识别
2018-09-04更新: 很久没有更新文章了,工作之余花时间看了之前写的这篇文章并运行了之前写的配套Demo,通过打印人脸特征CIFaceFeature的属性,发现识别的效果并不是很好,具体说明见文 ...
- 百度离线人脸识别sdk的使用
1.1下载sdk运行 百度离线人脸识别sdk的使用 1.2配置环境 添加至项目,可以拖动复制或者以类库形式添加face-resource此文件夹 放到根目录上一层 激活文件与所有dll引用放到根目录嫌 ...
- MFC中利用Opencv与C++抓取摄像头进行人脸识别(Mat)
原文:http://blog.csdn.net/mr_curry/article/details/51098311 第一次写博客哈哈,有些小激动,还请各位大神多多包涵~ 最近的项目需要用到人脸识别,作 ...
- 人脸识别FaceNet+TensorFlow
一.本文目标 利用facenet源码实现从摄像头读取视频,实时检测并识别视频中的人脸.换句话说:把facenet源码中contributed目录下的real_time_face_recognition ...
- 6-9 Haar+adaboost人脸识别
我们重点分析了Haar特征的概念以及如何计算Haar特征,并介绍了Haar+Adaboost分类器它们的组合以及Adaboost分类器如何使用和训练.这节课我们将通过代码来实现一下Haar+Adabo ...
随机推荐
- NC14683 储物点的距离
NC14683 储物点的距离 题目 题目描述 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离. 每次给个区间 \([l,r]\) ,查询把这个区间内所有储物点的东西运到另外一个储物点的代价是 ...
- 换根 DP 学习笔记
前言 没脑子选手什么都不会. 正文 先来写一下换根 DP 的特点或应用方面: 不同的点作为树的根节点,答案不一样. 求解答案时要求出每一个节点的信息. 无法通过一次搜索完成答案的求解,因为一次搜索只能 ...
- meet in the middle 复习笔记
前言 若干年前看过现在又忘了.这么简单都忘 所以今天来重新复习一下. 正题 考虑这样的问题: 给定 \(n\) 个物品的价格,你有 \(m\) 块钱,每件物品限买一次,求买东西的方案数. \(n\le ...
- 4种Kafka网络中断和网络分区场景分析
摘要:本文主要带来4种Kafka网络中断和网络分区场景分析. 本文分享自华为云社区<Kafka网络中断和网络分区场景分析>,作者: 中间件小哥. 以Kafka 2.7.1版本为例,依赖zk ...
- Java开发学习(十一)----基于注解开发bean作用范围与生命周期管理
一.注解开发bean作用范围与生命周期管理 前面使用注解已经完成了bean的管理,接下来将通过配置实现的内容都换成对应的注解实现,包含两部分内容:bean作用范围和bean生命周期. 1.1 环境准备 ...
- Josephus问题(Ⅲ)
题目描述 n个人排成一圈,按顺时针方向依次编号1,2,3-n.从编号为1的人开始顺时针"一二三...."报数,报到m的人退出圈子.这样不断循环下去,圈子里的人将不断减少.最终一定会 ...
- 2022-07-09 第六组 润土 CSS学习笔记
HTML:用来描述网页的一种语言. 超文本语言.动画.音频.视频.特效.超链. 用标签定义网页 浏览器 流行浏览器: IE微软宣布永久关闭 firefox火狐 Chrom谷歌 Sarifi vscod ...
- S32K148_CAN驱动(裸机开发)
hello,大家好.今天我又来啦,今天记录一下S32K148-CAN裸机驱动编写,有错误地方欢迎大家指正. CAN的发送接收在S32K148中主要有三种方式,一种是邮箱机制(mailbox),一种FI ...
- docker数据卷技术
数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test - ...
- HTML表单学习
HTML表单学习 前言 HTML基础学习会由HTML基础标签学习.HTML表单学习和一张思维导图总结HTML基础三篇文章构成,文章中博主会提取出重点常用的知识和经常出现的bug,提高学习的效率,后续会 ...