活体检测方法、电子设备、存储介质及计算机程序产品与流程

文档序号:33625141发布日期:2023-03-25 17:36阅读:89来源:国知局
活体检测方法、电子设备、存储介质及计算机程序产品与流程

1.本技术涉及生物识别技术领域,更具体地涉及一种活体检测方法、电子设备、存储介质及计算机程序产品。


背景技术:

2.随着人脸识别及其相关技术日新月异的发展,为人们的生产生活提供了诸多便利,但同时也对信息安全提出了新的挑战。一些不法分子常常通过合成人脸数据来伪造身份信息,以此通过人脸识别系统的身份核验,从而达到窃取个人信息、实施经济犯罪等不法活动的目的。因此,人脸活体识别技术应运而生。
3.当前,已有诸多人脸活体识别方法,其中一种有效手段是唇语活体检测。唇语活体检测属于主动活体检测的一种,需要用户读出系统给出的一组随机数字,人脸识别系统根据捕获到的视频中的嘴唇动作特征,判断是否是真人。针对唇语活体检测算法,也有相应的多种攻击形式。有一种专门针对唇语活体检测的攻击方式,攻击者事先获取某人在固定环境下读0到9这10个数字的视频片段,然后通过剪辑拼接,伪造朗读系统给定读数的视频。现有技术在面对这种攻击时存在以下技术问题:即使可以构造剪辑视频攻击的训练集,现有算法无论通过单帧还是抽取多帧判断,剪辑视频和真人视频的抽帧表现都并无差别,模型很难有效区分。


技术实现要素:

