图像翻拍检测——反射分量分离的特征融合

随着计算机技术的迅速发展,需要建立人与信息一一对应的安保认证技术,通过建立完整的映射网络体系,从而确保每个人的人身、财产、隐私等的安全.与指纹、基因等人体生物特征识别系统相比,人脸识别系统更加友好,不需要人的参与配合,能在不打扰正常生活情况下解决问题.同时,通过分析人脸识别系统的表情、姿态等可获得更多的有用信息.因此,人脸识别技术可用于公安系统、驾驶核对系统、监控系统、银行信用卡验证系统等[1].

随着深度神经网络的发展,深度神经网络在人脸识别中的应用日渐增多[2-5],识别准确率超过人类平均水平.当前,人脸识别主要针对二维图像或二维视频序列[6-7],而影响人脸识别的光照、姿态、年龄、遮挡等问题并没有得到根本解决[8].因此,不少不法分子使用翻拍图像伪装自我身份,以此欺骗人脸身份认证软件,并侵害他人利益.

       目前,不少学者对翻拍图像的识别进行研究.孙锟[9]提供一种基于局部二值模式(LBP)水印特征和细粒度识别的图像防伪方法.Chen等[10]基于翻拍图像与真实图像虹膜的差别,对图像进行翻拍检测.文献[11]方法是基于同态滤波的自适应补偿图像光照加强的特征,将图像16等分,提取每一等分的八方向梯度比例特征,以此进行翻拍图像检测,该方法在训练集、测试集中人数较少,且翻拍人脸与真实人脸为同一人时的效果较好;
      但当训练集、测试集中人数较多时,且翻拍人脸与真实人脸为不同人时准确率快速下降.文献[12]方法是建立翻拍图像与活体拍摄图像之间的梯度差异模型,并通过该模型提取三色(RGB)同道梯度特征进行分类.以上两种方法在活体数量较少、翻拍图像与活体拍摄图像均属于同一批活体时的效果较好,但当活体数量增加、翻拍图像与活体拍摄图像所属群体不同时,其准确率有一定程度下降.钱芸等[13]在液晶显示器介质下,基于纹理、细节缺失等特征对图像进行翻拍.本文对反射分量分离的特征融合图像翻拍检测进行研究.

1.1 图像形成模型

若用f(x,y)表示图像,则f(x,y)可用入射分量(入射到被观察场景的光源照射总量)、反射分量(场景中物体所反射的光照总量)两个分量表示[14].入射分量、反射分量分别记为i(x,y)与r(x,y),则f(x,y)为

 

(2) 通过构造线性算子H进行映射,使反射分量与入射分量进行不同的变换,即

H(x,y)[lnf(x,y)]=H(x,y)[lni(x,y)]+H(x,y)[lnr(x,y)].

(3) 经典的同态滤波往往用于增强高频反射贡献、衰减低频照射贡献,从而达到增强图像细节信息的目的,其构造的高通滤波器形式为

(4) 式(4)中:γH,γL分别为高频分量及低频分量滤波的系数.

为使滤波器能够将反射分量分离,将低频分量系数γL设置为0,高频分量γH设置为1(约束条件来源于对图像频率图的拟合[15]),即

 

(5) 频谱图,如图1所示.图1中:q为强度;
f为频率.滤波器图,如图2所示.由图1,2可知:滤波器对位于频谱图中心的低频分量产生了抑制作用,而对高频分量保持不变.由此,式(3)近似变换为

图1 频谱图 图2 滤波器图Fig.1 Frequency spectrum diagram Fig. 2 Filter diagram

(6) 进一步可近似为

H(x,y)[lnf(x,y)]=[lnr(x,y)].

(7) 对式(7)进行变换,有

fr(x,y)=e=e.

(8) 化简得到

fr(x,y)=r(x,y).

1.3 在翻拍图像上的应用
    翻拍图像与活体拍摄图像主要差别在亮度通道的信息,因此,将原RBG三通道图像转化为HSV(hue, saturation, value)图像后提取亮度通道,对其进行对数变换,傅里叶变换后进行中心化.将低频部分转化至中心位置,高频部分转化至频谱图边缘位置.首先,将中心化后的频谱图乘以改造后的滤波器;
    其次,对高、低频分量进行映射,对结果去中心化后进行傅里叶反变换;
最后,指数变换后转化为原图像.原图,如图3所示.原图的傅里叶频谱图,如图4所示.

 

图3 原图 图4 原图的傅里叶频谱图 Fig.3 Original diagram Fig.4 Fourier frequency spectrum diagram of original diagram

原图滤波器变换后的频谱图,如图5所示.原图亮度通道的最终图像,如图6所示.

 

