文章目录

  • 1 人脸识别活体检测技术
  • 2 人脸识别活体检测动作方案
    • 2.1眨眼和张嘴
    • 2.2 摇头与点头
    • 2.3 防止照片攻击
    • 2.4 关于哈希图像的比较

1 人脸识别活体检测技术

  • 动作配合式活体检测
  • 在线图片的活体检测
  • H5视频活体检测
  • 离线红外线活体检测
  • 离线3D结构活体检测
  • 离线RGB活体检测

2 人脸识别活体检测动作方案

下面的眨眼和张嘴,摇头和点头,都是通过连续的图片,计算变化距离与不变距离的比,进行上一帧图像与下一帧图像的比,来判断是否为活体。这里用的是dlib,速度很快,可以做到实施检测,每秒20帧是可以做到的。

2.1眨眼和张嘴

下面介绍张嘴检测,见下图。模仿眨眼,取点的时候需要注意,内圈的点变化更加明显。变化距离建议取内圈,固定距离选用外圈。

2.2 摇头与点头

摇头和点头的方法近视,用到一和上面的想法几乎一样。
首先说摇头,当摇头的时候,你的脸颊会变窄,而你的鼻子长度几乎是不变的。

点头的时候,鼻子的距离会变短,而脸颊的会几乎不会边窄。

2.3 防止照片攻击

用到的技术很简单,就是图像哈希算法。

过程是这样的:

  1. 1、通过摄像头检测场景,如果没有人脸,保存当前的背景图片。
  2. 2、如果5分钟内没有检测到人脸,用现在时间的场景图像代替内存中的图像。看作5分钟内场景内的光线变化不大。
  3. 3、如果检测人脸目标,随机截取背景图片,同时截取内存中对应位置的图像。两者进行哈希图像运算,比较两者的汉明距离。
  4. 4、关于随机截取多少个图像,和多大。这个要根据本地服务性能来决定。我设计的用了7个截图。

2.4 关于哈希图像的比较

(1)平均哈希(均值哈希算法)

  • 1.图片缩放,一般为88,或者3232
  • 2.将图片灰度化
  • 3.求平均值,并根据平均值将每一个像素二值化
  • 4.将8*8=64位bit,每8个比特为一个十六进制值,转换成字符串,生成哈希值(指纹)

(2)感知哈希(感知哈希算法)

  • 1 图像缩放为32*32大小
  • 2 将图像灰度化
  • 3 对图像进行离散余弦变化(DCT),转换到频域。
  • 4 取频域左上角8*8大小(图像的能量都集中在低频部分,低频位于左上角)
  • 5 计算平均值,病菌据平均值二值化(同平均哈希)。
  • 6 生成哈希值。

(3)差异值哈希(差值哈希算法)

  • 1 图片缩放为9*8大小
  • 2 将图片灰度化
  • 3 差异值计算(每行相邻像素的差值,这样会生成一个8*8的差值,前一个像素大于后一个像素则为1,否则为0)。
  • 4 生成哈希值。

(4)计算哈希距离(汉明距离)
生成每一个图片的哈希值后,需要计算哈希值的距离,来判断两张图片的相似度。一般使用汉明距离,也就是逐位计算两张图片的哈希值是否相同。

