活体识别3:论文笔记之《FACE ANTI-SPOOFING BASED ON COLOR TEXTURE ANALYSIS》

news2024/10/10 0:27:59

说明

本文是我对论文《FACE ANTI-SPOOFING BASED ON COLOR TEXTURE ANALYSIS》做的一个简单笔记。
这个论文是芬兰奥卢大学(Oulu)课题组的一篇很有代表性的论文,写于2015年,使用的是“LBP特征+SVM分类器”这种比较传统的方案,方案不复杂,效果还不错。也适合改造后在嵌入式端做部署。
其基本原理就是在RGB色彩空间分辨真假脸有困难,但是发现在YCbCr和HSV色彩空间用LBP特征则相对容易区分。后来该课题组还将这个思路在2016年的论文里发扬光大,增加了另外的色彩空间和特征提取手段,融合后的分类效果更好,有兴趣可以看看《Face Spoofing Detection Using Colour Texture Analysis》这篇论文。

我在github上看到一个该论文的matlab开源项目,不确定是否为课题组官方的::https://github.com/zboulkenafet/Face-anti-spoofing-based-on-color-texture-analysis

论文内容

以往的方案往往使用灰度图像来进行活体识别,只利用了图像的亮度信息,忽略了色彩的纹理信息。当图像分辨率很高(或图片质量很好)时,真假人脸的区分度还比较高,但是如果是裁剪的人脸小图,则看不出明显的纹理差异(如图1)。但是色彩的某些分量可以看出较明显的差异。
在这里插入图片描述
受上述观察的启发 ,我们在这项工作中提出了一种新的基于颜色纹理分析的人脸活体防伪方法。主要思路就是使用一篇参考文献里描述的LBP特征来提取人脸的color-texture信息,该文献中最终的LBP直方图是由各个色彩通道的LBP直方图组合起来形成的。为了探究哪种颜色空间更能区分真实人脸,我们考虑了 3 种颜色空间,即RGB、HSV和YCbCr。

与真实的人脸相比,照片、视频播放和面具能够展现的色域是有限的。所以活体攻击的假脸呈现的颜色是受攻击手段(媒介)限制的。相比真实的人脸,假的人脸多了一次成像和复现的过程,这个过程本身会引入颜色的色域特征的改变和局部噪声。我们从不同的颜色空间中提取LBP特征,研究哪些颜色模型最能反映微观纹理特征。

本文的活体检测方法如图 2 所示。 先生成每个颜色通道的的LBP直方图,合并后给SVM分类器进行分类。
在这里插入图片描述
该论文选择了两个数据集进行测试:CASIA FA和Replay-Attack database。
下面两个表格可以看出,使用彩色纹理特征的结果明显好于灰度图片的结果。而且各个色彩空间比较下来,YCbCr性能最好。跟灰度图的效果比,YCbCr在两个数据集上分别有64.1%和81.4%的性能改进。而且从表1上来看,HSV色彩空间貌似对视频攻击更有效。所以论文作者设计了将YCbCr和HSV色彩空间的特征做拼接,然后再分类的方案,效果比单独的色彩空间更好。

(表1中不同的method是CASIA FA数据集包含的7个场景的测试集对应的测试)
在这里插入图片描述
表格3是跟别的论文方案进行对比。总之在这俩个数据集上也很有竞争力,虽然没拿到所有的最佳。
在这里插入图片描述
论文中还涉及了对SVM类型及核函数的讨论。由于我不打算用SVM,就不细说了。
LBP使用的是半径为1的8像素圆形算子,对64x64大小的人脸提取纹理特征。作者说为了同时捕捉人脸图像的外观和运动变化,他们是在一个几秒视频上对每一帧提取特征后再求平均(我也没看人家的代码实现,我理解应该是对LBP直方图求平均)。

