CN111783757A - 一种基于ocr技术的复杂场景下身份证识别方法 - Google Patents

一种基于ocr技术的复杂场景下身份证识别方法 Download PDF

Info

Publication number
CN111783757A
CN111783757A CN202010484080.8A CN202010484080A CN111783757A CN 111783757 A CN111783757 A CN 111783757A CN 202010484080 A CN202010484080 A CN 202010484080A CN 111783757 A CN111783757 A CN 111783757A
Authority
CN
China
Prior art keywords
identity card
character
address
content box
card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010484080.8A
Other languages
English (en)
Inventor
骆春波
罗杨
刘翔
胡永杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Keda Jizhi Technology Co ltd
Original Assignee
Chengdu Keda Jizhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Keda Jizhi Technology Co ltd filed Critical Chengdu Keda Jizhi Technology Co ltd
Priority to CN202010484080.8A priority Critical patent/CN111783757A/zh
Publication of CN111783757A publication Critical patent/CN111783757A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种基于OCR技术的复杂场景下身份证识别方法,包括:S1、基于SIFT算法的对身份证的特征点识别,确定现实场景中身份证的位置坐标;S2、基于获取的身份证位置坐标,对现实场景中身份证的目标区域进行定位检测,并确定待识别文字区域;S3、提取待识别文字区域内的文字信息;S4、对提取的文字信息进行校正,获得准确的身份证信息,完成身份证识别。本发明方法解决了在复杂环境如光线较暗、过度曝光、拍摄模糊等情况下身份证的定位和识别问题;通过对识别结果增加字符最小距离校正算法,显著提高识别准确度,且具有一定的结果纠错功能,使识别结果更为可靠。

Description

