一种字符识别方法、装置、设备及存储介质与流程

文档序号:30493866发布日期:2022-06-22 03:04阅读:102来源:国知局
一种字符识别方法、装置、设备及存储介质与流程

1.本公开涉及字符识别领域,尤其涉及一种字符识别方法、装置、设备及存储介质。


背景技术:

2.在现有技术中,光学字符识别任务中最重要的环节就是字符的提取,即将文字在复杂背景的图像中图取出来。在工业应用现场,为了兼顾整体的拍照效果,需要对打光分布和硬件选型做出适当的取舍。常导致光照强度对于局部区域偏弱,或者字符和背景本身对比度不高的情况下,例如黑底灰字;都会导致字符和背景的对比度低,从而导致字符识别过程中无法完全的提取字符。


技术实现要素:

3.本公开提供了一种字符识别方法、装置、设备及存储介质,以至少解决现有技术中存在的以上技术问题。
4.根据本公开的第一方面,提供了一种字符识别方法,所述方法包括:获取指定图像,所述指定图像中包括字符图像;基于指定图像对应的分辨率,将所述指定图像的分辨率放大指定倍数,获得超分辨率图像;根据所述超分辨率图像进行聚类处理,获得第一聚类图像,所述第一聚类图像中至少包括与字符图像对应的第一类图像;对所述第一聚类图像进行字符识别,获得与所述第一类图像对应的字符信息。
5.在一可实施方式中,所述基于指定图像对应的分辨率,将所述指定图像的分辨率放大指定倍数,获得超分辨率图像,包括:获取超分训练样本,所述超分训练样本包括同一图片对应的低分辨率图像和高分辨率图像;基于所述超分训练样本,训练获得超分辨率模型,所述超分辨率模型用于根据低分辨率图像生成高分辨率图像;将所述指定图像输入所述超分辨率模型,获得分辨率放大指定倍数的超分辨率图像。
6.在一可实施方式中,根据所述超分辨率图像进行聚类处理,获得第一聚类图像,所述方法还包括:对所述超分辨率图像进行冲击滤波,获得增强图像;对所述增强图像进行聚类处理,获得第一聚类图像。
7.在一可实施方式中,对所述增强图像进行聚类处理,获得第一聚类图像,包括:根据所述增强图像的灰度值,对所述增强图像的像素点进行聚类,确定第一类像素点和第二类像素点;其中,第一类像素点或第二类像素点用于表征字符图像对应的像素点;根据所述第一类像素点和第二类像素点,生成所述第一聚类图像。
8.在一可实施方式中,根据所述第一类像素点和第二类像素点,生成所述第一聚类图像,包括:将所述第一类像素点对应的灰度值修改为第一灰度值,将所述第二类像素点对应的灰度值修改为第二灰度值,获取第一聚类图像;其中,第一灰度值和第二灰度值的数值不同。
9.在一可实施方式中,对所述第一聚类图像进行字符识别,获得与所述第一类图像对应的字符信息之后,还包括:当对所述第一聚类图像进行字符识别失败的情况下,根据所
述增强图像的灰度值,对所述增强图像的像素点进行聚类,确定第三类像素点、第四类像素点和第五类像素点;将所述第三类像素点对应的灰度值修改为第一灰度值,将所述第四类像素点对应的灰度值修改为第二灰度值,将所述第五类像素点对应的灰度值修改为第三灰度值,获取第二聚类图像;其中,第一灰度值、第二灰度值和第三灰度值的数值不同;对所述第二聚类图像进行字符识别,获得与所述第二聚类图像对应的字符信息。
10.在一可实施方式中,所述获取指定图像,所述指定图像中包括字符图像之前,所述方法还包括;获取原始图像;对所述原始图像进行灰度化处理,获得所述指定图像。
11.根据本公开的第二方面,提供了一种字符识别装置,所述装置包括:获取模块,用于获取指定图像,所述指定图像中包括字符图像;放大模块,用于基于指定图像对应的分辨率,将所述指定图像的分辨率放大指定倍数,获得超分辨率图像;聚类模块,用于根据所述超分辨率图像进行聚类处理,获得第一聚类图像,所述第一聚类图像中至少包括与字符图像对应的第一类图像;识别模块,用于对所述第一聚类图像进行字符识别,获得与所述第一类图像对应的字符信息。
12.在一可实施方式中,所述放大模块,包括:获取子模块,用于获取超分训练样本,所述超分训练样本包括同一图片对应的低分辨率图像和高分辨率图像;训练子模块,用于基于所述超分训练样本,训练获得超分辨率模型,所述超分辨率模型用于根据低分辨率图像生成高分辨率图像;输入子模块,用于将所述指定图像输入所述超分辨率模型,获得分辨率放大指定倍数的超分辨率图像。
13.在一可实施方式中,所述聚类模块包括:滤波子模块,用于对所述超分辨率图像进行冲击滤波,获得增强图像;聚类子模块,用于对所述增强图像进行聚类处理,获得第一聚类图像。
14.在一可实施方式中,聚类子模块,还用于根据所述增强图像的灰度值,对所述增强图像的像素点进行聚类,确定第一类像素点和第二类像素点;其中,第一类像素点或第二类像素点用于表征字符图像对应的像素点;根据所述第一类像素点和第二类像素点,生成所述第一聚类图像。
15.在一可实施方式中,聚类子模块,还用于将所述第一类像素点对应的灰度值修改为第一灰度值,将所述第二类像素点对应的灰度值修改为第二灰度值,获取第一聚类图像;其中,第一灰度值和第二灰度值的数值不同。
16.在一可实施方式中,所述设备还包括:所述聚类模块,还用于当对所述第一聚类图像进行字符识别失败的情况下,根据所述增强图像的灰度值,对所述增强图像的像素点进行聚类,确定第三类像素点、第四类像素点和第五类像素点;修改模块,用于将所述第三类像素点对应的灰度值修改为第一灰度值,将所述第四类像素点对应的灰度值修改为第二灰度值,将所述第五类像素点对应的灰度值修改为第三灰度值,获取第二聚类图像;其中,第一灰度值、第二灰度值和第三灰度值的数值不同;所述识别模块,还用于对所述第二聚类图像进行字符识别,获得与所述第二聚类图像对应的字符信息。
17.在一可实施方式中,所述设备还包括;获取模块,用于获取原始图像;处理模块,用于对所述原始图像进行灰度化处理,获得所述指定图像。
18.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器
执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
19.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
20.本公开提供了一种字符识别方法、装置、设备及存储介质,通过获取指定图像后,基于指定图像的分辨率进行放大,放大至指定倍数,获得超分辨率图像,通过对超分辨率图像进行聚类处理,获得第一聚类图像,第一聚类图像中包括与字符图像对应的第一类图像;通过对第一聚类图像进行识别,获得与所述第一类图像对应的字符信息;在本公开中,通过对分辨率的放大,解决了低分辨率的问题,通过对超分辨率图像进行聚类处理,解决了低对比度的问题,从而提高了对低对比度和低分辨率的图像进行字符识别的成功率和完整度,可以有效提高生产过程中的生产效率。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
23.在附图中,相同或对应的标号表示相同或对应的部分。
24.图1示出了本公开实施例字符识别方法的实现流程示意图一;
25.图2示出了本公开实施例字符识别方法的实现流程示意图二;
26.图3示出了本公开实施例字符识别方法的实现流程示意图三;
27.图4示出了本公开实施例字符识别方法的实现流程示意图四;
28.图5示出了本公开实施例字符识别方法的实现流程示意图五;
29.图6示出了本公开实施例一种字符识别设备的组成结构示意图。
具体实施方式
30.为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
31.根据本公开的第一方面,提供了一种字符识别方法,其特征在于,方法包括:步骤101,获取指定图像,指定图像中包括字符图像;步骤102,基于指定图像对应的分辨率,将指定图像的分辨率放大指定倍数,获得超分辨率图像;步骤103,根据超分辨率图像进行聚类处理,获得第一聚类图像,第一聚类图像中至少包括与字符图像对应的第一类图像;步骤104,对第一聚类图像进行字符识别,获得与第一类图像对应的字符信息。
32.图1示出了本公开实施例字符识别方法的实现流程示意图一,请参考图1;
33.本公开提供了一种字符识别方法、装置及存储介质,通过获取指定图像后,基于指定图像的分辨率进行放大,放大至指定倍数,获得超分辨率图像,通过对超分辨率图像进行
聚类处理,获得第一聚类图像,第一聚类图像中包括与字符图像对应的第一类图像;通过对第一聚类图像进行识别,获得与第一类图像对应的字符信息;在本公开中,通过对分辨率的放大,解决了低分辨率的问题,通过对超分辨率图像进行聚类处理,解决了低对比度的问题,从而提高了对低对比度和低分辨率的图像进行字符识别的成功率和完整度,可以有效提高生产过程中的生产效率。
34.在本公开实施例步骤101中,获取指定图像,指定图像中包括字符图像;其中,指定图像指的是对原始图像进行预处理后的图像,预处理具体可以是,去噪处理、二值化处理、灰度化处理等。本公开中,可以对原始图像进行灰度化处理,获得指定图像,这种情况下,指定图像为灰度图像。其中,原始图像是通过拍照、扫描等成像方式,对带识别产品的表面进行成像所获得。原始图像中包括有字符图像。字符图像指的是原始图像中用于表征字符的部分,字符包括字体或符号等,起标识作用的图像。
35.在本公开实施例步骤102中,基于指定图像对应的分辨率,将指定图像的分辨率放大指定倍数,获得超分辨率图像;将指定图像的分辨率进行放大的方法,可以采取超分辨率重建的方法实现,将指定图像进行分辨率放大,从而实现图像增强的效果,从而抵消成像过程中带来的低分辨率的问题,提高图像清晰度。其中,放大的倍数可以根据字符识别对应的特征进行设置;例如,当字符识别的过程中,将三个相邻且颜色相近的像素点识别为一条直线的情况下,则放大的倍数可以设置为3倍,从而使超分辨率图像可以满足字符识别的需求,避免由于分辨率不足而导致识别获得字符不完整的情况。具体的,超分辨率重建可以采用fsrcnn神经网络实现。
36.在本公开实施例步骤103,根据超分辨率图像进行聚类处理,获得第一聚类图像,第一聚类图像中至少包括与字符图像对应的第一类图像;其中,根据超分辨率图像进行聚类处理,可以是通过图像的灰度值,然后结合像素点之间的距离,对分辨率图像进行聚类,从而获得将像素点分为至少两类,基于聚类结果生成第一聚类图像;第一聚类图像中包括第一类图像,第一类图像是指第一聚类图像中与字符图像对应的图像。通过聚类的方式可以将超分辨率图像分为至少两类,及分割出超分辨率图像中的字符与背景,从而方便字符识别对第一聚类图像进行识别,从而获取准确的字符信息。
37.在本公开实施例步骤104,对第一聚类图像进行字符识别,获得与第一类图像对应的字符信息。对第一聚类图像进行字符识别,字符识别可以是光学字符识别ocr。通过对第一聚类图像进行识别,从而获取与第一类图像对应的字符信息,即获取与字符图像对应的字符信息。
38.本公开提供的方案在实施过程中不需要任何针对光源和环境改变而设置的固定阈值,所以鲁棒性极高。在不需要改变硬件和打光的情况下,解决了低分辨率导致图像中字符有效像素宽度少的问题,以及低对比度时难以通过一种简单通用的手段进行二值化的难题。另外该方法还具有很好的普适性。实际使用中发现,对于种线条粗细不一的条码的背景分割也有很好的效果
39.图2示出了本公开实施例字符识别方法的实现流程示意图二,请参考图2;
40.在一可实施方式中,在步骤102,基于指定图像对应的分辨率,将指定图像的分辨率放大指定倍数,获得超分辨率图像,包括:步骤201,获取超分训练样本,超分训练样本包括同一图片对应的低分辨率图像和高分辨率图像;步骤202,基于超分训练样本,训练获得
超分辨率模型,超分辨率模型用于根据低分辨率图像生成高分辨率图像;步骤203,将指定图像输入超分辨率模型,获得分辨率放大指定倍数的超分辨率图像。
41.在本公开实施例步骤201中,获取超分训练样本,训练样本的数量不作限定;其中,训练样本的数量不作限定;其中,每份超分训练样本包括同一图片对应的低分辨率图像和高分辨率图像,具体的,生成超分训练样本时,可以通过使用样本集或采集自己的样本在降采样以及角度旋转,生成相应的低分辨率图片,将原图与低分辨率图谱作为训练样本。
42.在本公开实施例步骤202中,根据超分训练样本对深度卷积神经网络进行训练,获得超分辨率模型;超分辨率模型用于根据低分辨率图像生成高分辨率图像。其中,在训练超分辨率模型时,需要定义损失函数,损失函数通过峰值信噪比psnr的均方差作为评价指标建立卷积神经网络训练过程中的损失函数。其中,峰值信噪比用于评价较低分辨率图像与高分辨率图像之间的差距。此外,还有一个指标为结构相似性ssim也可以实现评价。其中,训练目标:是损失函数指朝着逐渐减少的方向进行,方式是求导,不断迭代调整各个卷积层参数,使导函数为负。停止条件包括满足psnr均方差设定的阈值;和/或,到达最大迭代次数。
43.其中,卷积神经网络搭建包括:1、输入:不对原图像(低分辨率图像)做任何处理,目的是获得端到端的神经网络训练结果。即输入是原始数据,输出是最后的结果。2、卷积:直接是对原始的低分辨率图像进行卷积操作,目的是对输入图像向下采降样获取图像的多维度特征。3、收缩:通过应用1
×
1的卷积核进行降维,减少网络的参数,降低计算复杂度。4、非线性映射:两次3
×
3的卷积核卷积计算。5、扩张:低维度的特征带来的重建效果不是太好,因此应用1
×
1的卷积核进行扩维,相当于收缩的逆过程。6、反卷积:卷积层的逆操作,如果步长为n,那么尺寸放大n倍,实现了上采样的操作,还原图像数据。
44.在本公开实施例步骤203中,训练获得超分辨率模型后,将指定图像输入超分辨率图像中,获得输出的图像,即获得超分辨率图像。其中超分辨率图像的分辨率是指定图像的指定倍数,其中指定倍数至少为2倍,其中,指定倍数根据字符识别条件所确定。在本公开实施例中,结合字符识别条件,优选为3倍。需要注意的是,当倍数越大时,最终的字符识别的效果也越好,但是倍数越大也会造成处理时间增加,影响生产效率。可以通过计算识别的准确率,当准确率满足阈值时,对应的最小倍数作为指定倍数。
45.图3示出了本公开实施例字符识别方法的实现流程示意图三,请参考图3;
46.在一可实施方式中,步骤103,根据超分辨率图像进行聚类处理,获得第一聚类图像,方法还包括:步骤301,对超分辨率图像进行冲击滤波,获得增强图像;步骤302,对增强图像进行聚类处理,获得第一聚类图像。
47.在本公开实施例步骤301-302中,对超分辨率图像进行冲击滤波,获得增强图像,其中冲击滤波是用于将超分辨率图像中字符图像的边缘实现边缘加强,提高字符边缘清晰度,以及对字符边缘进行去噪,消除多余的噪音。从而使增强图像在聚类处理中,聚类获得结果更准确,从而获得第一聚类图像。此外,可以通过对图像边缘进行提取,获得字符图像边缘线,通过填充的方式对根据字符图像边缘线进行绘制后,可以获得相似的效果的加强边缘轮廓。进一步可以将字符边缘线周围进行去噪。进一步,去除噪音可以是指将边缘线与背景之间存在灰度值渐变的像素点,这些像素点在聚类过程中会对聚类结果产生影响,通过冲击滤波,将这部分像素点进行去噪,使其与背景色统一,从而使聚类结果更加准确。
48.图4示出了本公开实施例字符识别方法的实现流程示意图四,请参考图4;
49.在一可实施方式中,步骤302,对增强图像进行聚类处理,获得第一聚类图像,包括:步骤401,根据增强图像的灰度值,对增强图像的像素点进行聚类,确定第一类像素点和第二类像素点;其中,第一类像素点或第二类像素点用于表征字符图像对应的像素点;步骤402,根据第一类像素点和第二类像素点,生成第一聚类图像。
50.在本公开实施例步骤401-402,根据增强图像的灰度值,对增强图像的像素点进行聚类,确定第一类像素点和第二类像素点;其中,聚类可以是指kmeans聚类,即k均值聚类;具体的,通过对增强率图像进行聚类迭代,获得聚类中心;根据像素点的灰度值与聚类中心的联系,以及像素点的位置与聚类中心的联系,将像素值分为两类,分别为第一类像素点和第二类像素点;其中,第一类像素点和第二类像素点,其中一个用于表征字符图像对应的像素点,另一个用于表征背景对应的像素点。
51.根据第一类像素点和第二类像素点,生成第一聚类图像。具体的,可以通过将第一类像素点对应的灰度值修改为第一灰度值,将第二类像素点对应的灰度值修改为第二灰度值,获取第一聚类图像;其中,第一灰度值和第二灰度值的数值不同。优选的,第一灰度值可以为0,第二灰度值可以为255,通过两个极值的设置,可以将第一类像素点和第二类像素点所形成的图像完全区分,从而方便字符识别。
52.进一步,也可以根据原始图像获取字符信息与背景信息的联系,根据该联系,对第一类像素点和第二类像素点进行判断,确定用于与字符对应的一类像素点确定为字符像素点,将字符像素点放置到指定背景中,对字符像素点进行识别。进一步,可以对字符像素点置位指定灰度值。例如,字符信息的数量小于背景信息。就可以将第一类像素点和第二类像素点中较小的那一类像素点确定为字符像素点,将字符像素点设置为灰度值255,再将字符像素点放置入像素点为灰度值为0的背景中,通过字符识别对其进行识别。
53.图5示出了本公开实施例字符识别方法的实现流程示意图五,请参考图5;
54.在一可实施方式中,步骤104,对第一聚类图像进行字符识别,获得与第一类图像对应的字符信息之后,还包括:步骤501,当对第一聚类图像进行字符识别失败的情况下,根据增强图像的灰度值,对增强图像的像素点进行聚类,确定第三类像素点、第四类像素点和第五类像素点;步骤502,将第三类像素点对应的灰度值修改为第一灰度值,将第四类像素点对应的灰度值修改为第二灰度值,将第五类像素点对应的灰度值修改为第三灰度值,获取第二聚类图像;其中,第一灰度值、第二灰度值和第三灰度值的数值不同;步骤503,对第二聚类图像进行字符识别,获得与第二聚类图像对应的字符信息。
55.在本公开实施例步骤501-503中,对字符识别失败的情况,可以是在成像过程中,待识别产品表面存在异物、光斑和油渍的情况,从而导致图像在后续的聚类过程中,通过切割两类像素点无法将字符完全分割出来,导致识别获得的字符信息不准确或有所缺失等,判断为识别失败。对增强图像进行重新聚类,将增强图像的像素点聚类为三类,分别为第三类像素点、第四类像素点和第五类像素点;将第三类像素点对应的灰度值修改为第一灰度值,将第四类像素点对应的灰度值修改为第二灰度值,将第五类像素点对应的灰度值修改为第三灰度值,从而将干涉字符图像的像素点分割出来,获得完整的字符图像。其中,第一灰度值、第二灰度值和第三灰度值的数值不同。优选的,可以将第一灰度值置位0、第二灰度值置位255、第三灰度值置位128,从而使三类像素点完全区分。生成聚类图像,第二第二聚
类图像进行字符识别,获得与第二聚类图像对应的字符信息。从而提高实际生产中会发生的意外情况,保证字符识别准确性。
56.图6示出了本公开实施例一种字符识别设备的组成结构示意图,请参考图6;
57.根据本公开的第二方面,提供了一种装置包括:获取模块601,用于获取指定图像,指定图像中包括字符图像;放大模块602,用于基于指定图像对应的分辨率,将指定图像的分辨率放大指定倍数,获得超分辨率图像;聚类模块603,用于根据超分辨率图像进行聚类处理,获得第一聚类图像,第一聚类图像中至少包括与字符图像对应的第一类图像;识别模块604,用于对第一聚类图像进行字符识别,获得与第一类图像对应的字符信息。
58.在一可实施方式中,放大模块602,包括:获取子模块6021,用于获取超分训练样本,超分训练样本包括同一图片对应的低分辨率图像和高分辨率图像;训练子模块6022,用于基于超分训练样本,训练获得超分辨率模型,超分辨率模型用于根据低分辨率图像生成高分辨率图像;输入子模块6023,用于将指定图像输入超分辨率模型,获得分辨率放大指定倍数的超分辨率图像。
59.在一可实施方式中,聚类模块603包括:滤波子模块6031,用于对超分辨率图像进行冲击滤波,获得增强图像;聚类子模块6032,用于对增强图像进行聚类处理,获得第一聚类图像。
60.在一可实施方式中,聚类子模块6032,还用于根据增强图像的灰度值,对增强图像的像素点进行聚类,确定第一类像素点和第二类像素点;其中,第一类像素点或第二类像素点用于表征字符图像对应的像素点;根据第一类像素点和第二类像素点,生成第一聚类图像。
61.在一可实施方式中,聚类子模块6032,还用于将第一类像素点对应的灰度值修改为第一灰度值,将第二类像素点对应的灰度值修改为第二灰度值,获取第一聚类图像;其中,第一灰度值和第二灰度值的数值不同。
62.在一可实施方式中,设备还包括:聚类模块603,还用于当对第一聚类图像进行字符识别失败的情况下,根据增强图像的灰度值,对增强图像的像素点进行聚类,确定第三类像素点、第四类像素点和第五类像素点;修改模块605,用于将第三类像素点对应的灰度值修改为第一灰度值,将第四类像素点对应的灰度值修改为第二灰度值,将第五类像素点对应的灰度值修改为第三灰度值,获取第二聚类图像;其中,第一灰度值、第二灰度值和第三灰度值的数值不同;识别模块604,还用于对第二聚类图像进行字符识别,获得与第二聚类图像对应的字符信息。
63.在一可实施方式中,设备还包括;获取模块601,用于获取原始图像;处理模块606,用于对原始图像进行灰度化处理,获得指定图像。
64.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开的方法。
65.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本公开的方法。
66.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,
只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
67.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
68.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1