扭曲文本行的方向矫正方法、装置、介质及设备与流程

文档序号:30963674发布日期:2022-07-30 15:25阅读:109来源:国知局
扭曲文本行的方向矫正方法、装置、介质及设备与流程

1.本技术涉及文本识别技术领域,具体而言,涉及一种扭曲文本行的方向矫正方法、装置、计算机可读存储介质及电子设备。


背景技术:

2.相关技术中,光学字符识别(optical character recognition,ocr)引擎对于正方向分布(符合读写标准,文本字符排列为从上到下,从左到右)的文本行能够取得比较好的识别效果,具有比较好的鲁棒性,能够很好的应对图像的曝光、模糊、退化等质量问题。
3.然而,对于方向随机的扭曲文本行,比如在钢卷、轮毂等产品的圆形截面上的文本行随环形分布,由于产品的圆形截面摆放无规则,导致文本行角度不定,相关技术的ocr识别引擎通常识别准确率低,无法取得好的识别效果。


技术实现要素:

4.为解决上述技术问题,本技术的实施例提供了一种扭曲文本行的方向矫正方法、装置、计算机可读存储介质及电子设备,以对文本进行方向矫正,提高用户阅读体验或文本识别效果。
5.根据本技术实施例的一个方面,提供了一种扭曲文本行的方向矫正方法,方法包括:获取待处理图像;根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合;根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线;根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
6.在一些实施例中,在根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合之前,方法还包括:对待处理图像中属于文本的像素进行区域划分,得到包含扭曲文本行的文本区域;提取文本区域中扭曲文本行的曲线特征,得到扭曲文本曲线。
7.在一些实施例中,提取文本区域中扭曲文本行的曲线特征,得到扭曲文本曲线,包括:获取针对文本区域的边界标记的边界点集合;根据边界点集合拟合贝塞尔曲线作为扭曲文本曲线。
8.在一些实施例中,根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,包括:根据目标圆曲线确认扭曲文本行的方向;根据扭曲文本行的方向和预设的基准方向得到扭曲文本行中目标字符的旋转角度。
9.在一些实施例中,根据目标圆曲线确认扭曲文本行的方向,包括:计算参考点集合中各个参考点的坐标的均值,得到均值点;以及获取目标圆曲线对应的圆心;根据均值点以及圆心,得到目标圆曲线对应的中心线;根据中心线得到扭曲文本行的方向。
10.在一些实施例中,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行,包括:根据目标圆曲线确认扭曲文本行的方向;选取位于扭曲文本行的方向上的
点,得到旋转中心点;根据旋转中心点以及旋转角度对目标字符进行旋转处理,得到呈正方向分布的扭曲文本行。
11.在一些实施例中,在得到呈正方向分布的扭曲文本行之后,方法还包括:根据扭曲文本曲线对呈正方向分布的扭曲文本行进行文本排列拉直处理,得到预识别文本行;对预识别文本行进行文本识别处理,得到文本识别结果。
12.根据本技术实施例的一个方面,提供了一种扭曲文本行的方向矫正装置,装置包括:原始文本获取模块,配置为获取待处理图像,待处理图像包括已标注文本以及未标注文本;实体关系获取模块,配置为基于已标注文本的标注信息提取已标注文本含有的至少两个实体以及至少两个实体之间的关联关系,得到实体关系集合;计算模块,配置为计算未标注文本与实体关系集合中含有的各个实体的文本相似度以及语义相似度,并基于文本相似度以及语义相似度得到未标注文本含有的至少两个实体及至少两个实体之间的关联关系;图谱构建模块,配置为基于未标注文本含有的至少两个实体及至少两个实体之间的关联关系构建知识图谱。
13.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上的扭曲文本行的方向矫正方法。
14.根据本技术实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被电子设备执行时,使得电子设备实现如上的扭曲文本行的方向矫正方法。
15.在本技术的实施例提供的技术方案中,通过获取待处理图像;根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合;根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线,以通过更加标准规范的圆曲线表征扭曲文本曲线的分布特征,方便后续的计算,提高方向矫正的准确度;然后根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行,方便用户阅读,且在后续对扭曲文本行进行文本识别时,提高文本识别的精度。
16.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
18.图1是可以应用本技术实施例的技术方案的示例性应用环境的示意图;
19.图2是本技术的一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
20.图3是本技术的一示例性实施例示出的计算目标圆曲线的示意图;
21.图4是本技术的另一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
22.图5是本技术的一示例性实施例示出的生成控制点集合的示意图;
23.图6是本技术的另一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
24.图7a是本技术的一示例性实施例示出的获取扭曲文本行的方向的示意图;
25.图7b是本技术的另一示例性实施例示出的获取扭曲文本行的方向的示意图;
26.图8是本技术的另一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
27.图9是本技术的一示例性实施例示出的对目标字符进行旋转处理的示意图;
28.图10是本技术的另一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
29.图11是本技术的一示例性实施例示出的对扭曲文本行进行拉直处理的示意图;
30.图12是本技术的另一示例性实施例示出的扭曲文本行的方向矫正方法的流程图;
31.图13是本技术的一示例性实施例示出的扭曲文本行的方向矫正装置的框图;
32.图14是适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
33.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相同的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相同的装置和方法的例子。
34.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用应用程序形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
35.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
36.需要说明的是,在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
37.可选地,在本实施例中,上述扭曲文本行的方向矫正方法可以应用于如图1所示的由服务端110和终端120所构成的硬件环境中。图1是本技术实施例的一种扭曲文本行的方向矫正方法的硬件环境的示意图,如图1所示,服务端110通过网络与终端120进行连接,上述网络包括但不限于:广域网、城域网或局域网。
38.其中,服务端110指的是扭曲文本行的方向矫正方法所对应的服务器;其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,简称cdn)以及大数据和人工智能平台等基础云计算服务的云服务器,本技术对此不进行限定。
39.其中,终端120可以是摄像机、智能手机、平板、笔记本电脑、车载终端等电子设备,本技术对此不进行限定。
40.本技术实施例的扭曲文本行的方向矫正方法可以由服务端110来执行,也可以由终端120来执行,还可以是由服务端110和终端120共同执行。其中,终端120执行本技术实施例的扭曲文本行的方向矫正方法也可以是由安装在其上的客户端来执行。
41.请参阅图2,图2是本技术的一个实施例示出的扭曲文本行的方向矫正方法的流程图。如图2所示,扭曲文本行的方向矫正方法至少包括步骤s210至步骤s240,详细介绍如下:
42.步骤s210、获取待处理图像。
43.本技术实施例中扭曲文本行的方向矫正方法涉及的待处理图像可以是普通的带有文本内容的图像,例如一些报刊杂志,特别是一些带有扭曲文本行的图像。以待处理图像为带有扭曲文本行的产品标识图像为例,产品标识图像所包含的扭曲文本行往往是图像中包含的产品标识,如在工业场景中,对钢卷、轮毂等产品的圆截面进行产品标识的激光刻码、喷字,以进行产品质量追溯、制造过程数据管理等,对于不同形状的产品,产品标识图像所包含的产品标识也可展现为不同分布形状;如钢卷的形状为曲形(如圆形或椭圆形),那么钢卷上刻印的产品标识可以跟随钢卷的形状呈现曲形分布,即产品标识所包含的每个字符按照曲形的位置和角度进行显示,且由于钢卷的圆形截面摆放无规则,导致产品标识的角度不定,产品标识所包含的每个字符的分布方向不确定。
44.其中,获取待处理图像的方式可以根据具体场景而有所不同。例如,可以预先将待处理图像保存至计算机设备中的存储器中,如此,获取待处理图像,即为获取计算机设备的存储器中保存的待处理图像;还可以是用户直接输入待处理图像,当计算机设备需要获取待处理图像时,接收用户的数据输入操作以得到待处理图像;还可以是计算机设备通过网络连接其他设备,并从该其他设备中获取对应的待处理图像,如计算机设备通过网络连接有摄像机设备,通过向该摄像机设备发送图像获取指令,以使摄像机设备根据图像获取指令获取当前场景的待处理图像,并将待处理图像返回给计算机设备。计算机设备还可以通过其他的方式获取待处理图像,如通过网页爬取的方式获取,本技术不对待处理图像的获取方式进行限定。
45.进一步地,所获取的待处理图像可以是已经过预处理的图像数据,也可以是未经过预处理的图像数据。若所获取的待处理图像是未经过预处理的图像数据,该扭曲文本行的方向矫正方法还包括将所获取的待处理图像进行预处理的步骤。示例性地,将所获取的待处理图像进行预处理,可以包括将所获取的待处理图像进行灰度化、二值化、规范化和平滑化。其中,灰度化可以滤除彩色图像所携带的干扰信息;二值化可以进一步分离文本部分和背景部分;规范化是将视频帧中的文本统一为相同尺寸,以便后续的匹配,它包括位置规范化、大小规范化和笔画粗细规范化;平滑化是为了使文本的边缘变得更加平滑。
46.将所获取的待处理图像进行预处理,以避免待处理图像本身存在的缺陷导致的后续处理出现误差的情况。
47.步骤s220、根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合。
48.需要说明的是,待处理图像中的扭曲文本行由多个字符组成,且扭曲文本行中包含的字符并不处于同一直线上,扭曲文本曲线用于描述扭曲文本行中包含的字符的分布特征。
49.示例性的,可以检测待处理图像中的扭曲文本行的上边界获取下边界,以得到扭曲文本行对应的扭曲文本曲线,其中上边界是指相对扭曲文本行中字符阅读方向的上方,下边界是指相对扭曲文本行中字符阅读方向的下方,边界是指字符区域与非字符区域的交界处。如图3所示,待处理图像中包括扭曲文本行,通过检测该扭曲文本行的上边界,得到上
边界曲线a,将上边界曲线a作为该扭曲文本行对应的扭曲文本曲线。可以理解的是,也可以通过检测该扭曲文本行的下边界,将下边界曲线作为该扭曲文本行对应的扭曲文本曲线,本技术对此不做限制。
50.本示例性实施例中,可以通过在扭曲文本曲线上随机选取预设数量n的参考点,得到每个参考点的坐标(xi,yi),其中,i为大于0小于等于n的整数,xi表示参考点i的横坐标,yi表示参考点i的纵坐标,进而得到参考点集合。
51.示例性的,如图3所示,可以在扭曲文本曲线上每间隔预设距离则选取一次参考点,得到参考点包括参考点a1、参考点a2、参考点a3、参考点a4,然后根据每个参考点的坐标,得到参考点集合为{(x
a1
,y
a1
),(x
a2
,y
a2
),(x
a3
,y
a3
),(x
a4
,y
a4
)}。
52.通过对扭曲文本行中包含的字符的分布特征进行采样,得到位于扭曲文本曲线上的参考点,生成参考点集合。
53.步骤s230、根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线。
54.需要说明的是,目标圆曲线是指用于表征扭曲文本行的字符分布特征的圆弧曲线。
55.可以理解的是,由于扭曲文本行可能呈不规则分布,依靠扭曲文本曲线不能准确地获知扭曲文本行的分布方向,若直接根据扭曲文本行对应的扭曲文本曲线进行矫正,则可能存在矫正不准确的情况。而目标圆曲线的线条分布相对于扭曲文本曲线的线条分布来说更加规则,有利于获知扭曲文本行的分布方向。
56.因此,通过参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线,以提高后续扭曲文本行的方向矫正的准确率。例如图3所示的上边界曲线a为扭曲文本行的扭曲文本曲线,根据上边界曲线a上的参考点a1、参考点a2、参考点a3、参考点a4的坐标进行圆曲线拟合,得到目标圆曲线b。
57.示例性的,可以根据参考点集合中的参考点的坐标进行圆曲线拟合,以得到目标圆曲线。例如,利用最小二乘法估算最小方差,以得到对应的目标圆曲线方程,具体计算如公式(1):
[0058][0059]
其中,i为大于0小于等于n的整数,n为参考点集合中参考点的数量,x
ai
表示参考点ai的横坐标,y
ai
表示参考点ai的纵坐标,f表示方差,xc表示目标圆曲线方程中圆心的横坐标,yc表示目标圆曲线方程中圆心的纵坐标,r表示目标圆曲线方程中的圆半径。
[0060]
步骤s240、根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
[0061]
需要说明的是,预设的基准方向可以是任意方向,如垂直方向、水平方向等。旋转角度是指进行旋转处理时扭曲文本行中目标字符经过的角度。目标字符是指需要进行旋转处理的字符,通常是指扭曲文本行中包含的所有字符。正方向分布是指字符排列符合读写标准,即字符排列为从上到下,从左到右。
[0062]
示例性的,可以根据目标圆曲线可以得到当前扭曲文本行的分布方向。进一步的,根据当前扭曲文本行的分布方向和预设的基准方向之间的夹角,得到扭曲文本行中目标字符的旋转角度,进而根据旋转角度对目标字符按旋转角度进行旋转处理,以得到呈正方向
分布的扭曲文本行。
[0063]
通过将待处理图像中的扭曲文本行进行旋转处理,得到呈正方向分布的扭曲文本行,以在后续对扭曲文本行进行文本识别时,提高文本识别的精度。
[0064]
请参阅图4,在上述示例性的实施例中,扭曲文本行的方向矫正方法包括步骤s410至步骤s460,详细介绍如下:
[0065]
步骤s410、获取待处理图像。
[0066]
步骤s410的具体实施方式与图2中的步骤s210一致,在此不做赘述。
[0067]
步骤s420、对待处理图像中属于文本的像素进行区域划分,得到包含扭曲文本行的文本区域。
[0068]
可以理解的是,待处理图像中包括属于文本的像素以及不属于文本的像素,通过对待处理图像中属于文本的像素进行区域划分,以得到包含扭曲文本行的文本区域。其中,一个待处理图像中可以包括多个扭曲文本行的文本区域。
[0069]
示例性的,可以将待处理图像输入文本区域检测网络,文本区域检测网络针对待处理图像中的每个像素均会生成一个分类结果,用于指示该像素是否为属于文本的像素,在文本区域检测网络对每个像素均执行完分类操作之后,得到包含扭曲文本行的文本区域。其中,分类结果具体可以表现为像素是否为属于文本的像素的字符编码或数字编码,作为示例,例如分类结果为“是”和“否”;作为另一示例,例如分类结果为“0”和“1”,其中,“0”代表不属于文本的像素,“1”代表属于文本的像素等,分类结果还可以具体表现为像素是否为属于文本的像素的概率值,作为示例,例如输出的一个分类结果为“0-0.3”和“1-0.7”,意思是该像素不是属于文本的像素的概率为0.3,该像素是属于文本的像素的概率为0.7等,此处不对分类结果的具体表现形式做限制。
[0070]
步骤s430、提取文本区域中扭曲文本行的曲线特征,得到扭曲文本曲线。
[0071]
需要说明的是,扭曲文本行的曲线特征用于表征该扭曲文本行的形变特征,通过扭曲文本行的曲线特征得到扭曲文本曲线。
[0072]
示例性的,可以通过对待处理图像进行二值化处理,估算待处理图像中扭曲文本行的文本区域对应的扭曲文本曲线,可以包括:将待处理图像进行二值化处理,对得到的二值图进行闭运算,形成文本行形状,通过梯度运算找到该文本行形状的边界线,拟合边界线得出该扭曲文本行的扭曲文本曲线。
[0073]
可以理解的是,还可以通过其它方法获取扭曲文本曲线,如通过机器学习的方法等,此处不对扭曲文本曲线的具体获取方法做限制。
[0074]
步骤s440、根据待处理图像中的扭曲文本行以及对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合。
[0075]
步骤s440的具体实施方式与图2中的步骤s220一致,在此不做赘述。
[0076]
步骤s450、根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线。
[0077]
步骤s450的具体实施方式与图2中的步骤s230一致,在此不做赘述。
[0078]
步骤s460、根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
[0079]
步骤s460的具体实施方式与图2中的步骤s240一致,在此不做赘述。
[0080]
可选的,本技术实施例还可采用下述步骤实现步骤s430,详情如下述:获取针对文本区域的边界标记的边界点集合;根据边界点集合拟合贝塞尔曲线作为扭曲文本曲线。
[0081]
需要说明的是,文本区域的边界是指文本区域与非文本区域的交界处,边界点集合中的边界点坐标用于指示扭曲文本行的文本区域的位置。
[0082]
示例性的,根据扭曲文本行的边界点集合,通过最小二乘法(least square estimation)或梯度下降法(stochastic gradient descent),生成扭曲文本行中的控制点集合。其中,边界点集合的概念与控制点集合的概念对应。控制点集合中的控制点用于带入贝塞尔曲线方程中,以生成贝塞尔曲线,贝塞尔曲线用于指示待处理图像中文本区域的位置。
[0083]
其中,贝塞尔曲线是应用于二维图形应用程序的数学曲线,它是根据i个位置任意的点坐标(也即i个控制点坐标)绘制出的一条光滑曲线,i的取值为贝塞尔曲线的阶数加1,i可以为大于等于3的任意整数,i的取值越大,贝塞尔曲线的精度越高,从而贝塞尔曲线圈定的文本区域的范围越精确,但对应的,i的取值越大,所使用的计算机资源越多;一般情况下,i可以取3、4、5、6或其他数值等。为进一步理解本方案,如下公开了贝塞尔曲线的生成公式(2):
[0084][0085]
其中,c(t)代表贝塞尔曲线的因变量,bi代表控制点参数,bi,n(t)代表贝塞尔方程参数,n代表贝塞尔方程的阶数,t代表贝塞尔曲线的自变量。
[0086]
为进一步理解本方案,请参阅图5,图5为本技术实施例提供的扭曲文本行的方向矫正方法中生成控制点集合的一个示意图。图5中以待处理图像中包括一个扭曲文本行,贝塞尔曲线的阶数为3为例,图5中左图示出的为待处理图像中扭曲文本行的文本区域的边界点集合,如图所示,其中包括b1至b10这10个边界点的坐标,右图为需要拟合成贝塞尔曲线的控制点集合,其中包括c1至c8这8个控制点,其中,c1、c2、c3和c4为第一条贝塞尔曲线的控制点,该第一条贝塞尔曲线用于指示文本区域的下边界;c5、c6、c7和c8为第二条贝塞尔曲线的控制点,该第二条贝塞尔曲线用于指示文本区域的上边界。应理解,图5中的示例仅为方便理解本方案,不用于限定本方案。
[0087]
可选地,在上述示例性的实施例中,如图6所示,扭曲文本行的方向矫正方法包括步骤s610至步骤s650,详细介绍如下:
[0088]
步骤s610、获取待处理图像。
[0089]
步骤s610的具体实施方式与图2中的步骤s210一致,在此不做赘述。
[0090]
步骤s620、根据待处理图像中的扭曲文本行以及对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合。
[0091]
步骤s620的具体实施方式与图2中的步骤s220一致,在此不做赘述。
[0092]
步骤s630、根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线。
[0093]
步骤s630的具体实施方式与图2中的步骤s230一致,在此不做赘述。
[0094]
步骤640、根据目标圆曲线确认扭曲文本行的方向。
[0095]
通过目标圆曲线即可以得到该扭曲文本行在待处理图像中的分布方向。
[0096]
例如,当前扭曲文本行的分布方向可以是目标圆曲线的中点的切线方向。可以通
过获取目标圆曲线的中点,以得到中点的切线,进而根据切线得到扭曲文本行的分布方向。
[0097]
例如,当前扭曲文本行的分布方向可以是目标圆曲线的中位线方向。可以通过获取目标圆曲线的圆心以及中点,通过圆心以及中点的直线即为目标圆曲线的中位线,进而根据中位线得到扭曲文本行的分布方向。
[0098]
可以理解的是,可以根据实际应用场景选择扭曲文本行方向的具体表现形式,此处不对扭曲文本行方向的具体表现形式做限制。
[0099]
可选的,本技术实施例还可采用下述步骤实现步骤s640,详情如下述:计算参考点集合中各个参考点的坐标的均值,得到均值点;以及获取目标圆曲线对应的圆心;根据均值点以及圆心,得到目标圆曲线对应的中心线;根据中心线得到扭曲文本行的方向。
[0100]
请参阅图7a以及图7b,图7以及图7b为获取扭曲文本行的方向的示意图,如图所示,目标圆曲线为曲线b,参考点集合包括参考点a1、参考点a2、参考点a3、参考点a4,然后根据每个参考点的坐标,得到参考点集合为:
[0101]
{(x
a1
,y
a1
),(x
a2
,y
a2
),(x
a3
,y
a3
),(x
a4
,y
a4
)}
[0102]
通过对每个参考点的坐标进行计算,得到均值点y的坐标为:
[0103]
((x
a1
+x
a2
+x
a3
+x
a4
)/4,(y
a1
+y
a2
+y
a3
+y
a4
)/4)
[0104]
目标圆曲线方程中圆心center的坐标为(xc,yc),连接圆心c以及均值点y,得到扭曲文本行的方向。
[0105]
示例性的,可以判断扭曲文本行中字符靠近曲线b的一侧为字符本身的哪一侧,以得到扭曲文本行的方向。例如,若扭曲文本行中字符靠近曲线b的一侧为字符本身的上侧,则如图7a所示,扭曲文本行的方向为靠近扭曲文本行的一侧,若扭曲文本行中字符靠近曲线b的一侧为字符本身的下侧,则如图7b所示,扭曲文本行的方向为远离扭曲文本行的一侧。
[0106]
可以理解的是,可以根据实际应用场景对扭曲文本行的方向进行获取及定义,此处不对扭曲文本行方向的获取及定义的方法做限制。
[0107]
步骤650、根据扭曲文本行的方向和预设的基准方向得到扭曲文本行中目标字符的旋转角度,以对扭曲文本行的目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
[0108]
其中,基准方向可以根据实际应用场景进行定义,但需要注意的是,基准方向的不同,则得到的扭曲文本行中目标字符的旋转角度也会不同。
[0109]
示例性的,如图7a所示,基准方向为垂直方向,获取该基准方向与扭曲文本行的方向之间的夹角θ,将该夹角θ作为旋转角度。
[0110]
示例性的,如图7b所示,基准方向为水平方向,获取该基准方向与扭曲文本行的方向之间的夹角将该夹角作为旋转角度。
[0111]
示例性的,以圆心为坐标原点绘制直角坐标系,连接圆心与均值点得到扭曲文本行的方向,可以直接计算基准方向与扭曲文本行的方向之间的锐角夹角,并根据均值点所位于的象限,得到旋转角度。例如,基准方向为水平方向,基准方向与扭曲文本行的方向之间的锐角夹角为β,当均值点位于第一象限时,则旋转角度为90-β;当均值点位于第二象限时,则旋转角度为-(90-β);当均值点位于第三象限时,则旋转角度为-(90-β);当均值点位于第四象限时,则旋转角度为90+β。
[0112]
可以理解的是,当旋转角度为0时,则表面基准方向和垂直方向重合,不用对扭曲文本行进行旋转。
[0113]
可选地,在上述示例性的实施例中,如图8所示,扭曲文本行的方向矫正方法包括步骤s810至步骤s860,详细介绍如下:
[0114]
步骤s810、获取待处理图像。
[0115]
步骤s810的具体实施方式与图2中的步骤s210一致,在此不做赘述。
[0116]
步骤s820、根据待处理图像中的扭曲文本行以及对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合。
[0117]
步骤s820的具体实施方式与图2中的步骤s220一致,在此不做赘述。
[0118]
步骤s830、根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线。
[0119]
步骤s830的具体实施方式与图2中的步骤s230一致,在此不做赘述。
[0120]
步骤840、根据目标圆曲线确认扭曲文本行的方向。
[0121]
步骤s840的具体实施方式与图6中的步骤s640一致,在此不做赘述。
[0122]
步骤850、选取位于扭曲文本行的方向上的点,得到旋转中心点。
[0123]
在得到旋转角度后,还需要获取扭曲文本行进行旋转处理时对应的旋转中心点,旋转中心点是指在进行旋转处理时不会发生位置变化的点。
[0124]
步骤860、根据旋转中心点以及旋转角度对目标字符进行旋转处理,得到呈正方向分布的扭曲文本行。
[0125]
根据旋转中心点以及旋转角度对扭曲文本行的目标字符进行旋转处理,以将待处理图像中随机分布的扭曲文本行矫正为呈正方向分布的扭曲文本行。
[0126]
示例性的,请参阅图9,图9为对目标字符进行旋转处理的示意图。如图9所示,基准方向为垂直方向,获取该基准方向与扭曲文本行的方向之间的旋转角度为θ,将扭曲文本行的方向上的圆心center作为旋转中心点,根据旋转中心点以及旋转角度对扭曲文本行对应的目标字符进行旋转处理,得到呈正方向分布的扭曲文本行。
[0127]
由于在对文本识别模型进行训练时,呈正方向分布的文本样本更多,因此得到训练完成的文本识别模型对于呈正方向分布的文本识别更加准确,本技术实施例通过对随机分布的扭曲文本行在进行文本识别前先进行方向矫正,以提高该扭曲文本行的文本识别效果。
[0128]
请参阅图10,在上述示例性的实施例中,扭曲文本行的方向矫正方法包括步骤s1010至步骤s1060,详细介绍如下:
[0129]
步骤s1010、获取待处理图像。
[0130]
步骤s1010的具体实施方式与图2中的步骤s210一致,在此不做赘述。
[0131]
步骤s1020、根据待处理图像中的扭曲文本行以及对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合。
[0132]
步骤s1020的具体实施方式与图2中的步骤s220一致,在此不做赘述。
[0133]
步骤s1030、根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线。
[0134]
步骤s1030的具体实施方式与图2中的步骤s230一致,在此不做赘述。
[0135]
步骤s1040、根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
[0136]
步骤s1040的具体实施方式与图2中的步骤s240一致,在此不做赘述。
[0137]
步骤s1050、根据扭曲文本曲线对呈正方向分布的扭曲文本行进行文本排列拉直处理,得到预识别文本行。
[0138]
本实施例中,根据扭曲文本曲线对呈正方向分布的扭曲文本行进行文本排列拉直处理,得到预识别文本行,可以包括:按照预先设定的像素尺度将扭曲文本曲线离散成线段,将线段使用防射变换映射到水平文字行。除此之外,还可以采用其他方式完成拉直处理,对此,本文不予限制。
[0139]
请参阅图11,图11为扭曲文本行拉直过程的示例图。如图11所示,拉直处理的过程可以包括:首先按照预先设定的像素尺度(比如,step=1像素的尺度)将扭曲文本曲线离散成线段,然后对应的线段使用防射变换映射到水平文字行上。这里,在该处理过程中对于多次被映射的像素点,可以取多个像素点的平均值。
[0140]
步骤s1060、对预识别文本行进行文本识别处理,得到文本识别结果。
[0141]
需要说明的是,文本识别结果是指扭曲文本行中目标字符对应的文字内容识别结果。
[0142]
示例性的,将预识别文本行输入训练完成的文本识别模型中,以得到该文本识别模型输出的文本识别结果。其中,文本识别模型是根据样本图像训练得到的,该样本图像中包含有文本行图像以及该文本行图像对应的文本内容标签,在对文本识别模型的训练过程中,将文本行图像作为输入,将文本行图像对应的文本内容标签作为目标输出,计算文本识别模型的实际输出与目标输出的损失值,当该损失值小于预设损失值或训练迭代次数达到预设次数时,则得到训练完成的文本识别模型。
[0143]
以下以识别钢卷上的产品标识为例,对本技术实施例的一个具体应用场景进行详细说明:
[0144]
请参阅图12,通过摄像机获取当前场景下包含钢卷的产品标识的图像,得到待处理图像,检测该图像是否存在字符,若存在则基于贝塞尔曲线识别该待处理图像中扭曲文本行对应的扭曲文本曲线,并获取位于扭曲文本曲线上的参考点,生成参考点集合,根据参考点集合中的参考点的坐标,拟合得到扭曲文本行对应的目标圆曲线。然后基于目标圆曲线得到该扭曲文本行的方向以及预设的基准方向,得到旋转角度。进一步的,根据旋转角度对扭曲文本行中目标字符进行旋转处理,得到呈正方向分布的扭曲文本行。然后,对正方向分布的扭曲文本行进行扭曲矫正,得到拉直处理后的预识别文本行,并将预识别文本行输入文本识别模型,得到文本识别模型输出的文本识别结果。
[0145]
本技术提供的扭曲文本行的方向矫正方法,通过获取待处理图像;根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合;根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线,以通过更加标准规范的圆曲线表征扭曲文本曲线的分布特征,方便后续的计算,提高方向矫正的准确度;然后根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行,方便用户阅读,且在后续对扭曲文本行进行文本识别时,提高文本识别的精度。
[0146]
图13是本技术的一个实施例示出的扭曲文本行的方向矫正装置的框图,如图13所示,该装置包括:
[0147]
图像获取模块1310,配置为获取待处理图像;
[0148]
参考点集合获取模块1320,配置为根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合;
[0149]
圆曲线获取模块1330,配置为根据参考点集合中的参考点的坐标,得到扭曲文本行对应的目标圆曲线;
[0150]
方向矫正模块1340,配置为根据目标圆曲线和预设的基准方向,计算扭曲文本行中目标字符的旋转角度,对目标字符按旋转角度进行旋转处理,得到呈正方向分布的扭曲文本行。
[0151]
在本技术的一个实施例中,在根据待处理图像中的扭曲文本行对应的扭曲文本曲线,获取位于扭曲文本曲线上的参考点,生成参考点集合之前,该装置还可以包括:
[0152]
文本区域获取单元,配置为对待处理图像中属于文本的像素进行区域划分,得到包含扭曲文本行的文本区域;
[0153]
扭曲文本曲线获取单元,配置为提取文本区域中扭曲文本行的曲线特征,得到扭曲文本曲线。
[0154]
在本技术的一个实施例中,扭曲文本曲线获取单元可以包括:
[0155]
边界点集合获取单元,配置为获取针对文本区域的边界标记的边界点集合;
[0156]
拟合单元,配置为根据边界点集合拟合贝塞尔曲线作为扭曲文本曲线。
[0157]
在本技术的一个实施例中,方向矫正模块1340可以包括:
[0158]
第一方向确认单元,配置为根据目标圆曲线确认扭曲文本行的方向;
[0159]
角度计算单元,配置为根据扭曲文本行的方向和预设的基准方向得到扭曲文本行中目标字符的旋转角度。
[0160]
在本技术的一个实施例中,第一方向确认单元可以包括:
[0161]
均值点及圆心获取单元,配置为计算参考点集合中各个参考点的坐标的均值,得到均值点;以及获取目标圆曲线对应的圆心;
[0162]
中心线获取单元,配置为根据均值点以及圆心,得到目标圆曲线对应的中心线;
[0163]
方向获取子单元,配置为根据中心线得到扭曲文本行的方向。
[0164]
在本技术的一个实施例中,方向矫正模块1340可以包括:
[0165]
第二方向确认单元,配置为根据目标圆曲线确认扭曲文本行的方向;
[0166]
旋转中心点获取单元,配置为选取位于扭曲文本行的方向上的点,得到旋转中心点;
[0167]
矫正单元,配置为根据旋转中心点以及旋转角度对目标字符进行旋转处理,得到呈正方向分布的扭曲文本行。
[0168]
在本技术的一个实施例中,在得到呈正方向分布的扭曲文本行之后,该装置还可以包括:
[0169]
扭曲矫正单元,配置为根据扭曲文本曲线对呈正方向分布的扭曲文本行进行文本排列拉直处理,得到预识别文本行;
[0170]
文本识别单元,配置为对预识别文本行进行文本识别处理,得到文本识别结果。
[0171]
图14示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0172]
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0173]
如图14所示,电子设备1400以通用计算设备的形式表现。电子设备1400的组件可以包括但不限于:上述至少一个处理单元1410、上述至少一个存储单元1420、连接不同系统组件(包括存储单元1420和处理单元1410)的总线1430、显示单元1440。
[0174]
其中,存储单元存储有程序代码,程序代码可以被处理单元1410执行,使得处理单元1410执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
[0175]
存储单元1420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)1421和/或高速缓存存储单元1422,还可以进一步包括只读存储单元(rom)1423。
[0176]
存储单元1420还可以包括具有一组(至少一个)程序模块1425的程序/实用工具1424,这样的程序模块1425包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0177]
总线1430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0178]
电子设备1400也可以与一个或多个外部设备1470(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1400交互的设备通信,和/或与使得该电子设备1400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1450进行。并且,电子设备1400还可以通过网络适配器1460与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1460通过总线1430与电子设备1400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1400使用其它硬件和/或应用程序模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0179]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机应用程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在该计算机程序被处理单元1410执行时,执行本技术的系统中限定的各种功能。
[0180]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机
可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0181]
描述于本技术实施例中所涉及到的单元可以通过应用程序的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0182]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的扭曲文本行的方向矫正方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0183]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的扭曲文本行的方向矫正方法。
[0184]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1