一种基于OCR技术的复杂场景下身份证识别方法
技术领域
本发明属于身份证识别技术领域,具体涉及一种基于OCR技术的复杂场景下身份证识别方法。
背景技术
随着社会的发展和国家信用体制的不断完善,越来越多的场景需要对身份进行核验,居民身份证实名制在各行各业得到了广泛的应用。如果手动输入身份证号码和姓名等信息,速度慢、用户体验较差,操作人员溶液产生视觉疲劳。为了提高在移动终端上属兔身份证信息的速度和准确性,很多互联网公司都开发了身份证文字识别技术。现有技术采用OCR(光学字符识别)技术对图像、文字信息进行分析和管理,其应用场景往往都是在较为理想的环境下运行。现有方法主要是对身份证扫描包括腐蚀、提取身份证文字区域轮廓,并通过轮廓提取找到图片中身份证号码的文字区域。在实际的使用场景中,依然会存在一些问题:首先,身份证背景存在底纹和防伪反光条干扰,如果出现光照强度不均等客观拍摄环境影响,难以准确定位身份证在图像中的位置;其次,不同地区、不同省份、不同民族的第二代身份证存在字体多种多样、字号不统一、位置变差等问题;最后,人为因素导致的身份证拍摄效果不佳,例如手臂抖动、角度发生倾斜等都可能造成图像模糊。因此,现有的身份证OCR技术,存在以下问题:
1、在复杂的现实场景中,会出现身份证定位准确度不高,目前的身份证倾斜矫正方法主要基于Haar(哈尔特征Haar-like features)的人脸检测技术,检测并提取身份证图像中人像位置和眼睛的坐标,从而确定身份证的位置和旋转角度,对身份证进行倾斜矫正,但是考虑到人脸不可能完全水平或者垂直,这种方法依然可能会产生矫正角度偏差。
2、在识别文字过程中,服务器通过OCR技术获取校正后身份证图像中每一行的文字词语信息并分析词语语义。但是在现实场景中,存在光照不均匀性,导致一些文字无法识别出来,会对后续语义信息的提取造成困难;对一些特殊身份证,例如少数民族身份证,会存在少数民族语言文字,针对每一个民族开发一种识别方法显然是不现实的,目前尚未有很好的解决方法。
发明内容
针对现有技术中的上述不足,本发明提供的基于OCR技术的复杂场景下身份证识别方法解决了上述背景技术中的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于OCR技术的复杂场景下身份证识别方法,包括以下步骤:
S1、通过SIFT算法对现实场景下的身份证图像进行检测和对齐,进而确定现实场景中身份证的位置坐标;
S2、基于获取的身份证位置坐标,通过训练好的深度CNN网络对现实场景中身份证的目标区域进行定位检测,并基于其定位坐标确定待识别文字区域;
S3、通过文字识别网络提取待识别文字区域内的文字信息;
S4、使用最小模糊匹配算法对提取的文字信息进行校正,获得准确的身份证信息,完成身份证识别。
进一步地,所述步骤S1具体为:
S11、使用SIFT算法分别对模板身份证和现实场景下的身份证图像进行特征点提取,获得对应的两组特征点;
S12、通过Ransac算法对提取的两组特征点进行对应关系的匹配,并删除匹配错误的特征点,获得现实场景下身份证到身份证模板的透视变换矩阵;
S13、将模板身份证中四个顶点的坐标依次与透视变换矩阵相乘,获得现实场景下身份证的四个顶点坐标,即现实场景中身份证的位置坐标。
进一步地,所述步骤S13中,当模板身份对应顶点的坐标为(x,y)时,现实场景中的身份证中对应顶点的坐标(X,Y,Z)为:
Figure BDA0002518485980000031
式中,M为透视变换矩阵,mij为透视变换矩阵中第i行第j列的值,且i,j=1,2,3。
进一步地,所述步骤S2中,所述深度CNN网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、两个全连接层和输出层;
所述深度CNN网络通过人工标注的身份证图像对其进行训练,所述深度CNN网络的训练参数设置为batch_size为6,nms_thres为0.5,img_size为448和优化器为Adam。
进一步地,在所述步骤S2中,通过训练好的深度CNN网络对现实场景中身份证进行检测的目标区域包括姓名位置点、住址位置点、民族位置点、签发机关位置点、有效日期位置点和公安局位置点;
所述步骤S2中,基于目标区域位置坐标确定的待识别文字区域包括姓名内容框、性别内容框、民族内容框、出生内容框、住址内容框、身份证内容框、签发机关内容框和有效日期内容框。
进一步地,对于所述住址内容框,将其分割为对应的单行文字区域作为待识别文字区域;
分割方法具体为:
A1、将住址内容框所在区域转化为对应的灰度图像;
A2、将灰度图像进行阈值分割,获得垂直分成三份的单行文字区域;
A3、对每一份单行文字区域进行垂直直方图统计,获得对应的文字存在控制变量ti
其中,i为分割后的二值化图像变换,i=1,2,3;
A4、对所有ti进行求和统计,得到住址内容框中的单行文字行数T,将其对应的单行文字区域作为待识别文字区域,实现住址内容框的分割。
进一步地,所述步骤S3中的文字识别网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第四卷积层、第三最大池化层、第五卷积层、第一批归一化层、第四最大池化层、第二批归一化层、第五最大池化层和第六卷积层;
所述文字识别网络通过第一级常用汉字和第二级常用汉字构建的数据集对其进行训练,所述文字识别网络的训练参数设置为batch_size为6,shuffle为True,优化器为Adadelta,学习率为0.01和迭代次数epoch为10。
进一步地,所述步骤S4中,身份证正面需要校正的文字信息包括签发机关和有效日期,校正方法具体为:
B1、基于四级行政区划分方法,建立标准地址库,并对其中的每个地址进行编码获得对应的地址字符串;
B2、对识别的签发机关内容框中的每个文字进行编码,获得对应的字符串;
B3、计算签发机关内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
B4、将最小Levenshtein距离对应的标准地址库中的地址作为当前签发机关内容框的校正内容;
B5、使用身份证有效时长规则对有效日期内容框中识别的时间进行校正,获得校正后的有效日期,进而完成身份证正面文字信息的校正。
进一步地,所述步骤S4中,身份证反面需要校正的文字信息包括性别、民族、出生和住址,校正方法具体为:
C1、对身份证内容框中的身份证号码进行验证,并判断是否验证通过;
若是,则进入步骤C2;
若否,则返回步骤S3;
C2、对识别的住址内容框中的每个文字进行编码获得对应的字符串;
C3、计算住址内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
C4、将最小Levenshtein距离对应的标准地址库中的地址作为当前住址内容框的校正内容,完成住址校正;
C5、判断身份证内容框中的身份证号码与出生内容框及性别内容框中文字内容是否均一致;
若是,则出生和性别识别正确,无需校正,进入步骤C7;
若否,则进入步骤C6;
C6、使用当前身份证内容框中的身份证号码对不一致的出生内容框及性别内容框中的文字内容进行校正,完成出生和性别校正,进入步骤C7;
C7、基于标准民族对应的汉字字符串,计算其与民族内容框中的文字字符串之间的Levenshtein距离,并将最小Levenshtein距离对应的标准民族作为民族校正内容,完成民族校正,进而完成身份证反面文字信息的校正。
进一步地,所述步骤C1中,身份证内容框中身份证号码的验证公式为:
Figure BDA0002518485980000051
式中,n为身份证号码中从左至右号码字符包括校验码字符在内的位置序号;an为第n位置上的号码字符值,a1为身份证号码的第18位校验码;Wn表示第an位置上的加权因子,且Wn=2i-1
本发明的有益效果为:
(1)支持自动倾斜校正功能,提高识别率;
(2)支持复杂背景:由于应用场景不可控,在拍摄身份证中可能出现光线过度曝光、拍摄模糊等情况,本发明方法在进行识别,利用人工合成的大量的文字场景,能够满足识别要求,减少复杂背景的干扰。
(3)支持识别结果后处理:对识别结果增加规则,提高识别率本算法在准确度得到有效提升,在传统的识别方法中,其识别结果的准确度无法得到有效保证,本方法不仅保证在识别过程中有很高的准确度,且具有一定的结果纠错功能,提高了识别结果的准确率和可靠性。
(4)支持几乎所有身份证,包含各个少数民族,提高了本发明方法的普适性。
附图说明
图1为基于OCR技术的复杂场景下身份证识别方法流程图。
图2为本发明提供的模板身份证和现实场景身份证特征点匹配示意图。
图3为本发明提供的从现实场景中提取出来的身份证区域图像示意图。
图4为本发明提供的检测出为目标区域及其对应的待识别文字区域示意图。
图5为本发明提供的住址内容框分割为单行文字区域示意图。
图6为本发明提供的身份证反面中确定的待识别文字区域。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1:
如图1所示,一种基于OCR技术的复杂场景下身份证识别方法,包括以下步骤:
S1、通过SIFT算法对现实场景下的身份证图像进行检测和对齐,进而确定现实场景中身份证的位置坐标;
S2、基于获取的身份证位置坐标,通过训练好的深度CNN网络对现实场景中身份证的目标区域进行定位检测,并基于其定位坐标确定待识别文字区域;
S3、通过文字识别网络提取待识别文字区域内的文字信息;
S4、使用最小模糊匹配算法对提取的文字信息进行校正,获得准确的身份证信息,完成身份证识别。
在本实施例的步骤S1中,考虑到身份证照片存在固定的特征,我们使用SIFT算法提取模板身份证和现实场景身份证的特征点,然后使用Ransac(Random SampleConsensus)方法对提取出来的特征点进行匹配,并过滤掉错误的特征点;SIFT(Scale-invariant feature transform)尺度不变特征转换是一种电脑视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。SIFT特征是图像的局部位置的特征描述,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向,SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等;我们使用Sift算法从身份证区域提取出来的特征点,圆圈半径长短表示特征点模的大小,角度为特征点的方向。因此,上述步骤S1具体为:
S11、使用SIFT算法分别对模板身份证和现实场景下的身份证图像进行特征点提取,获得对应的两组特征点;
S12、通过Ransac算法对提取的两组特征点进行对应关系的匹配,并删除匹配错误的特征点,获得现实场景下身份证到身份证模板的透视变换矩阵;
S13、将模板身份证中四个顶点的坐标依次与透视变换矩阵相乘,获得现实场景下身份证的四个顶点坐标,即现实场景中身份证的位置坐标。
在上述步骤S12中,在提取的特征点中,有一部分特征点会有错误的对应关系,使用Ransac方法进行迭代,将匹配错位的特征点进行剔除,假设N为特征点数,K为求取变换矩阵所需的最小样本点数,确定透视变换矩阵的方法具体为:
(1)从匹配的特征点随机抽取K个特征点(这四个特征点不能共线),计算出对应的变换矩阵M;
(2)对该K个特征点拟合变换矩阵M;
(3)计算其他特征点到当前变换矩阵M的距离,当该距离小于设定阈值时,将其当做内点,统计内点个数;
(4)重复(1)-(4)n次,选择内点最多时对应的变换矩阵,将其作为透视变换矩阵;
通过上述算法,我们找到了模板身份证和现实场景身份证一一对应的特征点,获得了正确的对应关系,如图2所示,其中连线为匹配成功的特征点;
通过Ransac算法剔除错误点后,我们得到了最终的透视变换矩阵,因此在步骤S13中,当模板身份对应顶点的坐标为(x,y)时,现实场景中的身份证中对应顶点的坐标(X,Y,Z)为:
Figure BDA0002518485980000091
式中,M为透视变换矩阵,mij为透视变换矩阵中第i行第j列的值,且i,j=1,2,3。通过将模板身份证上的标准的顶点已知坐标与透视变换矩阵相乘,我们获得了现实场景中身份证的四个顶点坐标,从而在现实场景的图像中将身份证区域提取出来,如图3所示。
在本实施例的步骤S2中,经过步骤S1的操作,我们获得了身份证位置坐标,但是在提取文字区域时会遇到第二个问题,少数民族身份证中存在各自民族的文字,对提取具体的识别区域会造成干扰。传统文字信息定位方法有两种:1、先打图像转换为灰度图像,采用图像二值化或者自适应滤波方法得到图像的变换区域,水平和垂直投影直方图,但是在添加了少数民族语言的身份证中无法确定要识别的位置,少数民族语言会对文字的精确坐标产生干扰。2、直接对整个身份证照片进行文字检测和识别,从中提取关键要素进行分割,但是在复杂的显示场景中,会存在检测不完整以及少数民族语言误识别问题。因此,这两种方法都无法有效解决身份证中少数民族文字所带来的定位精确度不高的问题。
在本发明实施例中,考虑到身份证中有些特征是具有大小和相对位置的不变性,在二代身份证宏,身份证正面的“签发机关”和“有效日期”的位置是固定不变的,身份证反面的“姓名”、“性别”、“民族”、“出生”、“住址”和“公民身份证号码”的位置是固定不变的;因此,我们采用深度学习方法对身份证中这些固定位置点进行识别,
本实施例骤S2中深度CNN网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、两个全连接层和输出层;其具体网络结构参数如表1所示;
表1:深度CNN网络结构
全连接层(输出) 7
全连接层 512
全连接层 1024
第四最大池化层 #maps:512,k:3×3,s:1,p:1
第四卷积层 #maps:512,k:3×3,s:1,p:1
第三最大池化层 Window:2×2,s:2
第三卷积层 #maps:256,k:3×3,s:1,p:1
第二最大池化层 Window:2×2,s:2
第二卷积层 #maps:55,k:5×5,s:1,p:1
第一最大池化层 Window:2×2,s:2
第一卷积层 #maps:96,k:11×11,s:1,p:1
输入层 224×224×3
表1中,k.卷积核的尺寸,s:滑动补偿,p:填充的尺寸,maps:卷积的层数;在训练上述深度CNN网络时,我们利用手工标注的若干张的身份证照片,对深度CNN网络进行训练,实现后续的目标区域检测;训练参数设置为batch_size为6(每一次训练同时输入6张图片),hms_thres为0.5(非极大值抑制的阈值),img_size为448(图像的输入大小)和优化器为Adam。
在实现固定位置点的检测过程中,首先在反面照中,选取了“姓名”、“住址”和“民族”三个位置点进行检测,因为在反面照中,“姓名”和“住址”在同一垂直线上,而“民族”在偏右的位置,这样可以通过三个点的相对坐标更加精确推算出其他检测文字的坐标;在身份证正面照中,选取了“签发机关”和“有效日期”和“公安局”作为位置点检测。选取这三组文字作为坐标点可以推算出文字是否在水平方向,确保结果可靠。因此本实施例的步骤S2中,通过训练好的深度CNN网络对现实场景中身份证进行检测的目标区域包括姓名位置点、住址位置点、民族位置点、签发机关位置点、有效日期位置点和公安局位置点;基于目标区域位置坐标确定的待识别文字区域包括姓名内容框、性别内容框、民族内容框、出生内容框、住址内容框、身份证内容框、签发机关内容框和有效日期内容框。
在通过深度CNN网络完成上述目标区域的检测后,在反面照中,我们通过检测分别获得了“姓名”、“民族”、“地址”的坐标,我们以这三个点的坐标作为参考,可以得出其他文字位置的坐标,这样就无需这样就无需考虑不同的拍摄设备产生的图像偏差。我们就可以把需要识别的文字区域提取出来,例如图4所示(a为检测出的目标区域,b为根据检测出的文字区域的坐标确定的待识别文字的内容框)。
由于地址内容框较其他内容框的不同(其他内容框只有一行文字确定内容框即可实现后续的文字识别,而地址内容框存在多行文字的可能性),因此,需要将住址内容框分割为对应的单行文字区域作为待识别文字区域;
分割方法具体为:
A1、将住址内容框所在区域转化为对应的灰度图像;
其中,灰度图像Gary为:
Gary=R×0.299+G×0.587+B×0.114
式中,(R,G,B)为彩色图像的三个通道
A2、将灰度图像进行阈值分割,获得垂直分成三份的单行文字区域;
每一份单行文字区域均为二值化图像,该二值化图像dst(x,y)为:
Figure BDA0002518485980000111
式中,阈值threshold为40;
A3、对每一份单行文字区域进行垂直直方图统计,获得对应的文字存在控制变量ti
其中,垂直投影直方图的统计值L为:
Figure BDA0002518485980000121
在地址内容框中最多存在3行文字,我们将其垂直分成3分,即i=1,2,3,因此ti为:
Figure BDA0002518485980000122
式中,Li为第i行的统计值,thresh为设置的统计值阈值,且thresh=5;
A4、对所有ti进行求和统计,得到住址内容框中的单行文字行数T,将其对应的单行文字区域作为待识别文字区域,实现住址内容框的分割。
其中,对ti进行行求和统计得到行数T为:
T=∑iti
如图5所示,根据上述住址内容框的划分方法,将地址内容框划分成3行的文字;
根据本实施例步骤S2的操作,如图6所示,我们已经将所有需要识别的文字信息位置进行了准确的定位(图6中只展示了身份证反面)。
在经过步骤S2对待识别文字区域完成定位检测后,我们需要对每个文字区域内的具体文字内容进行识别,获取对应的文字信息;因此,在步骤S3中我们通过建立一个能够识别文字网络,来进行文字信息识别;在步骤S3中的构建的文字识别网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第四卷积层、第三最大池化层、第五卷积层、第一批归一化层、第四最大池化层、第二批归一化层、第五最大池化层和第六卷积层;其具体网络结构如表2所示:
表2:文字识别网络结构
第六卷积层 #maps:512,k:2×2,s:1,p:0
第五最大池化层 Window:1×2,s:2
批归一化层 -
第四最大池化层 #maps:512,k:3×3,s:1,p:1
第一批归一化层 -
第五卷积层 #maps:512,k:3×3,s:1,p:1
第三最大池化层 Window:2×2,s:2
第四卷积层 #maps:256,k:3×3,s:1,p:1
第三卷积层 #maps:256,k:3×3,s:1,p:1
第二最大池化层 Window:2×2,s:2
第二卷积层 #maps:128,k:3×3,s:1,p:1
第一最大池化层 Wi ndow:2×2,s:2
第一卷积层 #maps:64,k:3×3,s:1,p:1
输入层 Width×32灰度图像
表中,k:卷积核的尺寸,s:滑动补偿,p:填充的尺寸,maps:卷积的层数;且该网络输入的图像长度Width不定,宽度为32;在使用该识别网络进行文字识别时,主要需要解决生僻字识别问题,我们建立一个覆盖所有生僻字且尽可能接近现实场景的数据集,考虑常用第一级常用汉字共有3755个,第二级有3008个,两级共有6763个汉字,完全覆盖到了现实场景中遇到的生僻字;因此本实施例中,文字识别网络通过第一级常用汉字和第二级常用汉字构建的数据集对其进行训练,文字识别网络的训练参数设置为batch_size为6,shuffle为True(打乱顺寻),优化器为Adadelta,学习率为0.01和迭代次数epoch为10。
上述步骤S4中,在对识别出的文字进行校正时,主要解决的是形近字的识别问题,形似字是由文字区域模糊导致,采用身份证文字的先验知识进行就行校正,使用最小模糊匹配算法对识别结果进行校正。
本实施例步骤S4中,身份证正面需要校正的文字信息包括签发机关和有效日期,校正方法具体为:
B1、基于四级行政区划分方法,建立标准地址库,并对其中的每个地址进行编码获得对应的地址字符串;
B2、对识别的签发机关内容框中的每个文字进行编码,获得对应的字符串;
B3、计算签发机关内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
B4、将最小Levenshtein距离对应的标准地址库中的地址作为当前签发机关内容框的校正内容;
B5、使用身份证有效时长规则对有效日期内容框中识别的时间进行校正,获得校正后的有效日期,进而完成身份证正面文字信息的校正。
其中,对有效日期进行校正时,根据识别到的日期、当前日期及身份证有效时长(5年、10年、20年等)之间的关系,来进行有效时间的校正。
具体地,在步骤B1中,建立标准地址库时,按照中国的四级行政区划分,省级行政区有34个,包含省、自治区、直辖市、特别行政区;地级行政区333个,包含地级市、地区、自治州、盟,县级行政区2846个,包含市辖区、县级市、县、自治县、旗、自治旗、特区、林区,合乡级行政区39945个,包含街道、镇、乡、民族乡、苏木、民族苏木、县辖区。
在进行校正的过程中用到了【编辑距离】的计算方式来与对照表进行精确匹配。Levenshtein距离是一种计算两个字符串间的差异程度的字符串度量(string metric)。可以认为Levenshtein距离就是从一个字符串修改到另一个字符串时,其中编辑单个字符(比如修改、插入、删除)所需要的最少次数,为了能求解两个字符串的相似度,我们将汉字转换为其相互相应的笔画数,这样就可以利用Levenshtein来求解两个字符串的相似度,从而使用模糊匹配算法来就行校正:
Levenshtein表示为一个字符串变换A为另外一个字符串B的最小距离,G表示最少的修改、插入、删除操作:
B=G(A)
例如:“四川省成都市青羊区”,编码后的字符串为:“5396105864”,数字代表笔画数;“四川省咸都市青羊区”为错误识别后的文字,其编码后的字符串为:“5399105864”,两个距离为1。“四川省成都市武侯区”编码后的字符串为:“5396105894”,两者距离为2,所以识别结果进行校正后为:“四川省成都市青羊区”。
本实施例步骤S4中,身份证反面需要校正的文字信息包括性别、民族、出生和住址,校正方法具体为:
C1、对身份证内容框中的身份证号码进行验证,并判断是否验证通过;
若是,则进入步骤C2;
若否,则返回步骤S3;
当验证不通过时,则说明当前识别的身份证号码有误,需要返回前一步重新识别;
C2、对识别的住址内容框中的每个文字进行编码获得对应的字符串;
C3、计算住址内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
C4、将最小Levenshtein距离对应的标准地址库中的地址作为当前住址内容框的校正内容,完成住址校正;
C5、判断身份证内容框中的身份证号码与出生内容框及性别内容框中文字内容是否均一致;
若是,则出生和性别识别正确,无需校正,进入步骤C7;
若否,则进入步骤C6;
C6、使用当前身份证内容框中的身份证号码对不一致的出生内容框及性别内容框中的文字内容进行校正,完成出生和性别校正,进入步骤C7;
C7、基于标准民族对应的汉字字符串,计算其与民族内容框中的文字字符串之间的Levenshtein距离,并将最小Levenshtein距离对应的标准民族作为民族校正内容,完成民族校正,进而完成身份证反面文字信息的校正。
上述步骤C1中,身份证内容框中身份证号码的验证公式为:
Figure BDA0002518485980000161
式中,n为身份证号码中从左至右号码字符包括校验码字符在内的位置序号;an为第n位置上的号码字符值,a1为身份证号码的第18位校验码;Wn表示第an位置上的加权因子,且Wn=2i-1
本发明的有益效果为:
(1)支持自动倾斜校正功能,提高识别率;
(2)支持复杂背景:由于应用场景不可控,在拍摄身份证中可能出现光线过度曝光、拍摄模糊等情况,本发明方法在进行识别,利用人工合成的大量的文字场景,能够满足识别要求,减少复杂背景的干扰。
(3)支持识别结果后处理:对识别结果增加规则,提高识别率本算法在准确度得到有效提升,在传统的识别方法中,其识别结果的准确度无法得到有效保证,本方法不仅保证在识别过程中有很高的准确度,且具有一定的结果纠错功能,提高了识别结果的准确率和可靠性。
(4)支持几乎所有身份证,包含各个少数民族,提高了本发明方法的普适性。

