一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本倾斜矫正方法、装置、系统及存储介质与流程

2022-11-19 09:46:30 来源:中国专利 TAG:


1.本发明涉及文本识别技术领域,尤其涉及一种文本倾斜矫正方法、装置、系统及存储介质。


背景技术:

2.目前,文本识别的应用范围广泛,是很多计算机视觉任务的前置步骤,比如图像搜索、身份认证和视觉导航等,文本识别是将带文本行图像转录成字符串以识别文本内容。
3.通常在金融科技领域的现有各业务场景的影像中,客户经过拍照上传的各类影像例如证件图像、发票图像等常常都是倾斜的,使得文本识别时难以对目标文本进行精准定位与识别,降低了文本识别的准确性。


技术实现要素:

4.鉴于上述现有技术的不足,本发明的目的在于提供一种可应用于金融科技或其它相关领域的文本倾斜矫正方法、装置、系统及存储介质,旨在提高文本识别的准确性。
5.本发明的技术方案如下:
6.一种文本倾斜矫正方法,包括:
7.获取待识别文本图像;
8.将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果;
9.根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像;
10.检测所述方向矫正图像中文本行的位置与倾斜度;
11.根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。
12.在一个实施例中,所述获取待识别文本图像之前,所述方法还包括:
13.构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练。
14.在一个实施例中,所述构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练,包括:
15.构建方向分类模型;
16.采集若干场景下的倾斜文本图像,并对所述倾斜文本图像进行数据增强处理,得到训练样本图像;
17.根据预设的方向类别对所述训练样本图像进行方向标注;
18.将所述训练样本图像输入至所述方向分类模型中,根据输出结果与所述方向标注对所述方向分类模型的参数进行更新,直到满足预设收敛条件则完成训练。
19.在一个实施例中,所述方向分类模型为vgg16网络结构。
20.在一个实施例中,所述检测所述方向矫正图像中文本行的位置与倾斜度,包括:
21.检测所述方向矫正图像中文本行的位置;
22.根据所述文本行的位置获取所述文本行对应的文本框的顶点坐标;
23.根据所述文本框的顶点坐标计算所述文本行的斜率;
24.根据所述文本行的斜率计算得到相应的倾斜度。
25.在一个实施例中,所述检测所述方向矫正图像中文本行的位置之后,所述方法还包括:
26.确认所述文本行的数量是否大于等于2。
27.在一个实施例中,所述根据所述文本行的斜率计算得到相应的倾斜度,包括:
28.根据预设斜率范围对所述文本行进行过滤;
29.计算过滤后的各个文本行的平均斜率;
30.根据所述平均斜率计算得到所述方向矫正图像中文本行的倾斜度。
31.一种文本倾斜矫正装置,包括:
32.获取模块,用于获取待识别文本图像;
33.方向分类模块,用于将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果;
34.第一矫正模块,用于根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像;
35.检测模块,用于检测所述方向矫正图像中文本行的位置与倾斜度;
36.第二矫正模块,用于根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。
37.一种文本倾斜矫正系统,所述系统包括至少一个处理器;以及,
38.与所述至少一个处理器通信连接的存储器;其中,
39.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述文本倾斜矫正方法。
40.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的文本倾斜矫正方法。
41.有益效果:本发明公开了一种文本倾斜矫正方法、装置、系统及存储介质,相比于现有技术,本发明实施例通过对待识别文本图像进行方向分类与矫正后再针对文本行的倾斜进行矫正,实现对任意方向的待识别文本图像的倾斜校正,为文本识别提供无倾斜的目标文本行,提高文本识别准确性。
附图说明
42.下面将结合附图及实施例对本发明作进一步说明,附图中:
43.图1为本发明实施例提供的文本倾斜矫正方法的一个流程图;
44.图2为本发明实施例提供的文本倾斜矫正方法的另一个流程图;
45.图3为本发明实施例提供的文本倾斜矫正方法中步骤s600的一个流程图;
46.图4为本发明实施例提供的文本倾斜矫正方法中步骤s400的一个流程图;
47.图5为本发明实施例提供的文本倾斜矫正方法中步骤s404的一个流程图;
48.图6为本发明实施例提供的文本倾斜矫正装置的功能模块示意图;
49.图7为本发明实施例提供的文本倾斜矫正系统的硬件结构示意图。
具体实施方式
50.为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
51.请参阅图1,图1为本发明提供的文本倾斜矫正方法一个实施例的流程图。本实施例提供的文本倾斜矫正方法适用于对文本图像进行倾斜矫正的情况,具体应用于包括终端设备、网络和服务器构成的系统,其中网络为用于在终端设备和服务器直接提供通信链路的介质,其可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等;终端设备上的操作系统可以包括手持设备操作系统(iphone operating system,ios系统)、安卓系统或其他操作系统,终端设备通过网络连接到服务器以实现交互,从而进行接收或发送数据等操作,具体可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式服务器等等。如图1所示,该方法具体包括如下步骤:
52.s100、获取待识别文本图像。
53.本实施例中,待识别文本图像可以是通过扫描或拍照等方式得到的例如身份证、银行卡、营业执照、发票、汇款单、合同等等的文档图像,以实现各类业务场景下待识别文本图像的获取,在进行文本识别前先通过前置的倾斜矫正来提高识别准确性。
54.s200、将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果。
55.由于获取倒的待识别文本图像可能因拍照时的角度或者证件等实物放置角度等因素,导致其方向存在倾斜,以身份证为例,若获取到的身份证图像为旋转了90
°
的图像,则难以对同步旋转了90
°
的文字进行识别,因此将待识别文本图像输入至预设的方向分类模型中,该方向分类模型可根据实际需求进行深度学习训练,使其能识别图像在大方向分类上的旋转情况,例如以顺时针方向为基准识别图像为0角度倾斜,或者旋转90
°
倾斜,或者旋转180
°
倾斜,或者旋转270
°
倾斜这四类旋转方向,具体可根据实际方向分类需求灵活设置并训练,本实施例对此不作限定,通过方向分类模型获得整体待识别文本图像的旋转方向情况,便于对任意方向旋转的图像进行文本倾斜矫正处理。
56.s300、根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像。
57.基于当前待识别文本图像的旋转情况,对其进行相应方向的矫正,使待识别文本图像处于何种旋转状态,均能矫正为0角度旋转的方向矫正图像,例如若待识别文本图像的方向分类结果为旋转90
°
倾斜(顺时针),则将其反方向旋转90
°
进行矫正生成相应的方向矫正图像,具体可以通过pillow库的transpose方法对待识别文本图像在大方向上进行旋转矫正,本实施例对此不作限定。
58.s400、检测所述方向矫正图像中文本行的位置与倾斜度。
59.在确保待识别文本图像在大方向上进行了方向矫正,即此时得到的方向矫正图像中不会出现文本为倒置或者竖向等情况,为进一步提高文本识别准确性,则针对其中具体的文本倾斜进行检测,得到其中文本行的位置与倾斜度,以便进行更加精准的倾斜矫正。
60.s500、根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。
61.基于方向矫正图像中文本行的中心位置以及倾斜度,可通过调用opencv(一个跨平台计算机视觉和机器学习软件库)中的方法如warpaffine进行旋转,最终得到结果倾斜矫正后的目标文本行。
62.本实施例通过对待识别文本图像先在整体的大方向上进行方向分类与矫正,再针对图像中具体的文本行的倾斜进行矫正,实现对任意方向的待识别文本图像的倾斜校正,实现了在任意文本图像,对任意360度内的方向都能保持倾斜矫正的能力,为文本识别提供无倾斜的目标文本行,大大提升后续模型识别或其他前后处理的能力和效果,提高文本识别准确性。
63.在一个实施例中,请参阅图2,其为本发明实施例提供的文本倾斜矫正方法的另一个流程图,如图2所示,步骤s100之前,方法还包括:
64.s600、构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练。
65.本实施例中,在对待识别文本图像进行文本倾斜矫正前,通过预先构建方向分类模型并对其进行深度学习训练,使其满足预设收敛条件即可对输入的图像进行准确的方向分类识别处理,进而对待识别文本图像在大方向上进行旋转矫正。
66.具体地,本实施例中的方向分类模型为vgg16网络结构,vgg16网络结构可以很好地适用于分类和定位任务且网络结构简洁、网络迁移的泛化性能好,以便实现对输入图像高效准确的方向分类识别,当然,在其他实施例也可采用其它适用于分类任务的网络结构,本实施例对此不作限定。
67.在一个实施例中,请参阅图3,其为本发明实施例提供的文本倾斜矫正方法中步骤s600的流程图,如图3所示,步骤s600包括:
68.s601、构建方向分类模型;
69.s602、采集若干场景下的倾斜文本图像,并对所述倾斜文本图像进行数据增强处理,得到训练样本图像;
70.s603、根据预设的方向类别对所述训练样本图像进行方向标注;
71.s604、将所述训练样本图像输入至所述方向分类模型中,根据输出结果与所述方向标注对所述方向分类模型的参数进行更新,直到满足预设收敛条件则完成训练。
72.本实施例中,在训练得到收敛的方向分类模型时,先构建初始的方向分类模型,基于vgg16网络结构,方向分类模型包括5段卷积层,每一段内有2个或3个卷积层,每段结尾连接一个最大池化层用于缩小图片尺寸,各段内部的卷积核数一样,越靠近全连接层卷积核数量越多。
73.基于构建的方向分类模型进行训练,采集若干场景下的倾斜文本图像,例如身份证、银行卡、营业执照、发票、汇款单、合同等等,并且避免倾斜较少样本数量不足等情况,对各个场景下的倾斜文本图像进行数据增强处理,即对采集到的倾斜文本图像随机进行自动旋转,以扩大样本数据量,之后对增强得到的训练样本图像进行方向标注,标注的内容即为各个训练样本图像的旋转角度,例如以四个方向为例,则标注0、90、180、270,当然还可根据需求进行更细化的方向标注,例如分为六个或八个方向等等,本实施例对此不作限定。
74.之后则将标注后的训练样本图像输入至方向分类模型中,对方向分类模型进行训练,具体实施时,在搭建模型时还创建参数初始化函数如卷积操作con_op函数、全连接层操
作fc_op函数、池化操作mpool_op函数,第一段卷积输出尺寸为112*112*64,第二段卷积输出为56*56*128,第三段卷积输出28*28*256,第四段卷积输出14*14*512,第五段卷积输出7*7*512;使用tf.reshape函数将第五个池化层的结果扁平化,即表示为7*7*512的一维向量;第一个全连接层,使用fc_op函数创建,隐含节点是4096,激活函数为relu,使用tf.nn.dropout函数创建dropout层以减少过拟合的情况,训练时节点保留率为0.5,预测时为1;第二个全连接层和第一个全连接层一致,同样在其后连接一个dropout层,输出节点为1000,使用softmax函数处理得到分类概率输出,使用tf.argmax函数得到最大的类别,根据模型的类别输出结果与训练文本图像的方向标注对方向分类模型的参数进行更新,直到满足预设收敛条件则完成训练,具体的预设收敛条件可以是训练次数大于预设阈值或者预设损失函数的值小于预设值等等,从而得到收敛的方向分类模型对待识别文本图像进行准确的方向分类识别。
75.在一个实施例中,请参阅图4,其为本发明实施例提供的文本倾斜矫正方法中步骤s400的流程图,如图4所示,步骤s400包括:
76.s401、检测所述方向矫正图像中文本行的位置;
77.s402、根据所述文本行的位置获取所述文本行对应的文本框的顶点坐标;
78.s403、根据所述文本框的顶点坐标计算所述文本行的斜率;
79.s404、根据所述文本行的斜率计算得到相应的倾斜度。
80.本实施例中,在经过大方向分类以及旋转矫正后,再对旋转后的方向矫正图像中的文本行进行进一步处理,先检测其中的文本行的位置,得到与文本行所对应的文本框的顶点坐标,即识别矫正图像中的每一行文本,并以文本框形式对其进行定位,通过文本框的顶点坐标来计算文本行的斜率,具体来说,将文本框的四个顶点分别认定为左上,右上,右下,左下,对应于第一个、第二个、第三个、第四个顶点,其顶点坐标分别对应于(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),通过第一个点和第二个点的坐标计算出第一个点和第二个点的直线距离l1,同样通过第三个点和第四个点的坐标计算出第三个点和第四个点的直线距离l2,如果l1》l2且l1

l2大于预设值,此文本框对应的文本行的斜率为k=(y2-y1)/(x2-x1),如果l1《l2且l2

l1大于预设值,此文本框对应的文本行的斜率为k=(y3-y2)/(x3-x2),基于计算得到的斜率进一步转换为相应的倾斜度,以便后续对所有的文本行进行倾斜校正,实现对图像中具体的文本区域的倾斜检测与矫正,提高文本识别的准确性。
81.在一个实施例中,步骤s401之后,方法还包括:
82.确认所述文本行的数量是否大于等于2。
83.本实施例中,针对文本行的倾斜处理时,先检测整个方向矫正图像中是否存在两个及以上的文本行,若存在则进行后续的轻微倾斜角度计算,以对多个文本行进行倾斜矫正,若不存在则不针对单一文本行进行后续处理降低数据处理量。
84.在一个实施例中,请参阅图5,其为本发明实施例提供的文本倾斜矫正方法中步骤s404的流程图,如图5所示,步骤s404包括:
85.s4041、根据预设斜率范围对所述文本行进行过滤;
86.s4042、计算过滤后的各个文本行的平均斜率;
87.s4043、根据所述平均斜率计算得到所述方向矫正图像中文本行的倾斜度。
88.本实施例中,在针对图像中的多个文本行进行进一步的倾斜矫正时,为平衡矫正
效果与数据处理量,先根据预设斜率分为对检测到的文本行进行过滤,例如,预先设置一个在一定斜率范围内浮动的基线,通过该浮动的基线排除掉个别特殊的偏差非常大的文本行,之后计算过滤后的各个文本行的平均斜率,将该平均斜率转换为相应的倾斜度进行后续的倾斜矫正,仅需一次旋转即可对大部分的文本行进行有效的倾斜矫正处理,实现良好倾斜矫正效果的同时也减少了每行单独矫正的数据处理量。
89.本发明另一实施例提供一种文本倾斜矫正装置,如图6所示,装置1包括:
90.获取模块11,用于获取待识别文本图像;
91.方向分类模块12,用于将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果;
92.第一矫正模块13,用于根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像;
93.检测模块14,用于检测所述方向矫正图像中文本行的位置与倾斜度;
94.第二矫正模块15,用于根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。
95.获取模块11、方向分类模块12、第一矫正模块13、检测模块14和第二矫正模块15依次连接,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述文本倾斜矫正的执行过程,各模块的具体实施方式请参考上述对应的方法实施例,此处不再赘述。
96.在一个实施例中,所述装置1,还包括:
97.构建训练模块,用于构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练。
98.在一个实施例中,所述构建训练模块,包括:
99.构建单元,用于构建方向分类模型;
100.样本采集单元,用于采集若干场景下的倾斜文本图像,并对所述倾斜文本图像进行数据增强处理,得到训练样本图像;
101.标注单元,用于根据预设的方向类别对所述训练样本图像进行方向标注;
102.训练单元,用于将所述训练样本图像输入至所述方向分类模型中,根据输出结果与所述方向标注对所述方向分类模型的参数进行更新,直到满足预设收敛条件则完成训练。
103.在一个实施例中,所述方向分类模型为vgg16网络结构。
104.在一个实施例中,所述检测模块14,包括:
105.位置检测单元,用于检测所述方向矫正图像中文本行的位置;
106.坐标获取单元,用于根据所述文本行的位置获取所述文本行对应的文本框的顶点坐标;
107.第一计算单元,用于根据所述文本框的顶点坐标计算所述文本行的斜率;
108.第二计算单元,用于根据所述文本行的斜率计算得到相应的倾斜度。
109.在一个实施例中,所述检测模块14,还包括:
110.数量确认单元,用于确认所述文本行的数量是否大于等于2。
111.在一个实施例中,所述第二计算单元,包括:
112.过滤子单元,用于根据预设斜率范围对所述文本行进行过滤;
113.第一计算子单元,用于计算过滤后的各个文本行的平均斜率;
114.第二计算子单元,用于根据所述平均斜率计算得到所述方向矫正图像中文本行的倾斜度。
115.本发明另一实施例提供一种文本倾斜矫正系统,如图7所示,系统10包括:
116.一个或多个处理器110以及存储器120,图7中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图7中以通过总线连接为例。
117.处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn risc machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。
118.存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的文本倾斜矫正方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的文本倾斜矫正方法。
119.存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
120.一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,实现以下步骤:
121.获取待识别文本图像;
122.将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果;
123.根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像;
124.检测所述方向矫正图像中文本行的位置与倾斜度;
125.根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。
126.在一个实施例中,所述获取待识别文本图像之前,所述方法还包括:
127.构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练。
128.在一个实施例中,所述构建方向分类模型并对所述方向分类模型进行深度学习训练,直到满足预设收敛条件则完成训练,包括:
129.构建方向分类模型;
130.采集若干场景下的倾斜文本图像,并对所述倾斜文本图像进行数据增强处理,得
到训练样本图像;
131.根据预设的方向类别对所述训练样本图像进行方向标注;
132.将所述训练样本图像输入至所述方向分类模型中,根据输出结果与所述方向标注对所述方向分类模型的参数进行更新,直到满足预设收敛条件则完成训练。
133.在一个实施例中,所述方向分类模型为vgg16网络结构。
134.在一个实施例中,所述检测所述方向矫正图像中文本行的位置与倾斜度,包括:
135.检测所述方向矫正图像中文本行的位置;
136.根据所述文本行的位置获取所述文本行对应的文本框的顶点坐标;
137.根据所述文本框的顶点坐标计算所述文本行的斜率;
138.根据所述文本行的斜率计算得到相应的倾斜度。
139.在一个实施例中,所述检测所述方向矫正图像中文本行的位置之后,所述方法还包括:
140.确认所述文本行的数量是否大于等于2。
141.在一个实施例中,所述根据所述文本行的斜率计算得到相应的倾斜度,包括:
142.根据预设斜率范围对所述文本行进行过滤;
143.计算过滤后的各个文本行的平均斜率;
144.根据所述平均斜率计算得到所述方向矫正图像中文本行的倾斜度。
145.本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s500。
146.作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明而非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
147.综上,本发明公开的一种文本倾斜矫正方法、装置、系统及存储介质中,方法通过获取待识别文本图像;将所述待识别文本图像输入至预设的方向分类模型中,生成方向分类结果;根据所述方向分类结果对所述待识别文本图像进行相应方向的矫正,生成方向矫正图像;检测所述方向矫正图像中文本行的位置与倾斜度;根据所述位置与倾斜度对所述文本行进行倾斜矫正,得到目标文本行。通过对待识别文本图像进行方向分类与矫正后再针对文本行的倾斜进行矫正,实现对任意方向的待识别文本图像的倾斜校正,为文本识别提供无倾斜的目标文本行,提高文本识别准确性。
148.当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的计算机程序可存储于一非易失性计算机可读取的存储介质中,该计算机程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、软盘、闪存、光存储器等。
149.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可
以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献