一种基于深度学习的无分割字符定位与识别方法与流程

文档序号:11387261阅读:326来源:国知局
一种基于深度学习的无分割字符定位与识别方法与流程

本发明涉及机器视觉、图像处理技术领域,具体为一种基于深度学习的无分割字符定位与识别方法。



背景技术:

目前的光学字符识别(opticalcharacterrecognition,ocr)主要采取“字符分割+字符识别”的模式,如:王伟等人的《svm多类分类器在车牌字符识别中的应用》【1】首先对字符进行简单分割提取后分别利用字符稳定的欧拉数特征和基于fisher判别准则设计svm二叉分类树对字符进行粗细分类;宋春静等人(“基于深度信念网络的集装箱字符识别方法”)首先对预处理图像进行水平投影和连通域分析,实现字符分割提取后,利用深度信念网络模型对字符进行深度学习。巩玉滨等人《一种数显仪表数字字符识别方法研究》【2】运用行分割、单字分割与规范化进行数字字符的准确分割模糊图像,以网格法与交线特征提取法提取数显仪表数字字符的特征,采用三层bp神经网络进行数字字符识别。

采用这种识别的模式是由于其输入图像往往是使用规范的印刷体、拥有几乎无干扰的背景、具有较高的分辨率,因而可以通过传统的字符分割算法即可提取每个字符区域。然而当应用到自然场景中时,由于自然场景中的字符具有背景复杂、质量低下、形态多变等特点,从而使得字符与背景见难以用简单的人为选择的特征进行区分,继而难以正确分割乃至识别。

现有的字符识别算法虽然在识别上通过引入深度学习网络的方式提取特征,获得较好的分类效果,但是在分割上依旧依赖于传统的人工选取特征分割算法,从而无法兼容较为复杂的自然场景下的字符分割与识别。因此,需要一种能够自动提取字符具有代表性的特征,让机器可以像人眼一样对整幅图像实现字符定位和分类的字符识别算法。

参考文献

【1】王伟,马永强,彭强.svm多类分类器在车牌字符识别中的应用[j].计算机工程与设计,2011,32(9):3166-3169.

【2】巩玉滨,杨红娟,张运楚,等.一种数显仪表数字字符识别方法研究[j].山东建筑大学学报,2011,26(2):134-137.



技术实现要素:

本发明要解决的技术问题是:现有的光学字符识别算法主要采取“字符分割+字符识别”的模式,无法应对自然场景的背景复杂、质量低下、形态多变等特点,字符与背景间难以用简单的人为选择的特征进行区分,继而难以正确分割乃至识别。因此现有的光学字符识别算法对于复杂自然场景下的字符不能达到较好的识别效果。

本发明的技术方案为:一种基于深度学习的无分割字符定位与识别方法,包括如下步骤:

步骤s1:构建深度卷积神经网络,所述多层卷积神经网络包括通用卷积层网络、候选区域定位网络和分类识别网络,设定多层卷积神经网络的输入为图像,输出为图像上各字符的类别和在图像上的位置坐标;

步骤s2:定义候选区域定位网络的损失函数,及分类识别网络的分类损失函数,构建整个网络整体的目标函数,以实现整个网络的训练;

步骤s3:采用标定好的字符类别及位置信息的训练集对网络进行训练,训练方式采用“递进-联合”的训练方式,从而得到用于进行字符定位和识别的网络模型:

3.1)训练通用卷积层部分,采用从pascalvoc2012的zf模型进行迁移初始化;

3.2)在已训练好的通用卷积层的基础上增加候选区域定位网络进行训练,固定通用卷积层网络参数,采用随机初始化的方式初始化候选区域定位网络参数,根据步骤s2中定义的候选区域定位网络的损失函数对候选区域定位网络参数进行调整;

3.3)增加分类识别网络,固定通用卷积层网络以及候选区域定位网络参数,采用随机初始化的方式初始化分类识别网络的参数,根据步骤s2中定义的分类识别网络损失函数,对分类识别网络的参数进行学习和调整;

3.4)根据步骤s2中定义的全局网络损失函数,对整个网络进行端对端的微调,获得最终的训练结果;

步骤s4:输入测试图像,利用步骤s3中得到的网络提取图像中若干字符的可能区域及分类识别的结果;

步骤s5:对步骤s4中所得到的候选字符识别结果进行非极大值抑制得分阈值判断,得到最终的检测结果。

步骤s1中,各网络具体为:

