基于傅里叶级数编码的任意形状文本的检测与矫正方法及应用
1.本发明涉及图文检测与矫正领域的相关问题,具体涉及一种基于傅里叶级数编码的任意形状文本的检测与矫正方法及应用。
背景技术:
2.在我们的日常生活中存在着大量的包含文字信息的图片,这些图片是我们信息交流和感知世界的重要载体。图文检测是我们理解这些图片中文字内容的先决条件,但是由于图片中文字区域的尺寸、文字的形状以及背景因素的影响,场景文本的检测充满了挑战,尤其是任意形状文本的检测,这里的任意形状文本包括弯曲的、倾斜的、细长的文本。
3.深度学习方法可以将复杂的计算过程交给神经网络进行学习,直接由输入图像产生相应的输出结果。此种端到端的学习方法具有学习成本低,性能表现优异。随着深度学习技术的发展,目前基于深度学习技术的任意形状文本检测网络主要分为两大类,一类是分割的方法,另一类是回归的方法。分割的方法是对图像中的像素进行分类,得到文本的区域,进而得到文本的边界,但是这种方法需要消耗大量的计算资源,同时对于一些邻近的文本不能很好地分开。回归的方法是对文本的边界进行编码,让神经网络对编码的的参数进行学习,然后解码出相应的文本边界,这种方法虽然简单易于训练,但是受编码方式的影响,对弯曲程度比较大的文本检测效果不好。
技术实现要素:
4.本发明是为了解决上述现有技术存在的不足之处,提出一种基于傅里叶级数编码的任意形状文本的检测与矫正方法及应用,以期能用于对自然场景图片中任意形状文本的高精度检测和形状矫正,从而能提高图片中任意形状文本的识别精度。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种基于傅里叶级数编码的任意形状文本的检测与矫正方法的特点在于,包括以下步骤:
7.步骤1:构建训练数据集,包括数据的获取以及预处理:
8.步骤1.1:获取文本图像数据集记为i={i1,i2,...,i
p
,...,iu},i
p
表示文本图像数据集i中第p张文本图像,u表示文本图像数据集i中文本图像的总数目;
9.步骤1.2:提取第p张文本图像i
p
中的文本区域,得到相对应的文本区域边界点集合记为并形成文本区域边界,其中,表示第p张文本图像i
p
中文本区域的第q个边界点坐标,l表示文本区域的边界点数目;
10.步骤1.3:获取第p张文本图像i
p
中文本区域tr
p
的文本中心线区域tcrgt
p
、文本头部区域thrgt
p
、文本尾部区域ttrgt
p
、文本上下边界区域tbrgt
p
;从而得到文本图像数据集i的文本中心线区域集合记为tcrgt={tcrgt1,tcrgt2,...,tcrgt
p
,...tcrgtu};文本头部区域集合记为thrgt={thrgt1,thrgt2,...,thrgt
p
,...,thrgtu},文本尾部区域集合记为
ttrgt={ttrgt1,ttrgt2,...,ttrgt
p
,...ttrgtu},文本上下边界区域集合记为tbr={tbrgt1,tbrgt2,...,tbrgt
p
,...,tbrgtu};
11.步骤1.4:在极坐标系下对第p张文本图像i
p
进行建模,得到相对应的文本图像从而得到极坐标系下的文本图像集合为
12.步骤1.5:获取第p张文本图像内文本区域的中心点(x
p
,y
p
),且),且以文本区域的中心点(x
p
,y
p
)为发射点,按照相同的角度间隔发射k条射线,并与所述文本区域边界相交,得到文本区域中心点到文本区域边界点之间的距离集合记为其中,表示第p张文本图像内文本区域的中心点(x
p
,y
p
)到文本区域的第s个边界点间的距离,从而得到文本图像集合的距离集合记为reggt={reggt1,reggt2,...,reggt
p
,...,reggtu};
13.步骤2:构建任意形状文本检测网络,包括:特征提取器、编码器和解码器;并将所述的文本图像集合输入所述任意形状文本检测网络中;
14.步骤2.1所述特征提取器由resnet50网络,反卷积网络和特征金字塔网络组成;
15.所述第p张文本图像依次经过restnet50网络、反卷积网络和特征金字塔网络后输出第p个特征图result
p
;从而由特征提取网络输出文本图像集合的特征图集合result={result1,result2,...,result
p
,...,resultu};
16.步骤2.2所述编码器,包括:分类编码器和回归编码器;其中,所述分类编码器由r个卷积核为e
×
e的二维卷积层和r个relu非线性激活层交替连接而成;所述回归编码器由v个卷积核为c
×
c的二维卷积层和v个relu非线性激活层交替连接而成;
17.所述特征图result
p
经过分类编码器的处理后,输出第p个分类特征图cls
p
;
18.所述特征图result
p
经过回归编码器的处理后,输出第p个回归特征图reg
p
;
19.步骤2.3所述解码器,包括:分类解码器和回归解码器;其中,所述分类解码器依次由1个卷积核为f
×
f的二维卷积层,1个softmax函数组成;所述回归解码器依次由1个卷积核为w
×
w的二维卷积层,1个反傅里叶变换函数组成;
20.所述第p个分类特征图cls
p
经过分类解码器的处理后,输出预测的第p个文本中心线区域tcrpred
p
,预测的第p个文本头部区域thrpred
p
、预测的第p个文本尾部区域ttrpred
p
、预测的第p个文本上下边界区域tbrpred
p
;从而由分类解码器输出文本图像集合预测的文本中心线区域集合tcrpred={tcrpred1,tcrpred2,...,tcrpred
p
,...,tcrpredu},预测的文本头部区域集合thrpred={thrpred1,thrpred2,...,thrpred
p
,...,thrpredu},预测的文本尾部区域集合ttrpred={ttrpred1,ttrpred2,...,ttrpred
p
,...,ttrpredu},预测的文本上下边界区域集合tbrpred={tbrpred1,tbrpred2,...,tbrpred
p
,...,tbrpredu};
21.所述第p个回归特征图reg
p
经过回归解码器的处理后,输出预测的第p个距离集合
其中,表示由任意形状文本检测网络预测的第p张文本图像内文本区域中心点(x
p
,y
p
)到文本区域的第g个边界点的距离;从而由回归解码器输出文本图像集合预测的距离集合记为:
22.regpred={regpred1,regpred2,...,regpred
p
,...,regpredu};
23.步骤2.4使用式(1)建立反向传播的损失函数l:
24.l=l
tcr
+l
thr
+l
ttr
+l
tbr
+l
reg
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
25.式(1)中,l
tcr
,l
thr
,l
ttr
,l
tbr
均为交叉熵损失,并分别由式(2),式(3),式(4),式(5)得到;
[0026][0027][0028][0029][0030]
式(1)中,l
reg
是smoothl1损失,并由式(6)得到;
[0031][0032]
步骤2.5:基于所述文本图像集合利用梯度下降法对任意形状文本检测网络进行训练,并计算损失函数l,当训练迭代次数达到设定的次数或者损失误差小于设定的阈值时,训练停止,从而得到最优的任意形状文本检测网络;
[0033]
步骤3:检测结果后处理,包括:双线性插值矫正处理;
[0034]
步骤3.1利用最优的任意形状文本检测网络对文本图像数据集合进行处理并输出相应的文本区域边界集合记为txt={txt1,txt2,...,txt
p
,...,txtu},其中,txt
p
表示第p张文本图像中的文本区域边界;
[0035]
步骤3.2利用双线性插值对所述文本区域边界集合txt进行矫正处理后,得到矫正后的文本集合记为txt
′
={txt
′1,txt
′2,...,txt
′
p
,...,txt
′u};其中,txt
′
p
表示p张文本图像中的矫正后的文本区域边界。
[0036]
本发明一种电子设备,包括存储器以及处理器,其特点在于,所述存储器用于存储支持处理器执行所述任意形状文本的检测与矫正方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
[0037]
本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其
特点在于,所述计算机程序被处理器运行时执行所述任意形状文本的检测与矫正方法的步骤。
[0038]
与现有技术相比,本发明的有益效果在于:
[0039]
1、对于复杂的高度弯曲的文本边界需要较多的边界点去表示,对于简单的矩形文本,用较少的边界点就可以表示,这导致在文本边界的表示形式上存在差异。而本发明通过将任意形状的文本建模在极坐标系下,由坐标的极点和由极点发射出的n条射线来表示文本边界,这样无论对于复杂的高度弯曲的文本,还是对于简单的矩形文本,都可以用统一的表示方法,从而使得不同复杂程度的文本边界具有相同的表达形式。
[0040]
2、为了学习文本边界的参数分布情况,本发明采用傅里叶级数对文本边界进行编码,这样复杂的文本边界检测问题就转换为简单的傅里叶级数学习问题,从而降低了任意形状文本检测网络的参数量,提高了任意形状文本检测网络的训练速度。
[0041]
3、本发明将文本区域分成文本中心线区域、文本头部区域、文本尾部区域、文本上下边界区域,并通过对不同区域的特征学习,不仅可以区分出图片中的前景和背景,还可以区分相邻的文本,从而提高了任意形状文本检测网络的检测精度。
[0042]
4、规则的矩形文本相较于弯曲的、倾斜的文本更利于识别网络的识别,考虑到后续的识别任务,本发明对检测得到的任意形状文本进行了双线性插值矫正,将任意形状不规则的文本矫正成规则的矩形文本,从而提高了后续识别任务的识别精度。
附图说明
[0043]
图1为本发明检测与矫正方法的流程图;
[0044]
图2为本发明网络的框架图。
具体实施方式
[0045]
在本实施例中,一种基于傅里叶级数编码的任意形状文本的检测与矫正方法,具体流程如图1所示,包含以下步骤:
[0046]
步骤1:构建训练数据集,包括数据的获取以及预处理:
[0047]
步骤1.1:获取文本图像数据集记为i={i1,i2,...,i
p
,...,iu},i
p
表示文本图像数据集i中第p张文本图像,u表示文本图像数据集i中文本图像的总数目;在本实施中,使用的是自然场景任意形状文本数据集ctw1500,数据集分为训练集和测试集,训练集中含有1000张图像,测试集中含有500张图像,图像中的文本形状有倾斜的、弯曲的以及细长的,读取数据集中的图像,对图像进行尺寸的放缩,得到单个图像的尺寸大小为3
×
800
×
800,其中,3是通道数,800是图像的尺寸;
[0048]
步骤1.2:提取第p张文本图像i
p
中的文本区域tr
p
,得到相对应的文本区域边界点集合记为并形成文本区域边界,其中,表示第p张文本图像i
p
中文本区域的第q个边界点坐标,l表示文本区域的边界点数目;
[0049]
步骤1.3:获取第p张文本图像i
p
中文本区域的文本中心线区域tcrgt
p
、文本头部区域thrgt
p
、文本尾部区域ttrgt
p
、文本上下边界区域tbrgt
p
;从而得到文本图像数据集i的文
本中心线区域集合记为tcrgt={tcrgt1,tcrgt2,...,tcrgt
p
,...tcrgtu};文本头部区域集合记为thrgt={thrgt1,thrgt2,...,thrgt
p
,...,thrgtu},文本尾部区域集合记为ttrgt={ttrgt1,ttrgt2,...,ttrgt
p
,...ttrgtu},文本上下边界区域集合记为tbr={tbrgt1,tbrgt2,...,tbrgt
p
,...,tbrgtu};在本实施中第p张文本图像i
p
中文本区域的文本中心线区域tcrgt
p
由文本区域tr
p
缩小0.3倍获得,文本头部区域thrgt
p
为文本区域tr
p
的左半部缩小0.2倍获得,文本尾部区域ttrgt
p
为文本区域tr
p
的右半部缩小0.2倍获得,文本上下边界区域tbrgt
p
为文本区域中心线到文本上下边界区域的0.2倍获得;
[0050]
步骤1.4:在极坐标系下对第p张文本图像i
p
进行建模,得到相对应的文本图像从而得到极坐标系下的文本图像集合为
[0051]
步骤1.5:获取第p张文本图像内文本区域的中心点(x
p
,y
p
),且),且以文本区域的中心点(x
p
,y
p
)为发射点,按照相同的角度间隔发射k条射线,并与文本区域边界相交,得到文本区域中心点到文本区域边界点之间的距离集合记为其中,表示第p张文本图像内文本区域的中心点(x
p
,y
p
)到文本区域的第s个边界点间的距离,从而得到文本图像集合的距离集合记为reggt={reggt1,reggt2,...,reggt
p
,...,reggtu};在本实施中文本区域边界点的数目k选为90,以文本中心点(x
p
,y
p
)为坐标极点,每间隔4
°
发射1条射线,当某角度下射线与文本区域边界有多个交点时,选取距离长度最大的交点作为任意形状文本检测网络学习的数据,当射线与文本区域边界没有交点时,设定距离长度为ε=10-6
;
[0052]
步骤2:如图2所示,构建任意形状文本检测网络,包括:特征提取器、编码器和解码器;并将的文本图像集合输入任意形状文本检测网络中;
[0053]
步骤2.1特征提取器由resnet50网络,反卷积网络和特征金字塔网络组成;
[0054]
第p张文本图像依次经过restnet50网络、反卷积网络和特征金字塔网络后输出第p个特征图result
p
;从而由特征提取网络输出文本图像集合的特征图集合result={result1,result2,...,result
p
,...,resultu};
[0055]
步骤2.2编码器,包括:分类编码器和回归编码器;其中,分类编码器由r个卷积核为e
×
e的二维卷积层和r个relu非线性激活层交替连接而成;回归编码器由v个卷积核为c
×
c的二维卷积层和v个relu非线性激活层交替连接而成;在本实施中,分类编码器的卷积层数r为3,卷积核的大小e为3,回归编码器的卷积层数v为4,卷积核的大小c为5;
[0056]
特征图result
p
经过分类编码器的处理后,输出第p个分类特征图cls
p
;
[0057]
特征图result
p
经过回归编码器的处理后,输出第p个回归特征图reg
p
;
[0058]
步骤2.3解码器,包括:分类解码器和回归解码器;其中,分类解码器依次由1个卷积核为f
×
f的二维卷积层,1个softmax函数组成;回归解码器依次由1个卷积核为w
×
w的二维卷积层,1个反傅里叶变换函数组成;在本实施中,分类解码器的卷积核的大小f为3,回归解码器的卷积核的大小w为5。
[0059]
第p个分类特征图cls
p
经过分类解码器的处理后,输出预测的第p个文本中心线区域tcrpred
p
,预测的第p个文本头部区域thrpred
p
、预测的第p个文本尾部区域ttrpred
p
、预测的第p个文本上下边界区域tbrpred
p
;从而由分类解码器输出文本图像集合预测的文本中心线区域集合tcrpred={tcrpred1,tcrpred2,...,tcrpred
p
,...,tcrpredu},预测的文本头部区域集合thrpred={thrpred1,thrpred2,...,thrpred
p
,...,thrpredu},预测的文本尾部区域集合ttrpred={ttrpred1,ttrpred2,...,ttrpred
p
,...,ttrpredu},预测的文本上下边界区域集合tbrpred={tbrpred1,tbrpred2,...,tbrpred
p
,...,tbrpredu};
[0060]
第p个回归特征图reg
p
经过回归解码器的处理后,输出预测的第p个距离集合其中,表示由任意形状文本检测网络预测的第p张文本图像内文本区域中心点(x
p
,y
p
)到文本区域的第g个边界点的距离;从而由回归解码器输出文本图像集合预测的距离集合记为:
[0061]
regpred={regpred1,regpred2,...,regpred
p
,...,regpredu};
[0062]
步骤2.4使用式(1)建立反向传播的损失函数l:
[0063]
l=l
tcr
+l
thr
+l
ttr
+l
tbr
+l
reg
ꢀꢀꢀꢀꢀꢀ
(1)
[0064]
式(1)中,l
tcr
,l
thr
,l
ttr
,l
tbr
均为交叉熵损失,并分别由式(2),式(3),式(4),式(5)得到;
[0065][0066][0067][0068][0069]
式(1)中,l
reg
是smoothl1损失,并由式(6)得到;
[0070][0071]
步骤2.5:基于文本图像集合利用梯度下降法对任意形状文本检测网络进行训练,并计算损失函数l,当训练迭代次数达到设定的次数或者损失误差小于设定的阈值时,训练停止,从而得到最优的任意形状文本检测网络;
[0072]
步骤3:检测结果后处理,包括:双线性插值矫正处理;
[0073]
步骤3.1利用最优的任意形状文本检测网络对文本图像数据集合进行处理并输出相应的文本区域边界集合记为txt={txt1,txt2,...,
txt
p
,...,txtu},其中,txt
p
表示第p张文本图像中的文本区域边界;在本实施中,第p张文本图像由任意形状文本检测网络预测产生第p个文本中心线区域tcrpred
p
和第p个距离集合选取文本区域的文本中心线区域内的点(x
p
,y
p
),以点(x
p
,y
p
)为发射点,由距离集合得到文本区域的边界点集合其中
[0074]
步骤3.2利用双线性插值对文本区域边界集合txt进行矫正处理后,得到矫正后的文本集合记为txt
′
={txt
′1,txt
′2,...,txt
′
p
,...,txt
′u};其中,txt
′
p
表示p张文本图像中的矫正后的文本区域边界。在本实施中,设定第p张图片中的文本区域经矫正后的文本边界为boundary
p
,其中矩形的长宽分别为矫正前文本区域内坐标点p(x,y)处的像素q和矫正后矩形文本区域内对应坐标点p
′
(x
′
,y
′
)处的像素q
′
之间一一对应,对于矫正后坐标点为小数的像素值通过双线性插值的方法获得,对于坐标为p
′
(x
′
,y
′
)的点,取周围四个坐标点p
′1(x
′1,y
′1),p
′2(x
′2,y
′1),p
′3(x
′1,y
′2),p
′4(x
′2,y
′2),这四个点的像素值分别为q
′1,q
′2,q
′3,q
′4,首先由p
′1(x
′1,y
′1),p
′2(x
′2,y
′1)的像素值求出p
′
12
(x
′
,y
′1)的像素值q
′
12
,再由p
′3(x
′1,y
′2),p
′4(x
′2,y
′2)的像素值求出p
′
34
(x
′
,y
′2)像素值q
′
34
,最后由p
′
12
(x
′
,y
′1)和p
′
34
(x
′
,y
′2)的像素值求出坐标点p
′
(x
′
,y
′
)的像素值q
′
;
[0075]q′
12
为:
[0076]q′
34
为:
[0077]q′
为:
[0078]
本实施例中,一种电子设备,包括存储器以及处理器,该存储器用于存储支持处理器执行上述方法的程序,该处理器被配置为用于执行该存储器中存储的程序。
[0079]
本实施例中,一种计算机可读存储介质,是在计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。