在这里插入图片描述
作者在论文里说,HSV和YCbCr两个色彩空间的特征合并后得到的直方图尺寸是59x3x2,所以可以推测,作何使用的直方图灰阶的数量是59,而不是256。猜测这么做是为了减少计算量。如果对59这个数字再敏感一点,可以从网上查到,等价灰度不变模式的LBP的维度刚好是59,opencv中刚好也支持。

参考资料

《FACE ANTI-SPOOFING BASED ON COLOR TEXTURE ANALYSIS》论文链接

《Face Spoofing Detection Using Colour Texture Analysis》论文地址

目前局部纹理特征分析常用的算子:https://zhuanlan.zhihu.com/p/393873880

【CV】图像特征提取:LBP:https://zhuanlan.zhihu.com/p/556382573

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用 JuiceFS 创建 WebDAV 共享

WebDAV 是一种基于 HTTP 的文件共享协议,最初被设计用于多用户文档协作编辑的场景,也被广泛应用在基于互联网的文件存储、数据同步等网盘类应用场景。 手机端和 PC 端有大量的应用内置了对 WebDAV 的支持,比如知名的文献管理工具 Zotero、iP…

微信小程序 java Springboot校园租房指南房屋租赁系统

东前端;首页、房源信息、租房指南、我的,用户前端;首页、房源信息、租房指南、我的等主要功能模块的操作和管理。 1.出租房源信息的上传、审核、发布; 2.租房信息的浏览、查找、查看; 3.用户与出租方通信; …

Docker-01基本命令

1、Docker安装 系统镜像为Centos7.x yum包更新到最新 sudo yum update安装需要的软件包,yum-util提供yum-config-manager功能。另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2设置yum源为阿里云 sudo yu…

OpenText 企业内容管理平台客户案例——印度鲁宾(Lupin)制药公司

OpenText 企业内容管理平台客户案例——印度鲁宾(Lupin)制药公司 公司:Lupin 行业:制药 方案: OpenText™ Extended ECM Platform OpenText™ AppWorks™ OpenText™ Capture 合作伙伴:Muraai Informat…

uniapp数据缓存与apk打包

目录 一、uniapp数据缓存Storage 1.1、存值uni.setStorageSync(KEY,DATA) 1.2、取值uni.getStorageSync(KEY) 1.3、uni.removeStorageSync(KEY) 1.4、uni.clearStorageSync() 二、配置发行H5--打包 一、uniapp数据缓存Storage 1.1、存值uni.setStorageSync(KEY,DATA) 含…

APISIX介绍和安装使用

