一种基于计算机视觉技术的人证核验方法与流程

文档序号:31869011发布日期:2022-10-21 18:01阅读:165来源:国知局
一种基于计算机视觉技术的人证核验方法与流程

1.本发明涉及身份核验技术领域,具体来说,涉及一种基于计算机视觉技术的人证核验方法。


背景技术:

2.随着数字经济的高速发展,大数据作为重要的生产要素,发挥出越来越重要的基础资源作用和创新引擎作用。在信贷、交通、通信、电商、互联网金融等多个行业,新兴大数据技术为身份核验带来了全新的解决方案。得力于计算机视觉与深度学习技术的发展,通过人脸比对进行人证核验,从而实现快速高效的身份信息核验。
3.目前,现有的身份信息核验一般通过人证合一比对系统来实现,人证合一比对系统是把人脸识别技术与身份证识别技术相结合的创新系统,达到持证人与证件照片相吻合的目的,其具有自动抓取人脸(通过摄像头自动抓取画面中最优秀人像照片)、多种证件识别(可以识别含有头像的多种证件,如身份证、驾驶证、护照等)及人证比对算法(多个算法识别能力,人脸定位、捕捉、跟踪、采集,自动采集人脸及身份证中照片,并形成对比)的特点。
4.但是,该人证合一比对系统在使用时存在以下缺陷:
5.1)、通过自动抓取或者客户上传获得的人脸图像质量参差不齐,导致人脸比对成功率低,准确率低。
6.2)、通过自动抓取或者客户上传获得的人脸图像角度不统一,影响人脸比对模型成功率与准确率。
7.3)、高精度的人脸识别/比对模型需要消耗较高的运算资源,计算耗时长,难以实现低硬件成本下的实时运算;轻量级人脸识别/比对模型准确率低。
8.针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现要素:

9.针对相关技术中的问题,本发明提出一种基于计算机视觉技术的人证核验方法,以克服现有相关技术所存在的上述技术问题。
10.为此,本发明采用的具体技术方案如下:
11.一种基于计算机视觉技术的人证核验方法,该方法包括以下步骤:
12.s1、对输入图像进行图像分辨率核验,若分辨率低于预设阈值则执行s2,若分辨率高于预设阈值则执行s3;
13.s2、采用预设超分方法对分辨率低于预设阈值的所述输入图像进行超分重建;
14.s3、使用预设方法对所述输入图像中的人脸进行识别,并对该输入图像中的人脸部分进行剪裁;
15.s4、对剪裁后的人脸图像再次进行图像分辨率核验,且对于低分辨率的图像再次进行超分重建;
16.s5、利用透视变换原理对剪裁后所述人脸图像中角度偏离的图像进行处理;
17.s6、将经过超分和透视变换后的图像输入预设的人脸比对模块中进行人脸比对。
18.进一步的,所述s1中的输入图像包括实时头像视频截图和用户上传的证件照片,所述预设阈值为480*480,且该预设阈值可人工修改。
19.进一步的,所述s2中采用预设超分方法对分辨率低于预设阈值的所述输入图像进行超分重建具体包括以下步骤:
20.s21、将分辨率低于预设阈值的原始图像导入srgan网络;
21.s22、对所述srgan网络中放大倍数、学习率及迭代次数的核心运行参数进行设置;
22.s23、通过所述srgan网络中三个卷积层进行逐步处理,生成高分辨率的图像;
23.s24、获得输出的高分辨率图像。
24.进一步的,所述s23中通过所述srgan网络中三个卷积层进行逐步处理包括以下步骤:
25.首先利用第一卷积层抽取所述原始图像的特征点,然后通过第二卷积层对所述特征点进行非线性映射,实现对每个特征点缺失细节的预测,最后利用第三层卷积层组合映射后的图像,生成高分辨率的图像。
26.进一步的,所述s3中使用预设方法对所述输入图像中的人脸进行识别,并对该输入图像中的人脸部分进行剪裁具体包括以下步骤:
27.s31、将分辨率高于预设阈值的图像输入预设的人脸识别模块;
28.s32、使用基于python的face_recognition模组对输入图像中的人脸进行识别;
29.s33、调用python中的face_recognition模组包对输入图像中的人脸部分进行剪裁;
30.s34、获得剪裁后的人脸图像。
31.进一步的,所述s4中对剪裁后的人脸图像再次进行图像分辨率核验时的阈值为80*80,且该阈值可人工修改。
32.进一步的,所述s5中角度偏离的图像主要针对用户上传的证件照片。
33.进一步的,所述s5中利用透视变换原理对剪裁后所述人脸图像中角度偏离的图像进行处理具体包括以下步骤:
34.s51、调用opencv中的getperspectivetransform函数对剪裁后所述人脸图像进行处理,得到透视变换矩阵;
35.s52、调用opencv中的warpperspective函数执行透视变换,得到透视变换后的图像。
36.进一步的,所述s6中将经过超分和透视变换后的图像输入预设的人脸比对模块中进行人脸比对具体包括以下步骤:
37.s61、将经过超分和透视变换后的图像输入预设的人脸比对模块;
38.s62、利用所述人脸比对模块中的python读取所述图像中的人脸照片;
39.s63、使用所述人脸比对模块中的dlib模块对人脸照片进行分析,得到人脸相似度。
40.进一步的,所述s62中读取的人脸照片包括两张照片,且所述两张照片分别为用户上传的证件照片和实时头像视频截图。
41.本发明的有益效果为:本发明将超分辨率重建、透视变换等技术与人脸识别和人脸比对模型相结合,通过前置图像服务模块实现针对输入图像的预处理,从而实现对输入图像质量的提升,从而可以在保障比对效率的前提下提升opencv人脸比对的准确率,同时部署轻量级人脸识别和人脸比对模型,实现高效、低耗的人脸识别比对功能,提供了一种新的人证核验方法。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是根据本发明实施例的一种基于计算机视觉技术的人证核验方法的流程示意图。
具体实施方式
44.为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
45.根据本发明的实施例,提供了一种基于计算机视觉技术的人证核验方法。
46.现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明实施例的基于计算机视觉技术的人证核验方法,该方法包括以下步骤:
47.s1、对输入图像进行图像分辨率核验,若分辨率低于预设阈值则执行s2,若分辨率高于预设阈值则执行s3;
48.其中,所述s1中输入图像包括实时头像视频截图和用户上传的证件照片,所述预设阈值为480*480,且该预设阈值可人工修改。
49.s2、采用预设超分方法对分辨率低于预设阈值的所述输入图像进行超分重建,提升输入图像的分辨率至预设阈值以上;
50.其中,所述s2具体包括以下步骤:
51.s21、将分辨率低于预设阈值的原始图像导入超分辨率模块中的srgan网络;
52.s22、对所述srgan网络中放大倍数、学习率及迭代次数的核心运行参数进行设置;具体的,所述srgan网络中放大倍数为4倍,学习率为0.0001,迭代次数为10000次。
53.s23、通过所述srgan网络中三个卷积层(convolution layers)进行逐步处理,生成高分辨率的图像;
54.具体的,所述s23中通过所述srgan网络中三个卷积层进行逐步处理包括以下步骤:
55.首先利用第一卷积层抽取所述原始图像的特征点(feature maps),然后通过第二卷积层对所述特征点进行非线性映射,实现对每个特征点缺失细节的预测,最后利用第三层卷积层组合映射后的图像,生成高分辨率的图像。
56.s24、获得输出的高分辨率图像。
57.s3、使用预设方法对所述输入图像中的人脸进行识别,并对该输入图像中的人脸部分进行剪裁;
58.其中,所述s3具体包括以下步骤:
59.s31、将分辨率高于预设阈值的图像输入预设的人脸识别模块;
60.s32、使用基于python的face_recognition模组对输入图像中的人脸进行识别;且该模组有较高的运算效率和简易的本地部署支持,但对低质量的图像识别率较低;
61.s33、调用python中的face_recognition模组包对输入图像中的人脸部分进行剪裁;
62.s34、获得剪裁后的人脸图像。
63.s4、对剪裁后的人脸图像再次进行图像分辨率核验,且对于低分辨率的图像再次进行超分重建;
64.其中,所述s4中对剪裁后的人脸图像再次进行图像分辨率核验时的阈值为80*80,且该阈值可人工修改。
65.s5、利用透视变换原理(通过opencv实现)对剪裁后所述人脸图像中角度偏离的图像(主要针对用户上传的证件照片)进行处理;
66.其中,所述s5具体包括以下步骤:
67.s51、调用opencv中的getperspectivetransform函数对剪裁后所述人脸图像进行处理,得到透视变换矩阵;
68.s52、调用opencv中的warpperspective函数执行透视变换,得到透视变换后的图像。
69.s6、将经过超分和透视变换后的高质量图像输入预设的人脸比对模块中进行人脸比对。该功能同样使用opencv实现,opencv具有轻量高效的特点,但对低质量的图像比对准确率较低。
70.其中,所述s6具体包括以下步骤:
71.s61、将经过超分和透视变换后的图像输入预设的人脸比对模块;
72.s62、利用所述人脸比对模块中的python读取所述图像中的人脸照片(包括两张照片,分别为用户上传的证件照片和实时头像视频截图);
73.s63、使用所述人脸比对模块中的dlib模块对人脸照片进行分析,得到人脸相似度。
74.为了方便理解本发明的上述技术方案,以下就本发明在实际过程中的术语进行详细说明。
75.1)、srgan:
76.尽管使用更快更深的卷积神经网络在单图像超分辨率的准确性和速度方面取得了突破,但一个核心问题仍然很大程度上未解决:当我们在大的升级因子上超分辨时,如何恢复更精细的纹理细节?基于优化的超分辨率方法的行为主要由目标函数的选择驱动。近期工作主要集中在最小化均方重建误差。由此产生的估计具有高峰值信噪比,但它们通常缺乏高频细节,并且在感知上它们不能满足在较高分辨率下预期的保真度的感觉上不满意。在本发明中,提出了srgan,一种用于图像超分辨率(sr)的生成对抗网络(gan),它是第
一个能够推断4倍放大因子的照片般逼真的自然图像的框架。为实现这一目标,本发明提出了一种感知损失函数,它包括对抗性损失和内容丢失。对抗性损失使用鉴别器网络将我们的解决方案推向自然图像流形,该网络经过训练以区分超分辨率图像和原始照片真实图像。另外,本发明使用由感知相似性驱动的内容丢失而不是像素空间中的相似性。本发明的深度残留网络能够在公共基准测试中从严重下采样的图像中恢复照片般逼真的纹理。广泛的平均意见得分(mos)测试显示使用srgan在感知质量方面获得了巨大的显着提升。使用srgan获得的mos分数比使用任何现有技术方法获得的mos分数更接近于原始高分辨率图像的mos分数。
77.2)、face_recognition:
78.本发明中face_recognition是一个强大、简单、易上手的人脸识别开源项目。其是世界上最简洁的人脸识别库,可以使用python和命令行工具提取、识别、操作人脸。
79.本发明的人脸识别是基于业内领先的c++开源库dlib中的深度学习模型,用labeled faces in the wild人脸数据集进行测试,有高达99.38%的准确率。labeled faces in the wild是美国麻省大学安姆斯特分校(university of massachusetts amherst)制作的人脸数据集,该数据集包含了从网络收集的13,000多张面部图像。
80.3)、opencv:
81.opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在linux、windows、android和mac os操作系统上。它轻量级而且高效——由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
82.综上所述,借助于本发明的上述技术方案,本发明将超分辨率重建、透视变换等技术与人脸识别和人脸比对模型相结合,通过前置图像服务模块实现针对输入图像的预处理,从而实现对输入图像质量的提升,从而可以在保障比对效率的前提下提升opencv人脸比对的准确率,同时部署轻量级人脸识别和人脸比对模型,实现高效、低耗的人脸识别比对功能,提供了一种新的人证核验方法。
83.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1