图5 原图滤波器变换后的频谱图 图6 原图亮度通道的最终图像 Fig.5 Frequency spectrum diagram after filter Fig.6 Final diagram of brightness transformation of original diagram channel of original diagram

翻拍图像,如图7所示.翻拍图像的傅里叶频谱图,如图8所示.翻拍图像滤波器变换后的频谱图,如图9所示.翻拍图像亮度通道的最终图像,如图10所示.

 

图7 翻拍图像 图8 翻拍图像的傅里叶频谱图 Fig.7 Recapture diagram Fig.8 Fourier frequency spectrum diagram of recapture diagram

 

图9 翻拍图像滤波器变换后的频谱图 图10 翻拍图像亮度通道的最终图像 Fig.9 Frequency spectrum diagram after filter Fig.10 Brightness channel final transformation of recapture diagram diagram of recapture diagram

由图3~10可知:

翻拍图像与活体拍摄图像存在视觉上的差别,即图像下半部分为非正常反光,介质较均匀的反射图像削弱了漫反射分离,使原图的纹理特征模糊;
亮度通道强化了由于介质不同而产生的视觉差别.

将亮度通道最终图像分别按行列做4等分划分,整幅图像划分为16等分,用Sobel算子将划分结果在八方向中进行计算[1].图像划分,如图11所示.特征提取,如图12所示.图12中:η为准确率.

 

(a) 1号方向掩模 (b) 2号方向掩模 (c) 3号方向掩模 (d) 4号方向掩模 (e) 5号方向掩模

 

(a) 活体拍摄图像 (b)翻拍图像 图12 特征提取Fig.12 Feature extraction

文中方法对文献[11]方法进行改动,计算每个区域各方向梯度值之和占整幅图像八方向梯度值对应总和的比例,将128(16×8)个特征通过支持向量机(SVM)进行分类,使用高斯核,对BoxConstraint,KernelScale两参数进行优化,模糊的纹理特征反映了直方图聚集性被削弱,变得更为均匀.

1.4 实验结果
    将多个电信营业厅的摄像头采集的真实信息作为正样本,在各种复杂、恶劣环境下翻拍液晶显示屏,以电信营业厅摄像头翻拍的实体照片、各类证件照片作为负样本.样本模拟现实的复杂环境,具有较高的价值,共获取翻拍图像14 743张,活体拍摄图像14 121张.随机抽取翻拍图像、活体图像各200张进行实验,其中,活体图像中包含的活体数目为98个,翻拍图像中对应的活体数量为88个.文中方法与文献[11],[12]方法的准确率对比,如表1所示.表1中:n为数量.

 

表1 文中方法与文献[11],[12]方法的准确率对比Tab.1 Accuracy rate comparison of method in this paper with references[11], [12]

由表1可知:文中方法的准确率高于文献[11]方法,但低于文献[12]方法,因此,三通道图像对原图的信息造成了极大的损失.

为保留原图信息,采用特征融合的方式构建卷积神经网络,加入反射图像作为新增加的通道,成为四通道图像.

2.1 CNN基础理论
    相比于传统的特征提取方式,深度神经网络(CNN)在同一个特征平面通过同一个卷积核进行卷积处理,权值共享,有效减少权值的数量.通过权值共享,神经元在图像的不同位置能检测到相同的特征,保证图像的平移不变性.同时,通过二维空间中的局部感受,也可以使神经网络从图像的纹理、角点等特征获取更抽象的特征量.

2.2 CNN网络设计
    针对图像翻拍检测设计的CNN网络包括两层卷积层,两层池化层与一层全连接层.其中,池化层为最大值池化.在CNN网络中,首先,保留图像的RGB三通道,将新产生的反射图像加入到输入中,作为图像第四层通道进行卷积操作,filter数量为8,卷积核大小为3×3,步长为1,padding方式为same,channel为8;
其次,最大值池化,卷积核大小为2×2,步长为2,再对最大值池化后的图像进行第二次卷积操作,filter数量为16,卷积核大小为3×3,步长为1,padding方式为same;
再次,将卷积操作后的结果进行第2次最大值池化,卷积核大小为2×2,步长为2;
最后,将池化结果展开为一维张量,并通过全连接网络得到最终结果.

2.3 实验分析
2.3.1 新加入特征实验 使用电信营业厅摄像头的真实信息,获取活体数量为947的1 000个样本(正样本为500,负样本为500).每组样本以迭代的形式做5组实验,每组实验迭代4次,每次迭代取收敛后预测集最好的结果,再将这些结果平均值作为最后结果.三通道输入网络的准确率为83.41%;
加入特征的四通道输入神经网络的准确率为88.83%.样本数据集,如图13所示.模型准确率随活体数量变化图,如图14所示.

 

(a) 翻拍图像

 

图14 模型准确率随活体数量变化图Fig.14 Accuracy of model varies with number of living bodies diagram

由图14可知:加入提取的出反射分量后,较为简单的神经网络获得了更好的准确率,其原因在于深度较小、结构简单的神经网络无法很好地提取复杂的特征(由频率域获得的反射分量特征),通过增加人工特征的方法可以在不增加网络复杂性的情况下提高准确率.相比于直接使用深度神经网络的方式,文中方法可以减少深度神经网络的深度,产生更少的计算复杂度.

2.3.2 特征融合后神经网络稳定性实验 实验使用电信营业厅摄像头的真实信息,获取图像数量为200,400,600,800,1 000的5组样本.

每组样本按8∶2的形式划分为训练集与预测集,训练集以迭代的形式做5组实验,每组实验迭代4次,并对小批量梯度下降进行优化.首先,每次迭代前都重新打乱训练集,更改样本进入顺序.其次,每次迭代选取收敛后的预测集准确率最高的模型.最后,将5个模型对预测集准确率的平均值作为该样本组的实验结果.

根据文献[11],[12]方法训练,对5组样本按8∶2划分为训练集与测试集,并对每组样本相互独立地进行3次实验,将3次实验的平均值作为该样本组的实验结果.

文中方法与文献[11],[12]方法的神经网络稳定性对比,如表2所示.

 

表2 文中方法与文献[11],[12]方法的神经网络稳定性对比Tab.2 Accuracy rate comparison of neural network stability in this paper with references[11], [12]

由表2可知:当样本数量较小、活体数量较少时,文中方法的神经网络由于样本数量较少,准确率略低于文献[12]方法,但高于文献[11]方法;
当活体数量达到395,正负样本总数达到400时,文献[11],[12]的方法达到收敛;
随着活体数量的增多,样本数量的增加,文献[11],[12]方法的准确率不断下降,而文中方法的3组实验(活体数分别为574,758,947)的准确率保持稳定上升.

文献[11],[12]方法在活体数量较小时有一定的分辨能力,但随着活体数量的增加,训练集复杂情况的提升,适应力较文中方法略有不足.主要原因是翻拍检测的目的均在于检测反射分量,或加强反射分量.文献[11],[12]方法是基于同态补偿的翻拍图像检测,仅仅增强了图像的对比度.提取反射分量特征主要是计算梯度,文献[11],[12]方法对反射分量的特征提取不如文中方法直接,当活体数量较少时,通过增强图像对比度可以强化翻拍图像与真实图像的差别,但当活体数量较多时,由于人脸数量增多及样本量的增加,文献[11],[12]方法不能较好地进行分类,从而无法成功识别翻拍图像.

针对图像翻拍检测,提出了一种通过分离图像反射分量,将其作为新通道加入到原图像,构成四通道简单神经网络的方法.经过实验证明,该方法在硬件设备较低廉,拍摄环境复杂,干扰噪音较多,活体数量较大的环境下,有较高且稳定的准确率、较好的鲁棒性及使用价值.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity面试题(性能优化篇)

CPU 预处理、缓存数据 注释空的unity函数 运算cpu->gpu 减少昂贵计算(开方) 限制帧数 加载(预加载、分帧加载、异步加载、对象池) 慎用可空类型比较 避免频繁计算(分帧、隔帧) 算法优化 变体收集预热 使用clear操作代替容器的new操作 unity spine使用二进制格式…

Data Rescue Professional for Mac:专业的数据恢复工具

在数字化时代,我们的生活和工作离不开电脑和存储设备。但是,意外情况时常发生,例如误删除文件、格式化硬盘、病毒攻击等,这些都可能导致重要的数据丢失。面对数据丢失,我们迫切需要一款可靠的数据恢复工具。今天&#…

CentOS 8 安装 Code Igniter 4

在安装好LNMP运行环境基础上,将codeigniter4文件夹移动到/var/nginx/html根目录下,浏览器地址栏输入IP/codeigniter/pulbic 一直提示: Cache unable to write to "/var/nginx/html/codeigniter/writable/cache/". 找了好久&…

文献阅读:Semantic Communications for Speech Signals

目录 论文简介动机:为什么作者想要解决这个问题?贡献:作者在这篇论文中完成了什么工作(创新点)?规划:他们如何完成工作?自己的看法(作者如何得到的创新思路) 论文简介 作者 Zhenzi Weng Zhijin Qin Geoffre…

【MySQL】用户管理

之前我们一直都使用root身份来对mysql进行操作,但这样存在安全隐患。这时,就需要使用MySQL的用户管理 目录 一、用户 1.1 用户信息 1.2 添加用户 1.3 删除用户 1.4 修改用户密码 二、用户权限 2.1 赋予授权 2.2 回收权限 一、用户 1.1 用户信息…

Kubernetes技术--使用kubeadm快速部署一个K8s集群

这里我们配置一个单master集群。(一个Master节点,多个Node节点) 1.硬件环境准备 一台或多台机器,操作系统 CentOS7.x-86_x64。这里我们使用安装了CentOS7的三台虚拟机 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 2.主机名称和IP地址规划 3. 初始化准备工作…

Scala的函数式编程与高阶函数,匿名函数,偏函数,函数的闭包、柯里化,抽象控制,懒加载等

Scala的函数式编程 函数式编程 解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。 例如:请求->用户名、密码->连接 JDBC->读取…

【LeetCode】1654:到家的最少跳跃次数的解题思路 关于力扣无法return的BUG的讨论

文章目录 一、题目二、题解与代码三、神奇的BUG3.1 无法执行的 return 和 break 语句3.2 通过另一个 break 解决 一、题目 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。 跳蚤跳跃的规则如下: 它可以 往前 跳恰好 a 个位…

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …

在 WSL2 中使用 NVIDIA Docker 进行全栈开发和深度学习 TensorFlow pytorch GPU 加速

在 WSL2 中使用 NVIDIA Docker 进行全栈开发和深度学习 TensorFlow pytorch GPU 加速 0. 背景 0.1 起源 生产环境都是在 k8d pod 中运行,直接在容器中开发不好嘛?每次换电脑,都要配配配,呸呸呸新电脑只安装日常用的软件不好嘛&…

【从0学习Solidity】合约入门 Hello Web3

【学习Solidity的基础】入门智能合约开发 Hello Web3 📱不写代码没饭吃上架主页 在强者的眼中,没有最好,只有更好。我们是全栈开发领域的优质创作者,同时也是阿里云专家博主。 ✨ 关注我们的主页,探索全栈开发的无限…

【斗罗Ⅱ】最强武魂揭秘,98级玄老、95级言少哲神兽级武魂曝光

Hello,小伙伴们,我是小郑继续为大家深度解析【绝世唐门】 在斗罗大陆动画绝世唐门中,98级玄老已经登场,他是一个很随意的老人,乍眼一看,似乎是一个邋里邋遢、好吃懒做的人,但是实际上他却是史莱克学院重量级…

Linux(CentOS7)下如何配置多个Tomcat容器?

一、在 liunx 系统安装 jdk 1、安装jdk(yum install 安装) 查看是否系统是否自带jdk并卸载 rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 其中,GCJ是GNU的Java编译器,可以把java程序编译成本地代码,编译成功后的可…

JixiPix Artista Impresso Pro for mac(油画滤镜效果软件)

JixiPix Artista Impresso pro Mac是一款专业的图像编辑软件,专为Mac用户设计。它提供了各种高质量的图像编辑工具,可以帮助您创建令人惊叹的图像。该软件具有直观的用户界面,使您可以轻松地浏览和使用各种工具。 它还支持多种文件格式&…

说说IO多路复用

分析&回答 IO多路复用 I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态(对应空管塔里面的Fight progress strip槽)来同时管理多个I/O流。直白点说:多路指的是多个socket连接,复用指的是复用一个…

非科班菜鸡算法学习记录 | 代码随想录算法训练营第53天|| 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划

1143. 最长公共子序列 知识点:动规 状态:不会 思路: 用dpij表示两个串中到i-1和j-1个字符结束的最长公共子序列长度(不用特殊初始化) class Solution { public:int longestCommonSubsequence(string text1, string …

Web of Science批量导出

目录 如何用Web of Science检索学术信息问题批量导出 Web of Science检索结果 如何用Web of Science检索学术信息 进入 Web of Science 检索页面: https://www.webofscience.com/wos/woscc/basic-search 根据需求填写过滤条件,点击 search 进入搜索详…

C# char曲线控件

一、char曲线显示随机数数据 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading; using Syst…

完全平方数

题目链接 完全平方数 题目描述 注意点 返回 和为 n 的完全平方数的最少数量 解答思路 初始想到使用动态规划,后续数字的完全平方数可以由前面数字的完全平方数求得,对于任意数字,可以计算其减去从1…i之间(保证做减操作后的值…

【操作系统】一文快速入门,很适合JAVA后端看

作者简介: 目录 1.概述 2.CPU管理 3.内存管理 4.IO管理 1.概述 操作系统可以看作一个计算机的管理系统,对计算机的硬件资源提供了一套完整的管理解决方案。计算机的硬件组成有五大模块:运算器、控制器、存储器、输入设备、输出设备。操作…