通用卷积层网络:输入图像为任意尺寸大小,通用卷积层采用5层卷积层结构,层与层之间使用relu激活函数,且前两层卷积层后加入最大值池化层,通用卷积层网络用于提取图像特征图;

候选区域定位网络:采用在特征图上进行多尺度采样的方式提取不同尺度物体的特征,对通用卷积层后得到的每一维特征图使用滑动窗口法,对于每个滑动窗口中心点,提取k种可能的候选窗口,k种可能性包括了a种面积尺度以及b种长宽比,即:k=a*b,继而将提取的特征分别输入给窗口回归层和窗口得分层,分别得到对于该滑动窗口中心点提取的k个候选窗口的位置修正,以及是否属于前景目标的得分,最终对提取到的所有候选窗口进行非极大值抑制处理,去除重复度较高的区域,并最终提取得分最高的n个候选窗口作为候选区域建议进入最终的目标分类;

分类识别网络:对候选区域定位网络所得的候选区域进行分类判断,以及进一步的定位位置精修,通过计算候选区域在特征图中的位置提取候选区域的特征图,将特征图经过两个全连接层后分别输入给分类得分层和位置精修层,分别获得该候选区域的类别得分以及位置修正。

步骤s2中,候选区域定位网络的损失函数为:

在候选区域定位网络中,损失函数包含窗口得分和窗口回归两部分,

窗口得分网络为一个是否是目标的二值分类器,定义其分类损失函数为:

其中,pi表示在一次批梯度下降法中第i个候选窗口预测为目标的得分,也即其属于目标的概率,代表训练标签,当该候选窗口为正样本时负样本时

窗口回归网络为判断窗口回归位置是否接近实际标签,定义其回归损失函数为:

其中,ti表示在一次批梯度下降法中第i个候选窗口回归的位置信息,包括中心点坐标、窗口宽度和窗口高度的相对修正值,表示正样本窗口的位置信息,r函数采用如下函数:

根据分类损失函数和回归损失函数后,候选区域定位网络的损失函数为:

其中p={pi},t={ti},参数λ为两个子损失函数的权衡参数。

步骤s2中,分类识别网络的分类损失函数为:

分类识别网络输出包含候选区域得分与区域回归两部分,设络需要构造区分m类的分类器,则对于每个候选区域,通过分类识别网络后均可获得其对于m+1个类别的概率得分c={c0,c1,...cm+1},以及其位置回归u,根据训练标签可获得每个字符实际所属类别以及区域位置,分别记为c*和u*,从而分类部分的损失函数为:

cc*表示求概率;

区域回归部分的损失函数为:

得到分类识别网络的分类损失函数:

参数μ为两个子损失函数的权衡参数。

当进行整个网路的端对端训练时,整个网络整体的目标函数为:

其中,lprop为候选区域定位网络的损失函数,lrgn为分类识别网络的分类损失函数,参数为两个子损失函数的权衡参数。

步骤s5中,对网络识别结构进行后处理判断的方式为:

5.1)对每个候选区域均有m+1个类别得分,选取得分最高者作为该候选区域的类别;

5.2)对相同类别的候选区域去重叠:两两进行重复度iou值计算,大于0.7时保留得分高者的候选区域;

5.3)对剩下的候选区域进行全类别的如步骤5.2)的去重复处理,得到网络最终的定位与识别结果;

5.4)根据字符定位结果,按照字符从左至右、从上至下的位置对字符进行排序,以文字形式输出最终结果至用户。

本发明方法与已有的现有技术相比,具有如下显著效果:

(1)相比于一般方法中分割与识别独立的模式,本发明提出针对整幅图像直接进行字符定位和识别的方式,通过深度学习的有监督学习,在网络中提取图像特征,完成字符区域的定位与字符类别的识别,从而达到无需专门进行字符分割预处理的整图字符识别方法。

(2)本发明引入候选区域的概念,并且相比于目前通用的滑动窗口法、selectivesearch等方法,采用深度学习网络进行字符候选区域的提取,使用人为标注训练集的方式进行候选区域的有监督学习,自动提取最具代表性的特征,高效、灵活得提取若干更符合人眼判断可能的候选区域,并通过对候选区域分类的得分提取最终的字符定位与识别结果。

(3)本发明的候选区域提取与分类识别共享底层特征提取网络,减少了网络的额外开销,从而达到网络结构的简化、训练集需求的减少、网络训练时间降低等优势。

附图说明

图1是本发明一种基于深度学习网络的无分割字符识别方法的流程图。

图2是本发明方法中使用的整个深度学习神经网络构成图。

图3是本发明方法网络中通用卷积层网络的详细结构。

图4是本发明方法网络中通用候选区域定位网络的详细结构。

图5是本发明方法网络中通用分类识别网络的详细结构。

图6是本发明方法的实施例示意图,(a)为卷积特征图(conv1/conv5),(b)为区域建议图(得分前300),(c)为网络最终的识别结果。

具体实施方式

为了解决目前字符识别应用至自然场景时难以正确分割和识别的问题,本发明设计了一种基于深度学习的无分割字符定位与识别方法,基于深度学习的方法,提出利用深度学习网络提取图像的特征,并据此进行字符候选区域的提取及分类,从而实现在网络中既能实现字符定位,又可完成字符分类。本发明有效的解决了由于复杂自然场景下字符形态多变、背景干扰大而难以用传统分割算法进行字符区域分割的问题,具有较强的泛化性及抗背景干扰能力。

为进一步了解本发明的内容,下面结合附图和实施例对本发明作详细描述。

本发明流程参见图1,说明如下:

s1、首先构建深度卷积神经网络,本发明的多层卷积神经网络包括通用卷积层网络、候选区域定位网络和分类识别网络,其在整个深度神经网络中的组成方式参见图2,其中conv、proposal、classifier分别代表通用卷积层网络、候选区域定位网络、分类识别网络。具体解析如下:

通用卷积层网络:输入图像为任意尺寸大小,通用卷积层采用5层卷积层结构,层与层之间使用relu激活函数,且前两层卷积层后加入最大值池化层。其网络结构图如图3所示,为了便于显示,以下所有网络结构图均假设输入图像大小为(800,600),经过通用卷积层网络可提取一系列图像特征图,此时由于图像大小不统一,因而特征图大小也有差异,将紧跟图像最后一层的池化层改为如下方式,以使得最终得到特征图为统一大小:若最终特征图尺寸要求为{w0,h0},当前特征图大小为{w,h},则定义对当前特征图做大小为{w0/w,h0/h}的窗口进行最大值池化处理,本发明实施例中{w0,h0}={49,36}。

候选区域定位网络:网络结构图如图4所示,对于上述得到的每一维特征图采用滑动窗口法,窗口大小选取为3*3,步长为1,继而采用relu激活函数,则对每个窗口可提取一个256维的低维特征。该方式利用在高维特征空间滑动窗口法,替代了传统网络在网络输入前端对原始图像进行滑动窗口提取图像块提取特征的方法,由于高维特征空间特征图相比于原始图像大大减小,从而滑动窗口法的运算量也得到减少,加速了网络的传输时间,满足实际应用中实时性的需求。

在深度学习网络中,为了解决网络对于多尺度目标的兼容问题,往往会采用以下两种方法:一种是使用图像金字塔,对伸缩到不同尺度的输入图像进行特征提取;另一种是采取滤波器金字塔,即对输入图像采用不同尺寸的滤波器分别进行卷积操作。这两种方法由于需要枚举图像或者滤波器的尺寸,且对于每种尺寸均需要进行一次整个网络的完全计算,因此相当费时。为了适应实际应用中对于实时性的需求,本发明采用在特征图上进行多尺度采样的方式提取不同尺度物体的特征,从而只需要单一尺寸的输入图像和卷积核计算即可,大大减少了计算量。具体实现方式为:对于每个滑动窗口中心点,提取k种可能的候选窗口,因此对于w*h大小的特征图,最多可以提取w*h*k个候选窗口。由于候选窗口为无方向矩形,k种可能性包括了a种面积尺度以及b种长宽比,即:k=a*b。在本发明中k的选取如下:

面积尺度a∈{642,1282}

长宽比b∈{1:1,1:2,2:1}

候选区域数量k=2*3=6

选取如上数值是考虑到通用卷积层网络输入图像的大小,以及实际应用中待检测字符本身的形状比例和相对于图像的大小比例,合理的根据应用场景的先验知识选取k的种类,有助于减小k值,从而减少不必要的候选窗口的计算量,进一步加快网络的传输时间。并且,由于在整体网络分类结果输出时会再次对目标进行精确的位置修正,因而候选区域定位网络的主要功能在于对于目标检测区域的大致定位,其目标在于包含待检测物体,但不要求精确定位其位置,因此此处k的数量选择较为简单,而这也减少了候选区域定位网络的时间消耗。

