基于图像匹配的证件号码识别方法技术

技术编号:38230197 阅读:7 留言:0更新日期:2023-07-25 17:58
本发明专利技术公开了基于图像匹配的证件号码识别方法,属于证件识别技术领域,包括如下步骤,证件号码区域定位:使用预先训练的文本检测模型定位该图像所有文本坐标位置;字符分割:对证件号码区域图像进行灰度处理,然后二值化处理并进行连通区域分析;创建证件号码单字符图像模板库:将证件号码文本图像分割成十个单字符图像,挑选字符集,保存作为模板库;字符匹配:将多个单字符图形进行排序并在模板中进行匹配得到概率矩阵,然后在列方向进行索引得到识别结果。本发明专利技术旨在识别证件号码,不需要大量标注数据,同时使用连通区域分析法获得证件号码图像单字符所在位置,获得的边界框紧贴字符区域,使得裁剪出来的字符更加精准。使得裁剪出来的字符更加精准。使得裁剪出来的字符更加精准。

【技术实现步骤摘要】
基于图像匹配的证件号码识别方法


[0001]本专利技术涉及证件识别
,尤其涉及基于图像匹配的证件号码识别方法。

技术介绍

[0002]某一国家某一类型证件(如身份证、驾驶证等),其证件号码的字体是确定的、一致的,基于此,可采用图像匹配的方式进行证件号码的识别;
[0003]证件号码的识别属于光学字符识别技术范畴,常见的方法是人工提取图像特征,然后训练机器学习分类模型进行字符分类,如SVM、XGBOOST等,然后基于深度学习算法,使用卷积神经网络和循环神经网络提取特征,结合CTC或者注意力机制进行字符预测,如CRNN、SATRN等,无论是基于传统人工提取特征和基于深度学习技术,都需要大量标注数据进行模型的训练,并且模型文件往往很大;
[0004]现有技术专利(CN201810736445.4,基于OpenCV的银行卡号识别方法)也采用模板匹配的方法进行号码识别,需要区分强光照、中光照、弱光照和光照不均匀四种情况,再使用膨胀腐蚀提取号码区域图像;通过列投影法进行字符分割,最后模板匹配得到字符文本,其缺点在于需要区分光照场景,并且膨胀腐蚀进行卡号区域的定位提取也很容易受到背景及光照影响;因此提出基于图像匹配的证件号码识别方法解决上述问题。

技术实现思路

[0005]本专利技术的目的是为了解决现有技术中无论是基于传统人工提取特征和基于深度学习技术,都需要大量标注数据进行模型的训练,并且模型文件往往很大的问题,而提出的基于图像匹配的证件号码识别方法。
[0006]为了实现上述目的,本专利技术采用了如下技术方案:
[0007]基于图像匹配的证件号码识别方法,包括如下步骤,
[0008]S1、证件号码区域定位:使用预先训练的文本检测模型定位该图像所有文本坐标位置,根据文本坐标位置和文本条的宽高比筛选出证件号码区域图像;
[0009]S2、字符分割:对证件号码区域图像进行灰度处理,然后二值化处理得到二值图,对二值图进行连通区域分析,将连通区域转换为边界框,基于这些边界框在二值图上分割出已经二值化处理后的单字符图像;
[0010]S3、创建证件号码单字符图像模板库:将证件号码文本图像分割成十个单字符图像,挑选字符集,对身份证中0

9十个字符,进行二值化处理,保存作为模板库;
[0011]S4、字符匹配:通过字符分割后得到多个单字符图像,模板库中字符按0到9进行排序,将每个字符图像都与模板库中的每个字符进行模板匹配,得到N行M列的匹配概率矩阵,在列方向计算最大概率值索引,根据该索引从模板库中可得到N个字符,即为证件号码的识别结果。
[0012]优选的,所述S3中证件号码的字符集是固定的,例如国内居民身份证证件号码字符集为0

