热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

03基于纹理特征的人脸活体检测01

1.活体相关文献综述调研参考:https:blog.csdn.netCVAIDLarticledetails845673192.基于LBP纹理特征的检测1)基于LBP_256特征提

1. 活体相关文献综述调研

参考:https://blog.csdn.net/CVAIDL/article/details/84567319

2. 基于LBP纹理特征的检测

1) 基于LBP_256特征提取(基本的256维LBP特征向量)

       401*401 RGB图片->灰度化->  计算得到400*400的LBP的256特征图(像素值0-255)->裁分成16个 10*10的 cell区域 -> 计算每个cell区域的256直方图,并归一化(共计16个256直方图,首尾相连,该图像图像的特征向量)-> 送入SVM分类器训练/分类;

2)基于LBP_59特征提取(灰度不变+等价模式LBP特征向量 (58种模式),只统计LBP的特征图0-1或1-0之间跳变在两次以内的情况)

     401*401 RGB图片 -> 灰度化 -> 计算得到400*400的LBP的58特征图(像素值0-58, 58种等价模式表示为1~58, 59种混合模式表示为0)->裁分成16个 10*10的 cell区域 -> 计算每个cell区域的256直方图,并归一化(共计16个256直方图,首尾相连,该图像图像的特征向量)-> 送入SVM分类器训练/分类;

3)  基于LBP_9特征提取(计算灰度不变+旋转不变+等价模式LBP特征向量(9种模式))

    401*401 RGB图片 -> 灰度化 -> 计算得到400*400的LBP的9特征图(256特征图->58特征图->9特征图)->裁分成16个 10*10的 cell区域 -> 计算每个cell区域的256直方图,并归一化(共计16个256直方图,首尾相连,该图像图像的特征向量)-> 送入SVM分类器训练/分类;

注:一定要归一化,否则分类器计算误差很大。(因为归一化之前,比如LBP_256特征图中的像素值分布在0-255之间,分布范围较广,如果大多数数据集中在某一范围(如20-60之间),很容易造成数据稀疏分布。归一化之后,数据分布在较小范围0-1之间,有利于数据学习训练);

4) 基于NUAA数据集的训练与测试的结果,Method代表不同的方式提取特征,使用SVM训练分类; Face soofing(0)代表是NUAA测试集的非活体(人脸照片的攻击图片),能正确识别的准确率;Living face(1) 代表的是NUAA测试集中的活体(真实人脸),能够正确识别的准确率;average是能够正确识别活体与非活体人脸的平均识别准确率。


参考:LBP(局部二值模式)特征提取原理:https://blog.csdn.net/shenziheng1/article/details/72582197          

         灰度不变+旋转不变+等价模式:https://blog.csdn.net/qq_26898461/article/details/46875517

         LBP特征 旋转不变+标准型+圆形 及其在人脸识别中的应用含代码:https://blog.csdn.net/weierqiuba/article/details/70495902

         LBP纹理特征:http://www.bewindoweb.com/236.html

3. 基于颜色空间+纹理特征的检测

 1) 检测流程

     401*401的RGB图 -> 颜色空间转换(YCrCb或HSV) ->三通道分离(Y/Cr/Cb或H/S/V)-> 基于LBP纹理特征的检测(参照上述2灰度化之后的检测流程);


参考:论文:Face Spoofing Detection Using Colour Texture Analysis.

2) 实验结果

基于NUAA数据集的训练与测试


3) 视频demo展示:

链接:https://user.qzone.qq.com/577897657/photo/video/1006_aebeccfb73a94971a6515fada940eab4

 



推荐阅读
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • Windows Phone 弹出窗口实现方案
    在当前版本的 Silverlight for Windows Phone 中,由于缺乏对 ChildWindow 的支持,开发者需要采用其他方法来实现弹出窗口的功能。本文将探讨几种有效的解决方案。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 探索百度WebFE团队打造的强大HTML5上传插件Web Uploader
    本文将详细介绍由百度WebFE团队开发的Web Uploader,这是一款集成了HTML5与Flash技术的上传组件,以其卓越的用户体验和强大的功能著称。 ... [详细]
author-avatar
金叶诺一的妈妈
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有