Claims (10)

1.一种基于OCR技术的复杂场景下身份证识别方法,其特征在于,包括以下步骤:
S1、通过SIFT算法对现实场景下的身份证图像进行检测和对齐,进而确定现实场景中身份证的位置坐标;
S2、基于获取的身份证位置坐标,通过训练好的深度CNN网络对现实场景中身份证的目标区域进行定位检测,并基于其定位坐标确定待识别文字区域;
S3、通过文字识别网络提取待识别文字区域内的文字信息;
S4、使用最小模糊匹配算法对提取的文字信息进行校正,获得准确的身份证信息,完成身份证识别。
2.根据权利要求1所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S1具体为:
S11、使用SIFT算法分别对模板身份证和现实场景下的身份证图像进行特征点提取,获得对应的两组特征点;
S12、通过Ransac算法对提取的两组特征点进行对应关系的匹配,并删除匹配错误的特征点,获得现实场景下身份证到身份证模板的透视变换矩阵;
S13、将模板身份证中四个顶点的坐标依次与透视变换矩阵相乘,获得现实场景下身份证的四个顶点坐标,即现实场景中身份证的位置坐标。
3.根据权利要求2所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S13中,当模板身份对应顶点的坐标为(x,y)时,现实场景中的身份证中对应顶点的坐标(X,Y,Z)为:
Figure FDA0002518485970000011
式中,M为透视变换矩阵,mij为透视变换矩阵中第i行第j列的值,且i,j=1,2,3。
4.根据权利要求2所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S2中,所述深度CNN网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、两个全连接层和输出层;
所述深度CNN网络通过人工标注的身份证图像对其进行训练,所述深度CNN网络的训练参数设置为batch_size为6,nms_thres为0.5,img_size为448和优化器为Adam。
5.根据权利要求1所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,在所述步骤S2中,通过训练好的深度CNN网络对现实场景中身份证进行检测的目标区域包括姓名位置点、住址位置点、民族位置点、签发机关位置点、有效日期位置点和公安局位置点;
所述步骤S2中,基于目标区域位置坐标确定的待识别文字区域包括姓名内容框、性别内容框、民族内容框、出生内容框、住址内容框、身份证内容框、签发机关内容框和有效日期内容框。
6.根据权利要求5所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,对于所述住址内容框,将其分割为对应的单行文字区域作为待识别文字区域;
分割方法具体为:
A1、将住址内容框所在区域转化为对应的灰度图像;
A2、将灰度图像进行阈值分割,获得垂直分成三份的单行文字区域;
A3、对每一份单行文字区域进行垂直直方图统计,获得对应的文字存在控制变量ti
其中,i为分割后的二值化图像变换,i=1,2,3;
A4、对所有ti进行求和统计,得到住址内容框中的单行文字行数T,将其对应的单行文字区域作为待识别文字区域,实现住址内容框的分割。
7.根据权利要求1所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S3中的文字识别网络包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第四卷积层、第三最大池化层、第五卷积层、第一批归一化层、第四最大池化层、第二批归一化层、第五最大池化层和第六卷积层;
所述文字识别网络通过第一级常用汉字和第二级常用汉字构建的数据集对其进行训练,所述文字识别网络的训练参数设置为batch_size为6,shuffle为True,优化器为Adadelta,学习率为0.01和迭代次数epoch为10。
8.根据权利要求5所述基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S4中,身份证正面需要校正的文字信息包括签发机关和有效日期,校正方法具体为:
B1、基于四级行政区划分方法,建立标准地址库,并对其中的每个地址进行编码获得对应的地址字符串;
B2、对识别的签发机关内容框中的每个文字进行编码,获得对应的字符串;
B3、计算签发机关内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
B4、将最小Levenshtein距离对应的标准地址库中的地址作为当前签发机关内容框的校正内容;
B5、使用身份证有效时长规则对有效日期内容框中识别的时间进行校正,获得校正后的有效日期,进而完成身份证正面文字信息的校正。
9.根据权利要求8所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤S4中,身份证反面需要校正的文字信息包括性别、民族、出生和住址,校正方法具体为:
C1、对身份证内容框中的身份证号码进行验证,并判断是否验证通过;
若是,则进入步骤C2;
若否,则返回步骤S3;
C2、对识别的住址内容框中的每个文字进行编码获得对应的字符串;
C3、计算住址内容框对应的字符串与标准地址库中每个地址字符串之间的Levenshtein距离;
C4、将最小Levenshtein距离对应的标准地址库中的地址作为当前住址内容框的校正内容,完成住址校正;
C5、判断身份证内容框中的身份证号码与出生内容框及性别内容框中文字内容是否均一致;
若是,则出生和性别识别正确,无需校正,进入步骤C7;
若否,则进入步骤C6;
C6、使用当前身份证内容框中的身份证号码对不一致的出生内容框及性别内容框中的文字内容进行校正,完成出生和性别校正,进入步骤C7;
C7、基于标准民族对应的汉字字符串,计算其与民族内容框中的文字字符串之间的Levenshtein距离,并将最小Levenshtein距离对应的标准民族作为民族校正内容,完成民族校正,进而完成身份证反面文字信息的校正。
10.根据权利要求9所述的基于OCR技术的复杂场景下身份证识别方法,其特征在于,所述步骤C1中,身份证内容框中身份证号码的验证公式为:
Figure FDA0002518485970000041
式中,n为身份证号码中从左至右号码字符包括校验码字符在内的位置序号;an为第n位置上的号码字符值,a1为身份证号码的第18位校验码;Wn表示第an位置上的加权因子,且Wn=2i-1
CN202010484080.8A 2020-06-01 2020-06-01 一种基于ocr技术的复杂场景下身份证识别方法 Pending CN111783757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010484080.8A CN111783757A (zh) 2020-06-01 2020-06-01 一种基于ocr技术的复杂场景下身份证识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010484080.8A CN111783757A (zh) 2020-06-01 2020-06-01 一种基于ocr技术的复杂场景下身份证识别方法

