CN110414517B - 一种用于配合拍照场景的快速高精度身份证文本识别算法 - Google Patents
一种用于配合拍照场景的快速高精度身份证文本识别算法 Download PDFInfo
- Publication number
- CN110414517B CN110414517B CN201910311448.8A CN201910311448A CN110414517B CN 110414517 B CN110414517 B CN 110414517B CN 201910311448 A CN201910311448 A CN 201910311448A CN 110414517 B CN110414517 B CN 110414517B
- Authority
- CN
- China
- Prior art keywords
- character
- column
- coordinates
- group
- picture
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation 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/267—Segmentation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Character Input (AREA)
Abstract
一种用于配合拍照场景的快速高精度身份证文本识别算法,它涉及一图像处理、模式识别和深度学习技术领域。它包含如下步骤:预处理→字符分割→字符识别;所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0(黑色)。采用上述技术方案后,本发明有益效果为:在字符分割中定位头像”提出了基于行或列投影的头像快速定位方法,比传统的基于连通域的头像定位方法具有更低的时间复杂度。
Description
技术领域
本发明涉及图像处理、模式识别和深度学习技术领域,具体涉及一种用于配合拍照场景的快速高精度身份证文本识别算法。
背景技术
作为现代社会中最重要的法定证件之一,身份证包含了一个人的基本身份信息,是办理自身各种业务必不可少的工具。最初,身份证中的文本信息登记多由人手工录入,这不仅耗费人力物力,而且效率低下。近些年来,随着二代身份证的广泛使用,市面上出现了针对二代身份证的专用读卡器,该类读卡器通过与二代身份证内置的射频芯片通信来获取身份证的文本信息。这种方法需要配备专门的硬件设备,其使用范围十分受限。与之相比,利用光学字符识别技术来读取身份证文本信息提供了另一种解决方案。光学字符识别技术是指对待识别物体进行光学成像后,在计算设备上通过算法提取图像中的字符,并识别成相应的文字或数字的过程。光学字符识别技术以光学图像为处理对象,因此凡是有摄像头的设备都可以结合光学字符识别技术来搭建身份证文本信息自动录入系统,在智能手机普及的今天,基于光学字符识别技术的方案显然具有更广的应用场景,其使得个人在移动端便捷录入身份证文本信息成为可能。
目前移动端的手机应用在做身份证图像采集时,多采用配合拍照成像,以减小身份证拍照时不同放置背景对识别效果的影响。配合拍照是指用户在拍照时,手机屏幕界面上会出现一个宽高比与实际身份证相符的方框,用户在拍照时需通过调整拍照高度和角度,以确保从手机屏幕界面上看到的身份证面积正好布满方框,尽量不要超出或不足。本发明也正是针对该种场景开发身份证文本识别算法。经过调研,现有的针对配合拍照场景的身份证文本识别技术主要存在两方面问题:
1、识别精度仍然不够高。身份证文本识别一般包括预处理、字符分割和字符识别三个环节,在字符分割阶段,现有技术缺乏对身份证中字符排布的特殊情况的处理。例如,在实践中发现,经常有人的身份证地址栏中的某一行出现多个上下型汉字,“六”、“花”、“号”等,这种情况极易误导行分割结果,使程序误识别成有两行文字。与之类似,左右型汉字又常会影响到列分割结果。这些情况积少成多,最终大大影响了整体的分割精度;在字符识别阶段,现有技术多采用传统的机器学习方法来识别字符,如模板匹配,支持向量机及浅层卷积神经网络。这些方法皆无法基于大批量数据进行学习,对于复杂多分类问题的处理具有与生俱来的缺陷,在识别身份证中的字符尤其是识别汉字时,精度会下降或不稳定。总之,由于上述提到的原因,现有技术在字符分割和识别方面皆有所欠缺,身份证文本识别的整体精度仍有较大的提升空间。
2、很少考虑算法的运行速度。在实际应用时,速度直接关乎用户体验。在应用于配合拍照场景的身份证文本识别过程中,预处理阶段速度一般较快,算法的时间复杂度主要体现在字符分割和识别方面。其中在字符分割阶段,往往需对身份证图像二值化,现有工作采用的一些算法如bersen法,niblack法、循环阈值法等在实现时包含多重循环嵌套,速度较慢;而在字符识别阶段,现有工作中采用模板匹配法来识别字符需要储存所有汉字的模板,实际运行时不仅匹配过程十分耗时,而且很耗内存;用支持向量机识别字符速度较快,但正如前述所说,该方法识别精度不稳定;采用浅层卷积神经网络识别字符需要进行大量的矩阵间乘法运算,计算复杂度很高。这些因素共同造成了现有的身份证文本识别算法整体运行时间较长。
发明内容
本发明的目的在于针对现有技术的缺陷和不足,提供一种用于配合拍照场景的快速高精度身份证文本识别算法,在字符分割阶段提出了基于投影的头像定位方法以快速定位和祛除身份证上的人脸,同时提出双阈值法加后验处理来提升字符分割的精度;将目前前沿的深度学习技术应用于字符识别,设计了专用于身份证字符的深度加权残差网络,以提升字符识别的精度;采用了多种加速策略来加速算法运行。
为实现上述目的,本发明采用以下技术方案是:它包含如下步骤:
预处理→字符分割→字符识别;
所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0(黑色);
所述字符分割的具体步骤为:定位头像→灰度图二值化→在二值图上祛除头像→水平矫正→行分割及后验处理→列分割及后验处理→提取单字符图;
所述定位头像的具体步骤为:首先、将身份证图片进行行投影,累计每行点的灰度值:
其中W和H分别表示身份证图片的宽和高,f表示中点的灰度值,对得到的行投影曲线在行点灰度值的1/4高度区域内从上往下遍历,求出第一个局部最小值点,从该点对应的行位置即可先将身份证号码部分分割出去;
其次、对身份证号码分割出去后剩下的图像进行列投影,累计每列点的灰度值:
对得到的列投影曲线在列点灰度值的33/80宽度区域内从左往右遍历,求出第一个局部最小值点,利用该点对应的列位置和首先中得到的行位置,即可共同确定出头像的闭包边界,从而定位出头像区域;
所述灰度图二值化的具体步骤为:使用sauvola算法对身份证灰度图进行二值化;
所述在二值图上祛除头像的具体步骤为:在二值化后的身份证图片上,将之前定位的头像区域的点的值全置为0;
所述水平矫正的具体步骤为:利用radon算法对二值化后祛除头像的身份证图片进行水平矫正;
所述行分割及后验处理的具体步骤为:首先、对二值化、祛除头像并完成水平矫正后的身份证图片进行行投影,等价于计算每行白色像素点的个数:
式中g为二值函数;
其次、用双阈值法来初步确定文本行的上下界;
最后、进行后验处理;
所述列分割及后验处理的具体步骤为:首先、按照行分割及后验处理输出的行坐标组从二值图中依次单独切分出每个文本行,并对该文本行进行列投影,即等价于计算一个文本行中每列白色像素点的个数:
式中g为二值函数;
其次、遍历列投影曲线,依然用双阈值法初步确定每列的列左界和列右界,对每个文本行都输出一组列坐标{(Jl,Jr)}(下标中“l”表示“left”,“r”表示“right”);
最后、对列坐标组进行后验处理;
所述提取单字符图的具体步骤为:首先、将列坐标集扩为为行列坐标集,同一个列坐标组里的所有列坐标对应同一个行坐标,将列坐标集里的所有列坐标分别和其所对应的行坐标拼起来,即形成四维坐标,其中四维是指:行上界,行下界,列左界,列右界,用数学语言表示为:
(iu,id,jl,jr) (0.10)
从而整体上,将列坐标集扩展为行列坐标集,一个单字符图可以由四维坐标唯一确定,行列坐标集包含了身份证上所有单字符图的坐标;
其次、从行列坐标集中删除不需要识别的单字符图坐标,并对剩下的单字符图坐标进行分类;身份证上的字符“姓名”、“性别”、“民族”、“出生”、“年”“月”“日”、“住址”、“公民身份证号码”这些字符在每个人的身份证上的位置都是固定的,不需要识别,而身份证上的其他字符的含义可依据这些字符确定,具体做法为:
1、将行列坐标集中的第一组中的前两个字符坐标删除,将第一组剩下的字符坐标都归类为“姓名”;
2、将行列坐标集中的第二组中的前两个字符坐标删除,将第二组中的第三个字符坐标归类为“性别”;将第二组中的第四和第五个字符坐标删除,将第二组剩下的字符坐标都归类为“民族”;
3、将行列坐标集中的第三组中的前两个字符坐标删除;将第三组中的第四、五、六、七个字符坐标都归类为“年”,将第三组中的第八个字符坐标删除;将第三组中的第九和第十个字符坐标都归类为“月”,将第三组中的第十一个字符坐标删除;将第三组中的第十二和第十三个字符坐标都归类为“日”,这组剩下的字符坐标都删除;
4、将行列坐标集中的第四组中的前两个字符坐标删除;将第四组剩下的字符坐标都归类为“住址”;
5、将行列坐标集中的第五组中的前六个字符坐标删除;将第五组剩下的字符坐标都归类为“公民身份号码”;
最后、依据完成删除后的行列坐标集中的字符坐标,将需要识别的单字符图从身份证二值化图中都切割出来,即为字符分割环节的最终输出;
所述字符识别的具体步骤为:调整尺寸→用深度加权残差网络识别→整理识别结果→输出文本;
所述调整尺寸的具体步骤为:利用双线性插值法将所有单字符图的尺寸调整为32×32;
所述用深度加权残差网络识别的具体步骤为:将调整尺寸后的所有单字符图批量送入本发明提出的深度加权残差网络中进行识别,输出每张单字符图对应的汉字或数字文本;
所述整理识别结果的具体步骤为:将所有单字符图都送入深度加权残差网络进行识别后;
所述输出文本的具体步骤为:识别后将所属分类相同的单字符图的识别结果合并输出即可。
所述字符分割的灰度图二值化中用C语言编写,实现sauvola算法编写。
所述字符分割的水平矫正中用Python语言编写,实现radon算法编写。
所述预处理和字符分割置于CPU上执行,字符识别置于GRU上执行。
所述用深度加权残差网络识别包含网络结构和超参数设置。
本发明的工作原理:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,处理后进行字符分割,之后进行字符识别,之后传输到云端,云端返回识别结果到移动端。
采用上述技术方案后,本发明有益效果为:
1、在字符分割中定位头像”提出了基于行或列投影的头像快速定位方法,比传统的基于连通域的头像定位方法具有更低的时间复杂度;
2、在字符分割中行分割及后验处理或字符分割环节中行分割及后验处理提出用双阈值法来初步确定行或列的坐标,双阈值法对身份证上的残留噪声有更好的容忍度,有利于提升最终的字符分割精度;
3、在字符分割中行分割及后验处理或字符分割中行分割及后验处理,针对现有工作缺乏对身份证中字符排布的特殊情况的处理,提出用后验处理来进行一步精炼行或列的坐标,从而进一步提升字符分割精度;
4、在字符识别中用深度加权残差网络识别提出了一种深度加权残差网络,相比现有的浅层卷积神经网络识别方法,具有更高的识别精度;
5、本发明采用了两种加速策略来加速整体算法的运行,在保证了算法精度的同时兼顾了算法的运行速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的流程示意框图;
图2是对应图1的具体流程示意框图;
图3是本发明中深度加权残差网络的结构示意框图;
图4是本发明中深度加权残差网络的结构明细表;
图5是本发明中预处理拍照身份证原始图片的区域示意图。
具体实施方式
参看图1-图5所示,本具体实施方式采用的技术方案是:它包含如下步骤:
预处理→字符分割→字符识别;
所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0(黑色);gamma算法来进行光照矫正,以解决拍照时身份证可能光照不均匀的问题,由于拍照场景不需要复杂的预处理算法,预处理的算法设计以快速完成为目的;
所述字符分割的具体步骤为:定位头像→灰度图二值化→在二值图上祛除头像→水平矫正→行分割及后验处理→列分割及后验处理→提取单字符图;
所述定位头像的具体步骤为:首先、将身份证图片进行行投影,累计每行点的灰度值:
其中W和H分别表示身份证图片的宽和高,f表示中点的灰度值,
对得到的行投影曲线在行点灰度值的1/4高度区域内从上往下遍历,求出第一个局部最小值点,从该点对应的行位置即可先将身份证号码部分分割出去;
其次、对身份证号码分割出去后剩下的图像进行列投影,累计每列点的灰度值:
对得到的列投影曲线在列点灰度值的33/80宽度区域内从左往右遍历,求出第一个局部最小值点,利用该点对应的列位置和首先中得到的行位置,即可共同确定出头像的闭包边界,从而定位出头像区域;
实践中发现身份证上头像区域点的灰度值会严重影响后续对文本行分割和列分割的准确性,因此头像区域需要在行(列)分割前祛除,观察身份证可以发现,身份证号码上面的个人信息和头像之间有较大的间隔,利用这一观察,提出了头像定位;
所述灰度图二值化的具体步骤为:使用sauvola算法对身份证灰度图进行二值化;
所述在二值图上祛除头像的具体步骤为:在二值化后的身份证图片上,将之前定位的头像区域的点的值全置为0;
所述水平矫正的具体步骤为:利用radon算法对二值化后祛除头像的身份证图片进行水平矫正;
所述行分割及后验处理的具体步骤为:首先、对二值化、祛除头像并完成水平矫正后的身份证图片进行行投影,等价于计算每行白色像素点的个数:
式中g为二值函数;某点为白色则g(i,j)=1,某点为黑色则g(i,j)=0,观察得到的行投影曲线易知,曲线的波峰区域对应身份证上有文本信息的行,波谷区域对应行的间隙;
其次、用双阈值法来初步确定文本行的上下界;
最后、进行后验处理;
所述列分割及后验处理的具体步骤为:首先、按照行分割及后验处理输出的行坐标组从二值图中依次单独切分出每个文本行,并对该文本行进行列投影,即等价于计算一个文本行中每列白色像素点的个数:
式中g为二值函数;
其次、遍历列投影曲线,依然用双阈值法初步确定每列的列左界和列右界,对每个文本行都输出一组列坐标{(Jl,Jr)}(下标中“l”表示“left”,“r”表示“right”);这里的过程和行分割及后验处理的相应过程完全相同;
最后、对列坐标组进行后验处理;后验处理的原因和行分割及后验处理类似,对于左右或左中右型的汉字,会因为左右或左中右间的空隙导致列投影曲线出现不必要的波谷,从而导致双阈值法误分,与行分割及后验处理的行分割后的后验处理稍有不同的是,列分割后的后验处理关注的是宽高比;
所述提取单字符图的具体步骤为:首先、将列坐标集扩为为行列坐标集,同一个列坐标组里的所有列坐标对应同一个行坐标,将列坐标集里的所有列坐标分别和其所对应的行坐标拼起来,即形成四维坐标,其中四维是指:行上界,行下界,列左界,列右界,用数学语言表示为:
(iu,id,jl,jr) (0.15)
从而整体上,将列坐标集扩展为行列坐标集,一个单字符图可以由四维坐标唯一确定,行列坐标集包含了身份证上所有单字符图的坐标;
其次、从行列坐标集中删除不需要识别的单字符图坐标,并对剩下的单字符图坐标进行分类;身份证上的字符“姓名”、“性别”、“民族”、“出生”、“年”“月”“日”、“住址”、“公民身份证号码”这些字符在每个人的身份证上的位置都是固定的,不需要识别,而身份证上的其他字符的含义可依据这些字符确定,具体做法为:
1、将行列坐标集中的第一组中的前两个字符坐标删除,将第一组剩下的字符坐标都归类为“姓名”;
2、将行列坐标集中的第二组中的前两个字符坐标删除,将第二组中的第三个字符坐标归类为“性别”;将第二组中的第四和第五个字符坐标删除,将第二组剩下的字符坐标都归类为“民族”;
3、将行列坐标集中的第三组中的前两个字符坐标删除;将第三组中的第四、五、六、七个字符坐标都归类为“年”,将第三组中的第八个字符坐标删除;将第三组中的第九和第十个字符坐标都归类为“月”,将第三组中的第十一个字符坐标删除;将第三组中的第十二和第十三个字符坐标都归类为“日”,这组剩下的字符坐标都删除;
4、将行列坐标集中的第四组中的前两个字符坐标删除;将第四组剩下的字符坐标都归类为“住址”;
5、将行列坐标集中的第五组中的前六个字符坐标删除;将第五组剩下的字符坐标都归类为“公民身份号码”;例如,身份证文本的第一行,前两个字符是“姓名”,不需要识别,所以把行列坐标集的第一组中的前两个字符坐标删除即可,而“姓名”后面的字符无论有几个,皆为一个人的姓名,所以将第一组剩下的字符坐标都归类为“姓名”,其他组的删除和归类操作皆依次类推;
最后、依据完成删除后的行列坐标集中的字符坐标,将需要识别的单字符图从身份证二值化图中都切割出来,即为字符分割环节的最终输出;
所述字符识别的具体步骤为:调整尺寸→用深度加权残差网络识别→整理识别结果
所述调整尺寸的具体步骤为:利用双线性插值法将所有单字符图的尺寸调整为32×32;
所述用深度加权残差网络识别的具体步骤为:将调整尺寸后的所有单字符图批量送入本发明提出的深度加权残差网络中进行识别,输出每张单字符图对应的汉字或数字文本;深度加权残差网络可输出15935种字符分类,涵盖了身份证上所有可能出现的汉字字符,以及数字和字母字符;
所述整理识别结果的具体步骤为:将所有单字符图都送入深度加权残差网络进行识别后;
所述输出文本的具体步骤为:识别后将所属分类相同的单字符图的识别结果合并输出即可。例如,有两个单字符图之前的归类皆为“姓名”,这两个单字符图的识别结果分别为“张”“三”,则最终得到身份证上的姓名文本为“张三”,单字符图所属的分类在字符分割的提取单字符图中已经得出。
所述字符分割的灰度图二值化中用C语言编写,实现sauvola算法编写。C语言具有更快的执行速度,对于本身份证文本识别算法中最耗时的部分进行识别。
所述字符分割的水平矫正中用Python语言编写,实现radon算法编写。Python作为一种更高抽象层次的编程语言,算法开发十分便捷。
所述预处理和字符分割置于CPU上执行,字符识别置于GPU上执行。由于深度加权残差网络的识别过程需要进行大量矩阵操作,将身份证文本识别算法的预处理和字符分割环节置于CPU上执行,而将字符识别环节置于GPU上执行,即深度加权残差网络的识别过程在GPU上进行运算;通过这种方式加速“字符识别”环节的执行速度;这一套加速策略后身份证文本识别算法对单张身份证的处理时间小于1秒。
所述用深度加权残差网络识别包含网络结构和超参数设置。网络结构:除了输入和输出外,该网络结构由1个朴素残差模组、7个加权残差模组和1个全连接模组三部分组成,第1个朴素残差模组的编号为“2”,按编号查询,可得其具体构成为Conv2D、Conv2D、Conv2D、Add、PReLU这五层,即由三个卷积层,一个加法层,一个带参激活函数层,且加法层和之前卷积层的连接采用残差连接,值得注意的是,对于7个加权残差模组,除了编号“6”加权残差模组,其余6个加权残差模组的结构完全相同,与现有工作中的浅层卷积神经网络相比,该网络结构具体构成中采用了残差连接和加权层,为深度网络,卷积层个数为18层,深度、残差连接、加权层,这三种特性的引入使得本发明的网络结构比浅层卷积神经网络有更强的拟合能力和更强的泛化性,可大幅提升字符识别的精度;
超参数设置:具体构成中,每一层的超参数设置,本领域技术人员不需付出创造性劳动即可实现本发明提出的深度加权残差网络。
本发明的工作原理:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,处理后进行字符分割,之后进行字符识别,之后传输到云端,云端返回识别结果到移动端。
背景技术及其缺陷中提到的相关工作可参见:Ahlawat,Deepti.″A Review onCharacter Recognition Using OCR Algorithm.″Journal of Network CommunicatiOhsand Emerging Technologies(JNCET)www.jncet.org 7.5(2017);
Modi,Hiral,and M.C.Parikh.″A review on optical character recognitiontechniques.″Int J Comput Appl 160.6(2017):20-24。
字符分割中提到的gamma算法、中值滤波、加权平均法、radon算法及sauvola算法皆为图像处理领域的公开知识,可参见:Beyel er,Michael.″Machine Learning forOpenCV.Intelligent Image Process ing with Python.″(2017)。
字符识别中提到的公开知识可参见:Hu,Jie,LiShen,and Gang Sun.″Squeeze-and-excitation networks.″Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition.2018。
采用上述技术方案后,本发明有益效果为:
1、在字符分割中定位头像”提出了基于行或列投影的头像快速定位方法,比传统的基于连通域的头像定位方法具有更低的时间复杂度;
2、在字符分割中行分割及后验处理或字符分割环节中行分割及后验处理提出用双阈值法来初步确定行或列的坐标,双阈值法对身份证上的残留噪声有更好的容忍度,有利于提升最终的字符分割精度;
3、在字符分割中行分割及后验处理或字符分割中行分割及后验处理,针对现有工作缺乏对身份证中字符排布的特殊情况的处理,提出用后验处理来进行一步精炼行或列的坐标,从而进一步提升字符分割精度;
4、在字符识别中用深度加权残差网络识别提出了一种深度加权残差网络,相比现有的浅层卷积神经网络识别方法,具有更高的识别精度;
5、本发明采用了两种加速策略来加速整体算法的运行,在保证了算法精度的同时兼顾了算法的运行速度。
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:它包含如下步骤:
预处理→字符分割→字符识别;
所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0;
所述字符分割的具体步骤为:定位头像→灰度图二值化→在二值图上祛除头像→水平矫正→行分割及后验处理→列分割及后验处理→提取单字符图;
所述定位头像的具体步骤为:首先、将身份证图片进行行投影,累计每行点的灰度值:
其中W和H分别表示身份证图片的宽和高,f表示中点的灰度值,对得到的行投影曲线在行点灰度值的1/4高度区域内从上往下遍历,求出第一个局部最小值点,从该点对应的行位置即可先将身份证号码部分分割出去;
其次、对身份证号码分割出去后剩下的图像进行列投影,累计每列点的灰度值:
对得到的列投影曲线在列点灰度值的33/80宽度区域内从左往右遍历,求出第一个局部最小值点,利用该点对应的列位置和首先中得到的行位置,即可共同确定出头像的闭包边界,从而定位出头像区域;
所述灰度图二值化的具体步骤为:使用sauvola算法对身份证灰度图进行二值化;
所述在二值图上祛除头像的具体步骤为:在二值化后的身份证图片上,将之前定位的头像区域的点的值全置为0;
所述水平矫正的具体步骤为:利用radon算法对二值化后祛除头像的身份证图片进行水平矫正;
所述行分割及后验处理的具体步骤为:首先、对二值化、祛除头像并完成水平矫正后的身份证图片进行行投影,等价于计算每行白色像素点的个数:
式中g为二值函数;
其次、用双阈值法来初步确定文本行的上下界;
最后、进行后验处理;
所述列分割及后验处理的具体步骤为:首先、按照行分割及后验处理输出的行坐标组从二值图中依次单独切分出每个文本行,并对该文本行进行列投影,即等价于计算一个文本行中每列白色像素点的个数:
式中g为二值函数;
其次、遍历列投影曲线,依然用双阈值法初步确定每列的列左界和列右界,对每个文本行都输出一组列坐标{(jl,jr)}下标中“l”表示“left”,“r”表示“right”;
最后、对列坐标组进行后验处理;
所述提取单字符图的具体步骤为:首先、将列坐标集扩为为行列坐标集,同一个列坐标组里的所有列坐标对应同一个行坐标,将列坐标集里的所有列坐标分别和其所对应的行坐标拼起来,即形成四维坐标,其中四维是指:行上界,行下界,列左界,列右界,用数学语言表示为:
(iu,id,jl,jr) (0.5)
从而整体上,将列坐标集扩展为行列坐标集,一个单字符图可以由四维坐标唯一确定,行列坐标集包含了身份证上所有单字符图的坐标;
其次、从行列坐标集中删除不需要识别的单字符图坐标,并对剩下的单字符图坐标进行分类;身份证上的字符“姓名”、“性别”、“民族”、“出生”、“年”“月”“日”、“住址”、“公民身份证号码”这些字符在每个人的身份证上的位置都是固定的,不需要识别,而身份证上的其他字符的含义可依据这些字符确定,具体做法为:
1、将行列坐标集中的第一组中的前两个字符坐标删除,将第一组剩下的字符坐标都归类为“姓名”;
2、将行列坐标集中的第二组中的前两个字符坐标删除,将第二组中的第三个字符坐标归类为“性别”;将第二组中的第四和第五个字符坐标删除,将第二组剩下的字符坐标都归类为“民族”;
3、将行列坐标集中的第三组中的前两个字符坐标删除;将第三组中的第四、五、六、七个字符坐标都归类为“年”,将第三组中的第八个字符坐标删除;将第三组中的第九和第十个字符坐标都归类为“月”,将第三组中的第十一个字符坐标删除;将第三组中的第十二和第十三个字符坐标都归类为“日”,这组剩下的字符坐标都删除;
4、将行列坐标集中的第四组中的前两个字符坐标删除;将第四组剩下的字符坐标都归类为“住址”;
5、将行列坐标集中的第五组中的前六个字符坐标删除;将第五组剩下的字符坐标都归类为“公民身份号码”;
最后、依据完成删除后的行列坐标集中的字符坐标,将需要识别的单字符图从身份证二值化图中都切割出来,即为字符分割环节的最终输出;
所述字符识别的具体步骤为:调整尺寸→用深度加权残差网络识别→整理识别结果→输出文本;
所述调整尺寸的具体步骤为:利用双线性插值法将所有单字符图的尺寸调整为32×32;
所述用深度加权残差网络识别的具体步骤为:将调整尺寸后的所有单字符图批量送入前文提出的深度加权残差网络中进行识别,输出每张单字符图对应的汉字或数字文本;
所述整理识别结果的具体步骤为:将所有单字符图都送入深度加权残差网络进行识别后;
所述输出文本的具体步骤为:识别后将所属分类相同的单字符图的识别结果合并输出即可。
2.根据权利要求1所述的一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:所述字符分割的灰度图二值化中用C语言编写,实现sauvola算法编写。
3.根据权利要求1所述的一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:所述字符分割的水平矫正中用Python语言编写,实现radon算法编写。
4.根据权利要求1所述的一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:所述预处理和字符分割置于CPU上执行,字符识别置于GPU上执行。
5.根据权利要求1所述的一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:所述用深度加权残差网络识别包含网络结构和超参数设置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910311448.8A CN110414517B (zh) | 2019-04-18 | 2019-04-18 | 一种用于配合拍照场景的快速高精度身份证文本识别算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910311448.8A CN110414517B (zh) | 2019-04-18 | 2019-04-18 | 一种用于配合拍照场景的快速高精度身份证文本识别算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110414517A CN110414517A (zh) | 2019-11-05 |
CN110414517B true CN110414517B (zh) | 2023-04-07 |
Family
ID=68357620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910311448.8A Active CN110414517B (zh) | 2019-04-18 | 2019-04-18 | 一种用于配合拍照场景的快速高精度身份证文本识别算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110414517B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021134229A1 (zh) * | 2019-12-30 | 2021-07-08 | 深圳市欢太科技有限公司 | 文字识别方法、装置、存储介质及电子设备 |
CN111753842B (zh) * | 2020-06-28 | 2024-02-27 | 中国银行股份有限公司 | 票据文本区域检测方法及装置 |
CN111914717A (zh) * | 2020-07-24 | 2020-11-10 | 安徽华速达电子科技有限公司 | 一种基于抄表数据智能识别的数据录入方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145915A (zh) * | 2018-07-27 | 2019-01-04 | 武汉科技大学 | 一种复杂场景下车牌快速畸变矫正方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1107579A3 (en) * | 1999-11-30 | 2004-07-21 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus, image processing method and recording medium |
WO2007022460A2 (en) * | 2005-08-18 | 2007-02-22 | Digital Business Processes, Inc. | Post-ocr image segmentation into spatially separated text zones |
CN101276499B (zh) * | 2008-04-18 | 2010-09-01 | 浙江工业大学 | 基于全方位计算机视觉的atm设备的智能监控装置 |
JP5026484B2 (ja) * | 2009-09-17 | 2012-09-12 | シャープ株式会社 | 携帯端末装置、画像出力装置、撮像画像処理システム、携帯端末装置の制御方法、画像出力方法、プログラム、および記録媒体 |
CN103488984B (zh) * | 2013-10-11 | 2017-04-12 | 瑞典爱立信有限公司 | 基于智能移动设备的二代身份证识别方法及装置 |
CN103679636B (zh) * | 2013-12-23 | 2016-08-31 | 江苏物联网研究发展中心 | 基于点、线双重特征的快速图像拼接方法 |
CN104077604B (zh) * | 2014-07-17 | 2017-05-24 | 重庆大学 | 一种文本内容无关的褶皱中文手写体鉴别方法 |
CN106156712A (zh) * | 2015-04-23 | 2016-11-23 | 信帧电子技术(北京)有限公司 | 一种基于自然场景下的身份证号码识别方法与装置 |
CN105528601A (zh) * | 2016-02-25 | 2016-04-27 | 华中科技大学 | 基于接触式传感器的身份证图像采集、识别系统及采集识别方法 |
US20180018974A1 (en) * | 2016-07-16 | 2018-01-18 | Ron Zass | System and method for detecting tantrums |
CN207086390U (zh) * | 2017-07-27 | 2018-03-13 | 重庆神玥防火材料有限公司 | 一种用于防火材料生产的防尘房 |
CN108647696B (zh) * | 2018-05-08 | 2021-07-23 | 北京三快在线科技有限公司 | 图片颜值确定方法及装置、电子设备、存储介质 |
CN108764141B (zh) * | 2018-05-25 | 2021-07-02 | 广州虎牙信息科技有限公司 | 一种游戏场景描述方法、装置、设备及其存储介质 |
CN108830213A (zh) * | 2018-06-12 | 2018-11-16 | 北京理工大学 | 基于深度学习的车牌检测与识别方法和装置 |
CN109035409B (zh) * | 2018-07-05 | 2023-06-23 | 西安电子科技大学 | 一种基于简化的距离驱动与立体角模型的srm及其构建方法 |
CN109325414A (zh) * | 2018-08-20 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 证件信息的提取方法、装置和文本信息的提取方法 |
CN109446345A (zh) * | 2018-09-26 | 2019-03-08 | 深圳中广核工程设计有限公司 | 核电文件校验处理方法以及系统 |
CN109635628A (zh) * | 2018-10-23 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 身份证信息验证方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-04-18 CN CN201910311448.8A patent/CN110414517B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145915A (zh) * | 2018-07-27 | 2019-01-04 | 武汉科技大学 | 一种复杂场景下车牌快速畸变矫正方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110414517A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609549B (zh) | 一种自然场景下证件图像的文本检测方法 | |
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
CN110414517B (zh) | 一种用于配合拍照场景的快速高精度身份证文本识别算法 | |
CN111325203A (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN107832767A (zh) | 集装箱箱号识别方法、装置及电子设备 | |
CN110766017B (zh) | 基于深度学习的移动终端文字识别方法及系统 | |
Jackel et al. | An application of neural net chips: Handwritten digit recognition | |
CN111626146A (zh) | 一种基于模板匹配的合并单元格表格分割识别方法 | |
CN112861760A (zh) | 一种用于表情识别的方法和装置 | |
CN108615058A (zh) | 一种字符识别的方法、装置、设备及可读存储介质 | |
CN112883795B (zh) | 一种基于深度神经网络的表格快速自动提取方法 | |
CN110807775A (zh) | 基于人工智能的中医舌像分割装置、方法及存储介质 | |
CN112036259A (zh) | 一种基于图像处理与深度学习相结合的表格矫正与识别的方法 | |
CN112507782A (zh) | 文本图像的识别方法及装置 | |
CN111680690A (zh) | 一种文字识别方法及装置 | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN115331245B (zh) | 一种基于图像实例分割的表格结构识别方法 | |
CN105335760A (zh) | 一种图像数字字符识别方法 | |
CN111161281A (zh) | 一种人脸区域识别方法、装置及存储介质 | |
CN115578741A (zh) | 一种基于Mask R-cnn算法和类型分割的扫描文件版面分析方法 | |
CN109741273A (zh) | 一种手机拍照低质图像的自动处理与评分方法 | |
CN112668567A (zh) | 一种基于深度学习的图像裁剪算法 | |
CN106709490A (zh) | 一种字符识别方法和装置 | |
CN110610177A (zh) | 字符识别模型的训练方法、字符识别方法及装置 | |
CN110533030B (zh) | 基于深度学习的太阳胶片图像时间戳信息提取方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |