LBP算子介绍

合集下载

LBP特征

LBP特征

1、LBP特征的描述原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。

这样,3*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。

如下图所示:LBP的改进版本:原始的LBP提出后,研究人员不断对其提出了各种改进和优化。

(1)圆形LBP算子:基本的 LBP算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要。

为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,Ojala等对 LBP 算子进行了改进,将 3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的 LBP 算子允许在半径为 R 的圆形邻域内有任意多个像素点。

从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子;(2)LBP旋转不变模式从 LBP 的定义可以看出,LBP 算子是灰度不变的,但却不是旋转不变的。

图像的旋转就会得到不同的 LBP值。

Maenpaa等人又将 LBP算子进行了扩展,提出了具有旋转不变性的 LBP 算子,即不断旋转圆形邻域得到一系列初始定义的 LBP值,取其最小值作为该邻域的 LBP 值。

图 2.5 给出了求取旋转不变的 LBP 的过程示意图,图中算子下方的数字表示该算子对应的 LBP值,图中所示的 8 种 LBP模式,经过旋转不变的处理,最终得到的具有旋转不变性的 LBP值为 15。

也就是说,图中的 8种 LBP 模式对应的旋转不变的 LBP模式都是00001111。

2、LBP特征用于检测的原理显而易见的是,上述提取的LBP算子在每个像素点都可以得到一个LBP“编码”,那么,对一幅图像(记录的是每个像素点的灰度值)提取其原始的LBP算子之后,得到的原始LBP特征依然是“一幅图片”(记录的是每个像素点的LBP值)。

基于LBP和多层DCT的人脸活体检测算法

基于LBP和多层DCT的人脸活体检测算法