4.考虑到上述问题而提出了本技术。本技术提供了一种活体检测方法、电子设备、存储介质及计算机程序产品。
5.根据本技术的一方面,提供了一种活体检测方法,包括:获取待处理视频中的至少部分视频帧;计算至少部分视频帧的帧间差分序列或帧间相关性序列,帧间差分序列包含至少部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列包含至少部分视频帧中的每两个相邻视频帧之间的相关性结果;基于帧间差分序列或帧间相关性序列获得待处理图像;将待处理图像输入活体检测模型,获得活体检测结果,活体检测结果用于指示待处理视频属于攻击视频类还是活体视频类。
6.示例性地,基于帧间相关性序列获得待处理图像包括:将帧间相关性序列中的每两个相邻相关性结果做差,得到相关性差分序列;将相关性差分序列转换为格拉姆角场图像,作为待处理图像。
7.示例性地,格拉姆角场图像包括格拉姆和角场图像以及格拉姆差角场图像,将待处理图像输入活体检测模型,获得活体检测结果包括:将格拉姆和角场图像以及格拉姆差角场图像分别输入活体检测模型,通过活体检测模型执行以下操作:对格拉姆和角场图像以及格拉姆差角场图像进行特征提取,获得提取后的特征;对提取后的特征进行降维处理,获得与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征,降维特征的通道数为1;将与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征合并在一起,获得
合并特征;基于合并特征进行分类,获得活体检测结果。
8.示例性地,基于帧间差分序列获得待处理图像包括:基于帧间差分序列从至少部分视频帧中提取关键帧,关键帧是至少部分视频帧中像素值变化最大的位置处的视频帧;选取关键帧周围的多个视频帧,作为待处理图像。
9.示例性地,从待处理视频中获取至少部分视频帧包括:选取待处理视频的位于中间位置处的目标数目的视频帧作为至少部分视频帧,其中,中间位置是从待处理视频的三分之一处至三分之二处。
10.示例性地,基于帧间差分序列从至少部分视频帧中提取关键帧包括:确定帧间差分序列中的最大差分结果所对应的两个视频帧之一为关键帧。
11.示例性地,计算至少部分视频帧的帧间差分序列包括:将至少部分视频帧中的每个视频帧中的像素值进行归一化,获得归一化后的视频帧;对归一化后的视频帧进行像素值的帧间差分,获得初始差分序列;将初始差分序列或新差分序列确定为帧间差分序列,其中,新差分序列通过以下方式获得:将初始差分序列中的差分结果放大目标倍数,获得放大后的差分序列;对放大后的差分序列中的每一帧所对应的差分结果求帧内平均,获得新差分序列。
12.示例性地,活体检测模型通过以下方式训练获得:生成正样本和负样本,正样本属于活体视频类,负样本属于攻击视频类;利用正样本和负样本,对活体检测模型进行训练;其中,生成正样本和负样本包括:获取第一真实视频和第二真实视频;将第一真实视频划分为多个视频段;对多个视频段进行重组获得新的视频;基于新的视频生成负样本;基于第二真实视频生成正样本。
13.示例性地,基于新的视频生成负样本包括:对新的视频中的视频帧分别进行相同的数据增强,获得负样本;和/或,基于第二真实视频生成正样本包括:对第二真实视频中的视频帧分别进行相同的数据增强,获得正样本;其中,数据增强包括图像旋转、对比度增强、图像压缩、添加噪声中的一种或多种。
14.示例性地,多个视频段的数目等于唇语活体检测中采用的数字的总数目。
15.示例性地,方法还包括:在获取任一真实视频的过程中,随机生成与该真实视频相对应的概率因子;判断概率因子是否落入第一目标范围或落入第二目标范围;其中,将第一真实视频划分为多个视频段、对多个视频段进行重组获得新的视频、以及基于新的视频生成负样本的步骤在第一真实视频所对应的概率因子落入第一目标范围的情况下执行,其中,基于第二真实视频生成正样本的步骤在第二真实视频所对应的概率因子落入第二目标范围的情况下执行。
16.根据本技术的另一方面,还提供了一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的活体检测方法。
17.根据本技术另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的活体检测方法。
18.根据本技术另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在运行时用于执行上述活体检测方法。
19.根据本技术实施例的活体检测方法、电子设备、存储介质及计算机程序产品,基于
待处理视频中的至少部分视频帧,获得帧间差分序列或帧间相关性序列进而获得待处理图像,再将待处理图像输入活体检测模型进行活体检测。由此,通过帧间差分序列或帧间相关性序列能够获取攻击数据具有代表性的先验特征,进而使得检测结果更具有针对性和先验性。本方案采用数字图像处理结合深度学习的技术,相比整体端到端的单帧或多帧活体检测算法,对剪辑视频活体攻击具有更好的防御效果。
附图说明
20.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
21.图1示出用于实现根据本技术实施例的活体检测方法和装置的示例电子设备的示意性框图;
22.图2示出了根据本技术一个实施例的活体检测方法的示意流程图;
23.图3示出了根据本技术一个实施例的活体检测模型的示意图;
24.图4示出了根据本技术一个实施例的攻击视频的格拉姆差角场图像以及格拉姆和角场图像、活体视频的格拉姆差角场图像以及格拉姆和角场图像的示意图;
25.图5示出了根据本技术一个实施例的活体检测装置的示意性框图;以及
26.图6示出根据本技术一个实施例的电子设备的示意性框图。
具体实施方式
27.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(slam)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
28.为了使得本技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本技术的示例实施例。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术中描述的本技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本技术的保护范围之内。
29.为了至少部分地解决上述技术问题,本技术实施例提供了一种活体检测方法、电子设备、存储介质及计算机程序产品。
30.首先,参照图1来描述用于实现根据本技术实施例的活体检测方法和装置的示例电子设备100。
31.如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及图像拍摄装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
32.所述处理器102可以采用数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、微处理器中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(cpu)、图像处理器(gpu)、专用的集成电路(asic)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
33.所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本技术实施例中(由处理器实现)的客户端功能以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
34.所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
35.所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
36.所述图像拍摄装置110可以采集图像,并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像拍摄装置110可以是单独的相机或移动终端中的摄像头等。应当理解,图像拍摄装置110仅是示例,电子设备100可以不包括图像拍摄装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备100。
37.示例性地,用于实现根据本技术实施例的活体检测方法和装置的示例电子设备可以在诸如个人计算机、终端设备、考勤机、面板机、相机或远程服务器等的设备上实现。其中,终端设备包括但不限于:平板电脑、手机、pda(personal digital assistant,个人数字助理)、可触屏一体机、可穿戴设备等。
38.下面,将参考图2描述根据本技术实施例的活体检测方法。图2示出根据本技术一个实施例的活体检测方法200的示意性流程图。如图2所示,活体检测方法200可以包括步骤s210、s220、s230和s240。
39.步骤s210,获取待处理视频中的至少部分视频帧。
40.示例性地,待处理视频可以是任意类型的用于活体检测的视频,其可以包含任意合适类型的目标对象。例如,待处理视频可以包括但不限于:唇语视频、手势视频等。相应地,目标对象可以包括但不限于:人脸、人的手部等。当然,待处理视频中包含的目标对象可能属于真实的活体,也可能属于用来攻击的非活体。需注意,本文虽然主要以唇语活体检测描述本技术的技术问题和实施例的实现方式,但是这并非对本技术的限制,本技术可以应用于其他类似形式的活体检测领域,例如手势活体检测等,它们的实现原理是类似的。
41.待处理视频可以是图像采集装置(例如相机中的图像传感器)采集到的原始视频,也可以是对原始视频进行预处理之后获得的视频。需注意,对原始视频的预处理可以包括对原始视频中的任意视频帧进行数字化、归一化、平滑等操作。
42.待处理视频可以由外部设备(例如云端服务器)发送到电子设备100以由电子设备100的处理器102进行处理,还可以由电子设备100包括的图像采集装置110(例如摄像头)采集并传送到处理器102进行处理,还可以由电子设备100包括的存储装置104存储并传送到处理器102进行处理。
43.示例性地,可以获取待处理视频中全部的视频帧以进行后续操作,也可以选取待处理视频中的部分视频帧以进行后续的操作。真实的攻击视频的剪辑位置通常在待处理视频中的部分位置处,因此可以选取部分视频帧进行后续处理。例如,至少部分视频可以包含全部视频帧中的四分之一至四分之三位置处的视频帧,或者包含全部视频帧中的三分之一至三分之二位置处的视频帧等。在一个实施例中,可以选取全部视频帧的三位之一至三分之二位置处的视频帧进行后续处理。例如,t帧的待处理视频的全部视频帧可以表示为[f0,f1,...,f
t-1
],至少部分视频帧可以表示为[f
t/3
,...,f
2t/3
]。
[0044]
步骤s220,计算至少部分视频帧的帧间差分序列或帧间相关性序列,帧间差分序列包含至少部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列包含至少部分视频帧中的每两个相邻视频帧之间的相关性结果。
[0045]
示例性地,帧间差分序列中可以包含待处理视频中的全部视频帧或部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列中可以包含待处理视频中的全部视频帧或部分视频帧中的每两个相邻视频帧之间的相关性结果。
[0046]
示例性地,可以将至少部分视频帧中的每两个相邻视频逐个计算相关性结果,获得帧间相关性序列,随后可以基于该帧间相关性序列,再逐个做差进而可以获得全部视频帧的相关性差分序列。此外,示例性地,可以将至少部分视频帧中的每两个相邻视频逐个计算差分结果,获得帧间差分序列。
[0047]
步骤s230,基于帧间差分序列或帧间相关性序列获得待处理图像。
[0048]
在一个示例中,可以基于帧间差分序列确定剪辑位置,选取剪辑位置附近的视频帧作为待处理图像进行后续的活体检测。在另一个示例中,可以基于帧间相关性序列,获得格拉姆角场图像作为待处理图像进行后续的活体检测。
[0049]
步骤s240,将待处理图像输入活体检测模型,获得活体检测结果,活体检测结果用于指示待处理视频属于攻击视频类还是活体视频类。
[0050]
示例性地,可以将上述步骤s230获得的待处理图像输入活体检测模型以获得活体检测结果。活体检测模型可以采用任何合适的神经网络模型实现。示例性而非限制性地,活
体检测模型可以包括图像输入模块、特征提取模块、多个降维模块以及分类模块等。获得的活体检测结果可以包括关于该待处理视频为攻击视频还是活体视频的分类结果。即,活体检测可以将待处理视频分为两大类,包含的目标对象属于真实的活体的待处理视频视为活体视频类,包含的目标对象属于用来攻击的非活体的待处理视频视为攻击视频类。
[0051]
根据本技术实施例的活体检测方法,基于待处理视频中的至少部分视频帧,获得帧间差分序列或帧间相关性序列进而获得待处理图像,再将待处理图像输入活体检测模型进行活体检测。由此,通过帧间差分序列或帧间相关性序列能够获取攻击数据具有代表性的先验特征,进而使得检测结果更具有针对性和先验性。本方案采用数字图像处理结合深度学习的技术,相比整体端到端的单帧或多帧活体检测算法,对剪辑视频活体攻击具有更好的防御效果。
[0052]
示例性地,根据本技术实施例的活体检测方法可以在具有存储器和处理器的设备、装置或者系统中实现。
[0053]
根据本技术实施例的活体检测方法可以部署在图像采集端处,例如可以部署在具有图像采集功能的个人终端或服务器端处。
[0054]
替代地,根据本技术实施例的活体检测方法还可以分布地部署在服务器端(或云端)和客户端处。例如,可以在客户端采集待处理视频,客户端将采集的待处理视频传送给服务器端(或云端),由服务器端(或云端)基于待处理视频进行活体检测。
[0055]
示例性地,基于帧间相关性序列获得待处理图像可以包括:将帧间相关性序列中的每两个相邻相关性结果做差,得到相关性差分序列;将相关性差分序列转换为格拉姆角场图像,作为待处理图像。
[0056]
假设待处理视频共包含t帧图像,表示为[f0,f1,...,f
t-1
]。针对每两个相邻视频帧计算相关性,可以获得长度为t-1的帧间相关性序列[r0,r1,...,rk,...,r
t-2
],其中,k的取值范围为[0,t-2],rk表示第k帧与第k-1帧之间的相关性结果。
[0057]
在一个实施例中,可以通过以下公式计算两个相邻视频帧之间的相关性:
[0058][0059]
其中,frak(i,j)表示第k帧第i行第j列的灰度值,表示第k帧第i行第j列的灰度值。
[0060]
上述相关性计算公式仅是示例而非对本技术的限制,可以采用其他合适的现有或将来可能出现的相关性计算公式计算两个相邻视频帧之间的相关性。
[0061]
将长度为t-1的帧间相关性序列[r0,r1,...,rk,...,r
t-2
]中每两个相邻的相关性结果分别逐个做差,可以得到相关性差分序列[d0,d1,...,di,...,d
t-2
],其中,d0=0,di=∣r
i-r
i-1
∣。
[0062]
示例性地,可以将相关性差分序列[d0,d1,...,di,...,d
t-2
]中的数值通过归一化操作归一化到0到1之间,然后将直角坐标系下的相关性差分序列转化到极坐标系中,以进行角度和以及角度差的三角函数变换,进而获得格拉姆角场图像作为待处理图像。
[0063]
在上述技术方案中,根据帧间相关性序列获得相关性差分序列,进而获得格拉姆
角场图像作为待处理图像,可以有效地识别视频中可能存在剪辑的位置,进而有助于提高活体检测结果的准确性。
[0064]
示例性地,格拉姆角场图像包括格拉姆和角场图像以及格拉姆差角场图像,将待处理图像输入活体检测模型,获得活体检测结果包括:将格拉姆和角场图像以及格拉姆差角场图像分别输入活体检测模型,通过活体检测模型执行以下操作:对格拉姆和角场图像以及格拉姆差角场图像进行特征提取,获得提取后的特征;对提取后的特征进行降维处理,获得与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征,降维特征的通道数为1;将与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征合并在一起,获得合并特征;基于合并特征进行分类,获得活体检测结果。
[0065]
示例性地,活体检测模型可以包括特征提取模块和两个降维模块和分类模块,将待处理图像输入活体检测模型,获得活体检测结果可以包括:将格拉姆和角场图像以及格拉姆差角场图像分别输入特征提取模块,获得提取后的特征;将提取后的特征分别输入两个降维模块,获得与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征,降维特征的通道数为1;将与格拉姆和角场图像以及格拉姆差角场图像分别对应的降维特征合并在一起,获得合并特征;将合并特征输入分类模块,获得活体检测结果。
[0066]
在一个实施例中,格拉姆角场图像可以包括格拉姆和角场图像(gramian angular summation field,gasf)以及格拉姆差角场图像(gramian angular difference field,gadf)。格拉姆和角场图像和格拉姆差角场的图像信息可以表示为(b,c,w,h),其中,b可以表示图像的批大小(batchsize),c可以表示图像的通道数,w可以表示图像的宽,h可以表示图像的高。图3示出了根据本技术一个实施例的活体检测模型的示意图,如图3所示,活体检测模型可以包括特征提取模块、降维模块1、降维模块2和分类模块。
[0067]
将前文所述的维度均为(b,1,w,h)的格拉姆和角场图像的图像信息和格拉姆差角场图像的图像信息合在一起是维度为(b,2,w,h)的格拉姆角场图像,将该图像输入特征提取模块,可以获得提取后的特征。示例性地,特征提取模块可以是卷积神经网络(convolutional neural networks,cnn)。示例性地,降维模块1可以是池化+全连接模块,降维模块2也可以是池化+全连接模块。将提取后的特征输入到两个降维模块,可以获得与格拉姆和角场图像对应的维度为(b,1)的降维特征以及与格拉姆差角场图像对应的维度为(b,1)的降维特征。随后,可以将与格拉姆和角场图像对应的降维特征以及与格拉姆差角场图像对应的降维特征合并成一个维度为(b,2)的特征。特征的合并可以理解为通道上的拼接(concat),本领域技术人员可以理解合并的实现方式,本文不赘述。随后,可以将合并特征输入分类模块。示例性地,分类模块可以包括全连接层。经过分类模块可以得到一个维度为(b,1)的输出,作为活体检测结果。在一个示例中,活体检测结果中的通道对应于一个用于表示待处理视频是活体视频的得分。可以将该得分与目标阈值进行对比,大于阈值则可以确定是活体视频,否则可以确定是攻击视频。上述活体检测模型的网络结构仅是示例而非对本技术的限制,活体检测模型可以采用其他合适的网络结构实现。
[0068]
图4示出了根据本技术一个实施例的攻击视频的格拉姆差角场图像以及格拉姆和角场图像、活体视频的格拉姆差角场图像以及格拉姆和角场图像的示意图。如图4所示,攻击视频由于在剪辑位置发生图像内容的剧烈跳变,在格拉姆角场图像上呈现出明显的条纹,但是活体视频的运动状态比较平滑,在格拉姆角场中没有明显跳变痕迹,以此可以有效
区分剪辑攻击视频和活体视频。
[0069]
在上述技术方案中,通过相似性计算,将高维图像序列转化成一维数据矩阵,一个视频输入活体检测模型的只有两幅格拉姆角场图像,这样可以有效降低处理成本,提高活体检测模型的检测效率。
[0070]
示例性地,基于帧间差分序列获得待处理图像可以包括:基于帧间差分序列从至少部分视频帧中提取关键帧,关键帧是至少部分视频帧中像素值变化最大的位置处的视频帧;选取关键帧周围的多个视频帧,作为待处理图像。
[0071]
在一个实施例中,可以通过以下方法基于帧间差分序列获得待处理图像。根据步骤s220中获得的帧间差分序列,从步骤s210获得的至少部分视频帧中提取关键视频帧。提取关键帧的操作可以采用任何现有或将来可能出现的关键帧提取方法实现,包括但不限于:帧间差分法、光流法、cnn特征分析法、聚类方法等。
[0072]
通过以上方式,可以提取出至少部分视频帧中像素值变化最大的位置处的视频帧作为关键帧。例如,关键帧为fi,可以选取关键帧周围的第一目标数目个视频帧,以作为待处理图像。假设选取关键帧前后各两帧的视频帧,那么待处理图像包括五个视频帧,可以表示为[f
i-2
,f
i-1
,fi,f
i+1
,f
i+2
]。
[0073]
在上述技术方案中,提取关键帧周围的多个视频帧作为待处理图像,关键帧是至少部分视频帧中像素值变化最大的位置处的视频帧,因此所获取的待处理图像有较大概率包含待处理视频的剪辑拼接位置。这种方法能够快速有效地确定待处理视频发生剪辑的位置,使得输入模型的视频帧在真人唇语视频和剪辑攻击视频中的差异化程度较高。该方法在保持极高的真人通过率的条件下,能够有效地检测到攻击视频。
[0074]
示例性地,获取待处理视频中的至少部分视频帧可以包括:获取待处理视频;选取待处理视频的位于中间位置处的目标数目的视频帧作为至少部分视频帧,其中,中间位置是从待处理视频的三分之一处至三分之二处。
[0075]
在一个实施例中,所获得的待处理视频一共有100帧,可以从该待处理视频的三分之一处至三分之二处的视频帧处选取第二目标数目的至少部分视频帧。例如,第二目标数目可以是10,可以从第30帧至第66帧的视频帧中选取10帧视频帧作为所述的至少部分视频帧。当然,可选地,第二目标数目可以等于待处理视频的三分之一处至三分之二处的全部视频帧的数目。这种情况下,可以直接取第30帧至第66帧作为所述的至少部分视频帧。
[0076]
在上述技术方案中,从待处理视频的中间位置处的视频帧中选取第二目标数目的视频帧作为至少部分视频帧,进而可以避免位于起始或结束位置的视频帧中,环境噪声等因素的影响,以保证后续计算结果的精确性。此外,真实攻击在剪辑时剪辑位置往往靠近视频中间部分,因此,取中间位置处的视频帧作为至少部分视频帧还可以减少计算量,提高处理速度。
[0077]
示例性地,基于帧间差分序列从至少部分视频帧中提取关键帧可以包括:确定帧间差分序列中的最大差分结果所对应的两个视频帧之一为关键帧。
[0078]
在一个实施例中,帧间差分序列中最大差分结果所对应的视频帧可以是两个,可以选取两个视频帧的任意一个视频帧作为关键帧。例如,假设在帧间差分序列中,确定最大差分结果所对应的视频帧是f6和f7,可以任意选取两个视频帧中的一个作为关键帧,例如,可以选取f6作为关键帧。
[0079]
在采用帧间差分法、光流法、cnn特征分析法、聚类方法等常规方法提取关键帧时,通常是针对整个视频遍历所有视频帧,这种方式非常耗时,无法满足某些应用场景的实时性要求。而通过差分,尤其是局部(即仅取中间位置处的视频帧)差分的方式提取关键帧,这种方案可以有效提高视频的处理速度,也就可以提高活体检测的效率。
[0080]
示例性地,计算至少部分视频帧的帧间差分序列可以包括:将至少部分视频帧中的每个视频帧中的像素值进行归一化,获得归一化后的视频帧;对归一化后的视频帧进行像素值的帧间差分,获得初始差分序列;将初始差分序列或新差分序列确定为帧间差分序列,其中,新差分序列基于初始差分序列获得。
[0081]
在一个实施例中,可以通过跨平台计算机视觉和机器学习软件库(opencv)的内置函数对前文所述的至少部分视频帧的每个视频帧中的像素值做线性函数(mix-max)归一化处理,将各个像素值归一化至0到1之间,进而获得归一化后的视频帧。
[0082]
下面举例说明。假设输入的待处理视频共t帧[f0,f1,...,f
t-1
],假设只取视频中间三分之一的视频帧进行后续计算,取出的视频帧为[f
t/3
,...,f
2t/3
]。将输入视频帧序列[f
t/3
,...,f
2t/3
]做min-max归一化,归一化后的视频帧所对应的归一化序列可以表示为[n0,n1,...,n
t/3
]。对归一化后的视频帧进行像素值的帧间差分,可以获得初始差分序列[∣n
0-n1∣,∣n
1-n2∣,...,∣n
(t-3)/3-n
t/3
∣]。可选地,可以将初始差分序列乘以特定数值以放大差异性,进而获得新差分序列。帧间差分序列可以是初始差分序列或新差分序列。
[0083]
在上述技术方案中,将至少部分视频帧中的每个视频帧中的像素值进行归一化,由此可以方便后续处理,同时也可以加快后续操作的运行效率。
[0084]
示例性地,新差分序列可以通过以下方式获得:将初始差分序列中的差分结果放大目标倍数,获得放大后的差分序列;对放大后的差分序列中的每一帧所对应的差分结果求帧内平均,获得新差分序列。
[0085]
在一个实施例中,目标倍数可以是任意数值,例如,100、255等。如上所述,可以将初始差分序列乘以目标倍数以放大差异性,进而获得放大后的差分序列。例如,放大后的差分序列可以表示为[∣n
0-n1∣,∣n
1-n2∣,...,∣n
(t-3)/3-n
t/3
∣]
×
255=[diff0,diff1,...,diff
(t-3)/3
]。可选地,对于放大后的差分序列,可以将其中的每一帧所对应的差分结果求帧内平均,进而可以将各个平均结果所组成的序列作为新差分序列。
[0086]
示例性地,可以进一步找出上述帧间差分序列中的最大差分结果diffi。根据最大差分结果diffi的位置索引idx确定其对应的两个视频帧之一为关键帧。
[0087]
在上述技术方案中,将初始差分序列放大目标倍数,由此,可以放大差分结果的差异性。进一步地,该方法也可以保证根据放大后的差分序列获得新差分序列的差分结果也可以具有较大差异性。
[0088]
示例性地,活体检测模型可以通过以下方式训练获得:生成正样本和负样本,正样本属于活体视频类,负样本属于攻击视频类;利用正样本和负样本,对活体检测模型进行训练;其中,生成正样本和负样本可以包括:获取第一真实视频和第二真实视频;将第一真实视频划分为多个视频段;对多个视频段进行重组获得新的视频;基于新的视频生成负样本;基于第二真实视频生成正样本。
[0089]
在活体检测模型的训练阶段,存在以下技术问题:真实攻击数据的数量是有限的,获取大量真实攻击数据构造训练集的难度较大,人为采集数据需要获取大量人员朗读数字
或做出手势的视频,成本较高。本实施例提供一种通过合成方式自动生成攻击数据来构建训练集的实现方案。
[0090]
下面以唇语活体检测为例进行描述。在一个实施例中,可以获取两段唇语活体视频,即第一真实视频和第二真实视频。为了生成一个攻击样本(即负样本),在训练时,希望模型学到的剪辑视频的基本特征是连续某几帧和另外连续某几帧之间的衔接不流畅。因此,在合成负样本时,可以将第一真实视频,即唇语活体视频按任意规则,例如随机,划分为多个视频段。然后将多个视频段进行剪辑拼接形成新的视频,其中新的视频与第一真实视频的视频帧保持相同。可以将上述新的视频直接作为负样本或经过进一步的处理(例如图像增强)之后获得负样本。此外,可以直接将第二真实视频作为正样本或者将第二真实视频经过进一步的处理(例如图像增强)之后获得正样本。
[0091]
利用正样本和负样本,对前文所述的活体检测模型进行训练,经过多次迭代训练后可以获得活体检测模型。可以理解,正样本和负样本各自带有自己的标注数据(ground truth)。将任一样本输入活体检测模型之后,可以获得对应的预测结果。可以基于任一样本的标注数据和预测结果计算分类损失,并基于分类损失,通过反向传播和梯度下降算法,对活体检测模型中的参数进行优化。本领域技术人员可以理解利用正负样本对模型进行训练的具体实现方式,本文不赘述。
[0092]
在上述技术方案中,对活体检测模型的训练过程中利用到了视频的全部视频帧,避免了活体检测模型陷入局部判断,能够更有效地区分真实视频中的剪辑痕迹和正常内容变化。此外,本方案不再依赖海量真实攻击数据,可以通过合成数据实现对剪辑视频活体攻击的主动防御。这种方案的训练数据合成成本低且具有足够的鲁棒性。利用通过这种方式训练获得的模型进行活体检测,对剪辑视频的全局特征把握很好,能够较好地兼顾速度与精度要求。
[0093]
示例性地,基于新的视频生成负样本可以包括:对新的视频中的视频帧分别进行相同的数据增强,获得负样本;和/或,基于第二真实视频生成正样本可以包括:对第二真实视频中的视频帧分别进行相同的数据增强,获得正样本;其中,数据增强包括图像旋转、对比度增强、图像压缩、添加噪声中的一种或多种。
[0094]
在一个实施例中,可以通过以下方法基于新的视频生成负样本。新的视频中共包括20帧视频帧,对于每一个视频帧都可以进行相同的数据增强,例如,对于每一个视频帧都做对比度增强,将处理后的视频作为负样本。此外,也可以将数据增强的方法,例如,图像旋转、对比度增强、图像压缩、添加噪声的方法进行任意组合,分别对新的视频中的每个视频帧数据增强,进而获得负样本。此外,对于同一新的视频,还可以进行不同的数据增强,例如进行图像旋转之后获得一个负样本,进行对比度增强和图像压缩之后获得另一个负样本。这样,通过同一新的视频,可以获得多个不同的负样本。同样地,对于第二真实视频,也可以通过类似的方法进行数据增强,进而获得一个或多个正样本。一个训练集中可以包括一个或多个正样本和一个或多个负样本。
[0095]
在上述技术方案中,通过数据增强的方式对视频进行处理,进而获得训练集,由此,可以有效地解决训练样本不充足的问题,通过大量的训练集对活体检测模型进行训练,进而提高活体检测模型的准确率。
[0096]
示例性地,多个视频段的数目等于唇语活体检测中采用的数字的总数目。
[0097]
在一个实施例中,唇语活体检测中采用的数字的总数目是4,分别为1、4、6、7,那么视频段的数目也可以是4。4个视频段是随机划分的,即4个视频段的长度和各自划分的起始端都可以是随机确定的,只要数目符合4个即可。
[0098]
示例性地,方法还可以包括:在获取任一真实视频的过程中,随机生成与该真实视频相对应的概率因子;判断概率因子是否落入第一目标范围或落入第二目标范围;其中,将第一真实视频划分为多个视频段、对多个视频段进行重组获得新的视频、以及基于新的视频生成负样本的步骤在第一真实视频所对应的概率因子落入第一目标范围的情况下执行,其中,基于第二真实视频生成正样本的步骤在第二真实视频所对应的概率因子落入第二目标范围的情况下执行。
[0099]
示例性地,第一目标范围和第二目标范围可以是彼此相交的范围。例如,第一目标范围可以是大于第一阈值,第二目标范围可以是小于或等于第一阈值。在一个实施例中,在获取任一真实视频的过程中,同时可以随机生成一个概率因子p,p的取值范围可以是[0,1]。在随机生成概率因子p后,判断当前概率因子p是否大于第一阈值0.6,如果大于第一阈值0.6,那么可以基于当前概率因子p所对应的真实视频生成正样本;如果小于或等于第一阈值0.6,那么可以基于当前概率因子所对应的真实视频划分为多个视频段,对多个视频段进行重组获得新的视频以生成负样本。示例性地,第一阈值可以根据需要设定为任何合适的值,例如0.5。
[0100]
示例性地,第一目标范围和第二目标范围可以是互不相交的范围。在另一个实施例中,还可以判断概率因子p是否落入第一目标范围或落入第二目标范围。例如,第一目标范围可以是[0,0.4],第二目标范围可以是[0.6,0.9]。对于概率因子p落入第一目标范围的情况,可以基于当前概率因子p所对应的真实视频划分为多个视频段,对多个视频段进行重组获得新的视频以生成负样本。同理地,对于概率因子p落入第二目标范围的情况,可以基于当前概率因子p所对应的真实视频生成正样本。
[0101]
在上述技术方案中,基于随机生成的概率因子,可以对真实视频进行随机的正负样本集的划分,进而生成多个训练样本,以对活体检测模型进行训练。且基于该方法获得的训练样本更具有随机性,可以更有效地训练活体检测模型,进而提高活体检测模型检测结果的准确性。
[0102]
在一些可选实施方式中,还可以将本技术实施例中的活体检测模型与其他类型的活体检测模型(如光线活体检测模型、动作活体检测模型、屏幕翻拍活体检测模型等)共同部署在同一设备上,通过多个活体检测模型并行对采集的目标对象的待检测视频进行检测,若是任一活体检测模型检测到待检测视频或者目标对象为非活体,则输出目标对象为非活体的检测结果,通过部署多个不同类型的活体检测模型,可以提高活体检测的检出率。
[0103]
根据本技术另一方面,提供一种活体检测装置。图5示出了根据本技术一个实施例的活体检测装置500的示意性框图。
[0104]
如图5所示,根据本技术实施例的活体检测装置500包括获取模块510、计算模块520、获得模块530和检测模块540。各个模块可分别执行上文中图2描述的活体检测方法的各个步骤。以下仅对该活体检测装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
[0105]
获取模块510用于获取待处理视频中的至少部分视频帧。获取模块510可以由图1
所示的电子设备中的处理器102运行存储装置105中存储的程序指令来实现。
[0106]
计算模块520用于计算至少部分视频帧的帧间差分序列或帧间相关性序列,帧间差分序列包含至少部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列包含至少部分视频帧中的每两个相邻视频帧之间的相关性结果。计算模块520可以由图1所示的电子设备中的处理器102运行存储装置105中存储的程序指令来实现。
[0107]
获得模块530用于基于帧间差分序列或帧间相关性序列获得待处理图像。获得模块530可以由图1所示的电子设备中的处理器102运行存储装置105中存储的程序指令来实现。
[0108]
检测模块540用于将待处理图像输入活体检测模型,获得活体检测结果,活体检测结果用于指示待处理视频属于攻击视频类还是活体视频类。检测模块540可以由图1所示的电子设备中的处理器102运行存储装置105中存储的程序指令来实现。
[0109]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0110]
图6示出了根据本技术一个实施例的电子设备600的示意性框图。电子设备600包括存储器610和处理器620。
[0111]
存储器610存储用于实现根据本技术实施例的活体检测方法中的相应步骤的计算机程序指令。
[0112]
处理器620用于运行存储器610中存储的计算机程序指令,以执行根据本技术实施例的活体检测方法的相应步骤。
[0113]
在一个实施例中,计算机程序指令被处理器620运行时用于执行以下步骤:获取待处理视频中的至少部分视频帧;计算至少部分视频帧的帧间差分序列或帧间相关性序列,帧间差分序列包含至少部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列包含至少部分视频帧中的每两个相邻视频帧之间的相关性结果;基于帧间差分序列或帧间相关性序列获得待处理图像;将待处理图像输入活体检测模型,获得活体检测结果,活体检测结果用于指示待处理视频属于攻击视频类还是活体视频类。
[0114]
示例性地,电子设备600还可以包括图像采集装置630。图像采集装置630用于采集待处理视频。图像采集装置630是可选的,电子设备600也可以不包括图像采集装置630。此时处理器620可以通过其他方式获取待处理视频,例如从外部设备或从存储器610中获取待处理视频。
[0115]
此外,根据本技术实施例,还提供了一种存储介质,在存储介质上存储了程序指令,在程序指令被计算机或处理器运行时用于执行本技术实施例的活体检测方法的相应步骤,并且用于实现根据本技术实施例的活体检测装置中的相应模块。存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
[0116]
在一个实施例中,程序指令在被计算机或处理器运行时可以使得计算机或处理器
实现根据本技术实施例的活体检测装置的各个功能模块,并和/或者可以执行根据本技术实施例的活体检测方法。
[0117]
在一个实施例中,程序指令在运行时用于执行以下步骤:获取待处理视频中的至少部分视频帧;计算至少部分视频帧的帧间差分序列或帧间相关性序列,帧间差分序列包含至少部分视频帧中的每两个相邻视频帧之间的差分结果,帧间相关性序列包含至少部分视频帧中的每两个相邻视频帧之间的相关性结果;基于帧间差分序列或帧间相关性序列获得待处理图像;将待处理图像输入活体检测模型,获得活体检测结果,活体检测结果用于指示待处理视频属于攻击视频类还是活体视频类。
[0118]
此外,根据本技术实施例,还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在运行时用于执行上述活体检测方法200。
[0119]
根据本技术实施例的电子设备中的各模块可以通过根据本技术实施例的实施活体检测的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本技术实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
[0120]
此外,根据本技术实施例,还提供了一种计算机程序,该计算机程序在运行时用于执行上述活体检测方法200。
[0121]
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本技术的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本技术的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本技术的范围之内。
[0122]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0123]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
[0124]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0125]
类似地,应当理解,为了精简本技术并帮助理解各个申请方面中的一个或多个,在对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本技术的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0126]
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0127]
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0128]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的活体检测装置中的一些模块的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0129]
应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0130]
以上,仅为本技术的具体实施方式或对具体实施方式的说明,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1