一种用于配合拍照场景的快速高精度身份证文本识别算法制造技术

技术编号:22468161 阅读:23 留言:0更新日期:2019-11-06 11:55
一种用于配合拍照场景的快速高精度身份证文本识别算法,它涉及一图像处理、模式识别和深度学习技术领域。它包含如下步骤:预处理→字符分割→字符识别;所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0(黑色)。采用上述技术方案后,本发明专利技术有益效果为:在字符分割中定位头像”提出了基于行或列投影的头像快速定位方法,比传统的基于连通域的头像定位方法具有更低的时间复杂度。

A fast and high-precision text recognition algorithm for ID card used to cooperate with photographing scene

【技术实现步骤摘要】
一种用于配合拍照场景的快速高精度身份证文本识别算法
本专利技术涉及图像处理、模式识别和深度学习
,具体涉及一种用于配合拍照场景的快速高精度身份证文本识别算法。
技术介绍
作为现代社会中最重要的法定证件之一,身份证包含了一个人的基本身份信息,是办理自身各种业务必不可少的工具。最初,身份证中的文本信息登记多由人手工录入,这不仅耗费人力物力,而且效率低下。近些年来,随着二代身份证的广泛使用,市面上出现了针对二代身份证的专用读卡器,该类读卡器通过与二代身份证内置的射频芯片通信来获取身份证的文本信息。这种方法需要配备专门的硬件设备,其使用范围十分受限。与之相比,利用光学字符识别技术来读取身份证文本信息提供了另一种解决方案。光学字符识别技术是指对待识别物体进行光学成像后,在计算设备上通过算法提取图像中的字符,并识别成相应的文字或数字的过程。光学字符识别技术以光学图像为处理对象,因此凡是有摄像头的设备都可以结合光学字符识别技术来搭建身份证文本信息自动录入系统,在智能手机普及的今天,基于光学字符识别技术的方案显然具有更广的应用场景,其使得个人在移动端便捷录入身份证文本信息成为可能。目前移动端的手机应用在做身份证图像采集时,多采用配合拍照成像,以减小身份证拍照时不同放置背景对识别效果的影响。配合拍照是指用户在拍照时,手机屏幕界面上会出现一个宽高比与实际身份证相符的方框,用户在拍照时需通过调整拍照高度和角度,以确保从手机屏幕界面上看到的身份证面积正好布满方框,尽量不要超出或不足。本专利技术也正是针对该种场景开发身份证文本识别算法。经过调研,现有的针对配合拍照场景的身份证文本识别技术主要存在两方面问题: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.5)从而整体上,将列坐标集扩展为行列坐标集,一个单字符图可以由四维坐标唯一确定,行列坐标集包含了身份证上所有单字符图的坐标;其次、从行列坐标集中删除不需要识别的单字符图坐标,并对剩下的单字符图坐标进行分类;身份证上的字符“姓名”、“性别”、“民族”、“出生”、“年”“月”“日”、“住址”、“公民身份证号码”这些字符在每个人的身份证上的位置都是固定的,不需要识别,而身份证上的其他字符的含义可依据这些字符确定,具体做法为:1、将行列坐标集中的第一组中的前两个字符坐标删除,将第一组剩下的字符坐标都归类为“姓名”;2、将行列坐标集中的第二组中的前两个字符坐标删除,将第二组中的第三个字符坐标归类为“性别”;将第二组中的第四和第五个本文档来自技高网
...

【技术保护点】
1.一种用于配合拍照场景的快速高精度身份证文本识别算法,其特征在于:它包含如下步骤:预处理→字符分割→字符识别;所述预处理的具体步骤为:移动端拍照后上传身份证原始图片,之后存储在云端,并对输入的原始图片进行处理,即将其调整为960×600的固定尺寸,再用gamma算法来进行光照矫正,之后用中值滤波对图片降噪,取平滑的像素区域为3×3,最后用加权平均法将图片由彩色图转为灰度图,转为灰度图后,将图片边缘的像素值设为0(黑色);所述字符分割的具体步骤为:定位头像→灰度图二值化→在二值图上祛除头像→水平矫正→行分割及后验处理→列分割及后验处理→提取单字符图;所述定位头像的具体步骤为:首先、将身份证图片进行行投影,累计每行点的灰度值:

【技术特征摘要】
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)(2.10)从而整体上,将列坐标集扩展为行列坐标集,一个单字符图可以由四维坐标唯一确定,行列坐标集包含了身份证上所有单字符图的坐标;其次、从行列坐标集中删除不需要识别的单字符图坐标,并对剩下的单字符图坐标进行分类;身份证上的字符“姓名”、“性别”、“民族”、“出生”、“年”“月”“日”、“住址”、“公民身份证号码”这些字符在每个人的身份证上的位置都是固定的,不需要识别,而身份证上的其他字符的含义可依据这些字符确定,具体做法为:1、将行列坐标集中的第一组中的前两个字符坐标删除,将第一组剩下的字符坐标都归类为“姓名”;2、将行列坐标集中的第二组中的前两个字符坐标删除,将第二组中的第三个字符坐标归类为“性别”;将第二组中的第四和第五个字符坐标删除,将第二组剩下的字符坐标都归类为“民族”;3、将行列坐标集中的第三组中的前两个字符坐标删除;将第三组中的第四、五、六、七个字符坐标都归类为“年”,将第三组中的第八个字符坐标删除;将第三组中的第九和第十个字符坐标都归类为“月”,将第三组中的第十一个字符坐标删除;将第三组中的第十二和第十三个字符坐标都归类为“日”,这组剩下的字符坐标都删除;4、将行列坐标集中的第四组中的前两个字符坐标删除;将第四组剩下的字符坐标都归类为“住址”;5、将行列坐标集中的第五组中的前六个字符坐标删除;将第五组剩下的字符坐标都归类为“公民身份号码”;最后、依据完成删除后的行列坐标集中的字符坐标,将需要识别的单字符图从身份证二值化...

【专利技术属性】
技术研发人员:郭永强刘铜强罗俊熊浩陈亮谢运展
申请(专利权)人:河北神玥软件科技股份有限公司
类型:发明
国别省市:河北,13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1