基于LBP和多层DCT的人脸活体检测算法田野;项世军【摘要】随着安全性成为制约人脸识别系统应用的最大瓶颈,提高人脸识别系统的抗欺骗攻击能力已成为亟待解决的问题.针对基于视频的人脸欺骗攻击,基于局部二值模式(local binary patterns,LBP)和多层离散余弦变换(discrete cosine transform,DCT)提出了一种新的人脸活体检测算法.其基本思想是首先从目标视频中每隔一定帧数提取1张人脸图像;其次对提取出的每张人脸图像进行LBP操作得到低级特征描述子(LBP算子);然后在LBP特征上进行多层DCT变换得到高级特征描述子(LBP-MDCT算子);最后将得到的高级特征描述子送入支持向量机(support vector machine,SVM)中判断该视频是非法用户实施的人脸欺骗攻击还是合法用户的进入请求.通过在Replay Attack和CASIA-FASD数据库上与现有的人脸活体检测算法做比较,验证了该算法能够取得优异的检测效果且十分简单、高效.%As security problem has become the tightest bottleneck in the application of face recognition systems,rendering a face recognition system robust against spoof attacks is of great significance to be dealt with.In this paper,aimed at video-based facial spoof attacks,an innovative face antispoofing algorithm based on local binary patterns (LBP) and multilayer discrete cosine transform (DCT) is proposed.First,we extract face images from a target video at a fixed time interval.Second,the lowlevel descriptors,i.e.,the LBP features are generated for each extracted face image.After that,we perform multilayer DCT on the low-level descriptors to obtain the high-level descriptors (LBP-MDCT features).To be more exact,in each layer,the DCT operation is implemented along the ordinate axis of theobtained low-level descriptors,namely the time axis of the entire target video.In the last stage,the high-level descriptors are fed into a support vector machine (SVM) classifier to determine whether the target video is a spoof attack or a valid access.In contrast to existing approaches,the outstanding experimental results attained by the proposed approach on two widely-used datasets (Replay-Attack dataset and CASIA-FASD dataset) demonstrat its performance superiority as well as its low complexity and high efficiency.【期刊名称】《计算机研究与发展》【年(卷),期】2018(055)003【总页数】8页(P643-650)【关键词】人脸活体检测;局部二值模式;多层离散余弦变换;Replay-Attack数据库;CASIA-FASD数据库【作者】田野;项世军【作者单位】暨南大学信息科学技术学院广州 510632;暨南大学信息科学技术学院广州 510632;信息安全国家重点实验室(中国科学院信息工程研究所) 北京100093【正文语种】中文【中图分类】TP391欺骗攻击是针对生物认证系统的一种攻击.它通过向传感器呈现合法生物特征的伪造版本,企图使生物认证系统将非法用户认证为合法用户,从而使该非法用户进入生物认证系统[1].目前,欺骗攻击可成功攻击多种生物形态已经成为不争的事实[2-6].在多种生物形态中,针对人脸的欺骗攻击尤其值得关注.一方面,无论是从经济角度还是社会角度,人脸都是最具影响力的生物特征之一[1];另一方面,由于其低成本、低技术的特征,和其他生物形态相比,针对人脸的欺骗攻击更易实施.攻击者可以轻易地在个人网站或社交网络上获得合法用户的面部特征.甚至,攻击者还可以近距离地拍摄合法用户的照片或视频.此外,随着人脸识别技术的发展,这项技术已在众多场合得到应用.大到机密场合的门禁系统,小到笔记本电脑的登录系统,甚至是移动终端的解锁系统,都能见到人脸识别技术的踪影[7].而门禁系统、登陆系统、解锁系统常常与网络系统相连,是进入网络系统的第1步,它们的安全与网络系统安全密切相关.如果攻击者成功攻击人脸识别系统,进入门禁系统、登陆系统或解锁系统,那么攻击者就打破了网络空间安全的第1道防线,极有可能进一步威胁、破坏网络空间安全.因此,应用人脸活体检测技术保障人脸识别系统的安全具有重要价值,它对保障网络空间的安全也有着十分重要的意义.一般说来,人脸欺骗攻击可以分为3类:照片攻击、视频攻击和面具攻击.照片攻击是指攻击者将合法用户的照片打印在纸上或显示在电子设备的屏幕上,呈现给生物认证系统传感器的一种攻击.视频攻击也被称为重放攻击,因为该种攻击是通过重放合法用户的视频来实施的.面具攻击则是指攻击者戴上合法用户的3D面具,伪装成合法用户,企图进入人脸识别系统的攻击行为.安全性已成为制约人脸识别系统应用的最大瓶颈,因此提高人脸识别系统的抗欺骗攻击能力已成为人脸认证中亟待解决的问题[8].人脸活体检测技术旨在辨别人脸的真伪,保障人脸识别系统稳定并安全地运行.具体地,它通过设置一道新的关卡,在系统进行人脸识别的同时对目标人脸进行是否为活体的判断.只有在人脸被判定为活体的情况下,识别结果才是真实有效的;否则,将其视为对人脸识别系统的一次非法攻击[7].近几年来,随着几个人脸欺骗攻击公用数据库的发布[9-12],涌现了许多人脸活体检测的方法.在不考虑面具攻击(超出本文研究范围)的前提下,现有的绝大多数人脸活体检测算法分为2类:基于照片的人脸活体检测算法和基于视频的人脸活体检测算法.文献[13]中提到,基于照片的人脸活体检测算法并不能直接用于检测视频攻击,尤其是高分辨率的视频攻击.一方面,视频中包含的动态信息使得生物样本更加逼真,从而增加了检测的难度.另一方面,和照片攻击相比,视频攻击包含的颜色降级、形状降级和纹理降级更少,更难被识别.另外,分辨率越高,在量化、离散过程中产生的伪迹也更少.因此,尽管迄今为止已有许多成熟的基于照片的人脸活体检测算法,针对视频攻击的人脸活体检测研究仍远未成熟. 由于其独特的能量集中特性,离散余弦变换(discrete cosine transform, DCT)在图像处理中取得了广泛的应用.然而,目前已有的应用均是利用DCT来提取每帧图片中的静态信息.迄今为止,DCT从未被用来提取动态信息.基于此,本文创新性地在局部二值模式(local binary patterns, LBP)特征上实施多层DCT变换来表征视频中存在的时空信息.据我们所知,这是在LBP特征上进行DCT变换来提取面部动态信息,从而检测视频攻击的首次尝试.本文提出的方法不仅十分简单、省时,在公共数据库上出色的实验结果也验证了该算法的有效性.本文首先简要介绍了已有的人脸活体检测算法;其次详细阐述了所提出的算法;然后对实验结果进行了分析和比较;最后对全文进行了总结并对将来的工作进行了展望.1 相关算法回顾根据所利用的信息类型,目前已有的人脸活体检测算法可分为两大类:利用空间信息的算法、既利用空间信息又利用时间信息的算法.利用空间信息的人脸活体检测算法通常通过多种多样的图像处理方法对人脸样本中包含的面部纹理特征进行分析.文献[14]是这类方法中最早的尝试之一.在该文中,作者分析了单张人脸图像或人脸视频的傅里叶频谱.随后,高斯差分(difference of Gaussian, DoG)被用来提取特定频域的信息[10,15].在文献[16]中,作者利用Gabor小波来加强纹理表征的效果,同时引入方向梯度直方图(histogram of oriented gradient, HOG)来描述局部形状特征.作为一个对人脸十分有效的工具,局部二值模式及其多种变体也被许多算法[11,13,16-18]所采用.因为同时利用了2种信息,人脸活体检测的第2类方法——利用时空信息的方法通常具有更好的性能.但作为代价,这类方法常常需要更多的时间.一个典型的代表是通过在3个正交平面上计算局部二值模式(local binary patterns from three orthogonal planes, LBP-TOP)将时空信息集中用1个多分辨率的纹理描述子表征[19].基于动态模式分解(dynamic mode decomposition, DMD)的特殊性质,文献[20]将DMD,LBP和支持向量机(support vector machine, SVM)结合在一起检测人脸欺骗攻击.Arashloo等人[21]结合2种多尺度动态特征描述子MBSIF-TOP(multiscale binarized statistical image features on three orthogonal planes)和MLPQ-TOP(multi-scale local phase quantization representation on three orthogonal planes)提高了对抗欺骗攻击的检测器的鲁棒性.在文献[22]中,作者通过提取视频中的时空信息构造了一种低级特征描述子.除了上述这些基于纹理特征的检测算法,还可以从另一些角度融合时空信息,例如分析在二次成像过程中产生的噪声签名[23].尽管上述利用时空信息的人脸活体检测算法取得了较好的效果,但他们也更复杂、更耗时.针对这个缺点,本文基于LBP和多层DCT提出了一个既简单又省时的新算法.一方面,无论是LBP还是DCT操作,实现所需的时间都很短;另一方面,本文提出的算法只需要使用视频中的少数帧,而非所有帧.此外,根据DCT的能量集中特性,我们只需要提取1个或几个DCT分量来构造最终的高级特征描述子.综上所述,本文提出的算法不仅易实现而且效率高.在获得理想的特征描述子后,我们选择SVM作为后续分类器.在严格遵循各个数据库测试协议的前提下,我们的实验结果证明所提出算法的性能超过了目前已有的所有算法.事实上,该算法在Replay-Attack数据库的评估集和测试集上的半错误率均为0,即实现了零差错的完美检测;在CASIA-FASD数据库测试集上的半错误率为18.06%,低于所有其他算法且至少低3.69%.2 基于LBP和多层DCT的人脸活体检测算法针对视频欺骗攻击,本文提出了一个新的检测算法.该算法共包括4个主要步骤:人脸提取、低级特征描述子提取、高级特征描述子提取以及分类.流程图如图1所示:Fig. 1 Flow chart of the proposed algorithm图1 本文算法流程图1) 我们从目标视频中每隔一定的帧数提取1张人脸图像;2) 对提取出的每张人脸图像进行LBP操作得到低级特征描述子(LBP算子);3) 在LBP特征上进行多层DCT变换得到高级特征描述子(LBP-MDCT算子);4) 将得到的高级特征描述子送入SVM分类器中判断该视频究竟是非法用户的欺骗攻击还是合法用户的进入请求.2.1 人脸提取为了提高检测的效率,我们只使用输入视频中的少数帧进行检测.具体来说,对每个输入视频,我们每隔一定的时间间隔I提取1帧图像.例如若I=1,则提取第1帧图像、第3帧图像、第5帧图像,以此类推;若I=2,则提取第1帧图像、第4帧图像、第7帧图像,以此类推.在跳帧提取出所有需要的图像后,我们利用Viola-Jones算法[24]抠出每张图像中的脸部区域,并将所有的脸部区域统一为64×64大小.假设需检测的目标视频共由M帧图像组成,则通过人脸提取步骤我们得到帧统一大小的人脸图像.Fig. 2 Demonstration of high-level descriptor extraction图2 高级特征描述子构造过程2.2 低级特征描述子提取局部二值模式(local binary patterns, LBP)是一种简单但十分有效的灰度不变纹理表征.它根据每个像素和其相邻像素灰度值的比较结果获取空间信息.自1994年提出以来,许多学者对LBP进行了研究并提出了许多LBP变体.在本文中,我们选用最多只包含2次0到1或1到0跳变的均匀模式LBP算子.通常,我们用表征均匀模式LBP算子,其中P和R分别代表所使用的相邻像素个数和领域半径大小.假设从目标视频中共提取出N=帧人脸图像,首先我们在每帧人脸图像上进行操作,得到1个59维的LBP特征向量[11];然后我们将所有帧的LBP特征向量并行组合在一起,得到1个N×59的LBP特征矩阵,即低级特征描述子.2.3 高级特征描述子提取在这个环节中,我们对得到的低级特征描述子进行DCT变换,从而提取出视频中的时间信息.图2详细展示了高级特征描述子的构造过程.在获得N×59的LBP特征矩阵后,我们沿着该矩阵的纵轴,即录制整个视频的时间轴,进行一维DCT变换,得到许多DCT分量.给定输入信号f(n),其一维DCT变换为(1)其中,0≤k≤N-1.根据DCT的能量集中特性,变换后绝大多数能量都集中在直流分量(direct component, DC)中.因此,没有必要利用所有的DCT分量来构造高级特征描述子,只选用C个DCT分量即可.具体来说,若C=1,只选用直流分量;若C=2,则选用直流分量和第1个交流分量(alternating component, AC).这样,在DCT变换后,我们得到1个59×C的LBP-DCT特征矩阵.需要特别说明的是,通过舍弃绝大部分的DCT分量,我们达到了降维的效果,而降维不仅降低了计算复杂度,同时也提高了检测的效率.为了获得更好的性能,本文采用3层DCT变换.在第1层,对LBP特征矩阵的所有列进行DCT变换,得到一个59×C的LBP-DCT特征矩阵.在第2层,将LBP特征矩阵均分为2部分:第1部分由前帧人脸图像组成;第2部分由随后的帧人脸图像组成.分别沿着纵轴对每个部分进行一维DCT变换,得到2个LBP-DCT特征矩阵.以此类推,在第3层将LBP特征矩阵均分为4部分,得到4个LBP-DCT特征矩阵.这样,在3层DCT变换后,我们一共得到7个59×C的LBP-DCT特征矩阵.最后,将这7个矩阵连结成1个矩阵,得到高级特征描述子.2.4 分类本文检测算法的最后1个关键步骤是通过一个高辨别力的机器学习算法找到最优分类模型,从而对目标视频进行判断:究竟该视频是非法用户的欺骗攻击,还是合法用户的进入请求.本文选用包含径向基核函数(radial basis function, RBF)的支持向量机(support vector machine, SVM)[25]作为分类器.该分类器不仅具有很高的分类准确率,而且被广泛应用于人脸识别等研究课题.将上一步得到的高级特征描述子送入SVM,即可根据SVM的输出数据完成人脸活体检测.输出数据的评价指标在3.2节中详细说明.3 实验结果与分析在分析实验结果之前,首先介绍本文使用的公共数据库及实验严格遵循的测试协议.3.1 数据库本文在2个得到广泛认可的公共数据库上进行实验.Replay-Attack数据库[11]:该数据库由合法用户的视频进入请求和非法用户的视频欺骗攻击组成,每个视频时长约10 s.在3种不同的情景和2种不同的照明条件下,该数据库对50个对象录制了共计1 200段视频,其中包括200段真实人脸视频及1 000段伪造人脸视频.CASIA-FASD数据库[10]:该视频库由来自50个对象的600段视频组成,其中包括150段合法请求及450段欺骗攻击.不同于Replay-Attack数据库的是,CASIA-FASD数据库的视频欺骗攻击涉及到3种成像质量:低质量(由1个分辨率为640×480的旧USB摄像头采集)、中等质量(由1个分辨率为480×640的新USB摄像头采集)、高质量(由1个最大分辨率为1920×1080的Sony NEX-5摄像头采集).此外,该数据库包含的伪造人脸视频有3种类型:弯曲照片攻击、裁剪照片攻击和视频回放攻击.3.2 测试协议为了公平有效地评价各个算法的性能优劣,本文选择被广泛使用的半错误率(half total error rate, HTER)作为性能评价指标.如式(2)所示,半错误率指的是错误接受率(false acceptance rate, FAR)和错误拒绝率(false rejection rate, FRR)总和的一半:(2)由于FAR和FRR都取决于阈值τ,增大其中一个会减小另一个,因此HTER值通常在接收者操作特征曲线(receiver operating characteristic curve, ROC)的一个特征点取得.在该特征点上,FAR和FFR相等,即达到等错误率(equal error rate, ERR)状态.根据上述定义可知,HTER值越小,错误率越小,算法的性能就越好.测试协议Ⅰ:在该测试协议下,使用Replay-Attack数据库.Replay-Attack数据库由3个子集组成:训练集(包含360段视频)、评估集(包含360段视频)和测试集(包含480段视频).其中,训练集用来训练SVM分类器;评估集用来选择阈值τ;测试集则用来报告最终的HTER值.测试协议Ⅱ:在该测试协议下,使用CASIA-FASD数据库.CASIA-FASD数据库由训练集(包含240段视频)和测试集(包含360段视频)组成.训练集用来训练SVM分类器,测试集用来得到最终的HTER值.3.3 Replay-Attack数据库的实验结果本文算法在Replay-Attack数据库上的实验结果如表1所示.需要说明的是,对每个C值,I都有1个上限.例如若C=1,即只选用DCT变换后的直流分量,则3层DCT至少需要4帧人脸图像.Replay-Attack数据库包含的所有视频最少有221帧,因此,当C=1时,I的上限为72.表1展示了部分参数设置下的实验结果.令人惊喜的是,无论I和C的取值为多少,所有参数组合下的HTER值均为0,即所有参数组合都可实现完美分类.我们知道,I越大,所提取的人脸图像就越少,检测的速度就越快,算法的复杂度也越低.同样道理,C越小,使用的DCT分量越少,算法的效率就越高,算法也越简单.出于这2点考虑,I=72&C=1可使算法具有最高的效率和最低的复杂度,因此,I=72&C=1是Replay-Attack数据库的最优参数.Table 1 HTER of the Proposed Algorithm on Replay-Attack Dataset and CASIA-FASD Dataset表1 本文算法在Replay-Attack和CASIA-FASD数据库上的HTER值CIHTER∕%Replay⁃AttackCASIA⁃FASDDevTestTest110.000.0020.0020.0 00.0019.0730.000.0020.0040.000.0018.89210.000.0020.00 20.000.0019.0730.000.0020.0040.000.0019.26310.000.001 8.8920.000.0019.2630.000.0019.0740.000.0018.43410.000.0018.8920.000.0020.0030.000.0018.2540.000.0018.06510.000.0018.8920.000.0019.1830.000.0019.1840.000.0018.89C: Number of used DCT components; I: Interval for extracting frames; Dev:On development set; Test: On test set.3.4 CASIA-FASD数据库的实验结果表1同样展示了本文算法在CASIA-FASD数据库上的实验结果.和Replay-Attack 数据库一样,受视频所含最少帧数影响,给定1个C值,I同样存在一个上限.为节省空间,表1只列出了部分参数设置下的HTER值.从表1我们可以看到,CASIA-FASD数据库上的HTER值在19.00%左右波动;当I=4&C=4时,HTER值最小,为18.06%.因此,I=4&C=4是CASIA-FASD数据库的最优参数.至于性能波动和参数选取的关系,我们将在后续工作中对其进行更深入的研究.不同于在Replay-Attack数据库上实现的完美分类,本文算法在CASIA-FASD数据库上未能实现零差错分类.这是因为CASIA-FASD数据库比Replay-Attack数据库难度更大,更具挑战性.例如,CASIA-FASD数据库引入了裁剪照片攻击.在实施这种攻击时,攻击者将人脸照片的眼睛区域剪掉,用自己的眼睛实现眨眼动作,更加逼真,检测的难度也更大.此外,CASIA-FASD数据库包含的攻击类型比Replay-Attack数据库更丰富.CASIA-FASD数据库不仅包含3种类型的攻击(弯曲照片攻击、裁剪照片攻击和视频回放攻击),这些攻击还是由3种不同的设备(低分辨率摄像头、中等分辨率摄像头和高分辨率摄像头)录制而成. 3.5 与现有算法的比较我们将本文算法与文献[11,20,26]中的算法进行了比较,比较结果如表2所示.正如我们在3.4节中阐述的那样,CASIA-FASD数据库比Replay-Attack数据库难度更大、更具挑战性.所有算法在Replay-Attack数据库上的性能都明显优于在CASIA-FASD数据库上的性能.Table 2 Comparison of HTER on Test Sets for the Proposed Algorithm with State-of-the-art Algorithms表2 本文算法和现有算法的HTER值比较AlgorithmHTER∕%Replay⁃AttackCASIA⁃FASDRef[11]LBP+LDA13.87LBP+S VM18.17Ref[26]MotionCorrelation11.7930.33LBP15.4523.19LBP⁃TO P8.5123.75Ref[20]DMD+LBP+SVME0.00DMD+LBP+SVMF3.7521.7 5DMD+SVMF7.5029.50PCA+SVMF21.5033.50PCA+LBP+SVMF17.1 124.50PCA+LBP+SVME20.50ProposedAlgorithmLBP+DCT+SVM0.001 8.06E: On entire frames; F: On face regions.从表2可以看到,本文算法的HTER值低于文献[11,20,26]中的算法,也就是说,本文算法性能超过了文献[11,20,26]中的算法.对Replay-Attack数据库,我们的HTER值为0,实现了零差错的完美检测;对CASIA-FASD数据库,我们的HTER 值为18.06%,低于文献[11,20,26]中的算法且至少低3.69%.Chingovska等人[11]仅仅应用LBP对抗人脸欺骗攻击,检测效果在15.00%左右.在Pereira等人[26]提出的算法中,基于LBP-TOP的算法性能最好,分别在Replay-Attack和CASIA-FASD数据库上取得了8.51%和23.75%的HTER值.尽管Tirunagari等人[20]提出的DMD+LBP+SVME算法在Replay-Attack数据库上也实现了完美检测(HTER=0),但该算法需要使用一段视频中的240帧,而本文算法只需要4帧,所需图像帧数大大减小.我们知道,人脸活体检测是针对实际应用的研究,所需帧数越少,检测时间越短,算法效率越高,算法性能也就越好.因此,本文算法比DMD+LBP+SVME算法性能更优.更重要的是,DMD+LBP+SVME算法必须使用一帧图像的全部区域,一旦仅使用人脸区域(DMD+LBP+SVMF算法),其HTER值增加至3.75%,不再是零差错检测.这是因为Replay-Attack数据库中不同类型欺骗攻击的背景内容存在差异,而这种差异有利于分类器分辨真假人脸视频.然而,在现实生活中,对不可随身携带的相对固定的人脸识别系统而言,如门禁系统,视频背景内容的差异性将不复存在.从这一点上考虑,DMD+LBP+SVME算法并不能在所有人脸识别系统上获得完美的检测结果,而本文算法仅使用人脸区域,适用于所有类型的人脸识别系统.综上所述,针对视频欺骗攻击,本文提出的算法在目前已有的人脸活体检测算法中具有最出色的性能.除了出色的性能,本文算法还具备低复杂度、高效率的优点.一方面,我们只需要使用视频中的少数帧而非所有帧;另一方面,LBP和DCT操作均只需很短的时间来完成.对Replay-Attack或CASIA-FASD数据库中的视频而言,在每帧图像上进行LBP操作只需要0.12 s.在获得LBP特征矩阵后,无论参数取值为多少,计算LBP-MDCT特征矩阵都只需要0.02 s.此外,根据DCT的能量集中特性,我们只需要1个或几个DCT分量来构造高级特征描述子.舍弃绝大部分的DCT分量意味着降维,而降维不仅降低了计算复杂度,同时也提高了算法的效率.基于上述3个原因,本文算法不仅简单、易实现,而且实时性好、效率高.兼顾优异性能、低复杂度和高效率,本文算法对人脸活体检测在实际生活中的应用有着十分重要的意义.4 结论与展望针对基于视频的人脸欺骗攻击,本文利用LBP和多层DCT提出了一种新的人脸活体检测算法.为了有效提取静态空间信息,我们对选中的人脸图像进行均匀模式LBP操作,得到低级特征描述子(LBP算子).在此基础上,为了提取动态时间信息,我们沿着LBP算子的纵轴,即录制整个视频的时间轴,进行3层的DCT变换.这样,最终得到的高级特征描述子(LBP-MDCT算子)既包含了静态图像的空间信息,又包含了帧与帧之间的动态时间信息.优异的实验结果验证了多层DCT确实能够有效捕捉面部动态信息,对正确判断真假人脸视频起到了重要的作用.在严格遵循各个数据库测试协议的前提下,我们在2个广泛应用的公共数据库上进行了大量的实验,验证了本文算法的有效性,表明了本文算法相比于现有算法的性能优越性.在Replay-Attack数据库上,本文算法的HTER=0,实现了零差错的完美检测;在CASIA-FASD数据库上,本文算法的HTER=18.06%,低于其他所有算法且至少低3.69%.我们将出色的性能归因于3个方面:1)LBP能够有效提取出每帧图像的静态纹理信息;2)多层DCT变换能够有效捕捉面部动态信息;3)在LBP算子上进行多层DCT变换来同时表征时空信息的创新性的结合方式.值得注意的是,本文算法之所以能取得如此优异的性能,最主要的原因不是LBP或DCT单独的能力,而是将两者结合在一起的独特方式.在性能优异的同时,本文算法简单易实现,而且高效省时.从每帧人脸图像中提取LBP向量只需要0.12 s;根据低级特征描述子得到高级特征描述子只需要0.02 s.兼顾卓越的性能、低复杂度和高效率,本文算法具有很好的实际应用前景.将来工作的首要方向是对本文算法在CASIA-FASD数据库上参数选取和性能波动的关系进行进一步的研究并进行跨数据库实验.另一个研究方向是选用其他类型的LBP算子,比较各自的性能.当然,用其他图像处理工具代替LBP或DCT来同时表征时空信息并比较性能优劣也是将来工作的内容之一.参考文献[1] Galbally J, Marcel S, Fierrez J. Biometric antispoofing methods: A survey in face recognition[J]. IEEE Access, 2014, 2: 1530-1552[2] Anjos A, Marcel S. Counter-measures to photo attacks in face recognition: A public database and a baseline[C] //Proc of 2011 IEEE Int Joint Conf on Biometrics. Piscataway, NJ: IEEE, 2011: 1-7[3] Galbally J, Fierrez J, Alonso-Fernandez F, et al. Evaluation of direct attacks to fingerprint verification systems[J]. Telecommunication Systems, 2011, 47(3/4): 243-254[4] Mjaaland B B, Bours P, Gligoroski P. Walk the walk: Attacking gait biometrics by imitation[G] //LNCS 6531: Proc of the 13th Int Conf on Information Security. Berlin: Springer, 2010: 361-380。

基于 LBP 的图像复制篡改检测

基于 LBP 的图像复制篡改检测

基于 LBP 的图像复制篡改检测欧红玉;陈曦;宋燕辉;孔凡凤【摘要】针对比较常见的图像的复制-粘贴篡改技术,提出一种基于局部二值模式LBP( local binary pattern )的检测算法。

首先把需要检测的已经被篡改的图像分成大小相同的重叠块,每块的纹理特征用LBP(旋转不变)向量去表示,从而得到被检测图像的特征矢量;然后对得到的特征矢量进行字典排序,并结合检测图像块的位移矢量,准确定位并检测出图像中的被篡改区域。

实验结果表明:在抗旋转处理和效率方面该算法均优于经典的基于PCA的检测算法。

%Aiming at quite common technique of image copy-move forgery, in this paper we propose a detection algorithm which is based on local binary pattern .First, we divide the tampered image to be detected into multiple overlapping blocks with the same size , the textural features on each block are represented with rotation invariant LBP vectors , therefore the feature vectors of the detecting image are got . Secondly , we sort the derived feature vectors in dictionary order , locate and detect the tampered region in the image by combining the displacement vectors of imageblocks .Experimental results show that our algorithm performs better than the classical detection algorithm based on PCA ( principal component analysis ) in terms of the robustness against rotating operation and the efficiency .【期刊名称】《计算机应用与软件》【年(卷),期】2013(000)009【总页数】4页(P170-172,178)【关键词】图像区域复制粘贴篡改;旋转不变LBP;特征矢量【作者】欧红玉;陈曦;宋燕辉;孔凡凤【作者单位】华中科技大学湖北武汉 430074; 长沙通信职业技术学院湖南长沙410115;长沙理工大学湖南长沙 410114;华中科技大学湖北武汉 430074; 长沙通信职业技术学院湖南长沙410115;长沙通信职业技术学院湖南长沙410115【正文语种】中文【中图分类】TP3计算机、数码产品早已进入我们的生活中,像photoshop等图像处理软件技术也逐渐被大家所掌握,使用者可以轻松地对图像进行复制-粘贴、合成、图像渲染效果处理等各种操作,推翻了人们“眼见为实”的传统理念。

局部二值模式方法研究与展望

局部二值模式方法研究与展望

局部二值模式方法研究与展望一、本文概述局部二值模式(Local Binary Patterns,LBP)是一种在计算机视觉和图像处理领域广泛应用的局部纹理特征描述子。

自从1994年由T. Ojala, M. Pietikäinen, 和 D. Harwood首次提出以来,LBP 因其计算简单、对光照变化和旋转具有鲁棒性等优点,在人脸识别、动态纹理识别、图像分类等许多领域取得了显著的成效。

本文旨在深入研究和探讨局部二值模式方法的基本原理、发展历程、应用领域以及未来可能的发展趋势。

本文将回顾LBP方法的基本概念和计算过程,阐述其在不同应用场景下的优势与挑战。

我们将详细介绍LBP方法的各种变体,包括旋转不变LBP、均匀LBP等价模式LBP等,以及它们在处理复杂纹理和动态图像时的性能表现。

本文还将探讨LBP方法在深度学习框架下的应用,如卷积神经网络(CNN)中的LBP纹理层,以及如何在保持计算效率的同时提升特征表达能力。

本文将展望LBP方法在未来的发展趋势。

随着计算机视觉技术的不断进步,尤其是在大数据、云计算和等领域的快速发展,LBP方法有望在更多领域发挥重要作用。

