1.本发明涉及计算机信息技术领域,尤其涉及一种文档图像中文字高度的分布情况估计方法及装置。
背景技术:2.目前在电子文档的阅读以及ocr识别等应用场景都需要解决如何将图像放缩至符合视觉的大小的问题。具体来说在ocr的输入预处理阶段需要将图像放缩至合适大小,这样可以显著提升ocr识别的正确率;而在采用阅读器阅读pdf页面或在浏览器页面浏览文字类网页的时候,将页面图像放缩至合适位置,使页面中文字大小调整到适合阅读的大小,可以提升用户阅读的体验。
3.现有的pdf页面或文字类网页图像放缩时,一般是用户根据阅读爱好将其阅读或浏览的含有文字的图像放缩至自己想要的大小。由于现有方法无法准确识别图像中文字的高度分布情况,因而在图像放缩过程中难以保证以较佳的放缩比例进行放缩,因此如何准确的检测到图像上的文字高度分布情况是亟待解决的技术问题。
技术实现要素:4.有鉴于此,本发明提供了一种文档图像中文字高度的分布情况估计方法及装置,以解决现有技术中存在的一个或多个问题。
5.根据本发明的一个方面,本发明公开了一种文档图像中文字高度的分布情况估计方法,所述方法包括:
6.获取第一样本训练集,所述第一样本训练集中的样本数据包括文字块图像及文字高度;
7.基于所述第一样本训练集对初始网络模型进行训练,得到字高检测模型;
8.将待检测文档图像缩放至不同比例并输入至所述字高检测模型,获得不同比例下的所述待检测文档图像对应的文字高度识别结果;
9.基于获取到的不同比例下的所述待检测文档图像对应的文字高度识别结果建立各比例待检测文档图像的待分类文字高度分布图;其中,所述待分类文字高度分布图的横轴表示实际字高,纵轴表示相应字高的文字数量与总文字数量的比值;
10.将所述待分类文字高度分布图输入至分类器模型,获得所述待检测文档图像的最优缩放比例,并基于所述最优缩放比例对应的文字高度确定所述待检测文档图像的字高分布情况。
11.在本发明一些实施例中,获取第一样本训练集,包括:
12.获取文档图像,将所述文档图像切割为多个文字块图像,标注各所述文字块图像的文字高度;
13.将所述文字块图像中的在高度方向上被切割的文字进行马赛克处理。
14.在本发明一些实施例中,获取第一样本训练集,还包括:
15.随机生成文档图像,并在生成的所述文档图像的各区域添加识别干扰项,所述识别干扰项包括纯白背景、高斯噪声、晶体、椒盐噪声和真实环境信息中的至少一个;和/或
16.对所述文字块图像进行数据增强及旋转,调整所述文字块图像的亮度、对比度、饱和度和色调。
17.在本发明一些实施例中,所述方法包括:
18.构建高度损失函数,所述高度损失函数为:其中,hloss表示高度损失,h1=min(d1,d3)+min(d2,d4),h2=d1+d2+d3+d
4-h1,d1为预测的像素点至文字块图像顶部之间的距离,d2为预测的像素点至文字块图像底部之间的距离,d3为标注的像素点至文字块图像顶部之间的距离,d4为标注的像素点至文字块图像底部之间的距离。
19.在本发明一些实施例中,当获取第一样本训练集包括对所述文字块图像进行数据增强及旋转时,所述方法还包括:构建角度损失函数,所述角度损失函数为angleloss=1-cos(θ
1-θ2);其中,angleloss表示角度损失,θ1为预测的文字块图像的旋转角度值,θ2为标注的文字块图像旋转角度值。
20.在本发明一些实施例中,将所述文字高度分布图输入至分类器模型,获得所述待检测文档图像的最优缩放比例,并基于所述最优缩放比例对应的文字高度确定所述待检测文档图像的字高分布情况,之前,还包括:
21.获取第二样本训练集,所述第二样本训练集中的样本数据包括文字高度分布图以及对应的最优缩放比例;
22.基于所述第二样本训练集对初始分类器模型进行训练得到所述分类器模型。
23.在本发明一些实施例中,所述方法还包括:
24.构建文本识别损失函数,所述文本识别损失函数为其中,diceloss表示文本识别损失,x表示标注的像素点为文本的概率,y表示预测的像素点为文本的概率。
25.在本发明一些实施例中,所述分类器模型为svm分类器;和/或
26.基于获取到的不同比例下的所述待检测文档图像对应的文字高度识别结果建立各比例待检测文档图像的待分类文字高度分布图,包括:
27.统计各比例下的所述待检测文档图像对应的各字高的文字数量;
28.计算各比例下的所述待检测文档图像对应的各字高的文字数量与总文字数量的比值;
29.基于所述比值采用画图工具建立各比例待检测文档图像的待分类文字高度分布图。
30.根据本发明的另一方面,还公开了一种文档图像中文字高度的分布情况估计系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上述任一实施例所述方法的步骤。
31.根据本发明的再一方面,还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
32.该文档图像中文字高度的分布情况估计方法通过构造大量文档图像文字块作为
网络训练集的来源,并通过字高检测模型获取待检测文档图像中文字的高度,进而通过分类器模型获得待检测文档图像的最优缩放比例,从而可准确的检测到图像上的文字高度分布情况,从而可保证在文档阅读或ocr识别场合使带有文字的图像放缩至最优比例。
33.本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
34.本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
35.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:
36.图1为本发明一实施例的文档图像中文字高度的分布情况估计方法的流程示意图。
37.图2为本发明另一实施例的文档图像中文字高度的分布情况估计方法的流程示意图。
38.图3为本发明一实施例的第一样本训练集的构建流程示意图。
39.图4为本发明一实施例的文字块图像示意图。
40.图5为本发明一实施例的字高检测模型的网络结构示意图。
41.图6为本发明一实施例的文字块图像中文字高度示意图。
42.图7为本发明一实施例的待分类文字高度分布图。
43.图8为本发明一实施例的文字块图像中的文字高度线示意图。
具体实施方式
44.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
45.在此,需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
46.应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
47.为解决ocr识别以及文档图像阅读等场合需要将文档图像放缩至合适大小的问题,本发明提供了一种文档图像中文字高度的分布情况估计方法,通过构造大量文字块图像作为第一样本数据集中的训练数据,并通过字高检测模型获取待检测文档图像中文字的高度,然后根据获取的高度进行页面文字高度的分布情况估计,得到页面的最合适的放缩
比例。
48.在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
49.图1为本发明一实施例的文档图像中文字高度的分布情况估计方法的流程示意图,如图1所示,该文档图像中文字高度的分布情况估计方法至少包括步骤s10至s50。
50.步骤s10:获取第一样本训练集,所述第一样本训练集中的样本数据包括文字块图像及文字高度。
51.在该步骤中,第一样本训练集用于对初始网络模型进行训练;第一样本训练集中包括多个样本数据,但各样本数据均至少包括文字块图像及文字高度,多个样本数据的文字高度可部分相同或均不同。文字块图像如4所示,图4中示出的为多个文字块图像,即对文档图像进行裁剪,得到的合适大小的用于训练的文字块。应当理解的是,文档图像中被裁减得到的文字块图像的数量不做具体限定,可根据实际应用场景进行设定;示例性的,可将文档图像裁减成多个128*128的文字块图像。另外,图4仅是为了示意本发明的文字块图像中文字的表现形式,各文字块图像中的文字的具体内容不在本发明的研究范围之内。
52.示例性的,获取第一样本训练集,包括:获取文档图像,将所述文档图像切割为多个文字块图像,标注各所述文字块图像的文字高度;将所述文字块图像中的在高度方向上被切割的文字进行马赛克处理。在该实施例中,文档图像中的内容包括中英文字符、大小写字母、标点符号等。具体的,在获取文档图像之前,还包括随机生成文档图像,生成的该文档图像的随机性表现在中英文字符、大小写、字号、字体、颜色随机,且会随机生成各种标点符号。
53.在上述实施例中,由于对文档图像切割时,会出现裁切到文字的情况;而在本发明中需要进行的是字体高度检测,所以只需要对文字块在纵轴(文字高度)被切割的情况做马赛克处理。为了判断文字块图像中的文字高度是否被切割,则可先获取各文字块图像的坐标信息,并将文档图像被切割的多个文字块图像的坐标进行比较,以判断两个文字块图像在纵轴方向(文字高度方向)上是否有重叠区域。若具有,则判断出相应文字块图像中的文字被切割,则此时对该文字块图像中的相应文字去除,并掩盖上背景色;反映到图像上就是抹除掉图像中的纵轴被分割文字,并掩盖上背景。
54.另外,为了增加第一样本训练集的抗干扰能力,还在随机生成文档图像的各区域添加识别干扰项,所述识别干扰项包括纯白背景、高斯噪声、晶体、椒盐噪声和真实环境信息中的至少一个;真实环境信息为通过摄像机直接拍摄得到的现实环境图像。参考图4,图4中的部分文字块图像具有纯白背景,而部分文字块图像添加了高斯噪声;在图4中,各文字块图像中的空白区域为通过马赛克处理后的状态,即在对文档图像进行切割时,在高度方向上被切割的文字被掩盖上背景色。
55.步骤s20:基于所述第一样本训练集对初始网络模型进行训练,得到字高检测模型。
56.该步骤是通过步骤s10构建的第一样本训练集对初始网络模型进行训练。初始网络模型具体的可包括四层卷积层。
57.具体的,对初始网络模型进行训练之前,还包括对用于训练的样本数据进行预处理,即对文字块图像进行数据增强及旋转,调整文字块图像的亮度、对比度、饱和度和色调
等。除上述之外,还构建高度损失函数,所述高度损失函数为:其中,hloss表示高度损失,h1=min(d1,d3)+min(d2,d4),h2=d1+d2+d3+d
4-h1,d1为预测的像素点至文字块图像顶部之间的距离,d2为预测的像素点至文字块图像底部之间的距离,d3为标注的像素点至文字块图像顶部之间的距离,d4为标注的像素点至文字块图像底部之间的距离。其中,d3与d4基于文字块图像的尺寸大小及标注的文字高度可计算得到。应当理解的是,像素点是指文字块图像中的文字的顶部或底部对应的像素点,因为若想获取图像中文字的高度,则在文字块图像的尺寸确定的前提下,基于文字顶部的像素点与文字块图像顶部边界之间的距离,以及文字底部的像素点与文字块图像底部边界之间的距离即可得出相应文字的字高。
58.另外,在对所述文字块图像进行数据增强及旋转后,进一步的还需构建角度损失函数,所述角度损失函数为angleloss=1-cos(θ
1-θ2);其中,angleloss表示角度损失,θ1为预测的文字块图像的旋转角度值,θ2为标注的文字块图像旋转角度值。
59.进一步的,在该步骤中还需构建文本识别损失函数,文本识别损失函数为其中,diceloss表示文本识别损失,x表示标注的像素点为文本的概率,y表示预测的像素点为文本的概率。
60.图5为本发明一实施例的字高检测模型的网络结构示意图,在图5所示的实施例中,基于第一样本训练集对初始网络模型进行训练,得到字高检测模型,具体的包括如下步骤:
61.(1)获取样本数据并进行预处理,进行数据增强,调整高度,并对文字块图像进行旋转,对旋转后的文字块图像裁减成符合输入的统一大小,之后对文字块图像做变换,即改变图像的亮度、对比度、饱和度和色调等。
62.(2)构建高度损失函数。高度损失与预测到的合并区域及实际标注的标注区域有关。合并区域是指文字块图像被检测出的高度线的公共区域,如图8中的纵向线条在高度方向上公共部分;标注区域是指文字块图像生成时所标注的文字实际区域。同样地由于在本发明中只关注文字高度信息,损失函数也主要为高度损失,而对应的高度损失的计算也可以降为一维,可以更快的收敛。
63.(3)对文字块图像进行特征提取。具体的,提取文字块图像的1/4、1/8、1/16、1/32作为不同尺度的特征图,分别标记为f1、f2、f3、f4。
64.(4)特征合并。即最深层的特征f1上采样2倍与f2拼接,经过一个1x1卷积进行特征降维,经过3x3卷积后再上采样2倍与f3拼接,依次类推到最后f4拼接完成,将结果输出到输出层。
65.(5)输出层包含各像素点属于文本区域的概率对应的得分图,且该输出层输出的特征通道为3,其中两个通道分别表示从像素位置到文字块图像顶部边界和底部边界的距离,而另一个表示文字块图像的旋转角度。
66.(6)做局部感知nms(非极大值抑制)。即对所有的输出文本区域集合结合相应的阈值(大于阈值则进行合并,小于阈值则不合并)将置信度得分作为权重加权合并,得到合并后的文本区域集合;对合并后的文本区域集合进行标准的nms操作。
67.(7)保存训练好的字高检测模型。
68.步骤s30:将待检测文档图像缩放至不同比例并输入至所述字高检测模型,获得不同比例下的所述待检测文档图像对应的文字高度识别结果。
69.在该步骤中是采用步骤s20训练好的字高检测模型识别待检测文档图像中的文字高度。具体的,可首先将待检测文档图像按需求缩放至不同比例,再将不同比例的待检测文档图像依次输入至字高检测模型,从而得到了不同比例下的所述待检测文档图像对应的文字高度信息。在一实施例中,将待检测文档图像具体进行了四个比例的缩放,如0.5倍、1倍、1.5倍和2倍;此时通过步骤s30可得到四个比例下待检测文档图像对应的文字高度信息。不难理解的,此处将待检测文本图像进行四次缩放仅是一种示例,也可以根据需要对更多种或更少种比例的待检测文档图像进行文字高度检测。
70.步骤s40:基于获取到的不同比例下的所述待检测文档图像对应的文字高度识别结果建立各比例待检测文档图像的待分类文字高度分布图;其中,所述待分类文字高度分布图的横轴表示实际字高,纵轴表示相应字高的文字数量与总文字数量的比值。
71.在该步骤中,是根据高度检测模型输出的文字高度识别结果构建待分类文字高度分布图,具体的,可先统计各比例下的所述待检测文档图像对应的各字高的文字数量;计算各比例下的所述待检测文档图像对应的各字高的文字数量与总文字数量的比值;基于所述比值采用画图工具建立各比例待检测文档图像的待分类文字高度分布图。
72.在该步骤中,需要将字高检测模型输出的待检测文档图像的文字高度值除以放缩比例才得到真实的文字高度。画图工具具体的可为plt工具包,而若将待检测文档图像具体进行0.5倍、1倍、1.5倍和2倍的缩放后,通过plt工具包构建的待分类文字高度分布图如图7所示,其横轴代表基于字高检测模型输出的实际字高结果,由于字高检测模型所识别的待检测文本块图像为经过一定比例进行缩放后的图像,因而字高检测模型输出的字高信息也为字高经过缩放后的字高信息,因而实际字高结果为对应的待检测文档图像的缩放比例计算得到的实际字高,而纵轴代表对应字高所占总文字数量的比值。
73.步骤s50:将所述待分类文字高度分布图输入至分类器模型,获得所述待检测文档图像的最优缩放比例,并基于所述最优缩放比例对应的文字高度确定所述待检测文档图像的字高分布情况。
74.该步骤是通过分类器模型从建立的各待分类文字高度分布图中选择待识别文字块图像最适合的缩放比例。在该步骤之前,该估计方法还可包括以下步骤:获取第二样本训练集,所述第二样本训练集中的样本数据包括文字高度分布图以及对应的最优缩放比例;基于所述第二样本训练集对初始分类器模型进行训练得到所述分类器模型。
75.第二样本训练集中包括多个样本数据,各样本数据包括文字高度分布图以及对应的最优缩放比例,其中对于各文字高度分布图可进行标注得到各文字高度分布图中的最优缩放比例,在一实施例中,所标注了159张文字高度分布图组成第二样本训练集。另外,所采用的分类器模型可为svm模型,具体的,可基于sklearn.svm.svc构建svm分类器,参数kernel="rbf",常数c=10。
76.当通过训练好的分类器模型获取待分类文字高度分布图中的最优缩放比例时,首先将步骤s40中获取的待分类文字高度分布图输入至svm分类器模型,得到0.5倍、1倍、1.5倍和2倍中的最优缩放比例。最优缩放比例代表在该比例下的高度检测结果最为准确,即该比例对应的字体高度下,文本阅读和ocr识别效果最好。
77.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。如图3所示,在另一实施例中,文档图像中文字高度的分布情况估计方法包括步骤s101至s105。
78.步骤s101:构建文本字高检测样本训练。
79.该步骤可生成具有不同文字内容,不同背景,不同字体大小的文字块图像样本数据。具体的,如图1所示,首先批量生成具有不同文字大小,文字颜色,文字内容(包含标点符号,中英文),不同背景的文档图像;进而对文档图像进行裁切,得到合适大小的用于训练的文字块图像;对裁切到文字的文字块做马赛克处理。
80.步骤s102:训练字高检测模型。
81.在该步骤是基于步骤s101中的样本数据训练字高检测模型,并保存。
82.具体的,获取文字块图像,并对文字块图像在高度上进行数据增强,以及对文字块图像进行旋转、裁切操作。改变文字块图像的亮度、对比度、饱和度和色调;构建高度损失函数。对文字块图像进行特征提取,示例性的可基于vgg16模型从特征提取阶段中提取四个级别的特征图,大小分别是输入图像的1/32、1/16、1/8、1/4。进而进行特征合并,采用逐层合并的方式,即将来自上一个阶段的特征图首先被输入到上池化层来扩大其大小,然后与当前层特征图进行合并,之后通过conv1
×
1减少通道数量和计算量,再通过conv3
×
3将局部信息融合以最终产生该合并阶段的输出。输出层包含概率图(每个像素点属于文本区域的概率)以及模型输出信息(一共输出3个通道,其中2个通道分别表示从像素位置到文字块图像的顶部、底部边界的距离,另一个通道表示文字块图像的旋转角度)。进而做局部感知非极大值抑制,对所有输出的输出文本区域集合相应的阈值,将置信度得分作为权重加权合并,得到合并后的文本区域集合,对合并后的文本区域集合进行标准的非极大值抑制操作。最终保存训练好的字高检测模型。
83.步骤s103:将图像文档放缩至不同比例并输入到训练好的高度检测模型。
84.该步骤是将不同比例的待检测文档图像输入至训练好的字高检测模型中,并通过字高检测模型输出不同比例的待检测文字块对应的字高信息。
85.步骤s104:获取各比例的待检测文档图像对应的字高分布图。
86.该步骤是借助于统计工具首先统计出各字高的文字在文字总数量中的占比,进而借助于画图工具建立字高分布图。
87.步骤s105:通过svm分类器推理出合适的放缩比例。
88.具体的,构建文档图像高度分布数据集,每一张图像为不同比例下的文档图像高度分布,并对每一张图像标注出最合适的放缩比例;文档图像高度分布数据集为上述实施例中的第二样本数据集。进而训练svm分类器,并保存训练好的svm分类器。输入待检测文档图像的不同比例的文字高度分布图到svm分类器中得到最佳缩放比例。
89.通过上述实施例可以发现,该文档图像中文字高度的分布情况估计方法,首先通过自动化工具构建字高检测数据集,之后用构建的数据集对字高检测模型进行训练。在使用时将待检测文档图像用不同的缩放比例输入到训练好的字高检测模型中,对各个比例的页面字高信息进行分析获取各比例的待检测文档图像的字高分布情况,对比不同缩放比例下字高分布,通过一定规则选取其中最合适的放缩比例,最后用检测到的字高除以对应放缩比例得到页面的字高分布情况;基于该方法可提高字高检测的准确度。
90.该方法输入的待检测文档图像,包括word、pdf、ofd等常见文档类型所转换而成的图像,也包括传统纸质载物的图像如书本报纸的图像,还包括网页上通过截图等手段获取的图像;因而该方法适用范围广。另外,该方法可应用于文字阅读场景,包括个人电脑,手机等电子设备上的浏览器以及各种电子文档的阅读器等;即在阅读文档时,通过对文档页面图像,进行字高分布估计,便于将文档页面放缩至更适合阅读的大小,避免字体过大或者过小的情况。除上述之外,该方法去除掉文本的宽度信息,只关注高度信息,将二维输出转化为一维输出简化网络,同时完成获取文字字高的任务,提升了网络的收敛能力。
91.相应的,本发明还公开了一种文档图像中文字高度的分布情况估计系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤
92.另外,该发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
93.本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
94.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
95.本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
96.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。