识别区域排序方法、系统、电子设备及存储介质与流程

文档序号:27449788发布日期:2021-11-18 00:40阅读:194来源:国知局
识别区域排序方法、系统、电子设备及存储介质与流程

1.本技术实施例涉及人工智能技术领域,尤其涉及一种识别区域排序方法、系统、电子设备及存储介质。


背景技术:

2.计算机视觉是人工智能领域中较为热门的技术,它是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等操作,从中提取出对人类有用的信息,从而完成传统场景中需要依赖人力进行的大量的,繁重的工作。
3.文字识别是计算机视觉中较为关键的一环,具体来说是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。和人眼观察不同,计算机是难以感知到图像的版面结构,即便计算机已经正确检测并识别出文字,其在输出时应该如何对结果进行排序依然是一个比较棘手的问题。在文字识别技术中,提高结果输出的合理性往往是最容易被忽视的步骤之一,但其重要性却不容小觑,合理的输出顺序在开发阶段能够方便开发人员对测试结果进行核验,在实际应用中也大大提升了用户的使用体验。
4.在相关方案中,当图像含有各个方向的文字时,通常是先识别出图像中若干个识别框,然后基于x轴/y轴坐标或者是x与y轴坐标值之和对各识别框进行排序,最后按照排序结果输出各识别框中识别出的文字,但因为图像中的文字的排布情况较为复杂,仅通过x轴/y轴坐标或者是x与y轴坐标值之和对所有识别框进行排序,难以得到理想的排序结果。


技术实现要素:

5.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
6.本技术实施例提供了一种识别区域排序方法、系统、电子设备及存储介质,能够使得目标图像中的识别区域的排序更加合理,最终提升文字的识别效果。
7.第一方面,本技术实施例提供一种识别区域排序方法,所述方法包括:
8.获取目标图像中的多个识别区域对应边界矩形的顶点坐标;
9.根据所述多个所述识别区域对应边界矩形的顶点坐标,判断所述多个所述识别区域是否存在交汇;
10.根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较;
11.根据比较结果对待排序的所述识别区域进行排序;
12.根据排序结果依次输出所述多个所述识别区域的文字识别结果。
13.在一可选的实现方式中,
14.在所述判断所述多个所述识别区域是否存在交汇之后,所述方法还包括:
15.从所述多个所述识别区域中选取在顶点水平方向x的坐标值与顶点竖直方向y的
坐标值之和最小的其中一个所述识别区域作为所述排序结果中的第一个元素。
16.在一可选的实现方式中,所述根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较,包括:
17.当待排序的所述识别区域与已排序的所述识别区域在水平方向x存在交汇且在竖直方向y不存在交汇,将两个所述识别区域对应边界矩形的左上顶点的y坐标值较大的所述识别区域排在另一个所述识别区域之后。
18.在一可选的实现方式中,所述根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较,包括:
19.当待排序的所述识别区域与已排序的所述识别区域在竖直方向y存在交汇且在水平方向x不存在交汇,将两个所述识别区域对应边界矩形的左上顶点的x坐标值较大的所述识别区域排在另一个所述识别区域之后。
20.在一可选的实现方式中,所述根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较,包括:
21.当待排序的所述识别区域与已排序的所述识别区域在水平方向x和竖直方向水平方向y均存在交汇且两个所述识别区域在水平方向x的交汇率高于竖直方向y的交汇率,将两个所述识别区域对应边界矩形的左上顶点的y坐标值较大的所述识别区域排在另一个所述识别区域之后;当待排序的所述识别区域与已排序的所述识别区域在水平方向x和竖直方向y均存在交汇且两个所述识别区域在竖直方向y的交汇率高于水平方向x的交汇率,将两个所述识别区域对应边界矩形的左上顶点的x坐标值较大的一个所述识别区域排在另一个所述识别区域之后。
22.在一可选的实现方式中,
23.所述水平方向x的交汇率的计算方式包括:
24.计算第一个所述识别区域对应的边界矩形的左上顶点x坐标值与第二个所述识别区域对应的边界矩形的右下顶点x坐标值之间的差值d1,并计算0与所述差值d1之间的较大值m1;其中,第一个所述识别区域对应的边界矩形左上顶点x坐标比第二个所述识别区域对应的边界矩形左上顶点x坐标大;
25.计算第一个所述识别区域对应的边界矩形在水平方向x上的边长与第二个所述识别区域对应的边界矩形在水平方向x上的边长之间的较大值m2;
26.计算所述较大值m1与所述较大值m2之间的比值p1,将所述比值p1作为第一个所述识别区域和第二个所述识别区域在水平方向x的交汇率;
27.所述竖直方向y的交汇率的计算方式包括:
28.计算第一个所述识别区域对应的边界矩形的左上顶点y坐标值与第二个所述识别区域对应的边界矩形的右下顶点y坐标值之间的差值d2,并计算0与所述差值d2之间的较大值m3;其中,第一个所述识别区域对应的边界矩形左上顶点y坐标比第二个所述识别区域对应的边界矩形左上顶点y坐标大;
29.计算第一个所述识别区域对应的边界矩形在竖直方向y上的边长与第二个所述识
别区域对应的边界矩形在竖直方向y上的边长之间的较大值m4;
30.计算所述较大值m3与所述较大值m4之间的比值p2,将所述比值p2作为第一个所述识别区域和第二个所述识别区域在竖直方向y的交汇率。
31.在一可选的实现方式中,所述根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较,包括:
32.当待排序的所述识别区域与已排序的所述识别区域不存在交汇,将两个所述识别区域中左上顶点的y坐标较大的所述识别区域排在另一个所述识别区域之后。
33.第二方面,本技术实施例提供了一种识别区域排序系统,包括:
34.坐标获取单元,用于获取目标图像中的多个识别区域对应边界矩形的顶点坐标;
35.交汇判断单元,用于根据所述多个所述识别区域对应边界矩形的顶点坐标,判断所述多个所述识别区域是否存在交汇;
36.坐标比较单元,用于根据判断结果和预设的交汇排序规则,将待排序的所述识别区域对应边界矩形的顶点坐标依次与已排序的所述识别区域对应边界矩形的顶点坐标进行比较;
37.区域排序单元,用于根据比较结果对待排序的所述识别区域进行排序;
38.结果输出单元,用于根据排序结果依次输出所述多个所述识别区域的文字识别结果。
39.第三方面,本技术实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:如上述第一方面的识别区域排序方法。
40.第四方面,本技术实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行:如上述第一方面的识别区域排序方法。
41.本技术实施例第一方面提供的一种识别区域排序方法,本方法获取目标图像中的多个识别区域对应边界矩形的顶点坐标,其次根据多个识别区域对应边界矩形的顶点坐标,判断多个识别区域是否存在交汇,然后根据判断结果和预设的交汇排序规则,将待排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较,然后根据比较结果对待排序的识别区域进行排序,最后根据排序结果依次输出多个识别区域的文字识别结果。相较于相关方案通过x轴/y轴坐标或x轴与y轴坐标值之和来进行排序,本方法的排序方式更加合理,而且能够有效地应对各种复杂的文字排布情况,除传统的文档外,同样适用于表格、海报、商标等ocr识别结果的排序,且具有速度快,通用性强等特点。
42.可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或相关技术描述
中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1是本技术一个实施例提供的用于执行识别区域排序方法的系统架构的示意图;
45.图2是本技术一个实施例提供的识别区域排序方法的流程图;
46.图3是本技术一个实施例提供的待排序的识别区域与已排序的识别区域在x轴方向存在交汇的示意图;
47.图4是本技术一个实施例提供的待排序的识别区域与已排序的识别区域在y轴方向存在交汇的示意图;
48.图5是本技术一个实施例提供的待排序的识别区域与已排序的识别区域在x轴和y轴方向均不存在交汇的示意图;
49.图6是本技术一个实施例提供的待排序的识别区域与已排序的识别区域在x轴和y轴方向均存在交汇的示意图。
具体实施方式
50.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术实施例的描述。
51.需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
52.还应当理解,在本技术实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
53.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial

intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本技术实施例主要涉及人工智能中的计算机视觉技术。本技术实施例主要涉及人工智能中的计算机视觉技术。
54.ocr(optical character recognition光学字符识别)文字识别是计算机视觉中
较为关键的一环,具体来说是指对文本资料(包括文档、表格、海报和商标等)的图像文件进行分析识别处理,获取文字及版面信息的过程。和人眼观察不同,计算机是难以感知到图像的版面结构的,也就是说,即便计算机已经正确检测并识别出文字,其在输出时应该如何对结果进行排序依然是一个比较棘手的问题。在ocr文字识别技术中,提高结果输出的合理性往往是最容易被忽视的步骤之一,但其重要性却不容小觑,一个合理输出顺序,在开发阶段能够方便开发人员对测试结果进行核验,在实际应用中,也大大提升了用户的使用体验,目前的ocr文字识别技术已经正确检测并识别出图像中的文字之后,其在输出时应该如何对结果进行排序依然是一个比较棘手的问题。通常的做法是采用x轴/y轴坐标或者是x轴与y轴坐标值之和来进行排序,但是这样排序的效果很不理想。
55.为了解决上述技术缺陷,本方案在对识别出目标图像中的所有识别区域之后,充分考虑每个识别区域与其余识别区域之间的位置关系,通过对每一个待排序的识别区域依次与全部已排序的识别区域之间进行匹配,然后根据匹配结果判断每一个待排序的识别区域的所在排序位置,最终完成目标图像中的所有识别区域的排序,最后根据排序结果,依次输出每个识别区域对应识别出的文字。相较于相关方案,本方案能使目标图像中的识别区域的排序更加合理,从而实现最终提升文字的识别效果的目的。
56.本技术一个实施例提供的识别区域排序方法可以在电子设备中执行。终端/设备可以为移动电子设备,也可以为非移动电子设备。移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机、上网本、个人数字助理等;非移动电子设备可以为个人计算机、电视机、柜员机或者自助机等;本技术实施方案不作具体限定。
57.电子设备可以包括处理器,外部存储器接口,内部存储器,通用串行总线(universal serial bus,usb)接口,充电管理模块,电源管理模块,电池,天线,移动通信模块,无线通信模块,音频模块,扬声器,受话器,麦克风,耳机接口,传感器模块,按键,马达,指示器,摄像头,显示屏,以及用户标识模块(subscriber identification module,sim)卡接口等。
58.下面结合附图,对本技术实施例作进一步阐述。
59.参照图1,是本技术一个实施例提供的用于执行一种识别区域排序方法的系统架构示意图,在图1的示例中,该系统架构主要包括但不限于相互电连接的坐标获取单元100、交汇判断单元200、坐标比较单元300、区域排序单元400和结果输出单元500。其中:
60.坐标获取单元100用于获取目标图像中的多个识别区域对应边界矩形的顶点坐标。
61.交汇判断单元200用于根据多个识别区域对应边界矩形的顶点坐标,判断多个识别区域是否存在交汇。
62.坐标比较单元300用于根据判断结果和预设的交汇排序规则,将待排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较。
63.区域排序单元400用于根据比较结果对待排序的识别区域进行排序。
64.结果输出单元500用于根据排序结果依次输出多个识别区域的文字识别结果。
65.本技术实施例描述的系统架构以及应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,
随着系统架构的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
66.本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本技术实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
67.在图1所示的系统架构中,各个单元可以分别调用其储存的程序,以执行识别区域排序方法。
68.基于上述系统架构,提出本技术实施例的识别区域排序方法的各个实施例。
69.参照图2,本技术的一个实施例,提供了一种识别区域排序方法,本方法具体包括如下步骤:
70.步骤s100、获取目标图像中的多个识别区域对应边界矩形的顶点坐标。
71.步骤s200、根据多个识别区域对应边界矩形的顶点坐标,判断多个识别区域是否存在交汇。
72.步骤s300、根据判断结果和预设的交汇排序规则,将待排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较。
73.步骤s400、根据比较结果对待排序的识别区域进行排序,得到多个识别区域的排序结果。
74.步骤s500、根据排序结果依次输出多个识别区域的文字识别结果。
75.在步骤s100中,系统首先对目标图像中的文字区域进行识别,将得到多个识别区域(系统将使用识别区域表示图像中的文字区域),同时系统也将得到目标图像的尺寸信息,该尺寸信息是用于后续的计算过程。在本实施例中,系统在得到尺寸信息之后,将以目标图像中的左上顶点(需要注意的是,本文实施例以左上顶点为例,在实际情况不仅限于左上顶点)作为原点,建立二维坐标系,二维坐标系如图3至图6所示。通常情况下,系统能够识别出识别区域,但识别出的识别区域多为不规则的四边形,不方便后续操作,因此在得到多个识别区域之后,还进一步的计算每一个识别区域对应的边界矩形,才便于后续的计算过程。步骤s100中的所指的识别区域对应的边界矩形能够将识别区域完整包含的面积最小的矩形。这样就统一每一个识别区域的形状,简化了边长和后续的计算步骤等等,能有效的提升运行效率。在计算出每一个识别区域对应的边界矩形之后,能够得到每一个边界矩形在二维坐标系中的坐标。
76.在步骤s200中,根据多个识别区域对应边界矩形的顶点坐标,判断多个识别区域是否存在交汇,如图3至图6所示,在得到每一个边界矩形的顶点坐标之后,就能判断出识别区域与识别区域之间是否出现了交汇。
77.在一些实施例中,步骤s300之前,还包括步骤:
78.步骤s301、从多个识别区域中选取在x轴方向的顶点x坐标值与y轴方向的顶点y坐标值之和最小的其中一个识别区域作为排序结果中的第一个元素。
79.本实施例选取在x轴方向的顶点x坐标值与y轴方向的顶点y坐标值之和最小的其中一个识别区域作为第一个已排序的识别区域,本设置方式符合目前用户人眼的观看习惯,人眼观察信息的路径通常是由左到右,且由上到下。当然的,也可以通过人为或者其它的技术方式确定第一个已排序的识别区域,此处不再进行限定。
80.在步骤s300中,由于已经确定了第一个已排序的识别区域,那么后续的每一个待
排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较,最终完成全部多个识别区域的排序过程。例如:先确定第一个已排序的识别区域a,然后将待排序的识别区域b对应的边界矩形的顶点坐标与已排序的识别区域a对应的边界矩形的顶点坐标之间进行比较,然后根据比较结果判断识别区域b排在区域a之前还是之后,假设识别区域b排序在识别区域a之后,那么此时的排序为:识别区域a