我们将关注LBP方法在计算效率、特征表示能力、鲁棒性等方面的进一步提升,以及在新兴应用领域如无人驾驶、智能监控等中的潜在价值。

二、LBP方法的基本原理与发展历程局部二值模式(Local Binary Patterns,LBP)是一种在计算机视觉和图像处理领域广泛应用的纹理描述算子。

其基本原理基于图像的局部纹理信息,通过比较中心像素与其邻域像素的灰度值来生成一个二进制数,以此作为该局部区域的纹理描述。

LBP方法的发展历程经历了从基础概念的提出,到各种改进和扩展算法的涌现,以及在多种计算机视觉任务中的成功应用。

LBP方法的核心思想是比较图像中每个像素与其邻域像素的灰度值。

对于一个给定的中心像素,其LBP值是通过将其与周围像素的灰度值进行比较并生成一个二进制数来计算的。

lbp特征边缘算子

lbp特征边缘算子

lbp特征边缘算子英文回答:Local binary patterns (LBPs) are a type of feature descriptor used in computer vision for texture classification. LBPs were first introduced by Ojala et al. in 1994, and have since become one of the most popular texture descriptors due to their simplicity, efficiency, and robustness.LBPs are calculated by comparing the values of a pixel with the values of its neighbors. The result is a binary string that represents the local texture pattern around the pixel. The binary string is then converted into a decimal number, which is the LBP code for that pixel.LBPs can be used to describe a variety of texture patterns, including uniform patterns, such as stripes and checkerboards, and non-uniform patterns, such as clouds and wood. LBPs are also invariant to rotation and scale, whichmakes them suitable for use in a variety of applications, such as object recognition and image retrieval.Edge operators are used in image processing to detect edges in an image. Edges are important features in an image, as they can be used to segment the image into different regions and to identify objects.There are many different edge operators, each with its own strengths and weaknesses. Some of the most popular edge operators include the Sobel operator, the Canny operator, and the Laplacian operator.The Sobel operator is a simple edge operator that usesa 3x3 kernel to calculate the gradient of an image. The gradient is a vector that points in the direction of the greatest change in intensity. The Sobel operator isefficient and easy to implement, but it is not verysensitive to noise.The Canny operator is a more complex edge operator that uses a 5x5 kernel to calculate the gradient of an image.The Canny operator is more sensitive to noise than theSobel operator, but it also produces more accurate edge detections.The Laplacian operator is a second-order edge operator that uses a 3x3 kernel to calculate the Laplacian of an image. The Laplacian is a measure of the second derivativeof the image intensity. The Laplacian operator is very sensitive to noise, but it can produce very sharp edge detections.中文回答:局部二值模式(LBP)是一种在计算机视觉中用于纹理分类的特征描述符。