继而对于提取的256维特征,分别输入给窗口回归层和窗口得分层,分别得到对于该滑动窗口中心点提取的k个候选窗口的位置修正以及是否属于前景目标的得分,该方法可用两个并行的1*1全连接卷积层实现。窗口回归层的功能为对于每个候选窗口进行进一步的位置精修,其本质是进行回归,输出的是修正后的候选窗口的左上角以及长宽修正值,且对于k个不同的候选窗口构建不同的回归器,也即k个回归量不共享权重,从而使得对于每个3*3的窗口也能够预测不同尺寸的候选区域。窗口得分层的功能在于对于每个候选窗口进行其是否属于目标检测区域的判断,其本质是进行分类,输出的是该候选窗口分别属于前景和背景的得分。最终对滑动窗口提取到的所有候选窗口进行非极大值抑制处理,去除重复度较高的区域,并最终提取得分最高的n个候选窗口作为候选区域建议进入最终的目标分类。

分类识别网络:分类识别网络主要完成的工作是对候选区域定位网络所得的候选区域进行分类判断以及进一步得定位位置精修,其网络结构图参见图5,因此首先需要提取候选区域的特征。传统网络通常采用将候选区域图像提取出来后重新输入给网络进行特征提取和分类,这将导致网络对于每个候选区域需要重新计算,因而重复计算量很大。由于已知了候选区域的位置,并且整幅图像的特征图已在通用卷积层网络中得到,本发明通过计算候选区域在特征图中的位置即可提取候选区域的特征图,从而使得网络只需计算一次整幅图像的特征图即可,且候选区域定位网络和分类识别网络可以共享通用卷积层网络提取的特征图,使得整个网络相比于传统的图像分类识别网络只增加了少量开销,就可完成定位与分类两项功能。

将特征图经过两个全连接层后分别输入给分类得分层和位置精修层,分别获得该候选区域的类别得分以及位置修正。

s2、构造好整个网络框架后,需要定义候选区域定位网络的回归损失函数,及分类识别网络的分类损失函数,从而获得整个网络整体的目标函数,以实现整个网络全局端对端的训练;

在候选区域定位网络中,由于网络的输出包含窗口得分和窗口回归,因此损失函数也包含这两部分。首先定义正负样本的概念:在进行有监督训练时,训练集需要进行人工标注,标注内容包括物体的类别以及物体的位置。对于每个3*3窗口提取的k个候选窗口,定义其与实际人工标注的窗口重叠度大于0.8为正样本,重叠度小于0.3为负样本,其余舍弃。重叠度的定义为:

其中,gt为人工标注,cw为候选窗口。iou即为两者重叠部分的面积与两者总占用面积的比值,当候选窗口与人工标注完全重叠时,iou为1,当两者无重叠时,iou为0。

窗口得分网络本质是一个是否是目标的二值分类器,因而定义其分类损失函数为:

其中,pi表示在一次批梯度下降法中第i个候选窗口预测为目标的得分,也即其属于目标的概率,代表训练标签,当该候选窗口为正样本时当该候选窗口为负样本时

窗口回归网络本质是判断窗口回归位置是否接近实际标签。通常描述一个矩形框需要四个参数:左上角点或中心点x、y轴坐标、窗口宽度、窗口高度。为了兼容各种不同尺寸的候选窗口,以实现归一化,对于每个3*3窗口,在回归网络中采用相对修正值来描述窗口:

其中,{x,xa,x*}分别为预测窗口、候选窗口和人工标签窗口的中心点横坐标,同理,{y,ya,y*}分别为这三者的纵坐标、{w,wa,w*}为窗口的宽度、{h,ha,h*}为窗口的高度。

由此可定义窗口回归网络的回归损失函数为:

其中,ti={tx,ty,tw,th}表示在一次批梯度下降法中第i个候选窗口回归的位置信息,相应的,表示正样本窗口的位置信息。

需要注意的是,在训练时,只有正样本窗口才有学习回归调整的必要和意义,因此在损失函数中引入项以保证只有当该窗口是正样本时才进行回归损失函数的计算。

(4)式中的r函数采用如下函数:

已知了分类损失函数和回归损失函数后,候选区域定位网络的损失函数可定义为:

其中p={pi},t={ti},参数λ为两个子损失函数的权衡参数。

在分类识别网络中,与候选区域定位网络类似的,其输出也包含候选区域得分与区域回归两部分。若网络需要构造区分m类的分类器,则每个候选区域通过分类识别网络后,可得到其是否属于m类每类类别的得分,以及是否属于背景的得分,故在softmax分类器共得到m+1个得分数值,且它们的和为1,因而每个得分值也代表了其是否属于该类别的概率。由于该部分网络的输入是来自于候选区域定位网络的候选区域建议,因而正样本的定义为与人工实际标注的窗口重叠度大于0.8为正样本,其所属类别以及区域位置分别记为c*和u*,而重叠度小于0.3为负样本,其类别属于背景,重叠度不满足以上要求的样本不参与损失函数的计算。

设络需要构造区分m类的分类器,则对于每个候选区域,通过分类识别网络后均可获得其对于m+1个类别的概率得分c={c0,c1,...cm+1},以及其位置回归u,根据训练标签可获得每个字符实际所属类别以及区域位置,分别记为c*和u*,从而分类部分的损失函数为:

cc*表示求概率;

回归部分的损失函数为:

lr_reg(u,u*)=[u*>1]r(u-u*)(8)

同候选区域定位网络一样,[u*>1]作用在于保证只有正样本才计入回归损失函数的计算。

最后分类识别网络的损失函数可定义为:

lrgn(c,u)=∑lr_cls(c,c*)+μ∑lr_reg(u,u*)

(9)

当进行整个网路的端对端训练时,定义整个网络的误差函数为:

其中,参数为两个子损失函数的权衡参数。

s3、采用人工标定的字符类别及位置信息的训练集对网络进行训练,从而得到用于进行字符定位和识别的网络模型。

网络训练采取标准误差反向传播和随机梯度下降法,其权值衰减量和冲量分别设置为0.0005和0.9。训练学习速率α初始设置为0.001,每迭代10k次,引入衰减量β以更新学习速率,使得:

α=βα(11)

在训练中,如果候选窗口来自于同一幅图像,则它们可以共享前面卷积层的计算结果,减少网络训练的计算量,因此在本发明中,网络训练时一次批梯度下降法中,选取来自i幅图像的r个候选窗口,也即每幅图像选取r/i个候选窗口。如r选择为256,i选择为2,则每幅图像采样256/2=128个候选窗口,相比于对从256幅图像各选择一个窗口计算可加速128倍。同时,为了防止每幅图像采集的128个候选窗口中正负样本比例失调,导致网络发生偏差,设置每次采集的128个候选窗口中正负样本的比例为1:1,且舍弃超出图像边界的候选窗口。

由于网络主要由三部分网络组成,因而采用一种逐层递进的训练方式,具体为:

1)首先训练通用卷积层部分。由于图像的底层特征是相似的,因而对于通用卷积层部分采用从pascalvoc2012的zf模型(zeiler与fergus模型)进行迁移初始化。

2)其次在已训练好的通用卷积层的基础上增加候选区域定位网络进行训练,固定通用卷积层网络参数,采用随机初始化的方式初始化候选区域定位网络参数,根据步骤2中定义的候选区域定位网络的损失函数对候选区域定位网络参数进行调整。

3)继而再增加分类识别网络,固定通用卷积层网络以及候选区域定位网络参数,采用随机初始化的方式初始化分类识别网络的参数,根据步骤2中定义的分类识别网络损失函数,对分类识别网络的参数进行学习和调整。

4)最后根据步骤2)中定义的全局网络损失函数,对整个网络进行端对端的微调,获得最终的训练结果。

s4、经过人工标定的字符类别及位置信息的训练集对网络进行学习和训练后,可获得一个网络模型的结果,模型里包含了深度学习网络中每一层权值的数值。当运用到实际应用时,只需将采集到的字符图像输入给网络进行前向传输,则网络的输出即为位置精修后的n个候选区域及其类别得分。

s5、由于网络的输出结果有n个候选区域,通常n的数值设置为在满足网络传输时间的要求下,尽可能大于图像中实际字符的数量,以保证可以包含所有的目标字符,因此这n个候选区域通常具有极大的重复性,需要进行一定的后处理,以获得最终精确的识别结果。后处理逻辑主要包含以下几个步骤:

1)对每个候选区域均有m+1个类别得分,选取得分最高者作为该候选区域的类别;

2)对相同类别的候选区域去重叠:两两进行重复度iou值计算,大于0.7时保留得分高者的候选区域。

3)由于字符识别中各字符不会发生重叠,否则无法进行识别,因而对剩下的候选区域进行全类别的如步骤2)的去重复处理,得到网络最终的定位与识别结果。

4)根据字符定位结果,按照字符从左至右、从上至下的位置对字符进行排序,可以文字形式输出最终结果至用户。

本发明中使用的字符图像采用130万像素彩色照相机采集,电脑配置为酷睿i5,英伟达gtx10806g,训练时间为4小时,测试时间为100ms/张,检测正确率达99.98%。如图6为识别实施示意图。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1