发明内容
鉴于上述问题,本发明实施例提供了一种活体的检测方法、装置以及电子设备,克服了上述问题或者至少部分地解决了上述问题。
根据本发明实施例的一个方面,提供了一种活体的检测方法,包括:获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体;否则,确定所述待识别物体不为活体。
在一种可选的方式中,所述根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体的步骤,进一步包括:将所述第一物体图像的RGB颜色空间转换为HSV颜色空间;获取所述第一物体图像的HSV颜色空间的色调和饱和度;基于所述色调和饱和度,判断所述第一物体图像的HSV颜色空间是位于预设活体区域还是位于预设非活体区域;若位于所述预设活体区域,则确定所述待识别物体为活体;若位于所述预设非活体区域,则确定所述待识别物体不为活体。
在一种可选的方式中,所述预设活体区域和预设非活体区域是通过对若干活体样本和非活体样本进行检测得到的。
在一种可选的方式中,所述根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体的步骤,进一步包括:将所述第二物体图像的尺寸缩小至预设的尺寸;将缩小后的所述第二物体图像输入预设的神经网络进行检测;根据所述检测结果,判断所述缩小后的所述待识别物体是否为活体。
在一种可选的方式中,所述预设的神经网络是以MobilenetV3的网络结构为基础网络,并且采用模型剪枝算法对MobilenetV3的每层的核数量进行优化得到的,其中,所述MobilenetV3的激活层为Relu层。
根据本发明实施例的一个方面,提供了一种活体的检测装置,包括:获取模块,用于获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;识别模块,用于根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;第一确定模块,用于若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体;第二确定模块,用于确定所述待识别物体不为活体。
在一种可选的方式中,所述识别模块包括:转换单元,用于将所述第一物体图像的RGB颜色空间转换为HSV颜色空间;获取单元,用于获取所述第一物体图像的HSV颜色空间的色调和饱和度;第一判断单元,用于基于所述色调和饱和度,判断所述第一物体图像的HSV颜色空间是位于预设活体区域还是位于预设非活体区域;第一确定单元,用于若所述第一物体图像的HSV颜色空间是位于预设活体区域,则确定所述待识别物体为活体;第二确定单元,用于若所述第一物体图像的HSV颜色空间是位于预设非活体区域,则确定所述待识别物体不为活体。
在一种可选的方式中,所述预设活体区域和预设非活体区域是通过对若干活体样本和非活体样本进行检测得到的。
在一种可选的方式中,所述识别模块包括:缩小单元,用于将所述第二物体图像的尺寸缩小至预设的尺寸;输入单元,用于将缩小后的所述第二物体图像输入预设的神经网络进行检测;第二判断单元,用于根据所述检测结果,判断所述缩小后的所述待识别物体是否为活体。
在一种可选的方式中,所述预设的神经网络是以MobilenetV3的网络结构为基础网络,并且采用模型剪枝算法对MobilenetV3的每层的核数量进行优化得到的,其中,所述MobilenetV3的激活层为Relu层。
根据本发明实施例的一个方面,提供了一种电子设备,所述电子设备包括:至少一个处理器,以及存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据本发明实施例的一个方面,提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行如上所述的方法。
本发明实施例的有益效果是:区别于现有的活体的检测方法,本发明实施例通过获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体;否则,确定所述待识别物体不为活体的方式,可以实现对活体的检测以及可以抵抗黑白色非活体的攻击,由于红外活体的打印攻击为黑白色,因此上述方法可以抵抗红外活体的打印攻击。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
请参阅图1,图1是本发明实施例提供的一种活体的检测方法的流程示意图,该方法包括以下步骤:
步骤S101,获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像。
所述彩色摄像头,在一些实施例中,是RGB摄像头。在一些实施例中,所述彩色摄像头和红外摄像头同时对所述待识别物体进行拍摄。
步骤S102,根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体。
所述彩色摄像头拍摄的活体为彩色,其颜色空间为RGB颜色空间,黑白色非活体为黑白色,两者具有明显的区别,因此通过判断所述第一物体图像是彩色还是黑白色即可抵抗黑白色非活体的攻击。具体的,请参阅图2,步骤S102包括:
步骤S1021,将所述第一物体图像的RGB颜色空间转换为HSV颜色空间。
HSV颜色空间中包括色调、饱和度和明度。在HSV颜色空间里,所述活体的第一物体图像以及所述黑白色非活体的色调和饱和度明显不同。通过将所述活体的第一物体图像与所述黑白色非活体的色调和饱和度进行比对即可抵抗所述红外活体的攻击。由于所述彩色摄像头拍摄的所述第一物体图像为RGB颜色空间,因此需要将所述第一物体图像的RGB颜色空间转换为HSV颜色空间。
步骤S1022,获取所述第一物体图像的HSV颜色空间的色调和饱和度。
步骤S1023,基于所述色调和饱和度,判断所述第一物体图像的HSV颜色空间是位于预设活体区域还是位于预设非活体区域,若是位于预设活体区域,则执行步骤S1024,若是位于预设非活体区域,则执行步骤S1025。
所述预设活体区域和预设非活体区域是通过对若干活体样本和非活体样本进行检测得到的。由于所述活体的第一物体图像以及所述黑白色非活体的色调和饱和度明显不同,因此只需要收集若干所述活体的所述第一物体的图像的HSV颜色空间中的色调和饱和度,并且,收集所述若干所述黑白色非活体的HSV颜色空间中的色调和饱和度,即可通过所述色调和饱和度的区域判断所述第一物体图像的HSV颜色空间是位于预设活体区域还是位于预设非活体区域。
其中,例如,收集大量的活体样本的面部图像样本以及收集大量的黑白色非活体的面部图像样本,转换为HSV颜色空间,获取色调和饱和度,制成图表,请参阅图3。图3中的real即为所述活体,fake即为非活体,hue为色调,saturation为饱和度。由图3可知,图3中的直线L1将色调和饱和度的对应区域划分为活体区域以及非活体区域,代表real的点所在的区域为活体区域,代表fake的点所在的区域为非活体区域。所述第一物体图像为面部图像时,通过判断所述第一物体图像的HSV颜色空间是位于图3中的活体区域还是位于图3中的非活体区域即可确定所述待识别物体为活体还是非活体。例如,所述第一物体图像的HSV颜色空间的色调为120、饱和度为150,则确定所述待识别物体为活体。又例如,所述第一物体图像的所HSV颜色空间的色调为120、饱和度为25,则确定所述待识别物体为非活体。
步骤S1024,确定所述待识别物体为活体。
步骤S1025,确定所述待识别物体不为活体。
进一步的,还需要识别所述红外摄像头拍摄的所述第二物体图像是否为活体。具体的,请参阅图4,步骤S102还包括:
步骤S1026,将所述第二物体图像的尺寸缩小至预设的尺寸。
所述活体的检测方法在应用到门禁、考勤机等嵌入式设备上时,若想达到好的的效果,其计算量大,容易导致设备运转速度慢,实时性差,影响用户体验。为了提高计算速度,可以将所第二物体图像的尺寸缩小,从而减少了每个残差模块的通道数,减少了计算量,加快了网络处理一张图像的速度。在一些实施例中,所述第二物体图像的尺寸为224x224,所述预设的尺寸为112x112。
步骤S1027,将缩小后的所述第二物体图像输入预设的神经网络进行检测。
所述预设的神经网络是以MobilenetV3的网络结构为基础网络,并且采用模型剪枝算法对MobilenetV3的每层的核数量进行优化得到的,其中,所述MobilenetV3的激活层为Relu层。所述Relu层简单,在保证检测的准确率的前提下,能够提高运算效率。
步骤S1028,根据所述检测结果,判断所述缩小后的所述待识别物体是否为活体。
例如,活体的面部在进行红外拍摄时会有亮瞳效应,除了红外活体的打印攻击之外的非活体没有亮瞳效应,因此可以通过所述预设的神经网络判断所述待识别物体的面部是否有亮瞳效应判断所述待识别物体是否为除红外活体打印攻击之外的活体。
步骤S103,若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体,否则执行步骤S104。
通常的,仅需要所述第二物体图像,并且结合预设的神经网络即可识别所述待识别物体是否为活体,但是,对于红外活体的打印攻击容易被误认为是活体。由于红外活体的打印攻击为黑白色,而所述第一物体图像是通过彩色摄像机拍摄的,为彩色,两者具有明显区别。通过所述第一物体图像识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,才能确定所述待识别物体为活体,否则均确定所述待识别物体不为活体。
步骤S104,确定所述待识别物体不为活体。
在本发明实施例中,通过获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体;否则,确定所述待识别物体不为活体的方式,可以实现对活体的检测以及可以抵抗黑白色非活体的攻击,由于红外活体的打印攻击为黑白色,因此上述方法可以抵抗红外活体的打印攻击。
实施例二
请参阅图5,图5是本发明实施例提供的一种活体的检测装置的示意图,该装置400包括:获取模块401、识别模块402、第一确定模块403以及第二确定模块404。其中,获取模块401,用于获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;识别模块402,用于根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;第一确定模块403,用于若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则确定所述待识别物体为活体;第二确定模块404,用于确定所述待识别物体不为活体。
在一些实施例中,所述识别模块402包括:转换单元4021、获取单元4022、第一判断单元4023、第一确定单元4024以及第二确定单元4025。其中,转换单元4021,用于将所述第一物体图像的RGB颜色空间转换为HSV颜色空间;获取单元4022,用于获取所述第一物体图像的HSV颜色空间的色调和饱和度;第一判断单元4023,用于基于所述色调和饱和度,判断所述第一物体图像的HSV颜色空间是位于预设活体区域还是位于预设非活体区域;第一确定单元4024,用于若所述第一物体图像的HSV颜色空间是位于预设活体区域,则确定所述待识别物体为活体;第二确定单元4025,用于若所述第一物体图像的HSV颜色空间是位于预设非活体区域,则确定所述待识别物体不为活体。
在一些实施例中,所述预设活体区域和预设非活区域是通过对若干活体样本和非活体样本进行检测得到的。
进一步的,所述识别模块402包括:缩小单元4026、输入单元4027以及第二判断单元4028。其中,缩小单元4026,用于将所述第二物体图像的尺寸缩小至预设的尺寸;输入单元4027,用于将缩小后的所述第二物体图像输入预设的神经网络进行检测;第二判断单元4028,用于根据所述检测结果,判断所述缩小后的所述待识别物体是否为活体。
在一些实施例中,所述预设的神经网络是以MobilenetV3的网络结构为基础网络,并且采用模型剪枝算法对MobilenetV3的每层的核数量进行优化得到的,其中,所述MobilenetV3的激活层为Relu层。
在本发明实施例中,通过获取模块获取彩色摄像头所拍摄到的待识别物体的第一物体图像,以及,红外摄像头所拍摄到的所述待识别物体的第二物体图像;通过识别模块根据所述第一物体图像的颜色空间,识别所述待识别物体是否为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别所述待识别物体是否为活体;若根据所述第一物体图像的颜色空间识别到所述待识别物体为活体,以及,根据所述第二物体图像,并且结合预设的神经网络,识别到所述待识别物体为活体,则通过第一确定模块,确定所述待识别物体为活体;否则,通过第二确定模块确定所述待识别物体不为活体。通过上述装置,可以实现对活体的检测以及可以抵抗黑白色非活体的攻击,由于红外活体的打印攻击为黑白色,因此上述方法可以抵抗红外活体的打印攻击。
实施例三
请参阅图6,图6是是本发明实施例提供的执行活体的检测方法的电子设备的硬件结构示意图。如图6所示,该电子设备500包括:一个或多个处理器501以及存储器502,图6中以一个存储器为例。
处理器501和存储器502可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的活体的检测方法对应的程序指令/模块(例如,附图5所示的各个模块)。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行活体的检测装置的各种功能应用以及数据处理,即实现上述方法实施例的活体的检测方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据活体的检测装置的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至活体的检测装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器502中,当被所述一个或者多个处理器501执行时,执行上述任意方法实施例中的活体的检测方法,例如,执行以上描述的图1中的方法步骤S101至步骤S104,图2中的方法步骤S1021至步骤S1025,图4中的方法步骤S1026至步骤S1028,实现图5中的模块401-404、模块4021-4028的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被电子设备执行上述任意方法实施例中的活体的检测方法,例如,执行以上描述的图1中的方法步骤S101至步骤S104,图2中的方法步骤S1021至步骤S1025,图4中的方法步骤S1026至步骤S1028,实现图5中的模块401-404、模块4021-4028的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的活体的检测方法,例如,执行以上描述的图1中的方法步骤S101至步骤S104,图2中的方法步骤S1021至步骤S1025,图4中的方法步骤S1026至步骤S1028,实现图5中的模块401-404、模块4021-4028的功能。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件来实现。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。