用于纹理特征提取的改进的LBP算法

用于纹理特征提取的改进的LBP算法

用于纹理特征提取的改进的LBP算法Computer Engineering and Applications 计算机工程与应用题是计算复杂度偏大,对于存在背景干扰或光照不均的纹理图像,这些方法处理的效果往往不佳。

T.Ojala等人于1996年提出了局部二值模式算法(Local Binary Patterns, LBP),用于纹理特征的描述。

LBP算法思想简单容易理解、计算复杂度小、对不同光照强度不敏感并且能够很好地描述图像的局部纹理特征,因而引起各国研究学者的关注。

在过去的十几年中各国研究学者对LBP算法进行了深入的研究,同时提出了多种LBP改进算法,诸如:FLBP、LTP、CBP、LBPV、TPLBP、FPLBP、MS-LBP 、CLBP等,并将其广泛应用于图像分割、人脸识别、图像检索等领域[15-18]。

其中,相对于其他改进的LBP算法,CLBP算法在局部纹理描述和纹理特征提取上更全面、精细,并取得了较好的效果。

但是CLBP算法对光照不均敏感,为此,本文提出了一种CLBP的改进算法ICLBP方法。

本文将在文中第2部分对传统的LBP及变种算法以及CLBP算法进行了简单的回顾,第3部分介绍了一种改进的CLBP算法(ICLBP),第4部分利用Outex、CURet数据库提供的纹理图,对本文算法ICLBP 进行了纹理分类识别实验验证,并与LBP、LBPV、CLBP等方法进行了实验对比,验证了改进后算法的可行性和有效性,第5部分是本文的总结以及下一步研究的方向。

2 局部二值模式(LBP)2.1 传统局部二值模式及变种局部二值模式(Local Binary Patterns , LBP)最初由T. Ojala等人提出。

LBP算法通过对比像素点与其领域像素点的灰度值的差异性来计算LBP算子:P-1LBPP,R??s(gp?gc)2p()1p?0s(x)???1,x?0?0,x?0式(1)中,gp为邻域像素点的灰度值,gc为中心像素点的灰度值,P为邻域中像素点的个数,R为邻域半径。

10分钟学会使用python实现人脸识别(附源码)

10分钟学会使用python实现人脸识别(附源码)

10分钟学会使⽤python实现⼈脸识别(附源码)⽬录前⾔⼀、⾸先⼆、接下来1.对照⼈脸获取2. 通过算法建⽴对照模型3.识别前⾔今天,我们⽤Python实现简单的⼈脸识别技术!Python⾥,简单的⼈脸识别有很多种⽅法可以实现,依赖于python胶⽔语⾔的特性,我们通过调⽤包可以快速准确的达成这⼀⽬的。

这⾥介绍的是准确性⽐较⾼的⼀种。

⼀、⾸先梳理⼀下实现⼈脸识别需要进⾏的步骤:流程⼤致如此,在此之前,要先让⼈脸被准确的找出来,也就是能准确区分⼈脸的分类器,在这⾥我们可以⽤已经训练好的分类器,⽹上种类较全,分类准确度也⽐较⾼,我们也可以节约在这⽅⾯花的时间。

既然⽤的是python,那⾃然少不了包的使⽤了,在看代码之前,我们先将整个项⽬所需要的包罗列⼀下:· CV2(Opencv):图像识别,摄像头调⽤· os:⽂件操作· numpy:NumPy(Numerical Python) 是 Python 语⾔的⼀个扩展程序库,⽀持⼤量的维度数组与矩阵运算,此外也针对数组运算提供⼤量的数学函数库· PIL:Python Imaging Library,Python平台事实上是图像处理的标准库⼆、接下来1.对照⼈脸获取#-----获取⼈脸样本-----import cv2#调⽤笔记本内置摄像头,参数为0,如果有其他的摄像头可以调整参数为1,2cap = cv2.VideoCapture(0)#调⽤⼈脸分类器,要根据实际路径调整3face_detector = cv2.CascadeClassifier(r'X:/Users/73950/Desktop/FaceRec/haarcascade_frontalface_default.xml') #待更改#为即将录⼊的脸标记⼀个idface_id = input('\n User data input,Look at the camera and wait ...')#sampleNum⽤来计数样本数⽬count = 0while True:#从摄像头读取图⽚success,img = cap.read()#转为灰度图⽚,减少程序符合,提⾼识别度if success is True:gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)else:break#检测⼈脸,将每⼀帧摄像头记录的数据带⼊OpenCv中,让Classifier判断⼈脸#其中gray为要检测的灰度图像,1.3为每次图像尺⼨减⼩的⽐例,5为minNeighborsfaces = face_detector.detectMultiScale(gray, 1.3, 5)#框选⼈脸,for循环保证⼀个能检测的实时动态视频流for (x, y, w, h) in faces:#xy为左上⾓的坐标,w为宽,h为⾼,⽤rectangle为⼈脸标记画框cv2.rectangle(img, (x, y), (x+w, y+w), (255, 0, 0))#成功框选则样本数增加count += 1#保存图像,把灰度图⽚看成⼆维数组来检测⼈脸区域#(这⾥是建⽴了data的⽂件夹,当然也可以设置为其他路径或者调⽤数据库)cv2.imwrite("data/User."+str(face_id)+'.'+str(count)+'.jpg',gray[y:y+h,x:x+w])#显⽰图⽚cv2.imshow('image',img)#保持画⾯的连续。

基于二阶局部二值模式的图像纹理提取技术探讨

基于二阶局部二值模式的图像纹理提取技术探讨

基于二阶局部二值模式的图像纹理提取技术探讨摘要:人脸特征提取,是人脸识别技术过程中必不可缺,也是非常关键的步骤之一,目前常见的方法有基于面部器官的特征提取、基于模板的特征提取、基于代数方法的特征提取、基于弹性匹配法的特征提取等多种方法,t.ojala等人提出了局部二值模式(localbinarypattern,lbp)方法,利用它来进行图像的纹理特征提取。

本文利用局部二值模式算子验证了二阶局部二值模式方法更有利于提高图像的识别效果,方法简单易行,计算量小,如能与其它的方法一起配合使用,则能大大提高图像的识别率。

关键词:局部二值模式;图像;纹理中图分类号:tp391 文献标识码:a 文章编号:1674-7712 (2013)02-0042-02人脸特征提取,是人脸识别技术过程中必不可缺的一个步骤,也是非常关键的步骤之一。

目前常见的方法有基于面部器官的特征提取、基于模板的特征提取、基于代数方法的特征提取、基于弹性匹配法的特征提取等等。

基于面部器官特征的提取,是1996年由bledsoe提出的,这种方法必须先依靠先验知识,了解人脸的面部结构,根据人脸各器官的位置关系来衡量人脸特征,该方法需要在自适应和检测准确度之间进行权衡,受到人脸表情、姿态等影响很大。

基于模板的特征提取方法,是根据人脸的基本轮廓,并结合各器官在脸部位置基本上是固定的特性所提出的方法。

特征提取方法可以是固定模板,也可以是参数可变的可变性模板。

但总的来说模板描述不是很精确,只能适用于可变性不大的器官。

基于代数方法,是使用代数变换的方法来提取人脸特征,特征脸方法就是其中比较经典的方法。

把人脸图像缩小到很小的低维空间来描述,利用图像的代数特征信息提取出脸部器官的特征。

