一种身份证打码系统及方法与流程

文档序号:12964601阅读:6947来源:国知局
一种身份证打码系统及方法与流程

本申请涉及一种身份证打码系统及方法。



背景技术:

在信贷业务中,有时需要为用户提供借贷人的部分身份证信息,但是又不能完全暴露借贷人的身份证信息,于是需要利用身份证打码技术隐去借贷人的身份证部分敏感信息,例如隐去身份证号码的最后几位数字等。身份证打码指通过图像处理,将身份证部分区域进行处理,从而隐去个人敏感信息。

但是,一般借贷人上传的照片在各种复杂环境下拍摄,图像质量参差不齐,给机器识别带来了困难。目前身份证打码一般使用手工打码,需要以人工方式对身份证一张张进行处理,非常耗时耗力,并且容易出错。

另外,由于身份证在拍摄过程中往往由于摆放不整齐、光线投射、阴影、镜头对焦不准、身份证自身的折旧等原因,使得上传的身份证照片具有很多问题。而传统的图像算子处理,只能对处于相同环境条件下的规整身份证进行定位处理,对于各种环境下拍摄的、有问题的身份证照片则无能为力,经常会将身份证的字符位置和身份证背景搞混而无法定位打码。

综上,现有的身份证打码技术至少包括以下两方面的缺点:一、大多数采用人工打码实现,或者只能在规整的身份证上实现,无法实现自动化;二、处理速度慢,定位不精准,无法满足批量打码的需求。

针对相关技术中的上述问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的上述问题,本申请提出一种身份证打码系统及方法,能够结合深度学习和图像处理技术实现身份证信息的全自动打码,可以按照需求隐去用户信息。

本申请的技术方案是这样实现的:

根据本申请的一个方面,提供了一种身份证打码系统,包括:

人脸定位模块,利用人脸检测深度学习模型定位身份证上的人脸区域;

字符定位模块,用于定位身份证上的多个字符区域;以及

区域打码模块,连接于人脸定位模块和字符定位模块,区域打码模块根据需要对人脸区域和多个字符区域中需要隐藏的区域进行打码处理。

在一个实施例中,字符定位模块利用字符定位深度学习模型和字符结构定位算法定位多个字符区域。

其中,字符定位模块包括:图像分层子模块,根据像素值的分布统计结果对身份证的图像像素进行分层处理;像素处理子模块,基于非参数核密度估计对每一层的字符图像像素进行二值化处理,并在二值化处理之后进行迭代搜索;以及定位信息生成子模块,根据迭代搜索的结果定位字符区域。

在一个实施例中,人脸检测深度学习模型为rcnn神经网络模型。

在一个实施例中,其中,字符定位模块包括tensorfolw机器学习平台;以及字符定位深度学习模型包括vgg16网络模型。

在一个实施例中,还包括:验证模块,连接于人脸定位模块、字符定位模块、和区域打码模块,验证模块通过字符结构定位算法对定位的人脸区域和多个字符区域进行交叉验证。

根据本申请的另一方面,提供了一种身份证打码方法,包括:

利用人脸检测深度学习模型定位身份证上的人脸区域;

定位身份证上的多个字符区域;以及

根据需要对人脸区域和多个字符区域中需要隐藏的区域进行打码处理。

在一个实施例中,定位身份证上的多个字符区域包括:利用字符定位深度学习模型定位和字符结构定位算法定位多个字符区域。

其中,利用字符定位深度学习模型定位和字符结构定位算法定位多个字符区域包括:根据像素值的分布统计结果对身份证的图像像素进行分层处理;基于非参数核密度估计对每一层的字符图像像素进行二值化处理,并在二值化处理之后进行迭代搜索;以及根据迭代搜索的结果定位字符区域。

其中,在定位身份证上的多个字符区域之后还包括:通过字符结构定位算法对定位的人脸区域和多个字符区域进行交叉验证。

本申请通过结合深度学习和图像处理技术,实现了身份证全自动打码,可以按照需求隐去身份证中的用户信息;实现了对身份证进行批量打码处理,速度快、效率高,可以实时、高效地处理各种身份证。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例的身份证打码系统的框图;

图2是根据本申请实施例的身份证打码系统的工作流程图;

图3是根据本申请实施例的身份证打码方法的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。

根据本申请的实施例,提供了一种身份证打码系统。

如图1所示,根据本申请实施例的身份证打码系统100包括:

人脸定位模块102,利用人脸检测深度学习模型定位身份证上的人脸区域;其中,深度学习指利用神经网络模型,在带有计算卡的电脑上对大量数据进行学习,最终利用学习到的模型提供识别、分类等功能;

字符定位模块104,用于定位身份证上的多个字符区域;以及

区域打码模块106,连接于人脸定位模块102和字符定位模块104,区域打码模块106根据需要对人脸区域和多个字符区域中需要隐藏的区域进行打码处理。

其中,人脸定位模块102利用人脸检测深度学习模型对身份证上的人脸部分进行检测,检测样本采用尺寸为80mm×50mm的身份证,识别率达到99.9%以上。

上述技术方案,通过结合深度学习和图像处理技术,实现了身份证全自动打码,可以按照需求隐去身份证中的用户信息;实现了对身份证进行批量打码处理,速度快、效率高,可以实时、高效地处理各种身份证。

需要说明的是,上述字符包括身份证号码中的各个字符,还可包括身份证上任意其它用户信息中的各个字符。相应地,上述多个字符区域可包括身份证号码中各个字符所在的区域。多个字符区域还可包括身份证上任意其它用户信息中各个字符所在的区域。

在一个实施例中,字符定位模块104利用字符定位深度学习模型和字符结构定位算法定位多个字符区域。字符定位模块104通过结合字符定位深度学习模型和字符结构定位算法,能够对身份证的字符进行精准定位和处理,并能够对身份证的字符区域进行识别和校验,对于各种环境下拍摄的身份证的字符定位可达到99.9%以上。

其中,字符定位模块104包括:图像分层子模块(未示出),根据像素值的分布统计结果对身份证的图像像素进行分层处理;像素处理子模块(未示出),基于非参数核密度估计对每一层的字符图像像素进行二值化处理,并在二值化处理之后进行迭代搜索;定位信息生成子模块(未示出),根据迭代搜索的结果定位字符区域。在本实施例中,字符定位模块104结合了字符结构定位算法来定位字符。该字符结构定位算法对图像像素进行分层,分层的原则是根据像素值的分布统计,基于非参数核密度估计(kde)技术,分别对每一层的像素做二值化处理并进行迭代搜索,查找符合身份证字符的位置的点,进而根据字符位置的定位来打码。

区域打码模块106可通过小波分解将图像高低频分离、然后恢复图像,来对需要隐藏的区域进行打码从而得到打码后的身份证图片。

在一个实施例中,身份证打码系统100还包括:验证模块(未示出),连接于人脸定位模块102、字符定位模块104、和区域打码模块106,验证模块通过字符结构定位算法对定位的人脸区域和多个字符区域进行交叉验证。

在一个实施例中,身份证打码系统100还可包括调用算法服务接口。算法服务是指利用算法实现软件功能,并提供给其它工程调用的服务。该服务具有智能化、单一化等特点。调用算法服务接口提供给外部的接口,用于调用身份证打码功能。参考图2所示,算法服务调用流程包括人脸检测、字符定位、区域打码三个步骤。用户传送身份证图像过来,先进行人脸检测和字符识别,人脸检测和字符识别结果通过字符结构定位算法进行交叉验证。得到各个区域后,最后再进行打码处理,将处理完毕的身份证图片返回给调用端。

具体地,在步骤s202处,通过调用算法服务接口调用身份证打码功能。在步骤s204处:对身份证人脸部位进行定位,结合人脸检测深度学习模型进行。在步骤s206处,将定位后的身份证图片再进行字符定位,通过字符定位深度学习模型和字符结构定位算法进行。在步骤s208处,获得身份证上各个区域(人脸区域和各个字符区域)的定位信息后,根据需要对各个要求隐藏信息的区域进行打码处理。

在一个实施例中,人脸检测深度学习模型为rcnn(区域cnn)神经网络模型。即,用于人脸定位的人脸检测深度学习模型采用rcnn神经网络模型,在该模型的基础上,通过增加身份证头像样本,可增强识别效果。

在一个实施例中,其中,字符定位模块104包括tensorfolw机器学习平台(一种人工智能学习系统);以及字符定位深度学习模型包括vgg16网络模型(一种深度学习模型)。在本实施例中,字符定位深度学习模型是基于tensorflow机器学习平台,结合vgg16网络模型训练得到。

在一个可选的实施例中,身份证打码系统100采用的操作系统为linuxcentos7.3;开发语言为c、python;深度学习平台为tensorflow;硬件为双teslak80计算卡超算。

如图3所示,根据本申请的实施例,还提供了一种身份证打码方法,包括以下步骤:

s302,利用人脸检测深度学习模型定位身份证上的人脸区域;

s304,定位身份证上的多个字符区域;以及

s306,根据需要对人脸区域和多个字符区域中需要隐藏的区域进行打码处理。

在一个实施例中,步骤s304可具体包括:利用字符定位深度学习模型定位和字符结构定位算法定位多个字符区域。

其中,利用字符定位深度学习模型定位和字符结构定位算法定位多个字符区域可具体包括包括以下步骤:

s3041,根据像素值的分布统计结果对身份证的图像像素进行分层处理;

s3042,基于非参数核密度估计对每一层的字符图像像素进行二值化处理,并在二值化处理之后进行迭代搜索;以及

s3043,根据迭代搜索的结果定位字符区域。

在一个实施例中,在步骤s304之后还可包括:通过字符结构定位算法对定位的人脸区域和多个字符区域进行交叉验证。

综上所述,本申请的身份证打码系统及方法结合了深度学习技术、人脸定位、非参数核密度估计技术、字符结构定位算法等方法,多方位多角度对身份证的各个区域进行定位,并校验定位准确性,可对身份证进行批量处理,平均每张图片的处理损耗时间可保持在0.4秒至0.6秒之间。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1