9这十个数字,所述S3中的模板只需创建一次。
[0013]优选的,所述S3中模板的创建是通过任何编程语言部署得到的,所述编程语言包括但不限于python软件。
[0014]优选的,所述S1中的文本检测模型是通过人工提取图像特征或者通过基于深度学习算法,使用卷积神经网络和循环神经网络提取特征实现的。
[0015]优选的,所述S3中的字符分割是通过连通区域分析法实现的。
[0016]优选的,所述S2中宽和高小于10个像素的边界框被过滤掉,对于剩下的边界框,当一个边界框包含在另一个边界框里面,则将该边界框移除,最后留下的边界框就是各字符的位置。
[0017]优选的,所述S4中N为证件号码长度,M为模板库中字符数量。
[0018]相比现有技术,本专利技术的有益效果为:
[0019]本专利技术旨在识别证件号码,不需要大量标注数据,不需要训练文本识别模型,不需要区分光照情况,因此扩展性更强,运行速度快;同时,使用连通区域分析法获得证件号码图像单字符所在位置,获得的边界框紧贴字符区域,使得裁剪出来的字符更加精准。
附图说明
[0020]图1为本专利技术提出的基于图像匹配的证件号码识别方法的流程结构框图;
[0021]图2为本专利技术提出的基于图像匹配的证件号码识别方法中待检测证件号码图像二值化及分割示例图;
[0022]图3为本专利技术提出的基于图像匹配的证件号码识别方法中证件号码模板库的示意图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]参照图1

3,基于图像匹配的证件号码识别方法,包括如下步骤,
[0025]S1、证件号码区域定位:使用预先训练的文本检测模型定位该图像所有文本坐标位置,根据文本坐标位置和文本条的宽高比筛选出证件号码区域图像;
[0026]S2、字符分割:对证件号码区域图像进行灰度处理,然后二值化处理得到二值图,对二值图进行连通区域分析,将连通区域转换为边界框,基于这些边界框在二值图上分割出已经二值化处理后的单字符图像;
[0027]S3、创建证件号码单字符图像模板库:将证件号码文本图像分割成十个单字符图像,挑选字符集,对身份证中0

9十个字符,进行二值化处理,保存作为模板库;
[0028]S4、字符匹配:通过字符分割后得到多个单字符图像,模板库中字符按0到9进行排序,将每个字符图像都与模板库中的每个字符进行模板匹配,得到N行M列的匹配概率矩阵,在列方向计算最大概率值索引,根据该索引从模板库中可得到N个字符,即为证件号码的识别结果。
[0029]S3中证件号码的字符集是固定的,例如国内居民身份证证件号码字符集为0

9这
十个数字,所述S3中的模板只需创建一次。
[0030]S3中模板的创建是通过任何编程语言部署得到的,编程语言包括但不限于python软件;
[0031]值得注意的是,以python为例,依赖opencv图像处理算法库,操作步骤如下:
[0032]首先,创建模板(如果已经创建过,则无需再创建),先从证件号码图像中裁剪单字符,挑选字符集,如身份证中0

9十个字符,进行二值化处理,保存作为模板库;然后,在检测阶段,先加载模板库,即第一步创建的十个二值化字符图像;其次,读入待检测图像,转换为二值图,分割出单个字符图像;再次,对于每个分割出来的单字符图像,都在模板库中进行模板匹配,模板库中的字符按照0到9进行排序,得到一系列匹配概率值,假设模板库字符集个数为M,证件号码长度为N,则得到N行M列的概率矩阵,在列方向计算最大概率值索引,根据该索引从模板库中可得到N个字符,即为证件号码的识别结果。
[0033]S1中的文本检测模型是通过人工提取图像特征或者通过基于深度学习算法,使用卷积神经网络和循环神经网络提取特征实现的。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于图像匹配的证件号码识别方法,其特征在于,包括如下步骤,S1、证件号码区域定位:使用预先训练的文本检测模型定位该图像所有文本坐标位置,根据文本坐标位置和文本条的宽高比筛选出证件号码区域图像;S2、字符分割:对证件号码区域图像进行灰度处理,然后二值化处理得到二值图,对二值图进行连通区域分析,将连通区域转换为边界框,基于这些边界框在二值图上分割出已经二值化处理后的单字符图像;S3、创建证件号码单字符图像模板库:将证件号码文本图像分割成十个单字符图像,挑选字符集,对身份证中0

9十个字符,进行二值化处理,保存作为模板库;S4、字符匹配:通过字符分割后得到多个单字符图像,模板库中字符按0到9进行排序,将每个字符图像都与模板库中的每个字符进行模板匹配,得到N行M列的匹配概率矩阵,在列方向计算最大概率值索引,根据该索引从模板库中可得到N个字符,即为证件号码的识别结果。2.根据权利要求1所述的基于图像匹配的证件号码识别方法,其特征在于:所述S3中证件号码的字符集是固定的,例如国内居...

【专利技术属性】
技术研发人员:高利军黄泽琪李茜马宇翔胡博
申请(专利权)人:唯思电子商务深圳有限公司
类型:发明
国别省市:

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

1