识别区域b。然后将待排序的识别区域c对应的边界矩形的顶点坐标依次与已排序的识别区域a、b对应的边界矩形的顶点坐标之间进行比较,假设识别区域c排序在识别区域a和识别区域b之后,那此时的排序为:识别区域a

识别区域b

识别区域c。以此类推,直至完成全部多个识别区域的排序,并且得到最终的排序结果。
81.在一些实施例中,步骤s300中根据判断结果和预设的交汇排序规则,将待排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较,具体包括:
82.首先步骤s200中的判断结果有以下四种(以一个待排序的识别区域与一个已排序的识别区域之间进行比较为例):(1)两个识别区域在x轴方向存在交汇且在y轴方向不存在交汇;(2)两个识别区域在y轴方向存在交汇且在x轴方向不存在交汇;(3)两个识别区域在x轴方向和y轴方向均存在交汇;(4)两个识别区域在x轴方向和y轴方向均不存在交汇。当出现第(1)种情况时,将两个识别区域对应边界矩形的左上顶点的y坐标较大的识别区域排在另一个识别区域之后。
83.当出现第(2)种情况时,将两个识别区域对应边界矩形的左上顶点的x坐标较大的识别区域排在另一个识别区域之后。
84.当出现第(3)种情况时,当待排序的识别区域与已排序的识别区域在x轴方向和y轴方向均存在交汇且两个识别区域在x轴方向的交汇率高于y轴方向的交汇率,将两个识别区域对应边界矩形的左上顶点的y坐标较大的识别区域排在另一个识别区域之后;当待排序的识别区域与已排序的识别区域在x轴方向和y轴方向均存在交汇且两个识别区域在y轴方向的交汇率高于x轴方向的交汇率,将两个识别区域对应边界矩形的左上顶点的x坐标较大的一个识别区域排在另一个识别区域之后。
85.在一些实施例中,两个识别区域在水平方向x和竖直方向y上的交汇率的计算方式具体包括:
86.第一、第一个识别区域和第二个识别区域在水平方向x的交汇率计算:
87.1)计算第一个识别区域对应的边界矩形的左上顶点x坐标值与第二个识别区域对应的边界矩形的右下顶点x坐标值之间的差值d1,并计算0与差值d1之间的较大值m1;其中,第一个识别区域对应的边界矩形左上顶点x坐标比第二个识别区域对应的边界矩形左上顶点x坐标大。
88.2)计算第一个识别区域对应的边界矩形在水平方向x上的边长与第二个识别区域对应的边界矩形在水平方向x上的边长之间的较大值m2。
89.3)计算较大值m1与较大值m2之间的比值p1,将比值p1作为第一个识别区域和第二个识别区域在水平方向x的交汇率。
90.以下使用公式表示:
[0091][0092]
其中,先比较第一个识别区域和第二个识别区域对应的边界矩形的左上顶点x坐标值的大小,较小的一方,取其边界矩形右下顶点的x坐标值记为x2,较大的一方,取其边界矩形左上顶点的x坐标值记为x1,x1

x2表示两者之间的差值(上文中使用d1进行表示),max(0,x1

x2)表示取0和x1

