活体检测方法、装置、终端设备以及存储介质与流程
未命名
07-22
阅读:86
评论:0

1.本发明涉及图像处理领域,尤其涉及一种活体检测方法、装置、终端设备以及存储介质。
背景技术:
2.随着人脸活体检测技术在金融、电商、直播等行业实名认证的广泛运用,各行各业普遍在自己的app应用中集成人脸活体检测功能。近年来web凭借跨平台的优势飞速发展,能在浏览器实现的功能也日益丰富,越来越多的功能迁移到了web端,尤其迁移到html5(h5)页面。
3.目前人脸活体检测技术大部分是运行在原生app上,当用户在金融产品的h5页面进行贷款或授权等敏感操作时,需要对人脸进行活体检测。在现有h5页面的人脸活体检测技术方案中,常采用拍摄照片或录制视频后上传服务端的方式完成人脸活体检测,这种方式需要用户配合录制视频并等待上传完成和等待检测结果,无法做到实时活体检测,导致用户体验感受十分不佳。
技术实现要素:
4.本发明的主要目的在于提供一种活体检测方法、装置、终端设备以及存储介质,旨在实现在h5页面实时完成用户的活体检测并让用户实时得知活体检测结果,提高用户体验。
5.为实现上述目的,本发明提供一种活体检测方法,所述活体检测方法包括:
6.获取h5中的待检测对象的视频流中的若干帧图像;
7.通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;
8.基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;
9.基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
10.可选地,所述人脸识别模型为介质管道mediapipe模型,所述通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点的步骤包括:
11.将所述若干帧图像输入到mediapipe模型,获取每帧图像中所述待检测对象的人脸区域的特征点;
12.基于所述特征点,筛选出动作区域中的所述若干个关键点。
13.可选地,所述若干个关键点包括眼睛区域的若干个眼睛关键点和嘴巴区域的若干个嘴巴关键点;所述动作信息包括眼睛动作信息和嘴巴动作信息;所述基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息的步骤包括:
14.基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检
测对象正在进行的眼睛动作行为,得到所述眼睛动作信息;
15.基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
16.可选地,所述基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛行为,得到所述眼睛动作信息的步骤包括:
17.分别计算每帧图像中的所述若干个眼睛关键点的之间的距离的比值,得到每帧图像的眼睛距离比值;
18.将所述眼睛距离比值进行加权平均处理,得到眼睛动作阈值;
19.将所述眼睛距离比值与所述眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。
20.可选地,所述基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息的步骤包括:
21.分别计算每帧图像中的所述若干个嘴巴关键点的之间的距离的比值,得到每帧图像的嘴巴距离比值;
22.将所述嘴巴距离比值与预设的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
23.可选地,所述基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤包括:
24.基于所述眼睛动作信息和所述嘴巴动作信息,通过预设的自定义活体检测规则,判断所述待检测对象的活体检测状态,得到所述初步活体检测结果。
25.可选地,所述基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤之后还包括:
26.若初步活体检测结果为符合活体检测要求,则对所述视频流进行炫彩,得到炫彩后的视频流;
27.对所述炫彩后的视频流进行二次活体检测,得到最终活体检测结果。
28.本发明实施例还提出一种活体检测装置,所述活体检测装置包括:
29.图像获取模块,用于获取h5中的待检测对象的视频流中的若干帧图像;
30.关键点提取模块,用于通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;
31.动作判断模块,用于基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;
32.活体检测模块,用于基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
33.本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活体检测程序,所述活体检测程序被所述处理器执行时实现如上所述的活体检测方法的步骤。
34.本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有活体检测程序,所述活体检测程序被处理器执行时实现如上所述的活体检测方法的步骤。
35.本发明实施例提出的活体检测方法、装置、终端设备以及存储介质,获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。从而实现在h5页面通过用户拍摄视频可实时完成活体检测,让用户可以实时得知活体检测结果,提高用户体验。
附图说明
36.图1为本发明活体检测装置所属终端设备的功能模块示意图;
37.图2为本发明活体检测方法第一示例性实施例的流程示意图;
38.图3为本发明活体检测方法第二示例性实施例的流程示意图;
39.图4为本发明活体检测方法第三示例性实施例的流程示意图;
40.图5为本发明活体检测方法第四示例性实施例的流程示意图;
41.图6为本发明活体检测方法第五示例性实施例的流程示意图;
42.图7为本发明活体检测方法第六示例性实施例的流程示意图;
43.图8为本发明活体检测方法第七示例性实施例的流程示意图;
44.图9为本发明实施例中涉及的通过mediapipe模型提取的人脸特征点示意图;
45.图10本发明实施例涉及的提取mediapipe模型提取的人脸关键点流程示意图;
46.图11为本发明第四实施例中涉及的眼睛关键点示意图;
47.图12为本发明第五实施例中涉及的嘴巴关键点示意图。
48.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
49.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
50.本发明实施例的主要解决方案是:获取待检测对象的视频流中的若干帧图像;获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。从而在h5页面实现通过用户拍摄视频可实时完成活体检测,让用户可以实时得知活体检测结果,提高用户体验。
51.本发明实施例考虑到,相关技术方案在h5页面常采用拍摄照片或录制视频后上传服务端的方式完成人脸活体检测,这种方式需要用户配合录制视频并等待上传完成和等待检测结果,无法做到实时活体检测,导致用户体验感受十分不佳。
52.基于此,本发明实施例提出一种解决方案,可以获取h5中的用户的视频流,通过人脸识别模型,提取视频流中的人脸区域的关键点,再根据关键点的在每一帧的距离的动态变化判断用户的人脸行为,根据用户的人脸行为完成活体检测。从而实现在h5页面通过用户拍摄视频可实时完成活体检测,让用户可以实时得知活体检测结果,提高用户体验。
53.具体地,参照图1,图1为本发明活体检测装置所属终端设备的功能模块示意图。该活体检测装置可以为独立于终端设备的、能够进行数据处理的装置,也可以通过硬件或软
件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有摄像头的智能移动终端,还可以为具有视频采集装置的固定终端。
54.在本实施例中,该活体检测装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
55.存储器130中存储有操作系统以及活体检测程序,活体检测装置可以获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果储于该存储器130中;输出模块110可为屏、扬声器等。通信模块140可以包括wifi模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
56.其中,存储器130中的活体检测程序被处理器执行时实现以下步骤:
57.获取h5中的待检测对象的视频流中的若干帧图像;
58.通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;
59.基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;
60.基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
61.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
62.将所述若干帧图像输入到mediapipe模型,获取每帧图像中所述待检测对象的人脸区域的特征点;
63.基于所述特征点,筛选出动作区域中的所述若干个关键点。
64.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
65.基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息;
66.基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
67.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
68.分别计算每帧图像中的所述若干个眼睛关键点的之间的距离的比值,得到每帧图像的眼睛距离比值;
69.将所述眼睛距离比值进行加权平均处理,得到眼睛动作阈值;
70.将所述眼睛距离比值与所述眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。
71.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
72.分别计算每帧图像中的所述若干个嘴巴关键点的之间的距离的比值,得到每帧图像的嘴巴距离比值;
73.将所述嘴巴距离比值与预设的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
74.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
75.基于所述眼睛动作信息和所述嘴巴动作信息,通过预设的自定义活体检测规则,判断所述待检测对象的活体检测状态,得到所述初步活体检测结果。
76.进一步地,存储器130中的活体检测程序被处理器执行时还实现以下步骤:
77.若初步活体检测结果为符合活体检测要求,则对所述视频流进行炫彩,得到炫彩后的视频流;
78.对所述炫彩后的视频流进行二次活体检测,得到最终活体检测结果。
79.本实施例通过上述方案,具体获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。从而实现在h5页面通过用户拍摄视频可实时完成活体检测,让用户可以实时得知活体检测结果,提高用户体验。
80.基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
81.参照图2,图2为本发明活体检测方法第一示例性实施例的流程示意图。
82.本发明一实施例提供一种活体检测方法,该方法包括:
83.步骤s10,获取h5中的待检测对象的视频流中的若干帧图像;
84.本实施例方法的执行主体可以是一种活体检测装置,也可以是带有视频采集装置的智能终端。
85.活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作,可有效抵御照片、视频、换脸、面具、遮挡、3d动画以及屏幕翻拍等常见的攻击手段,从而帮助用户甄别欺诈行为,保障用户的利益。
86.为了实现在h5页面实时完成用户的活体检测并让用户实时得知活体检测结果,提高用户体验,本实施例采用了一种检测h5实时视频流并实时返回结果的方式。
87.具体地,获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
88.在现有h5页面的人脸活体检测技术方案中,常采用拍摄照片或录制视频后上传服务端的方式完成人脸活体检测,这种方式需要用户配合录制视频并等待上传完成和等待检测结果,无法做到实时活体检测,导致用户体验感受十分不佳。为了提高用户体验,简单又快速地完成活体检测,因此本实施例提出用实时检测视频流的方法,对待检测对象进行实时活体检测。
89.具体地,作为一种实施例,待检测对象可以是app的真实用户也可以是利用照片或视频伪装成真实用户的不法分子。
90.以真实用户举例,h5页面可以是金融产品的h5页面,当用户进行贷款或授权等敏感操作时,需要对用户进行活体检测。具体可以在用户授权的情况下,通过手机摄像头等视频采集装置采集用户的实时视频流。用户在这个过程中,仅需面向摄像头进行简单的脸部
活动,即可快速获取活体检测结果。
91.相比现有h5的活体检测技术,要求用户录制或上传视频,或提前录制视频存储到手机再切换到h5页面中上传,再等待后台返回检测结果,本实施例方案可以简化用户操作,节省用户时间,因而大大提高了用户体验。
92.由于要通过人脸动作,如眨眼、张嘴、摇头、点头等动作来完成活体检测,因此需要提取视频流中的若干帧并进行分析,具体可以通过检测待检测对象的脸部区域在视频流中的若干帧变化,来判断待检测对象正在进行的脸部动作,验证是否为真实活体操作,从而完成活体检测。
93.具体地,可以通过请求动画帧requestanimationframe技术将视频流逐帧解析并渲染到浏览器上,分析视频流的若干帧图像中的人脸信息。
94.requestanimationframe是由浏览器专门为视频提供的应用程序编程接口,在运行时浏览器会自动优化方法的调用,能够快速获取视频流中的若干帧图像,从而加快活体检测过程,提高用户体验。
95.步骤s20,通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;
96.为了实时检测待检测对象正在进行的脸部动作,可以通过检测待检测对象的脸部区域在h5页面中视频流的若干帧图像变化。
97.具体可以在待检测对象的脸部区域标记若干个关键点,通过计算关键点之间在若干帧图像的动态距离变化,来判断待检测对象正在进行的脸部动作。
98.具体地,可以通过预设的人脸识别模型,在每帧图像中对待检测对象进行人脸识别,识别出待检测对象的人脸区域中的若干个关键点并标记出来。
99.其中,可以标记待检测对象的眉毛、眼睛、鼻子和嘴巴等五官关键点,也可以标记待检测对象脸部轮廓关键点。后续可以通过关键点在每一帧图像的动态变化,来判断待检测对象的面部动作。
100.此外,若通过多次提示待检测对象改善拍摄动作或改善拍摄环境,仍不能成功标记出待检测对象人脸区域的关键点,则待检测对象的活体检测不符合要求,不能把待检测对象判定为真实用户。
101.步骤s30,基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;
102.为了确定待检测对象的真实生理特征,可以对待检测对象的具体的行为进行分析,具体可以在h5页面中通过要求待检测对象完成指定的动作,如眨眼、张嘴、摇头、点头等动作,对上述行为进行分析,以识别待检测对象是否为真实用户。
103.具体地,为了检测到待检测对象的是否完成动作和动作完成次数,可以通过计算脸部区域的关键点在每一帧图像的动态距离变化,从而确定判断待检测对象正在进行的脸部动作并记录动作次数,从而得到动作信息。
104.具体地,动作可以是张嘴,以张嘴为例,可以通过计算嘴巴区域中的关键点的动态变化,来判断待检测对象是否在进行张嘴动作,并记录张嘴次数。
105.具体地,嘴巴区域中的关键点可以是嘴巴区域的最上点、最下点、最左点和最右点。在实时视频流中,如果检测到连续若干帧图像中嘴巴区域的最上点和最下点的距离,与
最左点和最右点的距离的比值都是大于或等于预设的张嘴阈值时,则判定待检测对象在该连续若干帧图像中正在进行张嘴,并记录为一次张嘴。其中连续若干帧图像的上一帧图像和下一帧图像的最上点和最下点的距离,与最左点和最右点的距离的比值都小于嘴巴动作阈值,可以通过检测在视频流中连续若干帧图像中待检测对象嘴巴区域的最上点和最下点的距离,与最左点和最右点的距离的比值都大于或等于嘴巴动作阈值的出现次数,获得待检测对象的张嘴次数,即动作信息。
106.步骤s40,基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
107.为了减少检测误差和避免不法分子利用照片、视频、换脸、面具、遮挡、3d动画以及屏幕翻拍等常见的攻击手段通过活体检测的事情发生,不能仅仅通过简单判断,如要求待检测对象完成一次眨眼就通过活体检测,而是需要提高活体检测的通过要求,综合分析待检测对象的动作信息,得到初步活体检测结果。
108.具体地,可以通过设置活体检测通过标准,判断待检测对象的动作信息是否满足活体检测通过标准,若满足标准,则待检测对象通过活体检测,待检测对象的初步活体检测结果为符合活体检测要求。
109.具体地,活体检测通过标准可以是动作完成次数的区间,如张嘴三次到五次和摇头二次到四次,若判断待检测对象的动作信息是张嘴三次和摇头三次,则待检测对象通过活体检测,待检测对象的初步活体检测结果为符合活体检测要求。活体检测通过标准也可以是动作完成的顺序,如要求待检测对象先完成张嘴动作,再完成眨眼动作,最后完成摇头动作。
110.本实施例中获取待检测对象的脸部区域的关键点、计算关键点的动态距离以及根据关键点的动态距离得到动作信息,再综合分析动作信息得出初步活体检测结果均在h5进行,无需上传视频或图片到后台分析。在这过程中,用户操作简单,花费时间少,从而提高用户的活体检测体验。
111.本发明实施例提出的活体检测方法,通过获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。从而实现在h5页面通过用户拍摄视频可实时完成活体检测,让用户可以实时得知活体检测结果,提高用户体验。
112.参照图3,图3为本发明活体检测方法第二示例性实施例的流程示意图。
113.基于第一实施例,提出本发明第二实施例,本发明第二实施例与第一实施例的区别在于:对步骤s20,通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点的步骤进行细化。
114.在本实施例中,步骤s20,通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点的步骤包括:
115.步骤s21,将所述若干帧图像输入到mediapipe模型,获取每帧图像中所述待检测对象的人脸区域的特征点;
116.为了检测到待检测对象的脸部区域在h5页面中的视频流中的若干帧图像的变化,
需要对待检测对象的脸部区域的具体位置进行标记,通过计算这些位置在每帧中的变化而得到待检测对象的脸部区域在每帧中的变化,具体可以通过人脸识别模型对待检测对象的脸部区域标记特征点。
117.具体地,可以把若干帧图像输入到mediapipe人脸识别模型中,对每帧图像中待检测对象的脸部区域标记若干个特征点,从而可以通过检测特征点的变化,来检测到特征点所标记的标记脸部区域的位置在每帧图像中的变化。
118.此外,mediapipe人脸识别模型相对其他人脸识别模型,预设了更多的特征点,能更精准地识别人脸区域的具体位置,从而更精准对待检测对象标记特征点。同时该模型应用了执行速度更快的webassembly技术,该技术可以直接在机器运行的wasm二进制文件对图像进行处理,并且能确保安全和接近原生应用的运行速度更好地在h5上运行,从而能加快活体检测的准确性和速度。
119.步骤s22,基于所述特征点,筛选出动作区域中的所述若干个关键点。
120.考虑到检测不同的动作需要在不同的动作区域进行检测,需要精简计算量,加快动作检测速度,因此可以从若干个特征点中筛选出动作区域的若干个特征点。
121.具体地,动作可以是张嘴,张嘴的动作区域就是嘴巴区域,从待检测对象的人脸区域全部特征点中,从嘴巴区域筛选出能判断张嘴动作所需要的若干个关键点。达到通过较少的关键点来判断待检测对象的动作,加快了动作检测速度,从而加快活体检测速度,提高用户体验。
122.本发明实施例提出的活体检测方法,通过将所述若干帧图像输入到mediapipe模型,获取每帧图像中所述待检测对象的人脸区域的特征点;基于所述特征点,筛选出动作区域中的所述若干个关键点。具体通过mediapipe模型标记待检测对象的人脸特征点,再通过筛选出目标区域的关键点,从而加快了动作检测速度,从而加快活体检测速度,提高用户体验。
123.参照图4,图4为本发明活体检测方法第三示例性实施例的流程示意图。
124.基于第一实施例,提出本发明第三实施例,本发明第三实施例与第一实施例的区别在于:对步骤s30,基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息进行细化。
125.在本实施例中,所述若干个关键点包括眼睛区域的若干个眼睛关键点和嘴巴区域的若干个嘴巴关键点;所述动作信息包括眼睛动作信息和嘴巴动作信息,步骤s30,所述基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息的步骤包括:
126.步骤s31,基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息;
127.考虑到提高用户在活体检测的体验,让用户轻松完成活体检测,因此可以要求用户完成动作量较小的眼睛动作和嘴巴动作。可以通过检测待检测对象所属的眼睛区域和嘴巴区域的关键点的动态距离,来判断待检测对象是否真实在进行该眼睛动作和嘴巴动作,得到眼睛信息和嘴巴信息。
128.具体地,眼睛动作可以是眨眼,通过人脸识别模型获取待检测对象的人脸区域若干个特征点,再从眼睛区域的若干个特征点中筛选出能有效表达眨眼动作的若干个眼睛关
键点,根据每帧图像中的若干个眼睛关键点的动态距离变化,来判断待检测对象是否正在眨眼。比如眼睛关键点可以上眼睑中心点和下眼睑中心点,通过检测每一帧中上眼睑中心点和下眼睑中心点之间的距离变化,若连续若干帧上眼睑中心点和下眼睑中心点之间的距离都小于眨眼阈值,则判断待检测对象在该连续若干帧中正在眨眼。在视频流中,若出现了d次连续若干帧上眼睑中心点和下眼睑中心点之间的距离都小于眨眼阈值,则眼睛动作信息为眨眼d次。
129.步骤s32,基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
130.具体地,嘴巴动作可以是张嘴,通过人脸识别模型获取待检测对象的人脸区域若干个特征点,再从嘴巴区域的若干个特征点中筛选出能有效表达张嘴动作的若干个张嘴关键点,根据每一帧的若干个嘴巴关键点的动态距离变化,来判断待检测对象是否正在张嘴。比如嘴巴关键点可以上嘴唇中心点和下嘴唇中心点,通过检测每一帧中上嘴唇中心点和下嘴唇中心点之间的距离变化,若连续若干帧上嘴唇中心点和下嘴唇中心点之间的距离都大于张嘴阈值,则判断待检测对象在该连续若干帧中正在张嘴。在视频流中,若出现了e次连续若干帧上嘴唇中心点和下嘴唇中心点之间的距离都大于张嘴阈值,则嘴巴动作信息为张嘴e次。
131.本发明实施例提出的活体检测方法,基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息;基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。具体通过待检测对象的若干个眼睛关键点和若干个嘴巴关键点在每一帧的动态距离变化,来判断待检测对象眨眼次数和张嘴次数,从而获得待检测对象的动作信息,为活体检测提供基础。
132.参照图5,图5为本发明活体检测方法第四示例性实施例的流程示意图。
133.基于第三实施例,提出本发明第四实施例,本发明第四实施例与第三实施例的区别在于:对步骤s30,基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息的步骤进行细化。
134.在本实施例中,步骤s30,基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息的步骤包括;
135.步骤s311,分别计算每帧图像中的所述若干个眼睛关键点的之间的距离的比值,得到每帧图像的眼睛距离比值;
136.步骤s312,将所述眼睛距离比值进行加权平均处理,得到眼睛动作阈值;
137.步骤s313,将所述眼睛比值与所述眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。
138.本实施例以眨眼为例,考虑到每个人眨眼动作速度不同、图像采集帧数有限以及视频采集设备检测的误差,为了更精确地检测待检测对象的张嘴动作,可以通过待检测对象的眼睛关键点的动态距离的比值并与通过大量训练所得的眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。
139.具体地,待检测对象的左眼区域的眼睛关键点和右眼区域的眼睛关键点都可以对
待检测对象正在进行的眼睛动作行为进行判断,以右眼区域的眼睛关键点为例,如图11所示,眼睛关键点可以是右眼区域的最左点a1、最右点a2、最上点a3以及最下点a4,并分别获取这些点在每帧图像的坐标值a1(x
n_1
,y
n_1
)、a2(x
n_2
,y
n_2
)、a3(x
n_3
,y
n_3
)、a4(x
n_4
,y
n_4
)。计算出每帧图像a3和a4的距离与a1和a2的距离的比值mn,即眼睛距离比值,把通过每帧图像的眼睛距离比值加权平均,并迭代得到平均眼睛动作阈值m
avg
。其中平均眼睛动作阈值的具体计算公式为:
[0140][0141]mavg
=αm
avg
+βmn;
[0142]
其中:(x
n_1
,y
n_1
)为第n帧眼部区域最左点的坐标;(x
n_2
,y
n_2
)为n帧眼部区域最右点的坐标;(x
n_3
,y
n_3
)为第n帧眼部区域最上点的坐标;(x
n_4
,y
n_4
)为第n帧眼部区域最下点的坐标;mn为第n帧图像的眼睛距离比值;m
avg
为平均眼睛动作阈值,m
avg
的初始值为m1;α为权总系数一,由大量训练得到;β为权重系数二,由大量训练得到;n为图像的帧数,取正整数。
[0143]
当a3和a4的距离与a1和a2的距离的比值小于或等于眼睛动作阈值,则判断待检测对象在该帧图像中正在眨眼,具体的眨眼判断公式为:
[0144][0145]
m=δm
avg
;
[0146]
其中:m为眼睛动作阈值;δ为阈值系数,由大量训练所得;m
avg
为平均眼睛动作阈值。
[0147]
当在连续若干帧图像中a3和a4的距离与a1和a2的距离的比值都小于或等于眼睛动作阈值,则判断待检测对象在该连续若干帧图像中完成一次眨眼,其中连续若干帧图像的上一帧图像和下一帧图像的a3和a4的距离与a1和a2的距离的比值都大于眼睛动作阈值。在视频流中,若出现了d次连续若干帧图像中a3和a4的距离与a1和a2的距离的比值都小于或等于眼睛动作阈值,则判断待检测对象在视频流中眨眼d次,则眼睛动作信息为眨眼d次。
[0148]
本发明实施例提出的活体检测方法,通过分别计算每帧图像中的所述若干个眼睛关键点的之间的距离的比值,得到每帧图像的眼睛距离比值;将所述眼睛距离比值进行加权平均处理,得到眼睛动作阈值;将所述眼睛距离比值与所述眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。具体通过检测在视频流中,出现了多少次连续若干帧图像中待检测对象眼睛区域的最上点和最下点的距离与最左点和最右点的距离的比值都小于等于眼睛动作阈值,获得待检测对象的眨眼次数,从而更精确地获取待检测对象的眼睛动作信息。
[0149]
参照图6,图6为本发明活体检测方法第五示例性实施例的流程示意图。
[0150]
基于第三实施例,提出本发明第五实施例,本发明第五实施例与第三实施例的区别在于基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息的步骤进行细化。
[0151]
在本实施例中,步骤s32,基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息的步骤包括:
[0152]
步骤s321,分别计算每帧图像中的所述若干个嘴巴关键点的之间的距离的比值,得到每帧图像的嘴巴距离比值;
[0153]
步骤s322,将所述嘴巴距离比值与预设的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
[0154]
本实施例以张嘴为例,考虑到每个人张嘴动作速度不同、图像采集帧数有限以及视频采集设备检测的误差,为了更精确地检测待检测对象的张嘴动作,通过待检测对象的嘴巴关键点的动态距离的比值并与通过大量训练所得的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。
[0155]
具体地,如图12所示,嘴巴关键点可以是嘴巴区域的最左点b1、最右点b2、相对最上点b3以及最下点b4,并分别获取这些点在每帧图像的坐标值b1(x1,y1)、b2(x2,y2)、b3(x3,y3)、b4(x4,y4)。计算出每帧图像b3和b4的距离与b1和b2的距离的比值,即嘴巴距离比值,具体的张嘴判断公式为:
[0156][0157]
其中:t为嘴巴动作阈值,由大量训练所得;(x1,y1)嘴巴区域最左点的坐标;(x2,y2)嘴巴区域最右点的坐标;(x3,y3)为嘴巴区域相对最上点的坐标;(x4,y4)为嘴巴区域最下点的坐标。
[0158]
当在连续若干帧图像中b3和b4的距离与b1和b2的距离的比值都大于等于嘴巴动作阈值,则判断待检测对象在该连续若干帧图像中完成一次张嘴,其中连续若干帧图像的上一帧图像和下一帧图像的b3和b4的距离与b1和b2的距离的比值都小于嘴巴动作阈值。在视频流中,若出现了e次连续若干帧图像中b3和b4的距离与b1和b2的距离的比值都大于等于嘴巴动作阈值,则判断待检测对象在视频流中张嘴e次,嘴巴动作信息为张嘴e次。
[0159]
本发明实施例提出的活体检测方法,通过分别计算每帧图像中的所述若干个嘴巴关键点的之间的距离的比值,得到每帧图像的嘴巴距离比值;将所述嘴巴距离比值与预设的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。具体通过检测在视频流中出现了多少次连续若干帧图像中待检测对象嘴巴区域的相对最上点和最下点的距离与最左点和最右点的距离的比值都大于等于嘴巴动作阈值,获得待检测对象的张嘴次数,从而更精确地获取待检测对象的嘴巴动作信息。
[0160]
参照图7,图7为本发明活体检测方法第六示例性实施例的流程示意图。
[0161]
基于第四实施例,提出本发明第六实施例,本发明第六实施例与第四实施例的区别在于:对步骤s40,基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤进行细化。
[0162]
在本实施例中,步骤s40,基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤包括:
[0163]
步骤s41,基于所述眼睛动作信息和所述嘴巴动作信息,通过预设的自定义活体检
测规则,判断所述待检测对象的活体检测状态,得到所述初步活体检测结果。
[0164]
考虑到减少检测误差和避免不法分子利用照片、视频、换脸、面具、遮挡、3d动画以及屏幕翻拍等常见的攻击手段通过活体检测的事情发生,因此不能通过简单判断,如要求待检测对象完成一次眨眼就通过活体检测,需要提高活体检测的通过要求,综合分析待检测对象的动作信息,得到初步活体检测结果。
[0165]
具体地,可以灵活设置自定义活体检测规则,综合分析待检测对象的动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
[0166]
具体地,自定义活体检测规则可以综合要求待检测对象的人脸区域各个部位的动作信息,包括眼睛动作信息和所述嘴巴动作信息,通过复杂又灵活多变的自定义活体检测规则的设置,令非真实用户不能通过活体检测。
[0167]
具体地,自定义活体检测规则可以设为眨眼大于等于d次和张嘴大于等于e次,即要求在待检测对象的视频流中,出现了大于等于d次连续若干帧图像中待检测对象眼睛区域最上点和最下点的距离与最左点和最右点的距离的比值都小于等于眼睛动作阈值,和出现了大于等于e次连续若干帧图像中待检测对象嘴巴区域相对最上点和最下点的距离与最左点和最右点的距离的比值都大于等于嘴巴动作阈值,则判断待检测对象为真实用户,活体检测结果为符合活体检测要求。
[0168]
本发明实施例提出的活体检测方法,通过基于所述眼睛动作信息和所述嘴巴动作信息,通过预设的自定义活体检测规则,判断所述待检测对象的活体检测状态,得到所述初步活体检测结果。具体通过若待检测对象的眼睛动作信息和嘴巴动作信息符合自定义活体检测规则要求,则判断待检测对象为真实用户,活体检测结果为符合活体检测要求。本实施例能减少检测误差和避免不法分子利用照片、视频、换脸、面具、遮挡、3d动画以及屏幕翻拍等常见的攻击手段通过活体检测的事情发生。
[0169]
参照图8,图8为本发明活体检测方法第七示例性实施例的流程示意图。
[0170]
基于第一实施例,提出本发明第七实施例,本发明第七实施例与第一实施例的区别在于:对步骤s40,基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤之后进行补充。
[0171]
在本实施例中,步骤s40,基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果之后还包括:
[0172]
步骤s50,若初步活体检测结果为符合活体检测要求,则对所述视频流进行炫彩,得到炫彩后的视频流;
[0173]
步骤s60,对所述炫彩后的视频流进行二次活体检测,得到最终活体检测结果。
[0174]
为了减少检测误差和进一步提高活体检测的准确性,需要对待检测对象进行要求更高的的二次活体检测。
[0175]
具体地,若待检测对象的初步活体检测结果为符合活体检测要求,则对待检测对象的视频流进行炫彩。炫彩可以给视频流中的人物添加可变化的额外光照,综合视频流原本的光照环境,得到炫彩后的视频流。若待检测对象为真实用户,则在炫彩后的视频流中待检测对象的人脸会根据额外光照的添加和变化产生不同的效果,如人脸阴影变化,肤色变化,最终活体检测结果为符合活体检测要求。若待检测对象为非真实用户,则不会产生变化,最终活体检测结果为不符合活体检测要求。通过检测待检测对象的人脸区域是否发生
变化,从而判断待检测对象的最终活体检测状态,得到最终活体检测结果。
[0176]
本发明实施例提出的活体检测方法,通过若初步活体检测结果为符合活体检测要求,则对所述视频流进行炫彩,得到炫彩后的视频流;对所述炫彩后的视频流进行二次活体检测,得到最终活体检测结果。具体通过对待检测对象的视频流进行炫彩,根据炫彩后的视频流的待检测对象的人脸区域是否发生相应变化,进行二次活体检测的判断,得到最终活体检测结果,从而提高活体检测的准确性。
[0177]
本发明实施例中涉及的通过mediapipe模型提取的人脸特征点可以如图9所示。
[0178]
本发明实施例涉及的提取mediapipe模型提取的人脸特征点流程可以如图10所示。
[0179]
此外,本发明实施例还提出一种活体检测装置,所述活体检测装置包括:
[0180]
图像获取模块,用于获取h5中的待检测对象的视频流中的若干帧图像;
[0181]
关键点提取模块,用于通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;
[0182]
动作判断模块,用于基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;
[0183]
活体检测模块,用于基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。
[0184]
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活体检测程序,所述活体检测程序被所述处理器执行时实现如上所述的活体检测方法的步骤。
[0185]
由于本活体检测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
[0186]
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有活体检测程序,所述活体检测程序被处理器执行时实现如上所述的活体检测方法的步骤。
[0187]
由于本活体检测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
[0188]
相比现有技术,本发明实施例提出的活体检测方法、装置、终端设备以及存储介质,通过获取待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧所述图像中所述待检测对象的若干个关键点;基于每帧所述图像中的若干个所述关键点,通过预设的动态距离算法,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,通过预设的自定义活体检测规则,得到初步活体检测结果。
[0189]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0190]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0191]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
[0192]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种活体检测方法,其特征在于,所述活体检测方法包括:获取h5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。2.根据权利要求1所述的活体检测方法,其特征在于,所述人脸识别模型为介质管道mediapipe模型,所述通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点的步骤包括:将所述若干帧图像输入到mediapipe模型,获取每帧图像中所述待检测对象的人脸区域的特征点;基于所述特征点,筛选出每帧图像中所述待检测对象的动作区域中的所述若干个关键点。3.根据权利要求1所述的活体检测方法,其特征在于,所述若干个关键点包括眼睛区域的若干个眼睛关键点和嘴巴区域的若干个嘴巴关键点;所述动作信息包括眼睛动作信息和嘴巴动作信息;所述基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息的步骤包括:基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息;基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。4.根据权利要求3所述的活体检测方法,其特征在于,所述基于所述若干个眼睛关键点的动态距离,根据眼睛动态距离算法,判断所述待检测对象正在进行的眼睛行为,得到所述眼睛动作信息的步骤包括:分别计算每帧图像中的所述若干个眼睛关键点之间的距离的比值,得到每帧图像的眼睛距离比值;将所述眼睛距离比值进行加权平均处理,得到眼睛动作阈值;将所述眼睛距离比值与所述眼睛动作阈值比较,判断所述待检测对象正在进行的眼睛动作行为,得到所述眼睛动作信息。5.根据权利要求3所述的活体检测方法,其特征在于,所述基于所述若干个嘴巴关键点的动态距离,根据嘴巴动态距离算法,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息的步骤包括:分别计算每帧图像中的所述若干个嘴巴关键点之间的距离的比值,得到每帧图像的嘴巴距离比值;将所述嘴巴距离比值与预设的嘴巴动作阈值比较,判断所述待检测对象正在进行的嘴巴动作行为,得到所述嘴巴动作信息。6.根据权利要求3所述的活体检测方法,其特征在于,所述基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤包括:
基于所述眼睛动作信息和所述嘴巴动作信息,通过预设的自定义活体检测规则,判断所述待检测对象的活体检测状态,得到所述初步活体检测结果。7.根据权利要求1所述的活体检测方法,其特征在于,所述基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果的步骤之后还包括:若初步活体检测结果为符合活体检测要求,则对所述视频流进行炫彩,得到炫彩后的视频流;对所述炫彩后的视频流进行二次活体检测,得到最终活体检测结果。8.一种活体检测装置,其特征在于,所述活体检测装置包括:图像获取模块,用于获取h5中的待检测对象的视频流中的若干帧图像;关键点提取模块,用于通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;动作判断模块,用于基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;活体检测模块,用于基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活体检测程序,所述活体检测程序被所述处理器执行时实现如权利要求1-7中任一项所述的活体检测方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有活体检测程序,所述活体检测程序被处理器执行时实现如权利要求1-7中任一项所述的活体检测方法的步骤。
技术总结
本发明公开了一种活体检测方法、装置、终端设备以及存储介质,涉及图像处理领域,其方法包括:获取H5中的待检测对象的视频流中的若干帧图像;通过预设的人脸识别模型,获取每帧图像中所述待检测对象的人脸区域的若干个关键点;基于所述若干个关键点的动态距离,判断所述待检测对象正在进行的动作行为,得到动作信息;基于所述动作信息,判断所述待检测对象的活体检测状态,得到初步活体检测结果。本发明实现了在H5页面实时完成用户的活体检测并让用户实时得知活体检测结果,提高用户体验。提高用户体验。提高用户体验。
技术研发人员:谢冬丽 张腾腾
受保护的技术使用者:招商银行股份有限公司
技术研发日:2023.04.07
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/