Publications (1)

Publication Number Publication Date
CN111783757A true CN111783757A (zh) 2020-10-16

Family

ID=72754003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010484080.8A Pending CN111783757A (zh) 2020-06-01 2020-06-01 一种基于ocr技术的复杂场景下身份证识别方法

Country Status (1)

Country Link
CN (1) CN111783757A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112837263A (zh) * 2020-12-21 2021-05-25 上海致宇信息技术有限公司 一种复杂背景下的身份证信息定位方法
CN112926469A (zh) * 2021-03-04 2021-06-08 浪潮云信息技术股份公司 基于深度学习ocr与版面结构的证件识别方法
CN112949523A (zh) * 2021-03-11 2021-06-11 兴业银行股份有限公司 从身份证影像图片中提取关键信息的方法与系统
CN112990133A (zh) * 2021-04-28 2021-06-18 杭州金线连科技有限公司 一种基于多任务的深度卷积神经网络身份证信息识别方法
CN114169482A (zh) * 2021-12-08 2022-03-11 福建正孚软件有限公司 一种微观码加密方法和系统
CN114792422A (zh) * 2022-05-16 2022-07-26 合肥优尔电子科技有限公司 一种基于增强透视的光学文字识别方法
CN115482807A (zh) * 2022-08-11 2022-12-16 天津大学 一种用于智能终端语音交互的检测方法及系统
CN115641594A (zh) * 2022-12-23 2023-01-24 广州佰锐网络科技有限公司 基于ocr技术的身份证识别方法、存储介质及装置
CN116363677A (zh) * 2023-03-28 2023-06-30 浙江海规技术有限公司 复杂背景下身份证识别方法、装置、计算机设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074509A1 (en) * 2008-09-22 2010-03-25 Intuit Inc. Technique for correcting character-recognition errors
CN103488984A (zh) * 2013-10-11 2014-01-01 从兴技术有限公司 基于智能移动设备的二代身份证识别方法及装置
CN107145873A (zh) * 2017-05-12 2017-09-08 江苏鸿信系统集成有限公司 基于人脸识别和ocr的身份证图像识别审核方法及系统
CN107622268A (zh) * 2017-09-21 2018-01-23 电子科技大学 一种身份证字符分割的方法
CN109284593A (zh) * 2018-09-06 2019-01-29 北京旷视科技有限公司 身份验证方法、装置及电子设备
CN109410026A (zh) * 2018-02-09 2019-03-01 深圳壹账通智能科技有限公司 基于人脸识别的身份认证方法、装置、设备和存储介质
CN109492643A (zh) * 2018-10-11 2019-03-19 平安科技(深圳)有限公司 基于ocr的证件识别方法、装置、计算机设备及存储介质
CN109919060A (zh) * 2019-02-26 2019-06-21 上海七牛信息技术有限公司 一种基于特征匹配的身份证内容识别系统及方法
CN109961064A (zh) * 2019-03-20 2019-07-02 深圳市华付信息技术有限公司 身份证文本定位方法、装置、计算机设备及存储介质
CN110852213A (zh) * 2019-10-30 2020-02-28 天津大学 基于模版匹配的指针式仪表多情况自动化读数方法
CN111008625A (zh) * 2019-12-06 2020-04-14 中国建设银行股份有限公司 一种地址校正方法、装置、设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074509A1 (en) * 2008-09-22 2010-03-25 Intuit Inc. Technique for correcting character-recognition errors
CN103488984A (zh) * 2013-10-11 2014-01-01 从兴技术有限公司 基于智能移动设备的二代身份证识别方法及装置
CN107145873A (zh) * 2017-05-12 2017-09-08 江苏鸿信系统集成有限公司 基于人脸识别和ocr的身份证图像识别审核方法及系统
CN107622268A (zh) * 2017-09-21 2018-01-23 电子科技大学 一种身份证字符分割的方法
CN109410026A (zh) * 2018-02-09 2019-03-01 深圳壹账通智能科技有限公司 基于人脸识别的身份认证方法、装置、设备和存储介质
CN109284593A (zh) * 2018-09-06 2019-01-29 北京旷视科技有限公司 身份验证方法、装置及电子设备
CN109492643A (zh) * 2018-10-11 2019-03-19 平安科技(深圳)有限公司 基于ocr的证件识别方法、装置、计算机设备及存储介质
CN109919060A (zh) * 2019-02-26 2019-06-21 上海七牛信息技术有限公司 一种基于特征匹配的身份证内容识别系统及方法
CN109961064A (zh) * 2019-03-20 2019-07-02 深圳市华付信息技术有限公司 身份证文本定位方法、装置、计算机设备及存储介质
CN110852213A (zh) * 2019-10-30 2020-02-28 天津大学 基于模版匹配的指针式仪表多情况自动化读数方法
CN111008625A (zh) * 2019-12-06 2020-04-14 中国建设银行股份有限公司 一种地址校正方法、装置、设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112837263A (zh) * 2020-12-21 2021-05-25 上海致宇信息技术有限公司 一种复杂背景下的身份证信息定位方法
CN112926469A (zh) * 2021-03-04 2021-06-08 浪潮云信息技术股份公司 基于深度学习ocr与版面结构的证件识别方法
CN112949523A (zh) * 2021-03-11 2021-06-11 兴业银行股份有限公司 从身份证影像图片中提取关键信息的方法与系统
CN112990133A (zh) * 2021-04-28 2021-06-18 杭州金线连科技有限公司 一种基于多任务的深度卷积神经网络身份证信息识别方法
CN114169482A (zh) * 2021-12-08 2022-03-11 福建正孚软件有限公司 一种微观码加密方法和系统
CN114169482B (zh) * 2021-12-08 2023-07-11 福建正孚软件有限公司 一种微观码加密方法和系统
CN114792422A (zh) * 2022-05-16 2022-07-26 合肥优尔电子科技有限公司 一种基于增强透视的光学文字识别方法
CN114792422B (zh) * 2022-05-16 2023-12-12 合肥优尔电子科技有限公司 一种基于增强透视的光学文字识别方法
CN115482807A (zh) * 2022-08-11 2022-12-16 天津大学 一种用于智能终端语音交互的检测方法及系统
CN115641594A (zh) * 2022-12-23 2023-01-24 广州佰锐网络科技有限公司 基于ocr技术的身份证识别方法、存储介质及装置
CN116363677A (zh) * 2023-03-28 2023-06-30 浙江海规技术有限公司 复杂背景下身份证识别方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111783757A (zh) 一种基于ocr技术的复杂场景下身份证识别方法
CN109241894B (zh) 一种基于表格定位和深度学习的票据内容识别系统和方法
CN111325203B (zh) 一种基于图像校正的美式车牌识别方法及系统
CN110569878B (zh) 一种基于卷积神经网络的照片背景相似度聚类方法及计算机
US8744196B2 (en) Automatic recognition of images
Ye et al. Text detection and recognition in imagery: A survey
JP5522408B2 (ja) パターン認識装置
CN108399405B (zh) 营业执照识别方法和装置
CN110598686B (zh) 发票的识别方法、系统、电子设备和介质
CN112651289B (zh) 一种增值税普通发票智能识别与校验系统及其方法
CN113128442B (zh) 基于卷积神经网络的汉字书法风格识别方法和评分方法
CN110287952B (zh) 一种维语图片字符的识别方法及系统
CN108171127A (zh) 一种基于深度学习的发票自动识别方法
CN111079571A (zh) 证卡信息识别及其边缘检测模型训练方法、装置
CN112418216A (zh) 一种复杂自然场景图像中的文字检测方法
CN111178290A (zh) 一种签名验证方法和装置
CN111626292B (zh) 一种基于深度学习技术的楼宇指示标识的文字识别方法
CN108681735A (zh) 基于卷积神经网络深度学习模型的光学字符识别方法
CN111340035A (zh) 一种火车票识别方法、系统、设备以及介质
CN105335760A (zh) 一种图像数字字符识别方法
CN105512657A (zh) 字符识别方法和设备
CN114038004A (zh) 一种证件信息提取方法、装置、设备及存储介质
CN113011426A (zh) 一种识别证件的方法和装置
CN113111880A (zh) 证件图像校正方法、装置、电子设备及存储介质
Malik et al. An efficient skewed line segmentation technique for cursive script OCR

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination