基于深度学习的身份证自动识别方法及系统与流程

文档序号:18466923发布日期:2019-08-17 02:34阅读:687来源:国知局
基于深度学习的身份证自动识别方法及系统与流程

本发明涉及信息处理领域,尤其涉及一种基于深度学习的身份证自动识别方法、系统、计算机设备及存储介质。



背景技术:

目前,现有身份证识别系统大多数是基于对图片布局的分析,进而提取身份证中文字区域,此方法抗干扰能力较差,对于复杂的图片背景无法较好的分析出图片中文字的位置。现有文字识别方法,基于人造的特征对检测出来的文字区域进行文字识别,文字识别准确率较低.无法确定图片中是否存在身份证信息,不利于身份证的识别操作。

有鉴于此,有必要提出对目前的身份证识别技术进行进一步的改进。



技术实现要素:

为解决上述至少一技术问题,本发明的主要目的是提供一种基于深度学习的身份证自动识别方法、系统、计算机设备及存储介质。

为实现上述目的,本发明采用的第一个技术方案为:提供一种基于深度学习的身份证自动识别方法,包括:

在获取到输入图片时,利用第一个全卷积神经网络对输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;

利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;

对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;

计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;

利用第三个全卷积神经网络对连接后的文字框根据倾斜角度进行文字识别,以识别的连接后的文字框中的字符。

其中,所述利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正,具体包括:

利用第一个全卷积神经网络对于输入的身份证图片上的四个方向的人脸与国徽的特征标志,得到特征标志的位置及方向数据;

根据特征标志的方向数据对输入的图片进行转正;

根据特征标志的位置数据从整个身份证图片中剥离出身份证区域图像,并送入第二个全卷积神经网络。

其中,所述对文字框进行倾斜矫正,具体包括:

对第二个全卷积神经网络输出的文字框进行仿射变换。

其中,所述计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接,具体包括:

将所有文字框按照y轴上的重合度计算;

若重合度大于设定阈值,则对相邻的两个文字框进行横向连接。

其中,所述对相邻的两个文字框进行横向连接之后,包括:

从所有文字框中选定第二宽度的文字框的宽度作为设定宽度,

根据设定文字框的宽度调整其他文字框的宽度。

为实现上述目的,本发明采用的第二个技术方案为:提供一种基于深度学习的身份证自动识别系统,包括:

特征检测模块,用于在获取到输入图片时,利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正

文字检测模块,用于利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;

文字框矫正模块,用于对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;

连接模块,用于计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;

文字识别模块,用于利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符。

为实现上述目的,本发明采用的第三个技术方案为:提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

为实现上述目的,本发明采用的第四个技术方案为:提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

本发明的技术方案采用在获取到输入图片时,先利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;然后利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;以及对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;而后计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;最后利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符,通过上述的步骤,能够自动自动识别身份证信息。另外,由于本方案通过对文字框进行矫正及交并比对处理,能够提高图片的容差性,保证身份证识别的准确度。

附图说明

图1为本发明一实施例基于深度学习的身份证自动识别方法的方法流程图;

图2为本发明一实施例基于深度学习的身份证自动识别系统的模块方框图;

图3为本发明一实施例计算机设备的内部结构图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

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

需要说明,本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

请参照图1,图1为本发明一实施例基于深度学习的身份证自动识别方法的方法流程图。在本发明实施例中,该基于深度学习的身份证自动识别方法,包括:

步骤s10、在获取到输入图片时,利用第一个全卷积神经网络对输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;

步骤s20、利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;

步骤s30、对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;

步骤s40、计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;

步骤s50、利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符。

本实施例中,利用该方法可以对输入图片中所包含的身份证信息进行检测识别。具体的,在获取到输入图片时,利用第一个全卷积神经网络对输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;然后利用第二个全卷积神经网络对旋转后的图片进行文字检测,确定输入图片中的文字区域。第二个全卷积神经网络上预先定义有大量的潜在文字框。在文字检测的过程中,不断对文字框的位置进行调整,以得到真实文字所在区域的多个文字框。多个文字框的位置会出现倾斜,不利于后续的文字框的连接。将文字框的角度调整成水平方向后,可以大幅提高全卷积神经网络的识别准确率。现有的文字检测中常常有文字框漏检测,检测不全等问题,为此,本方案采用身份证的板式特征并通过使用水平方向的文字框的高度交并比对检测出的文字区域进行连接,将大于设定阈值的文字框进行横向连接,并将连接结果水平扩张一定像素后,能够批次识别,提高识别效率。最后,利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符。上述的第三个全卷积神经网络为预先训练而成的多分类的神经网络模型。通过该多分类的神经网络模型可以对文字进行识别,达到自动识别身份证信息的目的。该多分类的神经网络模型中采用ctc(connectionisttemporalclassification)计算模型损失,以提高文字识别的准确性。

