本申请涉及图像识别技术领域,特别是涉及一种不规则文本校正方法、装置、计算机设备和存储介质。
背景技术:
随着人工智能技术的发展,越来越多的繁琐工作被机器所取代。而文本识别作为一项重要的基础技术,具有巨大的应用价值和广阔的应用前景。
然而,待检测图像中大多包含较复杂的背景,如图像中的文字可能具有不同的颜色、尺寸、字体和角度等。这些因素都会给文字识别带来巨大的困难和挑战。此外,现有的文字识别方法一般只能检测水平方向的文字,对于倾斜或旋转的文字识别时往往会产生错误,因此,对于不规则文本的识别准确度较低。
技术实现要素:
基于此,有必要针对上述不规则文本识别准确度较低的问题,提供一种能够提高识别准确度的不规则文本校正方法、装置、计算机设备和存储介质。
为了实现上述目的,一方面,本申请实施例提供了一种不规则文本校正方法,所述方法包括:
定位待检测图像中的不规则文本区域,其中,不规则文本区域为多边形区域;
根据多边形区域的各顶点确定对应的水平外接矩形区域;
对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域;
对第一目标区域的角度进行水平校正;
识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
在其中一个实施例中,对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域,包括:通过第一深度学习模型对水平外接矩形区域进行字符检测,以定位水平外接矩形区域中各字符分别对应的四边形区域,其中,第一深度学习模型是采用标注了不规则文本中各字符轮廓的样本图像集训练基于深度学习的约束区域回归网络后得到的;根据各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域;将各字符的最小外接矩形区域确定为对应的第一目标区域。
在其中一个实施例中,定位待检测图像中的不规则文本区域,包括:通过第二深度学习模型对待检测图像中的不规则文本进行检测,其中,第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的;得到包围不规则文本的多边形位置信息,根据多边形位置信息定位待检测图像中对应的多边形区域,将多边形区域确定为不规则文本区域。
在其中一个实施例中,识别进行水平校正后的所述第一目标区域中字符的方向,包括:通过第三深度学习模型对进行水平校正后的第一目标区域中字符的角度进行分类,其中,第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的;根据分类结果确定进行水平校正后的所述第一目标区域中字符的方向。
在其中一个实施例中,不同方向的字符样本图像数据集包括字符的角度为0度、90度、180以及270度的字符样本图像。
在其中一个实施例中,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域,包括:若第一目标区域中字符的方向不是标准方向,则根据第一目标区域中字符的方向相对于标准方向的角度,对第一目标区域进行相应角度的逆时针旋转,得到校正为标准方向的第二目标区域。
在其中一个实施例中,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域,包括:获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度;对于任意字符的第二目标区域,根据最大高度或最大宽度对第二目标区域进行高度扩充或宽度扩充;对高度扩充或宽度扩充后的各字符的第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
另一方面,本申请实施例还提供了一种不规则文本识别装置,所述装置包括:
文本区域定位模块,用于定位待检测图像中的不规则文本区域,其中,不规则文本区域为多边形区域,根据多边形区域的各顶点确定对应的水平外接矩形区域;
字符检测模块,用于对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域;
水平校正模块,用于对第一目标区域的角度进行水平校正;
方向校正模块,用于识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
拼接模块,用于根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
又一方面,本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
再一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
上述不规则文本校正方法、装置、计算机设备和存储介质,通过定位待检测图像中的不规则文本区域,并基于深度学习的不规则文本校正方法对定位的不规则文本区域中的每一个字符进行校正,然后对校正后的字符进行拼接,从而得到目标文本区域,从而避免机器识别不规则文本区域准确度低的问题,以提高识别准确度,且降低识别难度。
附图说明
图1为一个实施例中不规则文本校正方法的应用环境图;
图2为一个实施例中不规则文本校正方法的流程示意图;
图3为一个实施例中对水平外接矩形区域进行字符检测步骤的流程示意图;
图4为一个实施例中对第一深度学习模型的生成步骤的流程示意图;
图5为一个实施例中对第二深度学习模型的生成步骤的流程示意图;
图6为一个实施例中对第三深度学习模型的生成步骤的流程示意图;
图7为一个实施例中拼接步骤的流程示意图;
图8为另一个实施例中不规则文本校正方法的流程示意图;
图9为一个实施例中不规则文本校正装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的不规则文本校正方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信,在本实施例中,终端102可以是各种具有图像采集功能的设备,如可以但不限于各种智能手机、平板电脑、相机和便携式图像采集设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。具体的,终端102用于采集待检测图像,并将采集的待检测图像通过网络发送至服务器104,当然待检测图像也可以预先存储在服务器104中。服务器104则定位待检测图像中的不规则文本区域,并基于深度学习的不规则文本校正方法对定位的不规则文本区域中的每一个字符进行校正,然后对校正后的字符进行拼接,从而得到目标文本区域,从而避免机器识别不规则文本区域准确度低的问题,以提高识别准确度,且降低识别难度。
在一个实施例中,如图2所示,提供了一种不规则文本校正方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,定位待检测图像中的不规则文本区域。
其中,待检测图像是指前端采集的待进行文本识别的图像,由于自然场景中图像的多样性,且由于拍摄环境以及拍摄角度的影响,待检测图像中的文本可能具有不同的尺寸、字体和角度,因此,对于这类文本称之为不规则文本,其所在的区域则为不规则文本区域。且由于尺寸、字体和角度相同的规则文本机器可以直接识别,因此,首先需要对待检测图像中的不规则文本区域进行检测并定位,在本实施例中,具体可采用基于深度学习的不规则文本定位模型定位不规则文本区域。具体的,不规则文本区域为多边形区域,需要说明的是,本申请中的多边形是指具有任意角度和形状且大于四条边的多边形。
步骤204,根据多边形区域的各顶点确定对应的水平外接矩形区域。
其中,水平外接矩形区域是相对于多边形区域的最小外接矩形,且该最小外接矩形与水平线的夹角为“0”。具体的,通过判断多边形区域中各顶点的坐标,并筛选出顶点坐标中横坐标(x方向)和纵坐标(y方向)的最大值(最大横坐标和最大纵坐标)以及最小值(最小横坐标和最小纵坐标定)),分别取x方向和y方向的最大值或最小值为最小外接矩形的四个顶点的坐标,从而得到水平外接矩形区域。
步骤206,对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域。
由于水平外接矩形区域中的文本为不规则文本,若直接进行机器识别具有一定的难度,因此,在本实施例中,通过对水平外接矩形区域中的每一个字符进行字符检测,从而得到对应字符的第一目标区域。其中,第一目标区域为矩形区域。
步骤208,对第一目标区域的角度进行水平校正。
其中,水平校正是指基于各字符的第一目标区域与水平线之间的夹角,对第一目标区域的角度进行微调,即进行小角度的校正。具体的,根据各字符分别对应的第一目标区域与水平线之间的夹角,对相应的第一目标区域的角度进行调整,即旋转第一目标区域,使其与水平线之间的夹角为“0”。据此对每一个字符对应的第一目标区域的角度进行校正,从而得到校正后的各字符的第一目标区域。
步骤210,识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到第二目标区域。
其中,字符的方向可以是指字符的角度。标准方向则是指机器能够正确识别文本时对应字符的方向(也即角度)。在本实施例中,通过定义标准方向,从而判断进行水平校正后的第一目标区域中字符的方向是否为标准方向,当进行水平校正后的第一目标区域中字符的方向是标准方向时,则表示机器能够正确识别文本,因此不需要对其进行方向校正。而当进行水平校正后的第一目标区域中字符的方向不是标准方向时,则表示机器不能够正确识别文本,因此需要对其进行方向校正。
具体的,方向校正是指对进行水平校正后的第一目标区域的方向进行转正。在本实施例中,可以采用基于深度学习的字符角度分类模型对进行水平校正后的第一目标区域中字符的方向进行识别分类,从而得到各字符的方向信息,进而根据各字符的方向信息以及标准方向对该字符所在的第一目标区域进行转正,即方向校正,以得到校正为标准方向的各字符的第二目标区域。
步骤212,根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
通过上述步骤对不规则文本区域中的每一个字符进行校正后,得到校正为标准方向的各字符的第二目标区域,进而根据不规则文本区域中各字符的排列顺序,对各字符对应的第二目标区域进行拼接,从而得到目标文本区域。
上述不规则文本校正方法,通过定位待检测图像中的不规则文本区域,并通过不规则文本区域的各顶点确定对应的水平外接矩形区域,以对水平外接矩形区域进行字符检测,并得到水平外接矩形区域中各字符的第一目标区域,基于各字符的第一目标区域与水平线之间的夹角,对第一目标区域的角度进行水平校正,然后识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域,进而根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域,从而避免机器识别不规则文本区域准确度低的问题,以提高识别准确度,且降低识别难度。
在一个实施例中,如图3所示,对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域,具体可以包括如下步骤:
步骤302,通过第一深度学习模型对水平外接矩形区域进行字符检测,以定位水平外接矩形区域中各字符分别对应的四边形区域。
其中,字符对应的四边形区域是指字符的轮廓区域,通常为不规则的四边形。第一深度学习模型可以是基于深度学习的字符检测模型,其具体可以是基于约束区域回归网络(constraintregionproposalnetwork,简称crpn)框架实现。该框架使用vgg16作为骨干网络,对其conv4_3、conv3_3、conv5_3三层提取的特征进行concate(连接)操作,然后经过crpn模块、dual-roipooling(双重池化)操作,最后经过全卷积层输出目标的四边形位置信息。在本实施例中,通过第一深度学习模型对上述的水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符分别对应的四边形区域。
步骤304,根据各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域。
其中,最小外接矩形是指以二维坐标表示的若干二维形状(例如点、直线、多边形)的最大范围,即以字符对应的四边形区域各顶点中的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标定下边界的矩形。这样的一个矩形包含该四边形区域,且边与该四边形区域中对应的字符平行。
步骤306,将各字符的最小外接矩形区域确定为对应的第一目标区域。
具体的,根据上述步骤确定的各字符的最小外接矩形区域为对应字符的第一目标区域。
本实施例中通过第一深度学习模型检测水平外接矩形区域中各字符对应的四边形区域,进而得到对应的最小外接矩形区域,并将最小外接矩形区域确定为对应的第一目标区域,从而便于后续对第一目标区域的角度进行校正,也即便于对字符进行小角度校正。
在一个实施例中,如图4所示,上述第一深度学习模型的生成方法可以包括如下步骤:
步骤402,获取若干个不规则文本的样本图像。
在本实施例中,为了获得能够准确定位不规则文本区域中各字符的字符轮廓的字符检测模型,首先需要准备对基础网络进行训练的不规则文本的样本图像。
步骤404,通过四边形标注不规则文本的样本图像中各字符的字符轮廓。
在本实施例中,可以在不规则文本的样本图像中使用四边形标注出各字符的轮廓,并对所有的样本图像进行上述标注,即可得到用于对基础网络进行训练的训练数据集。
步骤406,采用标注了字符轮廓的不规则文本的样本图像训练基于深度学习的约束区域回归网络,以获得第一深度学习模型。
在本实施例中,基础网络可以采用基于深度学习的约束区域回归网络crpn框架实现。模型训练时,利用使用imagenet训练集预训练过的vgg16作为基础模型,将上述进行了字符轮廓标注的训练数据集输入到crpn框架中,在基础模型上进行微调,以获取适合字符检测的模型,即第一深度学习模型。在具体实施时,设置基础学习率为0.0001,weightdecay(重量衰减)设置为0.0005,momentum(动量)设置为0.9,学习策略设置为“step”,优化算法使用adam(adaptivemomentestimation,自适应矩估计),根据试验可以得到较好的效果。
在一个实施例中,可以通过第二深度学习模型对待检测图像中的不规则文本进行检测,以定位待检测图像中的不规则文本区域。具体的,通过第二深度学习模型对待检测图像中的不规则文本进行检测,得到包围不规则文本的多边形位置信息,如图8中02所示包围不规则文本的多边形,根据多边形位置信息定位待检测图像中对应的多边形区域,将多边形区域确定为不规则文本区域。
其中,第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的,如图5所示,第二深度学习模型的生成方法可以包括如下步骤:
步骤502,获取具有不规则文本区域的样本图像集。
其中,第二深度学习模型具体可采用基于深度学习的不规则文本定位模型,其具体可以是基于psenet(progressivescaleexpansionnetwork,渐进式扩展网络)框架实现的。该框架通过使用resnet(residualnetwork,残差网络)作为骨干网络,并引入fpn(featurepyramidnetworks,特征金字塔网络)结构来提取特征,对提取的特征进行concate操作,然后上采样得到分割图,最终获得目标轮廓的位置信息(即不规则文本区域)。在本实施例中,为了获得能够准确定位待检测图像中的不规则文本区域的模型,则需要准备对基础网络进行训练的具有不规则文本区域的样本图像集。
步骤504,标注样本图像集中不规则文本区域的多边形轮廓。
具体的,通过使用标注工具,标注样本图像集中每一个样本图像中的不规则文本区域的多边形轮廓。在本实施例中,以基础网络为psenet为例进行说明,则至少需要标注出多边形轮廓的14个顶点,其中文本区域的多边形轮廓的上方和下方各7个顶点,且上方的7个顶点间的水平方向距离是等间隔,下方的7个顶点间的水平方向的距离也是等间隔的。对样本图像集中的每一个样本图像均进行上述标注,即可得到用于对基础网络进行训练的标注后的样本图像集。
步骤506,采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络,以获得第二深度学习模型。
在本实施例中,利用使用imagenet训练集预训练过的resnet作为基础网络,将上述标注后的样本图像集输入到psenet框架中,在基础网络上进行微调,以获取适合不规则文本区域检测的模型,即第二深度学习模型。在具体实施时,设置基础学习率为0.001,weightdecay设置为0.0005,momentum设置为0.99,优化算法使用sgd(stochasticgradientdescent,随机梯度下降法),根据试验可以得到较好的效果。
在一个实施例中,可以通过第三深度学习模型对进行水平校正后的第一目标区域中字符的角度进行分类,从而得到进行水平校正后的第一目标区域中字符的方向。其中,第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的,不同方向的字符样本图像数据集则包括字符的角度为0度、90度、180以及270度的字符样本图像。如图6所示,第三深度学习模型的生成方法可以包括如下步骤:
步骤602,获取若干个标准方向的字符样本图像。
在本实施例中,第三深度学习模型具体可以采用基于深度学习的字符角度分类模型,其具体可以是基于resnet-18网络框架实现的。其中,resnet-18由conv1、conv2_x、conv3_x、conv4_x、conv5_x、fc等6个卷积块组成,其中conv1由1个大小为7*7*64的卷积层组成、conv2_x由4个大小为3*3*64的卷积层组成、conv3_x由4个大小为3*3*128的卷积层组成、conv4_x由4个大小为3*3*256的卷积层组成、conv5_x由4个大小为3*3*512的卷积层组成、fc由一层全连接层组成,共计18个卷积层。具体的,为了获得能够准确识别字符方向的字符角度分类模型,则需要准备对基础网络进行训练的多方向的字符样本图像。在本实施例中,以若干个标准方向的字符样本图像为基础,从而生成多方向的字符样本图像数据集。
步骤604,对字符样本图像进行不同角度的旋转,分别得到与旋转角度对应的字符样本图像以及旋转后的字符样本图像的方向。
在本实施例中,若标准方向的字符样本图像的角度为0度,若设定其类别号为1(即方向),则可以对0度的字符样本图像进行不同角度的旋转,如进行顺时针90度的旋转,得到旋转后的90度的字符样本图像,并设定其类别号为2;还可以对0度的字符样本图像进行顺时针180的旋转,得到旋转后的180度的字符样本图像,并设定其类别号为3;还可以对0度的字符样本图像进行顺时针270度的旋转等,得到旋转后的270度的字符样本图像,并设定其类别号为4。通过对每一个字符样本图像进行上述旋转处理,即可得到与旋转角度对应的字符样本图像以及旋转后的字符样本图像的方向,也即得到多方向的字符样本图像数据集,从而在后续对模型进行训练时可以让模型学习到字符的方向信息。需要说明的是,本申请中并不对具体的旋转角度进行限定,可以根据实际需要进行选择。
步骤606,使用不同方向的字符样本图像数据集训练基于深度学习的残差网络,以获得第三深度学习模型。
在本实施例中,利用使用imagenet训练集预训练过的resnet-18(即残差网络)作为基础网络,将上述得到的多方向的字符样本图像数据集输入到resnet-18网络中进行微调,以获取适合字符方向识别分类的模型,即第三深度学习模型。在具体实施时,可以设置基础学习率为0.001,weightdecay设置为0.0005,momentum设置为0.9,优化算法使用sgd,根据试验可以得到较好的效果。
具体的,通过第三深度学习模型对进行水平校正后的第一目标区域中字符的角度进行分类,进而根据分类结果确定进行水平校正后的第一目标区域中字符的方向。其中,分类结果可以是上述设定的类别号,则基于类别号可以得到字符的角度,也即字符的方向。进而判断该方向是否为标准方向,若不是标准方向,则根据分类得到的方向相对于标准方向的角度,对第一目标区域中的字符进行相应角度的逆时针旋转,从而得到校正为标准方向的第二目标区域。
在一个实施例中,如图7所示,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域,具体可以包括如下步骤:
步骤702,获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度。
具体的,由于不规则文本区域中的各字符可能具有不同的尺寸、字体和角度,在经过上述步骤对各字符的角度进行校正后,各字符的角度能够相对统一,但是,由于其尺寸和字体不同,如果直接对其进行拼接,则拼接后的文本可能不在同一水平线上,从而在进行机器识别时具有一定的难度。因此,在本实施例中,通过获取角度校正后的各字符的第二目标区域的高度和宽度,并筛选出最大高度或最大宽度,以便于后续对其他字符的第二目标区域的高度或宽度进行处理,使其在高度或宽度上保持一致,进而拼接后的文本也能相对规范。
步骤704,对于任意字符的第二目标区域,根据最大高度或最大宽度对第二目标区域进行高度扩充或宽度扩充。
在本实施例中,具体可以根据不规则文本区域中各字符的排列规则(即横向排列或竖向排列),选择对第二目标区域进行高度扩充或宽度扩充。例如,若不规则文本区域中各字符为横向排列,则可以对第二目标区域进行高度扩充,使其拼接后能够在水平方向上保持一致;若不规则文本区域中各字符为纵向排列,则可以对第二目标区域进行宽度扩充,使其拼接后能够在竖直方向上保持一致。本实施例中以高度扩充为例进行说明,具体的,若第二目标区域的最大高度为hmax,则对于任意字符的第二目标区域的高度为h,宽度为w,在其上下两侧各补齐宽度为w,高度为(hmax-h)/2的像素值为(255,255,255)的图像,使得补齐后的图像高度达到hmax。对所有字符的第二目标区域都经过上述操作,则所有字符的第二目标区域都具有相同的高度hmax,因此,在进行横向拼接后的文本区域其在高度上较为统一。可以理解的是,对于宽度扩充的操作相类似,此处不再赘述。
步骤706,对高度扩充或宽度扩充后的各字符的第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
具体的,根据不规则文本区域中各字符的排列规则,对扩充后的各字符的第二目标区域依次按规则进行水平拼接或竖直拼接,从而得到规则排列的目标文本区域。
以下通过一个具体实施例进一步说明本申请的方法,如图8所示,包括如下步骤:
1)通过不规则文本定位模型(即上述第二深度学习模型)定位待检测图像(如图8中的01)中的不规则文本区域,从而得到包围不规则文本的多边形区域,也即不规则文本区域(如图8中的02)。
2)根据不规则文本区域,得到裁剪后的对应的水平外接矩形区域(如图8中的03)。
3)通过使用字符检测模型检测上述裁剪后的区域中各字符的轮廓,并得到各字符的轮廓对应的最小外接矩形,也即第一目标区域(如图8中的04)。
4)基于各字符的第一目标区域与水平线之间的夹角,对第一目标区域的角度进行水平校正,从而得到水平校正后各字符的第一目标区域(如图8中的05)。
5)通过使用字符角度分类模型识别上述校正后的第一目标区域中字符的方向,并将其转正为标准方向,也即进行方向校正,从而得到标准方向的各字符的第二目标区域(如图8中的06)。
6)通过调用拼接算法(即如图7所示方法)对校正后的各字符的第二目标区域进行拼接,得到目标文本区域(如图8中的07),从而完成对待检测图像中不规则文本的识别。
应该理解的是,虽然图1-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种不规则文本识别装置,包括:文本区域定位模块901、字符检测模块902、水平校正模块903、方向校正模块904和拼接模块905,其中:
文本区域定位模块901,用于定位待检测图像中的不规则文本区域,其中,不规则文本区域为多边形区域,根据多边形区域的各顶点确定对应的水平外接矩形区域;
字符检测模块902,用于对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域;
水平校正模块903,用于对第一目标区域的角度进行水平校正;
方向校正模块904,用于识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
拼接模块905,用于根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
在一个实施例中,字符检测模块902具体用于,通过第一深度学习模型对水平外接矩形区域进行字符检测,以定位水平外接矩形区域中各字符分别对应的四边形区域,其中,第一深度学习模型是采用标注了不规则文本中各字符轮廓的样本图像集训练基于深度学习的约束区域回归网络后得到的;根据各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域;将各字符的最小外接矩形区域确定为对应的第一目标区域。
在一个实施例中,文本区域定位模块901具体用于:通过第二深度学习模型对待检测图像中的不规则文本进行检测,其中,第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的;得到包围所述不规则文本的多边形位置信息,根据多边形位置信息定位待检测图像中对应的多边形区域,将多边形区域确定为不规则文本区域。
在一个实施例中,方向校正模块904具体用于:通过第三深度学习模型对进行水平校正后的所述第一目标区域中字符的角度进行分类,其中,第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的;根据分类结果确定进行水平校正后的第一目标区域中字符的方向。
在一个实施例中,不同方向的字符样本图像数据集包括字符的角度为0度、90度、180以及270度的字符样本图像。
在一个实施例中,方向校正模块904具体还用于:若第一目标区域中字符的方向不是标准方向,则根据第一目标区域中字符的方向相对于标准方向的角度,对第一目标区域进行相应角度的逆时针旋转,得到校正为标准方向的第二目标区域。
在一个实施例中,拼接模块905具体用于:获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度;对于任意字符的第二目标区域,根据最大高度或最大宽度对第二目标区域进行高度扩充或宽度扩充;对高度扩充或宽度扩充后的各字符的第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
关于不规则文本识别装置的具体限定可以参见上文中对于不规则文本校正方法的限定,在此不再赘述。上述不规则文本识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用于对模块进行训练的数据集以及待检测图像数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种不规则文本校正方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
定位待检测图像中的不规则文本区域,其中,不规则文本区域为多边形区域;
根据多边形区域的各顶点确定对应的水平外接矩形区域;
对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域;
对第一目标区域的角度进行水平校正;
识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过第一深度学习模型对水平外接矩形区域进行字符检测,以定位水平外接矩形区域中各字符分别对应的四边形区域,其中,第一深度学习模型是采用标注了不规则文本中各字符轮廓的样本图像集训练基于深度学习的约束区域回归网络后得到的;根据各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域;将各字符的最小外接矩形区域确定为对应的第一目标区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取若干个不规则文本的样本图像;通过四边形标注不规则文本的样本图像中各字符的字符轮廓;采用标注了字符轮廓的不规则文本的样本图像训练基于深度学习的约束区域回归网络,以获得第一深度学习模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过第二深度学习模型对待检测图像中的不规则文本进行检测,其中,第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的;得到包围不规则文本的多边形位置信息,根据多边形位置信息定位待检测图像中对应的多边形区域,将多边形区域确定为不规则文本区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过第三深度学习模型对进行水平校正后的所述第一目标区域中字符的角度进行分类,其中,第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的;根据分类结果确定进行水平校正后的第一目标区域中字符的方向。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第一目标区域中字符的方向不是标准方向,则根据第一目标区域中字符的方向相对于标准方向的角度,对第一目标区域进行相应角度的逆时针旋转,得到校正为标准方向的第二目标区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度;对于任意字符的第二目标区域,根据最大高度或最大宽度对第二目标区域进行高度扩充或宽度扩充;对高度扩充或宽度扩充后的各字符的第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
定位待检测图像中的不规则文本区域,其中,不规则文本区域为多边形区域;
根据多边形区域的各顶点确定对应的水平外接矩形区域;
对水平外接矩形区域进行字符检测,以得到水平外接矩形区域中各字符的第一目标区域;
对第一目标区域的角度进行水平校正;
识别进行水平校正后的第一目标区域中字符的方向,根据标准方向对进行水平校正后的第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
根据不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过第一深度学习模型对水平外接矩形区域进行字符检测,以定位水平外接矩形区域中各字符分别对应的四边形区域,其中,第一深度学习模型是采用标注了不规则文本中各字符轮廓的样本图像集训练基于深度学习的约束区域回归网络后得到的;根据各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域;将各字符的最小外接矩形区域确定为对应的第一目标区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取若干个不规则文本的样本图像;通过四边形标注不规则文本的样本图像中各字符的字符轮廓;采用标注了字符轮廓的不规则文本的样本图像训练基于深度学习的约束区域回归网络,以获得第一深度学习模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过第二深度学习模型对待检测图像中的不规则文本进行检测,其中,第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的;得到包围不规则文本的多边形位置信息,根据多边形位置信息定位待检测图像中对应的多边形区域,将多边形区域确定为不规则文本区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过第三深度学习模型对进行水平校正后的所述第一目标区域中字符的角度进行分类,其中,第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的;根据分类结果确定进行水平校正后的第一目标区域中字符的方向。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一目标区域中字符的方向不是标准方向,则根据第一目标区域中字符的方向相对于标准方向的角度,对第一目标区域进行相应角度的逆时针旋转,得到校正为标准方向的第二目标区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度;对于任意字符的第二目标区域,根据最大高度或最大宽度对第二目标区域进行高度扩充或宽度扩充;对高度扩充或宽度扩充后的各字符的第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种不规则文本校正方法,其特征在于,所述方法包括:
定位待检测图像中的不规则文本区域,所述不规则文本区域为多边形区域;
根据所述多边形区域的各顶点确定对应的水平外接矩形区域;
对所述水平外接矩形区域进行字符检测,以得到所述水平外接矩形区域中各字符的第一目标区域;
对所述第一目标区域的角度进行水平校正;
识别进行水平校正后的所述第一目标区域中字符的方向,根据标准方向对进行水平校正后的所述第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
根据所述不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
2.根据权利要求1所述的不规则文本校正方法,其特征在于,所述对所述水平外接矩形区域进行字符检测,以得到所述水平外接矩形区域中各字符的第一目标区域,包括:
通过第一深度学习模型对所述水平外接矩形区域进行字符检测,以定位所述水平外接矩形区域中各字符分别对应的四边形区域,所述第一深度学习模型是采用标注了不规则文本中各字符轮廓的样本图像集训练基于深度学习的约束区域回归网络后得到的;
根据所述各字符分别对应的四边形区域的各顶点确定各字符的最小外接矩形区域;
将所述各字符的最小外接矩形区域确定为对应的第一目标区域。
3.根据权利要求1所述的不规则文本校正方法,其特征在于,所述定位待检测图像中的不规则文本区域,包括:
通过第二深度学习模型对所述待检测图像中的不规则文本进行检测,所述第二深度学习模型是采用标注了不规则文本区域的多边形轮廓的样本图像集训练基于深度学习的渐进式扩展网络后得到的;
得到包围所述不规则文本的多边形位置信息,根据所述多边形位置信息定位所述待检测图像中对应的多边形区域,将所述多边形区域确定为所述不规则文本区域。
4.根据权利要求1所述的不规则文本校正方法,其特征在于,所述识别进行水平校正后的所述第一目标区域中字符的方向,包括:
通过第三深度学习模型对进行水平校正后的所述第一目标区域中字符的角度进行分类,所述第三深度学习模型是使用不同方向的字符样本图像数据集训练基于深度学习的残差网络后得到的;
根据分类结果确定进行水平校正后的所述第一目标区域中字符的方向。
5.根据权利要求4所述的不规则文本校正方法,其特征在于,所述不同方向的字符样本图像数据集包括字符的角度为0度、90度、180以及270度的字符样本图像。
6.根据权利要求1所述的不规则文本校正方法,其特征在于,所述根据标准方向对进行水平校正后的所述第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域,包括:
若所述第一目标区域中字符的方向不是标准方向,则根据所述第一目标区域中字符的方向相对于所述标准方向的角度,对所述第一目标区域进行所述角度的逆时针旋转,得到校正为标准方向的第二目标区域。
7.根据权利要求1所述的不规则文本校正方法,其特征在于,所述对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域,包括:
获取各字符的第二目标区域的高度和宽度,并得到最大高度或最大宽度;
对于任意字符的第二目标区域,根据所述最大高度或最大宽度对所述第二目标区域进行高度扩充或宽度扩充;
对高度扩充或宽度扩充后的各字符的所述第二目标区域依次进行水平拼接或竖直拼接,得到规则排列的目标文本区域。
8.一种不规则文本校正装置,其特征在于,所述装置包括:
文本区域定位模块,用于定位待检测图像中的不规则文本区域,所述不规则文本区域为多边形区域,根据所述多边形区域的各顶点确定对应的水平外接矩形区域;
字符检测模块,用于对所述水平外接矩形区域进行字符检测,以得到所述水平外接矩形区域中各字符的第一目标区域;
水平校正模块,用于对所述第一目标区域的角度进行水平校正;
方向校正模块,用于识别进行水平校正后的所述第一目标区域中字符的方向,根据标准方向对进行水平校正后的所述第一目标区域中的字符进行方向校正,得到校正为标准方向的各字符的第二目标区域;
拼接模块,用于根据所述不规则文本区域中各字符的顺序,对校正为标准方向的各字符的第二目标区域进行拼接,得到目标文本区域。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
技术总结