x2之间的较大值(上文中使用m1进行表示)。w1表示第一个识别区域对应的边界矩形在x轴方向上的边长,w2表示第二个识别区域对应的边界矩形在x轴方向上的边长,max(w1,w2)表示求取两个边长之间的较大值(上文中使用m2进行表示)。overlap
x
表示第一个识别区域与第二个识别区域在x轴方向上的交汇率(上文中使用p1进行表示)。
[0093]
第二、第一个识别区域和第二个识别区域在竖直方向y的交汇率计算:
[0094]
1)计算第一个识别区域对应的边界矩形的左上顶点y坐标值与第二个识别区域对应的边界矩形的右下顶点y坐标值之间的差值d2,并计算0与差值d2之间的较大值m3;其中,第一个识别区域对应的边界矩形左上顶点y坐标比第二个识别区域对应的边界矩形左上顶点y坐标大;
[0095]
2)计算第一个识别区域对应的边界矩形在竖直方向y上的边长与第二个识别区域对应的边界矩形在竖直方向y上的边长之间的较大值m4;
[0096]
3)计算较大值m3与较大值m4之间的比值p2,将比值p2作为第一个识别区域和第二个识别区域在竖直方向y的交汇率。
[0097]
以下使用公式形式进行表示:
[0098][0099]
其中,先比较第一个识别区域和第二个识别区域对应的边界矩形的左上顶点y坐标值的大小,较小的一方,取其边界矩形右下顶点的y坐标值记为y2,较大的一方,取其边界矩形左上顶点的y坐标值记为y1,y1

y2表示两者之间的差值(上文中使用d2进行表示),其中max(0,y1

y2)表示取0和y1