本发明的技术方案采用在获取到输入图片时,先利用第一个全卷积神经网络对输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;然后利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;以及对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;而后计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;最后利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符,通过上述的步骤,能够自动自动识别身份证信息。另外,由于本方案通过对文字框进行矫正及交并比对处理,能够提高图片的容差性,保证身份证识别的准确度。

在一具体的实施方式中,所述利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正,具体包括:

利用第一个全卷积神经网络对于输入的身份证图片上的四个方向的人脸与国徽的特征标志,得到特征标志的位置及方向数据;

根据特征标志的方向数据对输入的图片进行转正;

根据特征标志的位置数据从整个身份证图片中剥离出身份证区域图像,并送入第二个全卷积神经网络。

本实施例中,构造了第一个全卷积神经网络,用来检测身份证人脸和国徽的全卷积神经网络作为整个系统的第一步骤,他相比其他方法来说,有着更快的检测速度、更精准的图像旋转信息输出。具体的,对于输入的身份证图片,第一个全卷积神经网络会检测身份证图片上四个方向(即上、下、左、右)的人脸和/或国徽的特征标志,若识别到了左人脸(身份证正面),则表示此张身份证图片是向左旋转了90°的,国徽(身份证反面)同理。因此该第一个全卷积网络可以检测到和/或国徽特征标志的位置和方向。根据标志的方向信息,可以将输入的身份证图片进行转正。根据标志的位置信息,我们可以按照比例将身份证区域从整个图片中剥离出来,使送入第二个全卷积神经网络的图片更加精准。经过第一个全卷积神经网络之后,可以得到转正且只剩身份证区域的图像,送入第二个全卷积检测神经网络。上述描述为对检测到有响应的特征标志信息的处理步骤。在没有检测到响应的标志信息时,维持原始图片的输入,并送入第二个全卷积检测神经网络。

在一具体的实施方式中,所述对文字框进行倾斜矫正,具体包括:

对第二个全卷积神经网络输出的文字框根据倾斜角度进行仿射变换。

本实施例,通过对第二个全卷积神经网络输出的文字框并根据检测的倾斜角度的仿射变换,能够将带有方向的文字框调整成水平方向。

在一具体的实施方式中,所述计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接,具体包括:

将所有文字框按照y轴上的重合度计算;

若重合度大于设定阈值,则对相邻的两个文字框进行横向连接。

进一步的,所述对相邻的两个文字框进行横向连接之后,包括:

从所有文字框中选定第二宽度的文字框的宽度作为设定宽度,

根据设定文字框的宽度调整其他文字框的宽度。

本实施例中,为了提高识别效率,在文字识别可以对多个文字框同时识别,通过上述处理,能够将每个文字框调整成一样的尺寸,能够批次进行识别处理。

请参照图2,图2为本发明一实施例基于深度学习的身份证自动识别系统的模块方框图。本发明的实施例中,该基于深度学习的身份证自动识别系统,包括:

特征检测模块10,用于在获取到输入图片时,利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正;

文字检测模块20,用于利用第二个全卷积神经网络对旋转后的图片进行文字检测,得到真实文字所在区域的多个文字框;

文字框矫正模块30,用于对文字框进行倾斜矫正,以将多个文字框的角度调整呈水平方向;

连接模块40,用于计算所有水平方向的文字框中相邻文字框之间的交并比,以使处于同一行的多个文字框连接;

文字识别模块50,用于利用第二个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符。

