本发明涉及一种文字检测方法。
背景技术:
文字作为人类最具影响力的发明之一,在人类生活中发挥了重要作用。文字中所包含的丰富而精确的信息,对基于视觉语义的自然场景理解应用具有重大意义。越来越多的多媒体应用程序,例如街道场景理解,无人驾驶汽车对于交通标识的理解和基于语义的图像检索等,均需要准确而鲁棒的文字检测。文字检测的基本任务在于确定场景图像与视频中是否存在文字,如果存在,则标记它的位置。近年来,随着图像获取设备能力和数量的增加,包含场景文字的图像与视频数量相较于过去急剧增加。因此,在自然场景图像与视频中进行文字检测已经受到越来越多的关注。随着计算机视觉相关技术的逐步深入研究,如何利用计算机算法进行场景文字检测已经成为重要和活跃的国际性前沿课题之一。
低质量和复杂背景的场景文字检测与识别极具挑战性。场景文字常具有分辨率低、复杂背景、任意方向、透视变形和光照不均匀等特性,而文档文字拥有统一的格式与单一的背景。
技术实现要素:
本发明在于克服现有技术中的不足,提供一种文字检测方法,解决现有技术中文字检测成功率低、鲁棒性不强的技术问题。
为解决上述技术问题,本发明所采用的技术方案是:一种文字检测方法,该方法包括如下步骤:
提取待检测文字图片的极值区域,对极值区域进行过滤,得到字符候选区域;
计算mssh特征、深度卷积特征,通过自编码神经网络将mssh特征、深度卷积特征融合,得到融合特征;
根据融合特征进一步从字符候选区域中筛选出字符区域;
合并所有字符区域得到最终的文字区域。
提取极值区域的具体方法如下:
将待检测文字图片转化为灰度图igray、r值图ir、g值图ig和b值图ib;
分别对ir,ig,ib求极值区域,具体如下:
r值图ir的极值区域ar定义为:
其中ir(p)表示r值图中像素点p的值;ir(q)表示r值图中像素点q的值;θ表示极值区域的阈值;
g值图ig的极值区域ag定义为:
其中ig(p)表示g值图中像素点p的值;ig(q)表示g值图中像素点q的值;θ表示极值区域的阈值,
b值图ib的极值区域ab定义为:
其中ib(p)表示b值图中像素点p的值;ib(q)表示b值图中像素点q的值;θ表示极值区域的阈值,
获取字符候选区域的方法如下:
计算每个极值区域的面积s、周长c、欧拉数e、像素值方差h,其中像素值方差h是通过灰度图igray计算得到的,其计算公式为:
其中:x表示一个像素点;igray(x)表示像素点x的灰度值;a表示极值区域像素个数最多的颜色区间;b表示极值区域像素个数次多的颜色区间;na表示极值区域中处于颜色区间a的像素个数;nb表示极值区域中处于颜色区间b的像素个数;ra表示极值区域中处于颜色区间a的像素集合;rb表示极值区域中处于颜色区间b的像素集合;μa表示极值区域中处于颜色区间a的像素值的平均值;μb表示极值区域中处于颜色区间b的像素值的平均值;
通过每个极值区域的面积s、周长c、欧拉数e、像素值方差h过滤掉多余的极值区域,过滤掉多余的极值区域之后剩下的即为字符候选区域,过滤条件如下:
其中,s0表示极值区域面积s的阈值;c0表示极值区域周长的阈值;e0表示极值区域欧拉数的阈值;h0表示极值区域像素值方差的阈值。
计算mssh特征的具体方法如下:
获取字符候选区域的笔画像素对和笔画线段;
计算字符候选区域的某一笔画像素对在灰度值、梯度属性上的对称特征描述值;
计算字符候选区域内的所有笔画线段在笔画宽度值、笔画序列值分布和低频模式属性上的对称特征描述;
将不同对称属性的特征值连接形成mssh特征,具体公式表示如下:
fm(ei)=[fj|=v,gm,go,sw,md,pa]
其中:fm(ei)表示mssh特征向量的值;[]表示向量连接操作;ei表示第i个字符候选区域;fj表示对称属性所对应特征向量;j表示对称属性的具体类型;v表示灰度值;gm表示梯度大小属性;go表示梯度方向属性;sw表示笔画宽度值;md表示笔画序列值分布;pa表示低频模式属性。
获取字符候选区域的笔画像素对和笔画线段的具体方法如下:
使用canny边缘检测算子输出边缘图像;
计算笔画边缘图像上某一像素点p的梯度方向;
跟随由梯度方向所确定的射线r,直到射线与另一个笔画边缘像素点q相遇;
笔画像素对被定义为{p,q},笔画线段被定义为射线r在像素点p与q之间的距离。
计算深度卷积特征的具体方法如下:
将字符候选区域大小调整为64×64像素值;
构造包含三阶段的卷积神经网络模型;
一阶段构造方法如下:
一阶段顺序使用两个卷积层与一个最大池化层,其中,卷积层均采用32个尺寸为3×3的卷积核,1个像素为位移偏移量,与字符候选区域进行卷积运算,具体公式如下:
其中g(a,b,k)表示字符候选区域中的第a行第b列像素值经第k个卷积运算的值;ei(a+m,b+n)表示第i个字符候选区域中第(a+m)行第(b+n)列像素值;m表示像素的行偏移量,n表示像素的列偏移量,其取值集合为{-1,0,1},hk表示第k个卷积核;各卷积层运算后,均使用非线性激活函数计算激活值,具体公式如下:
f(a,b,k)=max(0,g(a,b,k))
f(a,b,k)表示字符候选区域中的第a行第b列像素值经第k个卷积运算后的激活值;max()表示取大值函数;
激活值而后传递至最大池化层,该层以2个像素作为步幅,取2×2空间邻域内的最大值作为输出值;
二阶段的架构与一阶段的架构相同;
三阶段顺序使用三个卷积层、一个最大池化层与一个全连接层,其中全连接层将最大池化层的输出连接成为一个一维向量作为输入,并将输出控制在128维,其公式可表示如下:
fd=w·x+b
其中:fd为所生成的128维深度卷积特征,x为将最大池化层的输出连接后所得到的一维向量,w为权值矩阵,b为偏移向量;
对卷积神经网络模型进行训练和测试,通过训练确定未知参数hk,w与b的取值,经测试所生成的fd作为字符候选区域的深度卷积特征。
获取融合特征的方法如下:
使用训练后卷积神经网络模型的权重ωd作为深层卷积特征fd的初始融合权重值;
对于mssh特征fm采用逻辑回归模型来预测其初始融合权重值ωm和减少其特征维度大小,具体过程可由以下公式表示:
其中,
产生融合特征fs的具体过程可由以下公式表示:
其中,函数fμ()表示自编码网络,
在融合训练过程中,当验证错误率停止降低时,自编码网络的联合训练过程结束。
合并字符区域的具体方法如下:
假设字符区域为s,计算所有si∈s的中心点ci;
对于任意两字符区域si,sj∈s,如果二者中心点之间的欧拉距离小于阈值f,则在二者中心点之间连一条直线li,;
计算所有直线与水平线的夹角α,取所有夹角的众数αmode;保留夹角在区间[αmode-π/6,αmode+π/6]内的直线,其余直线去掉;
合并有直线连接的字符区域,得到最终的文字区域。
与现有技术相比,本发明所达到的有益效果:
1、用mssh特征和深度卷积特征来描述字符候选区域,其中mssh特征是基于边缘图像的,对低分辨率、图片旋转、仿射形变和多语言多字体变化具有强鲁棒性;深度卷积特征构造过程无需人工干预,对于字符候选区域的外观属性有很强描述能力,在低分辨率、图片旋转和光照变化过程中,图片的整体外观变化不大,同样具有较强的鲁棒性;
(2)本发明所使用的自编码网络无需人工干预,能够自动融合mssh特征和深度卷积特征,生成的融合特征可以集合各特征的优点,对低分辨率、图片旋转、仿射形变和复杂背景有强鲁棒性。
(3)本发明涉及的自然场景文字检测的方法效率高,计算的算法复杂度都不高,可以较快完成文字检测流程。
附图说明
图1是本发明的流程图;
图2是图1深度卷积特征的计算流程图;
图3是图1中特征融合的流程图;
图4是待检测文字图片;
图5是经极值区域过滤由图4得到的字符候选区域的图片;
图6是经特征融合由图5得到的字符区域;
图7是经字符区域合并由图6得到的文字区域。
具体实施方式
本发明提供了一种文字检测方法,通过提取、过滤极值区域,得到字符候选区域,通过mssh特征和深度卷积特征融合进一步从字符候选区域中筛选出字符区域,最后通过字符区域合并得到文字区域。本发明检测方法具有较强的鲁棒性、检测效率高、可以快速完成文字检测任务。
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,是本发明的流程图,本发明方法具体包括如下步骤:
步骤一:输入待检测文字图片,提取待检测文字图片的极值区域;
首先,将输入的rgb彩色图像转化为灰度图igray,红色分量图r值图ir、绿色分量图g值图ig和蓝色分量图b值图ib;
其次,分别对ir,ig,ib求极值区域ar,ag,ab,极值区域指的是区域外边界的像素值严格大于区域内像素值的区域,以r值图ir为例,其极值区域ar可以定义为:
其中ir(p)和ir(q)分别表示ir中像素点p和q的值,θ表示极值区域的阈值,
然后,计算每个极值区域的面积s、周长c、欧拉数e、像素值方差h,其中像素值方差h是通过灰度图igray计算得到的,其计算公式为:
其中x表示一个像素点,igray(x)表示像素点x的灰度值,a和b分别为极值区域像素个数最多的颜色区间和像素个数次多的颜色区间,na和nb分别表示极值区域中处于颜色区间a和b的像素个数,ra和rb分别表示极值区域中处于颜色区间a和b的像素集合,μa和μb分别表示极值区域中处于颜色区间a和b的像素值的平均值。
步骤二:对极值区域进行过滤,得到字符候选区域;
通过每个极值区域的面积s、周长c、欧拉数e、像素值方差h过滤掉多余的极值区域,过滤掉多余的极值区域之后剩下的即为字符候选区域。过滤条件如下:
其中,s0,c0,e0,h0都是通过大量的字符和非字符区域统计得到的阈值。s0表示极值区域面积s的阈值,s0具体数值在区间[80,120内;c0表示极值区域周长的阈值,c0具体数值在区间[30,50内;e0表示极值区域欧拉数的阈值,e0具体数值在区间[0,1]内;h0表示极值区域像素值方差的阈值,h0具体数值在区间[100,200]内。
图4是是输入的待检测文字图片,如图5所示,是经极值区域过滤由图4得到的字符候选区域的图片。
步骤三:计算mssh特征、深度卷积特征;
计算mssh特征的具体方法如下:
获取字符候选区域的笔画像素对和笔画线段;
通过swt算法获取字符候选区域的笔画像素对与笔画线段,步骤如下:
(1)使用canny边缘检测算子输出边缘图像;
(2)计算笔画边缘图像上某一像素p的梯度方向;
(3)跟随由梯度方向所确定的射线r,直到射线与另一个笔画边缘像素点q相遇;
(4)笔画像素对被定义为{p,q},笔画线段被定义为射线r在像素点p与q之间的距离。
其中canny边缘检测算法的步骤如下:
(1)把字符候选区域转化为灰度图;
(2)对得到的灰度图进行高斯滤波;
(3)计算梯度的幅值和方向;
(4)对梯度幅值进行非极大值抑制;
(5)用双阈值算法检测和连接边缘。
计算字符候选区域的某一笔画像素对在灰度值、梯度属性上的对称特征描述值;
假设{p,q}是字符候选区域内的某一笔画像素对,基于笔画像素对的对称属性描述值的计算步骤如下:
(1)通过以下公式计算笔画像素对{p,q}在灰度值与梯度大小属性上的特征值fj(p,q)1:
fj(p,q)1=fh(|ij(p)-ij(q)|)if∈{v,gm}
其中,ij(p)表示像素点p在对称属性j上的值,ij(q)表示像素点q在对称属性j上的值;j表示对称属性的具体类型;;{v,gm}分别指灰度值与梯度大小属性,函数fh()表示直方图统计运算。
(2)我们通过以下公式计算笔画像素对{p,q}在梯度方向属性上的特征值fj(p,q)2:
fj(p,q)2=fh(cos<ij(p),j(q)>)j=go
其中,go指梯度方向属性,cos<>表示反余弦函数,函数fh()表示直方图统计运算。
计算字符候选区域内的所有笔画线段在笔画宽度值、笔画序列值分布和低频模式属性上的对称特征描述;
假设s表示对于字符候选区域内的笔画线段集合,基于笔画线段集合的对称属性描述值的计算步骤如下:
(1)通过以下公式计算笔画像素对在梯度方向属性上的特征值fj(s):
fj(s)=fh(fξ(s,j))j∈{sw,md,pa}
其中,函数fh()表示直方图统计运算,{sw,md,pa}表示同类对称属性,包括笔画宽度值sw,笔画序列值分布md和低频模式属性pa,其中函数fξ(s,j)可以定义为:
其中||||指欧式距离,ds和ms分别表示笔画线段集合s中,笔画线段所含像素的灰度值方差和平均值,
(2)对于笔画宽度值、笔画序列值分布和低频模式属性上的对称特征描述值,将某一文字候选区域的上述属性值等比例缩放至0到1之间。
将不同对称属性的特征值连接形成mssh特征,具体公式表示如下:
fm(ei)=[fj|=v,gm,o,w,md,a]
其中:fm(ei)表示mssh特征向量的值;[]表示向量连接操作;ei表示第i个文字候选区域;fj表示对称属性所对应特征向量;j表示对称属性的具体类型;v表示灰度值;gm表示梯度大小属性;go表示梯度方向属性;sw表示笔画宽度值;md表示笔画序列值分布;pa表示低频模式属性。
如图2所示,是深度卷积特征的计算流程图,计算深度卷积特征的方法如下:
将字符候选区域大小调整为64×64像素值;
构造包含三阶段的卷积神经网络模型;
一阶段构造方法如下:
一阶段顺序使用两个卷积层与一个最大池化层,其中,卷积层均采用32个尺寸为3×3的卷积核,1个像素为位移偏移量,与字符候选区域进行卷积运算,具体公式如下:
其中g(a,b,k)表示字符候选区域中的第a行第b列像素值经第k个卷积运算的值;ei(a+m,b+n)表示第i个字符候选区域中第(a+m)行第(b+n)列像素值;m表示像素的行偏移量,n表示像素的列偏移量,其取值集合为{-1,0,1},hk表示第k个卷积核;各卷积层运算后,均使用非线性激活函数计算激活值,具体公式如下:
f(a,b,k)=max(0,g(a,b,k))
f(a,b,k)表示字符候选区域中的第a行第b列像素值经第k个卷积运算后的激活值;max()表示取大值函数;
激活值而后传递至最大池化层,该层以2个像素作为步幅,取2×2空间邻域内的最大值作为输出值;
二阶段的架构与一阶段的架构相同;
三阶段顺序使用三个卷积层、一个最大池化层与一个全连接层,其中全连接层将最大池化层的输出连接成为一个一维向量作为输入,并将输出控制在128维,其公式可表示如下:
fd=w·x+b
其中:fd为所生成的128维深度卷积特征,x为将最大池化层的输出连接后所得到的一维向量,w为权值矩阵,b为偏移向量;
对模型的使用共分两个过程,分别为训练过程与测试过程。其中训练过程用于确定未知参数hk,w与b的取值,测试过程用于生成字符候选区域的深度卷积特征fd。
在训练过程中,每个用于训练的字符候选区域均被赋予标签。当标签为0时,表示该字符候选区域不是字符区域;当标签为1时,表示该字符候选区域是字符区域。深度卷积特征fd将通过全连接的方式连接到二维标签向量,其值分别为0与1。在训练过程中,,当神经模型为字符候选区域预测的标签值不再改变时,训练结束。训练结束时的所得到hk,w与b分别作为hk,w与b的固定取值。
在测试过程中,通过卷积神经网络一二三阶段所生成的fd将作为字符候选区域的深度卷积特征。
第三阶段中最大池化层的输出为128维的深度卷积特征fd,该特征在卷积神经网络训练时,将被连接至全连接层。全连接层将输出该字符候选区域是否为文字或非文字标签。
步骤四:通过自编码神经网络将mssh特征、深度卷积特征融合,得到融合特征;
如图3所示,是特征融合的流程图,包括如下步骤:
首先,在融合过程中,使用训练后卷积神经网络模型的权重ωd作为深层卷积特征fd的初始融合权重值;
然后,对于mssh特征fm,采用逻辑回归模型来预测其初始融合权重值ωm和减少其特征维度大小,具体过程可由以下公式表示:
其中,函数fτ()表示逻辑回归模型,
最后,基于自编码网络融合mssh特征与深度卷积特征,产生融合特征fs的具体过程可由以下公式表示:
其中,函数fμ()表示自编码网络,
在融合训练过程中,当验证错误率停止降低时,自编码网络的联合训练过程结束。
步骤五:根据融合特征进一步从字符候选区域中筛选出字符区域;
将字符候选区域的融合特征输入预先训练好的逻辑回归分类器,判断该字符候选区域是不是真正的字符区域。
其中逻辑回归分类器的训练步骤如下:
(1)取通用场景文字检测数据集icdar2013scene数据集,按照上述步骤计算该数据集的所有候选字符区域的融合特征,并以此作为训练集。
(2)把该训练集输入逻辑回归算法进行二分类问题训练。
如图6所示,是经特征融合由图5得到的字符区域。
步骤六:合并所有字符区域得到最终的文字区域。
首先,对于字符区域s,计算所有si∈s的中心点ci;
其次,对于任意字符区域si,sj∈s,如果中心点ci和cj之间的欧拉距离小于阈值f,则在中心点ci和cj之间连一条直线li,j;优选的,f取值为5。
然后,计算所有直线l与水平线的夹角α,取所有夹角的众数αmode。保留夹角在区间[αmode-π/6,αmode+π/6]内的直线,其余直线去掉。如图7所示,是经字符区域合并由图6得到的文字区域。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。