y2之间的较大值(上文中使用m3进行表示)。h1表示第一个识别区域对应的边界矩形在y轴方向上的边长,h2表示第二个识别区域对应的边界矩形在y轴方向上的边长,max(h1,h2)表示求取两个边长之间的较大值(上文中使用m4进行表示)。overlap
y
表示第一个识别区域与第二个识别区域在y轴方向上的交汇率(上文中使用p2进行表示)。
[0100]
当出现第(4)种情况时,将两个识别区域对应边界矩形的左上顶点的y坐标较大的识别区域排在另一个识别区域之后。
[0101]
在步骤s300和步骤s400之后,就能够得到对所有识别区域的排序。
[0102]
最后步骤s500就可以基于排序完成之后的所有识别区域的一个顺序依次输出对应的文字,由于此处文字输出的技术为本领域技术人员的公知常识,因此此处不再赘述。
[0103]
相较于现有相关方案通过x轴/y轴坐标或x轴与y轴坐标值之和来进行排序,本实施例提供的识别区域排序方法获取目标图像中的多个识别区域对应边界矩形的顶点坐标,其次根据多个识别区域对应边界矩形的顶点坐标,判断多个识别区域是否存在交汇,然后
根据判断结果和预设的交汇排序规则,将待排序的识别区域对应边界矩形的顶点坐标依次与已排序的识别区域对应边界矩形的顶点坐标进行比较,然后根据比较结果对待排序的识别区域进行排序,最后根据排序结果依次输出多个识别区域的文字识别结果。本方法能够有效地应对各种复杂的文字排布情况,除传统的文档外,同样适用于表格、海报、商标等ocr识别结果的排序,且具有速度快,通用性强等特点。
[0104]
本技术的一个实施例,提供了一种识别区域排序方法,本方法适用于文字识别后的输出排序,执行主体为上述实施例提供的电子设备上运行的文字识别系统。文字识别系统输入为一张图片中各识别区域(又称为识别框)的顶点坐标和相应识别文本,以及原图像的尺寸信息,系统输出为已排序的文本信息。本方法包括如下步骤:
[0105]
第一步、首先需要对待排序的各识别区域的形状进行统一,在本实施例中,使用每一个识别区域的边界矩形的左上与右下坐标进行替代,其中边界矩形是指能够将识别区域完整包含的面积最小的矩形。通过本设计不仅能够统一各区域形状,同时简化了边长,距离计算等步骤,可以有效提高电子设备的运行效率。
[0106]
第二步、采用插入排序的方法将待排序的各识别区域进行排序。具体包括:
[0107]
假设以目标图像的左上顶点作为原点,建立x和y轴的坐标系。首先需要选出所有代表识别区域的边界矩形中x与y坐标之和最小的一个,作为已排序列的第一个元素。随后对于每个新加入的边界矩形,记为rec,将rec依次与已排序的边界矩形进行比较,若rec在其之后则继续与下一个已排序的边界矩形进行比较,直到某个边界矩形应排在rec之后,则将rec插入到该边界矩形之前。在本实施例中,各识别区域之间的排序是具有可传递性的,若第b个识别区域在第a个识别区域之后,第c个识别区域在第b个识别区域之后,则第c个识别区域必在第a个识别区域之后,这是能够对识别区域进行排序的前提。而且本排序方法的设计符合了人眼观察信息的路径,因为人眼观察信息的路径是由左到右,由上到下的,正符合这样单一路径的规则。
[0108]
在第二步中,一个需要待排序的识别区域需要依次与一个或多个已排序的识别区域进行匹配,最终得到该待排序的识别区域排序位置。在本实施例中,提供了以下四种待排序的识别区域与已排序的识别区域之间进行匹配的方式,具体包括如下:
[0109]
(1)对于任意两个识别区域的边界矩形,若它们在x轴方向存在交汇,y轴方向不存在交汇,如图3所示,则按照两者的左上顶点的y坐标值进行排序,将y坐标值较大的边界矩形2排在y坐标值较小的边界矩形1之后,即边界矩形2对应的识别区域排序在边界矩形1之后。
[0110]
(2)对于任意两个识别区域的边界矩形,若它们在y轴方向存在交汇,x轴方向不存在交汇,如图4所示,则按照两者的左上顶点的x坐标值进行排序,即x坐标值较大的边界矩形2排在x坐标值较小的边界矩形1之后。
[0111]
(3)对于任意两个识别区域的边界矩形,若它们在x轴与y轴方向均不存在交汇,如图5所示,则按照两者的左上顶点的y坐标值进行排序,即y坐标值较大的边界矩形2排在y坐标值较小的边界矩形1之后。对于任意两个在x轴与y轴方向均不存在交汇的识别区域的边界矩形来说,这样的排序规则是由人眼阅读习惯决定的,比起左右排版,用户往往更适应上下排版的阅读顺序。
[0112]
(4)对于任意两个识别区域的边界矩形,若它们在x轴与y轴方向均存在交汇,如图
6所示,此时,两个边界矩形在本平面上是具有交汇区域的状态,因此需要依据左上顶点的x坐标或y坐标取决于两方向上各自的交汇率。在本实施例中,交汇率的计算公式在上述实施例中已经说明,此处不再赘述。在图6中,边界矩形1和2在x轴方向的交汇率高于y轴方向的交汇率,因此是依据左上顶点y坐标进行排序,即y坐标较大的边界矩形2排在y坐标较小的边界矩形1之后;边界矩形2和3在y方向的交汇率高于x方向的交汇率,因此是依据左上顶点x坐标进行排序,即x坐标较大的边界矩形3排在x坐标较小的边界矩形2之后;由于排序具有可传递性,最终的输出顺序依次为边界矩形1

边界矩形2

边界矩形3。
[0113]
在相关ocr文字识别技术方案当中,提高结果输出的合理性往往是最容易被忽视的步骤之一,但其重要性却不容小觑。合理的输出顺序,在开发阶段能够方便开发人员对测试结果进行核验,在实际应用中,也大大提升了用户的使用体验。另一方面,当ocr文字识别技术的结果需要结合文字解析,正则校验,nlp等人工智能技术进行进一步的处理时,文字输出顺序更是极大影响着这些后续工作的难度。
[0114]
本实施例方法提出的识别区域排序方法能够有效地应对各种复杂的文字排布情况,除传统的文档外,同样适用于表格、海报、商标等ocr识别结果的排序,且具有速度快,通用性强等特点。
[0115]
本技术的一个实施例,提供了一种电子设备,该设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
[0116]
处理器和存储器可以通过总线或者其他方式连接。
[0117]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0118]
需要说明的是,本实施例中的电子设备能够构成图1所示实施例中的系统架构的一部分,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
[0119]
实现上述实施例的识别区域排序方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例方法,例如,执行以上描述的图2中的方法步骤s101至s103。
[0120]
以上所描述的终端实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0121]
此外,本技术实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述车辆连接器实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的基于识别区域排序方法,例如,执行以上描述的图2中的方法步骤s101至s103。又如,被上述设备连接器实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的识别区域排序方法,例如,执行以上描述的图2中的方法步骤s101至s103。
[0122]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0123]
以上是对本技术实施例的较佳实施进行了具体说明,但本技术实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术实施例权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1