一种基于自适应参数调整的智能卡表面字符识别的方法

文档序号:25039291发布日期:2021-05-14 13:07阅读:58来源:国知局
一种基于自适应参数调整的智能卡表面字符识别的方法

1.本发明涉及智能卡图像识别领域,具体涉及一种基于自适应参数调整的智能卡表面字符识别的方法。


背景技术:

2.智能卡是包括银行卡、社保卡在内的ic芯片卡,不同版面的智能卡其卡片背景、颜色、图案等存在差异性。智能卡字符有别于手写字符,智能卡字符具有字体规范、大小统一、存在背景干扰(智能卡的个性化背景)的特点。此外,智能卡字符识别需要用环形光或条形光等光源对卡片进行照射以减少自然光线的影响,然而外部光线的变化仍然会导致卡片表面光照发生细微的变化。综上所述,智能卡字符识别方法需要适应不同背景、不同光照的变化。
3.常见的字符识别方法有基于机器学习的字符识别方法和基于模板匹配的字符识别方法,前者依靠大量不同光照、不同背景下的样本训练字符模型,从而适应各种光照和背景变化下的字符识别;后者则使用一系列图像预处理方法(包括二值化、图像滤波等),去除光照和背景的影响,使用单一字符模板进行字符识别。
4.相比较之下,基于机器学习的字符识别方法优点在于模型训练结束后,可以自动适应各种光照和背景的变化;缺点有:(1)需要大量不同光照、不同背景下字符训练样本;(2)训练好的模型不能识别新的卡片背景,需要对整个模型重新训练;(3)模型容易陷入过拟合和欠拟合状态。因此,基于机器学习的字符识别方法不适用智能卡这种背景类型多、光照变化细微的识别场景;
5.基于模板匹配的字符识别方法优点在于不需要大量的模板(单一或少量样本)即可实现字符识别,缺点在于:(1)图像预处理过程中不同参数的设置会对最终识别结果造成比较大的影响,且参数之间相互耦合且无标准;(2)字符模板数量多,对于每一种卡片背景,需要创建一种字符模板与之对应;(3)测试困难,需要先在一张卡片进行字符识别并成功后,才对批量卡片进行识别并统计精度,如不能满足识别精度要求,需要重新调整参数再次识别。
6.进一步的,智能卡存在个性化定制需求,不同版面的智能卡其卡片背景、颜色、图案等存在差异性。因此,当光照发生变化时,基于模板匹配的智能卡字符识别方法需要对每一种背景的字符模板,都调整对应的字符模板的图像预处理参数,其过程涉及的参数多(m个模板,n个参数,一共有m
×
n个参数)且参数调整结果存在不确定性,从而导致智能卡字符识别过程耗时耗力。
7.因此需要对现有的基于模板匹配的智能卡字符识别技术进行进一步地改进,实现当光照发生变化时,可以对多张字符模板的图像预处理参数自适应调整,以满足字符识别精度的要求,整个过程无需人工干预。


技术实现要素:

8.为了解决上述技术问题,本发明提供一种满足精度要求且可以适用多种版面智能卡字符的基于自适应参数调整的智能卡表面字符识别的方法。
9.为实现上述目的,本发明采取的技术方案如下:一种基于自适应参数调整的智能卡表面字符识别的方法,该方法包括以下步骤:
10.s1:创建模板:用于创建智能卡表面字符识别所需的模板信息;
11.s2:参数搜索:用于利用学习模型获取满足图像识别精度要求的图像预处理参数;
12.s3:图像识别:用于根据s1创建的模板信息和s2获取到的图像预处理参数,采用模板匹配方法对智能卡表面字符进行识别,并得到最终的识别结果。
13.优选地,步骤s1中创建模板的方法步骤如下:
14.s1-1:图像获取:用于调用摄像头采集单张智能卡图像;
15.s1-2:定位区域获取:用于在所述智能卡图像上用矩形框方式选取出定位区域,并获取定位区域图像;
16.s1-3:roi区域获取:用于在所述智能卡图像上用矩形框方式选取出roi区域,并获取定位区域与roi区域的相对位置信息、roi区域的长宽信息;
17.s1-4:字符模板获取:用于在所述roi区域内以矩形框方式获取出多个字符模板图像,并人工标记出每个字符模板图像对应的标签信息;
18.s1-5:模板保存:用于将定位区域图像、定位区域与roi区域的相对位置信息、roi区域的长宽信息、字符模板图像和标签信息保存在模板中。
19.优选地,步骤s2中参数搜索步骤如下:
20.s2-1:批量图像获取:用于调用摄像头采集与步骤s1中版面一致、内容不同的批量智能卡图像,并保存所述的批量智能卡图像对应的标签信息;
21.s2-2:参数初始化:用于设定一个预设识别精度,以及设定幂次变换参数、二值化参数、模板匹配参数的取值范围和搜索步长;
22.s2-3:读取模板:用于读取模板信息,包括定位区域图像、定位区域与roi区域的相对位置信息、roi区域的长宽信息、字符模板图像和标签信息;
23.s2-4:组合参数:用于对每个所述的幂次变换参数、二值化参数、模板匹配参数的值按从大到小的方式进行排序,并依次构成多组参数组合;
24.s2-5:批量图像字符识别:用于从步骤s2-4所述的多组参数组合中提取出一组参数组合,并对步骤s2-1中所述的批量智能卡图像进行幂次变换、二值化处理、模板匹配、字符识别;
25.s2-6:统计识别结果:用于对批量智能卡图像的字符识别结果进行统计,如果平均识别精度大于步骤s2-2所述的预设识别精度,执行步骤s2-7,否则选择另外一组参数,重新执行步骤2-5;
26.s2-7:参数保存:用于将当前所使用的参数作为最优参数,保存到模板中。
27.优选地,步骤s3中图像识别的步骤如下:
28.s3-1:图像获取:用于调用摄像头采集单张智能卡图像;
29.s3-2:读取模板信息:用于读取模板信息,包括定位区域图像、定位区域与roi区域的相对位置信息、roi区域的长宽信息、字符模板图像和标签信息、最优参数;
30.s3-3:roi区域定位:用于根据所述定位区域图像,使用模板匹配方法在所述智能卡图像内进行匹配,找到所述智能卡图像中roi区域所在位置;
31.s3-4:图像处理:用于根据所述最优参数设置幂次变换和二值化的输入参数,采用幂次变换、二值化操作对所述roi区域的图像进行处理;
32.s3-5:字符区域匹配:用于使用所述最优参数设置模板匹配的输入参数,采用模板匹配方法,将所有字符模板图像逐一与roi区域的图像进行相似度比较,每个字符模板图像均得到多个相似度大于模板匹配输入参数的字符候选区域集合;
33.s3-6:字符识别:用于对所述字符候选区域集合,采用层次聚类方法将同一个范围内的字符候选区域进行合并,得到最终的识别结果;
34.优选地,步骤s3-5中roi区域图像与字符模板图像匹配的方法过程如下:
35.将字符模板图像t,叠放在被搜索的roi区域图像s上平移,字符模板图像的像素为w
×
h,被搜索的roi区域图像s的像素为w
×
h;
36.字符模板图像覆盖roi区域图像的区域叫子图s
i,j
,其中,i,j为子图左上角在roi区域图像上的坐标,1≤i≤w-w/2-1,1≤j≤h-h/2-1;通过比较t和s
i,j
的相似性,完成模板匹配过程。
37.优选地,衡量字符模板图像t和与坐标(i,j)的子图s
i,j
的相似度p(i,j),通过下面得到:
[0038][0039]
在被搜索的输入图像s中完成全部搜索后,找出大于模板匹配输入参数的所有p值,其对应的子图s
i,j
即为字符候选区域集合。
[0040]
优选地,步骤s3-6中采用层次聚类合并字符候选区域的方法过程如下:
[0041]
将字符候选区域按照相似度从高到低进行排序,获取其中一个字符候选区域所在的中心位置信息,比较该中心位置与剩余的字符候选区域中心位置的欧式距离,如果距离小于字符模板斜边长度的1/2,则将所在的字符候选区域合并,新的候选区域中心位置为所有候选区域中心位置的平均值,重复上述过程,直至所有字符候选区域之间的欧式距离大于字符模板斜边长度的1/2,合并过程停止。
[0042]
本发明有益的技术效果:首先,本发明对现有的基于模板匹配的智能卡字符识别技术进行进一步地改进,通过采用同样环境下的多个样本训练出改变环境后的图像预处理参数,使得原有的字符模板能够自适应改变环境后的字符识别,解决了原有技术当外部环境改变时需要人工调参的问题。其次,本发明在识别过程中采用了层次聚类合并字符候选区域的方法,克服了多目标识别过程中的误识问题(包括同一字符存在多个不同的识别结果以及同一字符区域内存在多个相同的识别结果),从而保证了识别结果的准确率。
附图说明
[0043]
图1为本发明方法的步骤流程图;
[0044]
图2是创建模板的流程图;
[0045]
图3是创建模板的具体实施例;
[0046]
图4是参数搜索的流程图;
[0047]
图5是图像识别的流程图;
[0048]
图6是字符区域匹配的具体实施例。
具体实施方式
[0049]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明,但本发明要求保护的范围并不局限于下述具体实施例。
[0050]
如图1所示,一种基于自适应参数调整的智能卡表面字符识别的方法,该方法包括以下步骤:
[0051]
s1:创建模板:用于创建智能卡表面字符识别所需的模板信息;
[0052]
具体地,如图2、图3所示,步骤s1中创建模板的方法步骤如下:
[0053]
s1-1:图像获取:本实施例中,调用摄像头采集单张智能卡图像21。
[0054]
s1-2:定位区域获取:在智能卡图像21上用矩形框方式选取出定位区域,其左上角的坐标记为(x,y),本实施例中x=4,y=4,并获取定位区域图像22。
[0055]
s1-3:roi区域获取:在智能卡图像21上用矩形框方式选取出roi区域,其左上角的坐标记为(x1,y1),本实施例中x1=8,y1=6;定位区域与roi区域的相对位置信息记为(x
1-x,y
1-y),本实施例中定位区域与roi区域的相对位置信息为(4,2);roi区域的长宽信息记为(w,h),本实施例中w=12,h=3。
[0056]
s1-4:字符模板获取:本实施例中,在roi区域内以矩形框方式获取字符模板图像23、字符模板图像24和字符模板图像25,字符模板图像23的标签信息标记为1,字符模板图像24的标签信息标记为3,字符模板图像25的标签信息标记为5。
[0057]
s1-5:模板保存:本实施例中,将定位区域图像22、定位区域与roi区域的相对位置信息(4,2)、roi区域的长宽信息(12,3)、字符模板图像23及其标签信息1、字符模板图像24及其标签信息3和字符模板图像24及其标签信息5保存在模板中。
[0058]
s2:参数搜索:用于利用学习模型获取满足图像识别精度要求的图像预处理参数;
[0059]
具体地,步骤s2中参数搜索步骤如下:
[0060]
s2-1:批量图像获取:调用摄像头采集与步骤s1中版面一致、内容不同的批量智能卡图像,并保存所述的批量智能卡图像对应的标签信息;
[0061]
s2-2:参数初始化:本实施例中,预设识别精度初始化为95.7%,幂次变换参数初始化为0.5(取值范围[0.5,1.5],搜索步长为0.5),二值化参数初始化为125(取值范围[125,130],搜索步长为5),模板匹配参数初始化为0.85(取值范围[0.85,0.87],搜索步长为0.02);
[0062]
s2-3:读取模板:读取模板信息,本实施例中读取的数据包括定位区域图像22、定位区域与roi区域的相对位置信息(4,2)、roi区域的长宽信息(12,3)、字符模板图像23及其标签信息1、字符模板图像24及其标签信息3和字符模板图像24及其标签信息5;
[0063]
s2-4:组合参数:本实施例中,对幂次变换参数(取值范围[0.5,1.5],搜索步长为0.5),二值化参数(取值范围[125,130],搜索步长为5)和模板匹配参数(取值范围[0.85,0.87],搜索步长为0.02)的值按从大到小的方式进行排序,并依次构成以下12组参数组合:
[0064]
序号幂次变换二值化模板匹配序号幂次变换二值化模板匹配10.51250.8571.01300.8520.51250.8781.01300.8730.51300.8591.51250.8540.51300.87101.51250.8751.01250.85111.51300.8561.01250.87121.51300.87
[0065]
s2-5:批量图像字符识别:从步骤s2-4所述的12组参数组合中按顺序提取出一组参数组合,并对步骤s2-1中所述的批量智能卡图像进行幂次变换、二值化处理、模板匹配、字符识别;
[0066]
s2-6:统计识别结果:对s2-1中批量智能卡图像的字符识别结果进行统计,如果平均识别精度大于步骤s2-2所述的预设识别精度,执行步骤s2-7,否则选择另外一组参数,重新执行步骤2-5。本实施例中,第一组参数(0.5,125,0.85)的平均识别精度为94.0%(不满足预设识别精度要求),第二组参数(0.5,125,0.87)的平均识别精度为91.8%(不满足预设识别精度要求),第三组参数(0.5,130,0.85)的平均识别精度为95.2%(不满足预设识别精度要求),第四组参数(0.5,130,0.87)的平均识别精度为99.8%(满足预设识别精度要求)。
[0067]
s2-7:参数保存:本实施例中,将当前所使用的第四组参数(0.5,130,0.87)作为最优参数,保存到模板中。
[0068]
s3:图像识别:用于根据s1创建的模板信息和s2获取到的图像预处理参数,采用模板匹配方法对智能卡表面字符进行识别,并得到最终的识别结果。
[0069]
具体地,步骤s3中图像识别的步骤如下:
[0070]
s3-1:图像获取:调用摄像头采集单张智能卡图像;
[0071]
s3-2:读取模板信息:读取模板信息,本实施例中读取的数据包括定位区域图像22、定位区域与roi区域的相对位置信息(4,2)、roi区域的长宽信息(12,3)、字符模板图像及其标签信息、最优参数(0.5,130,0.87);
[0072]
s3-3:roi区域定位:本实施例中,根据定位区域图像22,使用模板匹配方法在所述智能卡图像内进行匹配,找到所述智能卡图像的定位区域,然后根据定位区域与roi区域的相对位置信息(4,2)和roi区域的长宽信息(12,3)找到所述智能卡图像roi区域所在位置。
[0073]
s3-4:图像处理:本实施例中,首先将s3-2中读取到的最优参数0.5赋值给幂次变换参数,并对所述roi区域的图像进行幂次变换处理,得到幂次变换后的roi区域图像;然后将s3-2中读取到的最优参数130赋值给二值化的输入参数,并将幂次变换后的roi区域图像进行二值化处理,得到二值化后的roi区域图像;
[0074]
s3-5:字符区域匹配:将s3-2中读取到的最优参数0.87赋值给模板匹配的输入参数,采用模板匹配方法,将s3-2中读取的所有字符模板图像逐一与s3-4中所述二值化后的roi区域图像进行相似度比较,每个字符模板图像均得到多个相似度大于模板匹配输入参数的字符候选区域集合,并记录字符候选区域所在中心位置信息;
[0075]
具体地,步骤s3-5中roi区域图像与字符模板图像匹配的方法过程如下:
[0076]
如图6所示,本实施例中将标签为3的字符模板图像41,叠放在roi区域图像42上沿x和y方向平移,字符模板图像的像素为w
×
h,m=3,n=3,roi区域图像42的像素为w
×
h,w=
20,h=4,roi区域图像42左上角的坐标为(0,0),右下角坐标为(19,3)。
[0077]
字符模板图像41覆盖roi区域图像42的区域叫子图s
i,j
,其中,i,j为子图左上角在roi区域图像42上的坐标,1≤i≤w-w/2-1,1≤j≤h-h/2-1,在本实施例中,1≦i≦18,1≦j≦18;用t(m,n)表示字符模板图像41中坐标(m,n)的值,0≦m≦w-1,0≦n≦h-1,通过比较字符模板图像41和s
i,j
的相似性,完成模板匹配过程。
[0078]
优选地,衡量字符模板图像t和与坐标(i,j)的子图s
i,j
的相似度p(i,j),通过下面得到:
[0079][0080]
在roi区域图像42中完成全部相似度计算后,得到像素为w`
×
h`的相似度图43,w`=18,h`=2,每个坐标(i,j)的值是相似度p(i,j),找出大于s3-2中读取到的模板匹配最优参数p1的所有坐标及对应的相似度值,所有的数值构成标签3的字符候选区域集合44,本实施例中p1=0.87,则所述标签3的字符候选区域集合44为:
[0081][0082]
集合每一行表示一个坐标及对应的相似度值。
[0083]
s3-6:字符识别:用于对所述字符候选区域集合,采用层次聚类方法将同一个范围内的字符候选区域进行合并,得到最终的识别结果;
[0084]
如图6所示,按照所述标签3的字符候选区域集合44的相似度值从高到低进行排序,排序后的字符候选区域集合为:
[0085][0086]
获取第一个字符候选区域的中心位置(5,2),依次比较该中心位置与剩余的字符候选区域中心位置的欧式距离,如果距离小于等于字符模板斜边长度的1/2,则将所在的字
符候选区域合并,新的候选区域中心位置为所有候选区域中心位置的平均值,重复上述过程,直至所有字符候选区域之间的欧式距离大于字符模板斜边长度的1/2,合并过程停止。具体过程为:
[0087]
(1)第一个字符候选区域(5,2)与第二个字符候选区域(6,2)的欧氏距离为模板字符斜边长度的1/2为则两个候选区域的欧式距离小于斜边长度的的1/2,将两个区域合并,合并后新的区域中心为(5.5,2);
[0088]
(2)继续将新的区域中心与剩余的候选区域中心位置进行比较后,得到第一个字符区域区域为(5.2,1.6),剩下的候选区域为[(17,2)0.92;(17,1)0.91;(16,2)0.90],第一个字符区域与剩下的候选区域之间的欧式距离均大于模板字符斜边长度的1/2,不能合并。
[0089]
(3)对剩下的候选区域继续做合并,取出下一个相似度最大的候选区域(17,2),与剩余的候选区域比较并合并,得到第二个字符区域为(16.6,1.6),此时所有的候选区域均合并完成。
[0090]
本发明意在使智能卡字符识别过程中的参数设置环节完全自动化,不仅不需要专业人员的参与,并且速度更快。本发明在传统字符识别的基础上添加了参数搜索模块,通过设定识别精度,为识别程序搜索满足识别精度要求的参数组合,从而改善了传统字符识别过程中识别准确率存在不确定且需要反复调整参数的问题。
[0091]
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对发明构成任何限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1