本实施例中,在获取到输入图片时,特征检测模块10,利用第一个全卷积神经网络对于输入的身份证图片进行人脸和国徽的特征检测,得到图片的旋转信息,并矫正。文字检测模块20,利用第二个全卷积神经网络对旋转后的图片进行文字检测,确定输入图片中的文字区域。第二个全卷积神经网络上预先定义有大量的潜在文字框。在文字检测的过程中,不断对文字框的位置进行调整,以得到真实文字所在区域的多个文字框。多个文字框的位置会出现倾斜,不利于后续的文字框的连接。通过文字框矫正模块30,可以将文字框的角度调整成水平方向,大幅提高全卷积神经网络的识别准确率。现有的文字检测中常常有文字框漏检测,检测不全等问题,为此,本方案通过连接模块40,利用身份证的板式特征并通过使用水平方向的文字框的高度交并比对检测出的文字区域进行连接,将大于设定阈值的文字框进行横向连接,并将连接结果水平扩张一定像素后,能够批次识别,提高识别效率。最后,通过文字识别模块50,利用第三个全卷积神经网络对连接后的文字框进行文字识别,以识别的连接后的文字框中的字符。上述的第三个全卷积神经网络为预先训练而成的多分类的神经网络模型。通过该多分类的神经网络模型可以对文字进行识别,达到自动识别身份证信息的目的。

在一实施例中,还包括特征检测模块10,具体用于:利用第一个全卷积神经网络对于输入的身份证图片上的四个方向的人脸与国徽的特征标志,得到特征标志的位置及方向数据;

根据特征标志的方向数据对输入的图片进行转正;

根据特征标志的位置数据从整个身份证图片中剥离出身份证区域图像,并送入第二个全卷积神经网络

进一步的,所述文字框矫正模块30,具体用于:对第二个全卷积神经网络输出的文字框根据倾斜角度进行仿射变换。

进一步的,所述连接模块40,具体用于:

将所有文字框按照y轴上的重合度计算;

若重合度大于设定阈值,则对相邻的两个文字框进行横向连接。

进一步的,所述连接模块40,还用于:

从所有文字框中选定第二宽度的文字框的宽度作为设定宽度,

根据设定文字框的宽度调整其他文字框的宽度。

具体的,特征检测模块10、文字检测模块20及文字识别模块50均通过服务器来实现。该服务器采用深度学习服务部署方案,具体为:使用tensorflow-serving为训练好的特征检测、文字检测、识别模型提供基础服务框架,并将tensorflow-serving服务打包成一个docker镜像;将打包好的docker镜像安置在需要提供服务的服务器中,并加载对应的特征检测、文字检测、识别模型,使用的轻量级的web应用框架flask开发api接口,并通过高性能的gunicornhttpserver对外提供服务。其优势如下:1.使用tensorflow-serving可以动态的热更新模型算法,不需要停止服务;2.使用tensorflow-serving可以对短时间同时上传的图片进行批量打包处理,并返回识别结果,提高服务性能;3.将服务打包在一个docker镜像中,可以方便服务的移植,并且相对隔离的容器环境提高了部署的兼容性,做到轻量级、快速部署的效果;4.使用gunicon的服务方式,可以根据服务器的性能,灵活的设置进程(workers)、线程的数量,推荐的workers数量为当前的cpu个数*2+1。并有着可自定义日志内容的功能,方便查询和导出;5.所有的模型都使用图像处理器(gpu)运行计算,增加模型的并行计算速度。进一步的,特征检测模块10进行特征检测时,gunicorn将外部的检测端口所获取的图片送入被docker包裹的tensorflow-serving中,tensorflow-serving根据端口与模型名称的对应关系,将图片送入基于深度神经网络训练好的特征检测模型中,进行特征检测。文字检测模块20进行文字检测时,gunicorn将外部的检测端口所获取的图片送入被docker包裹的tensorflow-serving中,tensorflow-serving根据端口与模型名称的对应关系,将图片送入基于深度神经网络训练好的文字检测模型中进行文字检测。文字识别模块50进行文字识别时,gunicorn将外部的识别端口所获取的身份证的文字区域图像送入被docker包裹的tensorflow-serving中。tensorflow-serving根据端口与模型名称的对应关系,将身份证文字区域图像送入基于深度神经网络训练好的文字识别模型中进行文字识别。

请参照图3,图3为本发明一实施例计算机设备的内部结构图。在一实施例中,该计算机设备包括通过系统总线连接的处理器、存储器及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于深度学习的身份证自动识别方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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