活体识别4:论文笔记之《Face Spoofing Detection Using Colour Texture Analysis》

news2024/11/18 19:29:52

说明

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

论文内容

本篇使用的数据集有:CASIA Face Anti-Spoofing Database, Replay-Attack Database 和 MSU Mobi l e Face s pooof Database。可以看到前两个是上篇文章中也在使用的。
本文的出发点仍然没变,由于缺乏高频信息,假的人脸经过两个不同型号的相机成像和一次打印或显示,将会导致图像质量下降,而且复制的图像也会引入额外的噪声。色彩再现的过程中,其呈现的颜色也无法和真实的人脸相比。如下图,打印的色域是有限的。
在这里插入图片描述
以往的方案往往使用灰度图像来进行活体识别,只利用了图像的亮度信息,忽略了色彩的纹理信息。当图像分辨率很高(或图片质量很好)时,真假人脸的区分度还比较高,但是如果是裁剪的人脸小图,则看不出明显的纹理差异(如图1)。但是色彩的某些分量可以看出较明显的差异。
在这里插入图片描述本工作扩展了我们在《FACE ANTI-SPOOFING BASED ON COLOR TEXTURE ANALYSIS》中提出的基于颜色纹理的初步方法 ,并对彩色纹理分析用于人脸欺骗检测进行了深入分析。除了在 我们之前的工作中使用的LB P算子,我们还使用其他四个算子来探索面部颜色纹理:LPQ算子、CoLALBP算子、BSIF算子和SID算子。
该文第二章节对之前的一些活体识别方案做了一个综述,最后结论是单个方案很难对所有的场景都有效,将多个方法联合起来才能具备更好的鲁棒性和泛化能力。
该文第三章节开始讲使用彩色进行活体识别的依据。
首先是一个图,如下,分别计算真脸和打印假脸、视频假脸及另一个真脸的相似度,相似度用LBP直方图的卡方距离来表示。总之,在最下面的真脸对比中,无论是灰度图片还是YCbCr空间中,两张真脸的相似度都比较高(距离小)。在和打印假脸、视频假脸的对比中,灰度图无法有效区分假脸,因为它们与真脸图片的相似度都比较高(距离小),而在YCbCr空间中,Cb通道和Cr通道中真脸图片和假脸图片相似度较低(距离大),有较明显的区分度。
在这里插入图片描述
如果上面的说法有点抽象的话,下图则更形象。下图是Replay - Attack数据LBP直方图的平均值。 可以看到真假人脸的灰度图的LBP直方图比较相似。而YCbCr空间的Cr、Cb通道的LBP直方图差异较大。这是因为人眼对亮度更敏感,所以各种色彩映射算法都优先保证亮度值的相似。这也是为啥灰度图无法有效区分真假脸。假脸在重新拍照、印刷的过程会导致颜色失真并引入了噪声,同理也适合显示回放攻击。
在这里插入图片描述
本文讨论的方案如下图所示,先在图片中检测人脸并将人脸统一裁剪缩放为一定的大小。然后从人脸图片的各个色彩通道中提取特征,最后将各个通道的特征向量拼接在一起作为整个人脸的表征。拼接后的特征向量送入一个二值分类器,用以判别是真脸还是假脸。从不同颜色空间提取的特征向量可以进行融合来获得更好的性能。
在这里插入图片描述
本文主要考察了RGB、HSV和YCbCr三种颜色空间。
在算子的的选择上,本文使用了以下5中算子来对人脸的颜色纹理进行分析:LBP算子、LPQ算子、CoLALBP算子、BSIF算子和SID算子。
效果怎么样还要通过测试数据来说明。上对比。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为了探索特征提取方法和颜色空间的组合效果,作者在三个数据集上做了测试,就是上面三个表格的内容。明显可以看出来,无论哪个数据集上,彩色图片的效果都远远好于灰度图的效果,而且在三个颜色空间中,YCbCr和HSV明显好于RGB。在前两个表格中,CoALBP算子表现最好,在最后一个表格中,LPQ算子和YCbCr的组合表现最好。
所以作者最终选择了LPQ、CoALBP两个算子得到的特征做融合,在YCbC、HSV这两个颜色空间上做了对比测试,如下图。结果发现YCbC、HSV这两个颜色空间得到的特征再做组合效果最好。因为有两种特征算子和两个颜色空间,总共就是4种特征了,组合起来计算量小不了。果然融合大法好。
在这里插入图片描述
最后是喜闻乐见的踩拉环节,如下表,融合起来效果杠杠滴。
在这里插入图片描述

参考资料

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

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

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

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

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

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

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

相关文章

吾爱2023新年红包题第三题

吾爱论坛2023年春节红包安卓题,随便玩一玩; https://www.52pojie.cn/thread-1738015-1-1.html 第三题:https://www.52pojie.cn/home.php?modtask&doview&id22 首先我们下载后,打开apk是提示要点击 999次即可通关&…

Docker - 4. Docker 帮助启动类命令

目录 1. 启动 docker 2. 停止 docker 3. 重启 docker 4. 查看 docker 状态 5. 保持开机自动启动 6. 显示 docker 版本信息 7. 显示 docker 系统信息 8. 查看 docker 总体帮助文档 9. 查看 docker 命令帮助文档 1. 启动 docker systemctl start docker 2. 停止 dock…