APISIX目录什么是APISIX?与 Kong的比较概述安装1. 安装依赖2 安装 Apache APISIX2.1 安装脚本2.2 启动 APISIXAPISIX 控制台动态负载均衡1. 启动2个微服务命令2.验证服务是否正常3. 重要概念4.创建 APISIX Upstream(上游,后端 API 服务&#…

Python(12)--元组

一、元组的基本介绍 元组(tuple):这种数据类型结构与列表相同,但它与列表也有很大的差异,它的元素值与元素个数不可更改。 列表的定义是将元素放入[ ]中,元组的定义是将元素放入()中…

通过堆转储快照定位JVM堆内存OOM的问题

目录获取堆转储快照JVM启动时增加参数通过jmap指令生成分析堆转储快照Eclipse Memory Analyzer简介示例获取堆转储快照 如何获取堆转储快照?常用的有两种方式: JVM启动时增加参数 出现OOM时生成堆dump: -XX:HeapDumpOnOutOfMemoryError指…

【2325. 解密消息】

来源:力扣(LeetCode) 描述: 给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。将…

【数据结构初阶】第六篇——二叉树的重要性质

树的概念及结构 树的概念 树中专有名词 树的表示 二叉树的概念及其重要性质 二叉树的概念 数据结构中的二叉树 特殊的二叉树 二叉树的性质 二叉树的存储结构 顺序结构 链式结构 树的概念及结构 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有…

【算法】Brute-Force 算法

目录1.概述2.代码实现本文参考: 《数据结构教程》第 5 版 李春葆 主编 1.概述 (1)设有两个串 s 和 t,串 t 的定位就是要在串 s 中找到一个与 t 相等的子串。通常把 s 称为目标串(target string),把 t 称为模式串(patt…

flutter 之 ListView的使用与详解 map for listview.builder 的使用

1.ListView 配合ListTile 实现新闻列表样式 ListView(children: <Widget>[ListTile(title: const Text(我是 title),subtitle: const Text(我是 sub_title),leading: Image.asset(images/c.png,fit: BoxFit.cover,),trailing: const Icon(Icons.chevron_right,size: 22,…

九龙证券|港股盘中暴涨110%!多股涨停,有色、汽车板块爆发!

阴历兔年春节后第三个交易日上午&#xff0c;A股首要指数重回涨势&#xff0c;全体走势略显震动胶着。北向资金持续呈现净买入趋势&#xff0c;半响净买入额到达30.61亿元。 港股方面&#xff0c;全体体现也较好&#xff0c;恒生科技指数领涨。港股个股方面亮点纷呈&#xff0c…

信息安全管理体系认证

​ISO信息安全管理体系认证 一、什么是ISO信息安全管理体系认证&#xff1f; ISO是信息安全管理体系认证&#xff0c;是由国际标准化组织&#xff08;ISO&#xff09;采纳英国标准协会BS-2标准后实施的管理体系&#xff0c;成为了“信息安全管理”的国际通用语言&#xff0c;企…

Unity Shader - Curved World - 类似 地铁跑酷,动物森友会 的世界扭曲效果 - 球形透视

我发现莉莉丝的《神觉者》在战斗中也有使用到这个效果&#xff0c;视觉效果提升还是很大的 比如&#xff0c;球形投影前的效果 球形投影后的效果 GIF: ShaderLab cginc 固定 Vector.forward 方向的球形透视 参考&#xff1a; Shader in Unity & Curved world shader …

Nacos学习:二、配置中心

2. 配置中心 配置中心将配置从各应用中剥离出来&#xff0c;对配置进行统一管理&#xff0c;应用自身不需要自己去管理配置。 配置中心的服务流程如下&#xff1a; 1、用户在配置中心更新配置信息。 2、服务A和服务B及时得到配置更新通知&#xff0c;从配置中心获取配置。 …

uni-app - H5 网站项目接入集成 51LA 网站统计详细教程(提供 51LA.js 官方插件与引入教程)

前言 如果您需要 Nuxt.js H5 网站项目的引入方式,请访问:Nuxt.js - 网站项目接入 51LA 网站统计 这个需求不常见,网上几乎没有教程,本文来做最新最好用的引入方案。 本文实现了 uniapp 开发的 H5 网页项目,要求接入 51LA 网站统计 的需求, 跟着本文,简简单单的几个步骤…

【HTML】有趣的代码合集(附源码)

文末有源码下载&#xff0c; “窝” 不信你全都看不上 文章目录CSS3 登录表单 个性化登录按钮可爱的CSS3圆盘时钟动画jQuery登录表单CSS3超酷弹出对话框 兼容移动端HTML5翻牌消除小游戏交互式分享按钮 可横向展开HTML5文件上传美化表单 支持拖拽上传纯CSS3加载Loading动画图 12…

unity怎样让玩家在不同材质上行走具有不同脚步声音效

问题:玩家在草地,雪地,木板上行走需要不同的脚步声音效,且无论行走还是奔跑,音效都要和脚步动画同步.思路:在动画上添加事件触发脚步声音效,并判断地面的材质然后播放不同的音效.实现:一.判断地面材质第一种情况是在unity内置terrain上行走地面有草地,石地,木地等,需要有不同音…

【蓝桥杯】历届试题 成绩统计(省赛)Java

【资源限制】 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 【问题描述】 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。…