人脸识别活体检测技术理论相关推荐

  1. 人脸识别活体检测之张张嘴和眨眨眼

    暑 [这段时间有点忙,终于截止今天2018.06.22完成了人脸识别的最后一道程序--活体检测之眨眨眼和张张嘴] 关于人脸识别的内容我之前也写过好几篇博文,其中有:  {java实现人脸识别源码}  ...

  2. dlib实现人脸识别+活体检测

    目录: 一:dlib的shape_predictor_68_face_landmarks模型 二.眨眼检测 三.张口检测 四.眨眼检测+张口检测 五.人脸识别 六.人脸识别+活体检测 七.人脸识别破解 ...

  3. 人脸识别--活体检测(眨眼检测)

    人脸识别在现在很多的项目中都有应用,最常见的就属此次315曝光的支付宝刷脸登录,当然支付宝也出来做了澄清,我们还是需要相信科技的.支付宝的刷脸可谓是相当成熟了.下面我们来简单的分析一下支付宝的刷脸登录 ...

  4. Android开发之虹软人脸识别活体检测基本步骤

    首先,我简单说下虹软的人脸识别基本步骤: 1.你的设置好设置视频模式方向用于人脸检测 有如下几个可设置方向 //设置视频模式全方向人脸检测ConfigUtil.setFtOrient(this, Fa ...

  5. 微信公众号人脸识别|活体检测SDK|人证比对API

    一.概述 人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术.人脸识别是一项热门的计算机技术研究领域,可以将人脸明暗侦测,自动调整动态曝光补偿,人脸追踪侦测,自动调整影像放大:它属于生物 ...

  6. 人脸识别活体检测之张张嘴和眨眨眼——readme

    人脸检测返回参数详情 ----------------------------------------------------------------------------------------- ...

  7. 人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing

    /** * @Title: Json_Parsing.java * @Package org.util * @Description: TODO该方法的主要作用: * @author A18ccms ...

  8. Android开发之虹软人脸识别活体检测SDK包Bitmap转NV21方法

    /** * Bitmap 转化为 ARGB 数据,再转化为 NV21 数据 * * @param src 传入的 Bitmap,格式为 Bitmap.Config.ARGB_8888 * @param ...

  9. android bitmap nv21,Android开发之虹软人脸识别活体检测SDK包Bitmap转NV21方法

    /** * Bitmap 转化为 ARGB 数据,再转化为 NV21 数据 * * @param src 传入的 Bitmap,格式为 Bitmap.Config.ARGB_8888 * @param ...

  10. 人脸识别活体检测之张张嘴和眨眨眼——Landmark

    /** * @Title: Landmark.java * @Package org.entity * @Description: TODO该方法的主要作用: * @author A18ccms A1 ...

最新文章

  1. 最高10万奖励!不限选题!高通AI应用创新大赛应用赛道详解
  2. 在DWZ框架中整合kindeditor复文本框控件
  3. 莱维飞行matlab作图,基于莱维飞行和随机游动策略的灰狼算法
  4. labview 串口通信开发基础详解
  5. 对CPU的IO操作的理解
  6. 一个时代的终结:为什么是时候放弃ITOM四大巨头了?这对IT领导者来说意味着什么?...
  7. jeecg团队招新人(5人)
  8. php 点击文本框弹出时间,点击Input框弹出日期选项
  9. ubuntu14.04 LTS版本下安装配置gem5环境
  10. 诛仙3饮马江南服务器信息,横刀云渺,饮马天河----浅谈云渺天河5S单刷
  11. 异步编程的优势和难点
  12. cs1.6修改服务器参数设置,[心得] cs的网络参数调整指南
  13. 轻松读懂三极管,原来它是这样工作的
  14. lbj学习日记02 循环结构(for while)
  15. eMarketer:女性网民更偏爱网络社区
  16. 漫说从打工者到企业家的蜕变过程所碰到的问题及解决方案
  17. USB连接默认更改为传输文件
  18. 最最详细的黑马前端HTML5+CSS3笔记,给大家整理好了
  19. 《大话设计模式》之--第12章 牛市股票还会亏钱?----外观模式
  20. Redis 常用 API

热门文章

  1. 东西向流量/南北向流量
  2. 解决鼠标右键中没有新建选项
  3. 3dmax 模型导出单位设置问题
  4. python实战笔记之(4):刷博客浏览量
  5. win10下装黑苹果双系统_黑苹果macOS10.15.4单硬盘三系统安装教程
  6. 做淘宝做微信 你必须要知道的那些事儿
  7. [机器学习入门笔记] 2. 2022吴恩达机器学习Deeplearning.ai课程(回顾)
  8. 简单 PS CS6蒙版抠图技巧
  9. 2021高考厦门科技中学成绩查询,2021年厦门重点高中名单及排名,厦门高中高考成绩排名榜...
  10. 读计算机视觉综述做的脑图(11.09更新)