macm1安装tensorflow以及pycharm配置

macm1安装tensorflow以及pycharm配置 本文目录macm1安装tensorflow以及pycharm配置使用MacOS 12安装conda创建一个conda环境安装tensorflowpycharm配置使用MacOS 12 必需条件:macOS 12 安装conda 安装Miniforge(包含conda及一个python环境)…

RabbitMQ消息队列实战(2)—— Java调用RabbitMQ的三种方式

本文主要介绍Java中调用RabbitMQ的三种方式。三种方式实际上对应了三种不同的抽象级别:首先,通过Java原生代码来访问RabbitMQ。在这种方式下,需要手动创建Connection,创建Channel,然后通过Channel对象可以显式的创建Ex…

基于springboot+vue的问卷调查系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 功能分析…

学校机房高效稳定,一招见效

校园安全作为公共安全领域重要的一部分,一直以来都格外受到重视。近年来,各地区陆续发布了多项加强校园安全管理的政策、法规及标准规范,旨在贯彻落实构建“平安校园”的宗旨,不断完善校园的人防、物防、技防建设。 学校机房常见四…

AutoLisp演练(二)

一、自动绘制出多个等半径圆相切 1.输入基准点baspt 2.输入小圆半径rad 3. 输入欲相切的圆的数量num 4.自动绘制出多个等半径圆相切 5. 涉及到相关变量,设定为baspt、rad、num、midpt、cenpt、kk、ang1、ang2 二、程序代码实现 三、测试及效果 测试一 四、…

盘点一些惊艳一时的 CSS 属性

✨ 个人主页:山山而川~xyj ⚶ 作者简介:前端领域新星创作者,专注于前端各领域技术,共同学习共同进步,一起加油! 🎆 系列专栏: web 大前端 🚀 学习格言:与其临…

2023爬虫学习笔记 -- 某狗网站爬取数据

一、爬取某狗网站的首页1、导入需要的库文件import requests2、指定我们要访问的网址网页"https://www.sogou.com"3、获取服务器的返回的所有信息响应requests.get(网页)4、通过text属性,从返回信息中读取字符串内容响应内容响应.text5、查看读取到的内容…

唐宇迪机器学习实战课程笔记(全)

1. 线性回归1.1线性回归理论1.2线性回归实战2.分类模型评估(Mnist实战SGD_Classifier)2.1 K折交叉验证K-fold cross validation2.2 混淆矩阵Confusion Matrix2.3 准确率accuracy、精度precision、召回率recall、F12.4 置信度confidence2.5 ROC曲线3.训练调参基本功(LinearRegre…

1612_PC汇编语言_条件以及控制结构

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次简单看看条件分支以及控制结构,感觉看完这部分之后,汇编的大部分框架已经有个差不多了。我的目的并不是成为汇编高手,因此…

数据处理——增删改

文章目录插入数据方式一:values方式2:将查询结果插入到表中更新数据删除数据MySQL8新特性:计算列综合案例插入数据 用INSERT插入数据 方式一:values 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段…

1月,不要跳槽

新年结束了,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必要的,它几乎涵盖了所有的软件…

通信原理笔记—码间串扰与波形传输无失真的条件(奈奎斯特第一准则)

目录 波形传输的无失真条件: 码间串扰问题: 奈奎斯特第一准则: 在抽样判决时刻没有码间串扰的信号波形示例: 具有最窄频带的无码间串扰基带传输系统: 无码间串扰基带系统的主要参数: 一种典型的滚降…

golang中的图像image处理详解

常用的图像格式有png,jpeg,gif,对应的文件后缀为png,jpg,gif,当然文件的具体内容编码才能证明存放的是哪种文件,图像文件的头部都存储了具体标志,比如jpeg前缀\xffd8,png…

Redis实现消息队列

7、Redis消息队列 7.1 Redis消息队列-认识消息队列 什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(Message Broker)生产者&…

定位tcp连接或端口是属于哪个进程

首先要知道tcp连接的端口号,要么是本地端口号要是么remote端口号。有的端口号我们已知,有的端口号可以通过日志获取,也可以抓包获取,如然后是用netstat命令获取pidlinux下使用netstat -anpt(a是输出所有n是展示端口号&…

【✓基础算法 2.4】KMP(完结)

当模式串和主串的子串有不匹配时,便往后退一步,看是否能走通,如果不能,则进行退—— KMP 目录 一、KMP算法简介 二、手算求next数组 三、next数组实现代码 四、完整代码实现 1、java 2、c 一、KMP算法简介 当主串的子串…

软件测试刚入职,很茫然怎么办~

毕业后能直接到公司开始工作,是多少人都想要却得不到的机遇,你现在茫然无非是因为对软件测试是做什么的不了解,也不知道软件测试的职业规划到底是怎么样的~ 既然已经进入了公司,那就要珍惜机会,多学习,多问…

redis7 Cluster模式 集群

1.Redis集群模式介绍 Cluster模式是Redis3.0开始推出的Redis Cluster属于AP模型采用无中心结构,每个节点保存数据和整个集群状态, 每个节点都和其他所有节点连接官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强、更好做到…