常常利用kl变换、特征脸、小波变换、构造“特征子空间”等方法,但是该方法在单样本时识别率不高,而且程序复杂,运算速度较慢。

t.ojala等人在1999年,最早提出了据图像的局部纹理信息来提取图像特征,这是一种新的特征提取方法,即局部二值模式(localbinarypattern,lbp)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LBP算子介绍
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;显然,它的作用是进行特征提取,而且,提取的特征是图像的纹理特征,并且,是局部的纹理特征;
原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。

这样,3*3领域内的8个点可产生8bit的无符号数,即得到该窗口的LBP值,并用这个值来反映该区域的纹理信息。

如下图所示:
原始的LBP提出后,研究人员不断对其提出了各种改进和优化,从而得到了诸如半
径为R的圆形区域内含有P个采样点的LBP算子;LBP均匀模式;LBP旋转不变模式;LBP等价模式等等,具体请参考T. Ojala在IEEE TPAMI上2002年发表的那篇文章“Multiresolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Pat terns”。

另外,LBP算子的中文参考文章,可以参考以下:
(1)基于LBP的人脸识别研究,黄非非,重庆大学硕士毕业论文,2009年
(2)基于LBP的特征提取研究,王玲,北京交通大学硕士毕业论文,2009年
(3)基于局部二值模式的人脸识别方法研究,周凯,中南大学硕士毕业论文,2009年
显而易见的是,上述提取的LBP算子在每个像素点都可以得到一个LBP“编码”,那么,对一幅图像提取其原始的LBP算子之后,得到的原始LBP特征依然是“一幅图片”。

不过,这里我们已经将物体从图片(图片可以理解为物体在原始测量空间得到的测量特征)转换为二次特征,也就是得到了我们通常说的“特征”。

不过,这个所谓的“特征”并不能直接用于判别分析。

因为,从上面的分析我们可以看出,这个“特征”跟位置信息是紧密相关的。

直接对两幅图片提取这种“特征”,并进行判别分析的话,会因为“位置没有对准”而产生很大的误差。

后来,研究人员发现,可以将一幅图片划分为若干的子区域,对每个子区域内的每个像素点都提取LBP特征,然后,在每个子区域内建立LBP特征的统计直方图。

如此一来,每个子区域,就可以用一个统计直方图来进行描述;整个图片就由若干个统计直方图组成;例如:一幅100*100像素大小的图片,划分为10*10=100个子区域,每个子区域的大小为10*10像素;在每个子区域内的每个像素点,提取其LBP特征,然后,建立统
计直方图;这样,这幅图片就有10*10个子区域,也就有了10*10个统计直方图,利用这10*10个统计直方图,就可以描述这幅图片了。

之后,我们利用各种相似性度量函数,就可以判断两幅图像之间的相似性了;
目前,LBP局部纹理提取算子,已经成功应用在指纹识别、字符识别、人脸识别、车牌识别等领域。

另一篇,介绍的也不错,这里放上:
LBP(local banary patter)是一种非常经典的用来描述图像局部纹理特征的算子。

1,基本LBP
LBP方法自1994年提出,此后就作为一个有效的纹理特征,不断的被人使用和改进。

LBP
非常简单,也非常有效。

左边的图是从一个图片上拿下来的3*3矩阵,矩阵上的值就是像素值,现在我们要计算的中间那个点的LBP。

除了它此外的8个点依次与中间点比较,比它(也就是15)大的记成1,比它小的记成0,然后我们就得到右面的图片。

然后我们选定一个起始点-这个图片选的是左上角第一个点,然后按照顺时针方向得到一个二进制串10011010,转换为十进制则为154。

到此,我们得到了中间点的LBP值--154。

对整个图片的所有点都这样处理,也就是以它为中心与附近的8个点相比较,这样就得到整个图所有点的LBP值。

那么得到这么个与源图像大小相等的LBP值矩阵有什么用呢?通常我们统计它的直方图,得到一个直方图矩阵向量,然后每一个图片对应一个直方图向量,这个直方图向量就是此图片的一个特征。

我们由两个图像的直方图向量从而得到它们的相似度,从而来分类。

2, LBP均匀模式LBP (uniform LBP)
均匀模式就是一个二进制序列从0到1或是从1到0的变过不超过2次(这个二进制序列首尾相连)。

比如:10100000的变化次数为3次所以不是一个uniform pattern。

所有的8
位二进制数中共有58个uniform pattern.为什么要提出这么个uniform LBP呢,因为研究者发现他们计算出来的大部分值都在这58种之中,所以他们把值分为59类,58个uniform pattern为一类,其它的所有值为第59类。

这样直方图从原来的256维变成59维。

3,旋转不变模式LBP
旋转不变模式LBP能够在图片发生一定的倾斜时也能得到相同的结果。

它的定义可以看下图:
我们看到中心点的邻居不再是它上下左右的8个点(补充一句,不一定非要是3*3的邻域,这个自己定,但是邻域大了意味着直方图向量维度的增加),而是以它为圆心的一个圈,规定了这个圆的半径和点的个数,就可以求出各个点的坐标,但是点的坐标不一定是整数,如果是整数那么这个点的像素值就是对应点的值,如果不是整数,就用差值的方式得到。

其他基于LBP的算法
1,MBP
将整个邻域内的所有点的中值作为阈值进行比较,中值不是平局值哦,是所有的值按照从小到大排列,最中间的那个。

话说这个MBP可以用matlab的一个函数实现:medfilt2
2,
利用邻域内所有点的平局值作为阈值。

3,
第三种不是在阈值上做改动,而是将大图片切分成小图片,然后再小图片上用LBP方法,然后把小些小图片的直方图矩阵连接起来,成为大图的特征。

为什么这么做呢?因为很明显的LBP 直方图会丢失局部信息,比如得到一个值为100那么不管你这个值是从哪里得到的--比如人脸,不管是眼睛处得到这个值还是鼻子处得到,应该不管,都放到lable=100这里。

相关文档
最新文档