一种自然场景下证件图像的文本检测方法与流程

文档序号:13482524阅读:312来源:国知局
本发明属于图像处理方法,尤其涉及一种自然场景下证件图像的文本检测方法。
背景技术
::互联网技术的高速发展以及智能手机普及,大大方便了我们的生活。很多场景下,运营方需要用户上传证件(如身份证、营业执照等证件),验证用户的身份、资质。用户手机拍摄证件,上传验证,方便高效。由于用户在自然场景下拍照背景复杂、环境干扰因素多。自然场景下的拍摄背景多种多样,用户可能在纹理复杂的桌面、床单等等可能的生活场景中拍摄,这些纹理很难与文字区分开。拍摄照片中还存在文字被部分遮挡的情况,这也对文字检测造成了很大的挑战。用户拍照时所处的不同环境、所采取不同拍摄方式、不同拍摄设备,会使图像存在文本旋转、倾斜,光照不均匀,模糊、变形、噪点多等情况。传统针对扫描图像的文本检测技术难以达到很好的效果。自然场景文字检测是计算机视觉与模式识别技术在目标检测与识别领域中的重要研究课题之一。对自然场景中的文字进行检测,其最终目的是为后续的文字识别与语义理解提供帮助。作为文字识别系统中的重要组成部分,自然场景文字检测技术可以辅助人们理解自然场景内容。自然场景文字检测作为自然场景文字识别系统完成图像采集后处理的第一步,其检测性能的好坏直接关系到整个系统识别率的高低。因此,如何快速、准确地检测出文字是自然场景文字识别技术中一个非常关键的问题。目前,对图片进行文本检测的算法主要有两种:一、基于滑动窗口的方法和基于连通区域的方法。基于滑动窗口的方法是通过一个大小可变的滑动子窗口扫描一张图片所有可能的位置,来检测文本信息,其利用一个训练好的分类器来判别窗口内是否有文本信息;二、基于连通区域的方法首先通过一个底层的滤波器快速分割文本和非文本像素,然后把具有相似属性的文本像素连通起来构成文本成分。这类方法将图像中的文字看成某些特殊的区域或者具有某些特定的纹理特征。首先,我们可使用一些特征或方法在自然图像中提取候选区域作为文字的候选,这些特征包括颜色特征、纹理特征、边缘特征、笔画宽度变换、极值区域等等。经过筛选后滤去非字符的候选区域,将留下的区域视作字符并融合为文本行候选,再对文本行候选进行筛选得到最终的文本检测结果。过滤筛选的方法可以通过人工设计特征,选取阈值进行筛选,或者使用统计模型或机器学习算法对特征进行学习,自适应的对文字候选区域进行筛选。笔画宽度转化(swt,strokewidthtransform)算法和最稳定极值区域(mser,maximallystableextremalregions)算法是第二类方法的代表,也是最近几年主流的经典算法。swt(strokewidthtransform,笔画宽度变换)提取文字候选的方法是建立在一系列一般性的假设上:文字都是由笔画构成,而笔画有一定的宽度,同一行文本的笔画宽度应该较为接近,而非文字部分不是由笔画构成,因此没有笔画宽度。基于这种假设,对图像进行笔画宽度变换,计算输入图像中每一个像素点所在的笔画的宽度值,将连通区域作为文字候选。mser(最大稳定极值区域)方法所采用的mser区域是那些在一系列灰度阈值范围内能保持形状和大小的区域。它们有着锐利的边缘,并且与背景有很强烈的灰度值对比。一般由于形态上的特性,文字都含有丰富的边缘信息,另外文字作为一种信息传递方式,为了让人能够看清,都与背景有较为强烈的颜色与灰度值对比,因此文字基本都为mser区域,而此类方法便是通过提取mser区域作为文字候选.现有方法存在以下缺陷:(1)滑动窗口由于需要多尺度的遍历图像,并对每个检测窗口判断,导致检测时间长、效率低。(2)缺乏精度,难以应对复杂的背景。swt,由于swt基于成功的边缘检测的,再根据文字笔画宽度进行检测,受噪声和模糊的影响大。当背景复杂,边缘检测不到的时候,该方法失效。同时该方法会将很多线条规则、类似文字的物体,如条环、网格、砖块等,误检为文字。无法应对自然环境下用户对多场景的拍摄需求。mser,对模糊、光照、色彩、纹理变化、低对比度的文字处理效果不好。swt和mser两种方法均是检测到单个文字,检测结果对于ocr模块不便利用,需要对检测到的单个文字根据文字间距、高度差异等特征进行合并,增大了计算量。技术实现要素:本发明提供一种自然场景下证件图像的文本检测方法,检测自然场景下用户拍摄的证件图片中的文本区域信息,输出图像中独立的文本行区域,可容忍照片有一定角度的扭曲、倾斜、旋转、光线变化、背景复杂等情况。为实现上述目的,本发明采用如下的技术方案:一种自然场景下证件图像的文本检测方法,包括以下步骤:步骤1、建立训练数据集。选取3816个常用汉字,用不同字体类型制造汉字图片,形成数据集1,其中,数据集1中训练图像为不同字体类型的汉字,标签为对应汉字的指定标号;步骤2、对标注好的证件图像进行随机的旋转、裁剪、模糊、反转、变换明暗度、gamma变换等操作,再用泊松克隆的方式融合不同背景图,形成数据集2,其中,数据集2中训练图像为文本图像,标签为对应大小的文本-非文本二值图;步骤3、采用数据集1对vgg16(visualgeometrygroup-16net)网络进行文字分类模型的训练,待模型收敛后,去除vgg16网络的全连接层,改为全卷积神经网络(fcn,fullyconvolutionalnetworks),用得到的参数初始化全卷积神经网络模型,并采用数据集2训练全卷积神经网络模型;步骤4、采用训练好的全卷积神经网络模型处理图像,得到文本-非文本概率分布图,通过最大概率的方法得到每个像素点的分类情况,形成文本-非文本二值图;步骤5、根据文本-非文本区域二值图,用连通区域的方法得到文本的区域;步骤6、将原图像二值化,仅提取步骤5中文本-非文本区域二值图中文本区域内的文字信息,得到文本二值图;步骤7、将步骤6得到的文本图像旋转不同角度,横向投影,通过最大方差的方法矫正图像;步骤8、对矫正后的图像再次投影,根据区域横(纵)像素点个数,判断此区域的横/纵并分割文字行,精修步骤5中得到的文本-非文本区域二值图。本方法通过对图像卷积处理,融合不同层次的卷积特征,不需要多尺寸的滑动窗口遍历图像。由于是逐像素的预测,结果更精确。通过卷积提取特征,且网络结构为全卷积神经网络,没有全连接层,处理速度可达到实时。通过融合不同卷积层特征,兼具空间特征和纹理特征。在图像背景复杂的情况下,依然能够很好的检测到文本区域。通过泊松克隆的方式扩大训练样本,有效防止模型过拟合,又丰富了训练样本的场景。附图说明图1为本发明技术方案的流程图;图2为vgg16与文字区域检测模型共用卷积层部分的网络结构;图3为vgg16的网络结构;图4为文本检测模型的整体网络结构;图5a为证件图像样图;图5b为待融合的背景图像;图5c为融合后的证件图像;图5d为全卷积神经网络预测的文本-非文本二值图;图5e为由文本-非文本二值图得到的证件文本信息图;图5f为最大方差矫正后的证件文本信息图;图5g为精修后的文本区域二值图;图5h为根据精修后的文本区域二值图确定的矫正后证件图像的文本区域图。具体实施方式如图1所示,本发明提供一种自然场景下证件图像的文本检测方法,包括以下步骤:步骤1、选取3816个常用汉字,用宋体、黑体、楷体、隶书等不同字体类型制作汉字图片,并对其加入一定椒盐噪声、高斯噪声,形成数据集1,其中,数据集1中的训练图像为不同字体类型的汉字,标签为对应汉字的指定标号。步骤2、神经网络模型参数很多,需要大量数据训练,防止过拟合。由于标注样本的成本很高,需要对有限的标注样本进行扩充。对标注好的证件图像进行随机的旋转,旋转角度rotate∈[-30,30]。随机裁剪,原图像宽width,高height,新图片newwidth∈[0.7×width,width],newheight∈[0.7×height,height]。随机高斯模糊,kernelsize∈[3,9],sigmma∈[1,9]。将bgr图像转换为hsv表示,分离通道后,对图像亮度h加上一个随机值hue_vari,hue_vari∈[-8,8],饱和度s随机乘以sat_vari,sat_vari∈[0.5,1.5],明度v随机乘以val_vari,val_vari∈[0.7,1.3].随机gamma变换,gamma∈[0.5,2.0]。根据gamma表对图像像素值pixeli进行映射。再通过泊松克隆的方式随机融合不同背景的图像,如将图5a与图5b融合,得到图5c,即能丰富样本,又能丰富图像场景。数据集2,数据集2中的训练图像为含文本图像,标签为对应大小的文本-非文本区域二值图。步骤3、将数据集1中的图片重整为28×28像素固定大小,像素值归一化至0-1之间,输入到vgg16神经网络模型,vgg16模型的网络结构如图2所示。采用梯度下降的方式进行vgg16神经网络预训练,神经网络中的神经元采用relu激活函数:f(x)=max(0,wtx+b)其中,wt为神经元中待训练参数,x神经元输入,b为神经元中待偏置参数。vgg16神经网络的损失函数为softmax交叉熵损失函数l(yi,hi):其中,m为分批处理一个批次内样本的个数,fi为该训练批次内第i个样本输出的实际预测值,yi为该训练批次内第i个样本的真实值.步骤4、当步骤3中的vgg16模型准确度达到一定程度后,停止预训练,去除vgg16模型的全连接层,增加两个卷积核为1×1的卷积层,并以0.5的概率丢弃部分参数(wt、b)。再通过转置卷积的方式改变卷积层大小,先后逐像素融合pool-4,pool-3卷积层。最后再通过转置卷积,将卷积层输出重整为原图大小。在两个丢弃层后,所有多通道层都先通过1×1的卷积层降维到2通道后进行操作。fcn模型结构如图3所示。采用梯度下降的方式训练模型,指数衰减调整步长,神经网络模型中的神经元的激活函数依然采用relu激活函数:f(x)=max(0,wtx+b)其中,wt为神经元中待训练参数,x神经元输入,b为神经元中待偏置参数。损失函数采用softmax交叉熵损失函数。其中,m为分批处理一个批次内样本的个数,m、n为输入图像的长、宽尺寸,fij为该训练批次中第i个样本的第j个像素的预测值,yij为该训练批次中第i个样本的第j个像素的真实值。在fcn的网络设计上,全卷积网络采用3×3大小的卷积核,两个卷积层级联的,感受野等同于5×5的卷积核,三个卷积层级联则感受野等同于7×7的卷积核。在增大感受野的同时,减少了所要训练的参数数量。引入1×1卷积,有效的替代了全连接层,并对部分参数进行丢弃,防止模型过拟合,同时也降低了数据维度,减少计算量。在训练上用vgg16模型的卷积层与池化层的训练参数,大大加快了模型的收敛速度,减少训练时间。由于fcn网络结构中没有全连接层,为全卷积网络,所以输入图像可以是任意大小,消除了图像重整为固定大小时发生扭曲形变、无法检测的情况。fcn模型是对图像逐像素的预测文本-非文本,相对于滑动窗口和连通区域的方法,检测精度更高。步骤5、将数据集2中的图像像素值归一化至0~1之间后输入步骤4中fcn模型进行训练。如图4所示,fcn模型参数选用步骤3中vgg16的卷积层和和池化层参数预训,新加层则用截断正态分布的随机数初始化。模型输出为输入图像的文本-非文本概率图。针对输入图像的任意一个像素pixelij,给出是文本区域像素的概率ptrue(pixelij)及是非文本区域像素的概率pfalse(pixelij),通过比较像素文本-非文本的概率。若:ptrue(pixelij)>pfalse(pixelij)则认为像素pixelij属于文本区域像素,反之则属于非文本区域像素。将文本区域像素记1,非文本其像素记0,最终得到整个图像的文本-非文本分布图,如图5d示,计算与标签的交叉熵。步骤6、用连通区域的方式对文本区域像素聚类,可以很好的检测到图像文本的区域。但此方法无法精确地分割文本行,得到的文本区域多是很多行粘连在一起,而文本检测的目的是输出独立的文本行区域。因此将证件图像二值化,根据步骤5中文本-非文本分布图,只截取文本区域内的文本信息,得到只含文本信息的二值化图像,如图5e。步骤7、用户拍摄拍摄的图像中可能存在一定的旋转角度,当图像背景复杂时,会大大影响证件的矫正矫正效果。经过检测模型处理后,我们得到文本区域的信息,可据此将文本从图像中提取出来,排除复杂背景的干扰对证件进行校正。由于证件图像中,文本区域中字符是按行分布的,各行之间有明显空白,所以,投影方向与证件图像的方向越接近,形成的投影曲线的波峰波谷差值越大越明显,文本区域投影的方差也越大。通过对步骤6中文本二值化图像(大小为n×m)多次旋转并投影,当图像投影方差最大时的旋转角度,即是图像的矫正角度。所以对图像做横向水平投影,记横向水平投影后纵坐标i行的像素点总和为sumi:其中i为指示函数,当pixelij∈文本时,i为1,否则为0。所有行均值为通过对图像绕中心点旋转不同角度θk,计算方差。图像文本区域投影方差为:当方差最大时,对应的旋转角度θk即是图像的倾斜角θ。矫正图像及文本-非文本区域图,如图5f。步骤8、检测模型检测到的文本-非文本分布图存在文字行粘连的情况,尤其在证件中行与行之间间隙较小时更为明显。文字行粘连将会严重影响后续的文字识别准确率,所以要对粘连的文字行进行分割,输出图像中独立的文本行区域。经过步骤7中的图像矫正,证件中的文本行基本处于水平或者垂直的情况。对矫正后的图像横/纵投影,根据每个文本区域每行/列投影的像素点个数,判断该区域文本的横/纵信息。比如当轮廓纵向投影的长度远大于横向投影的长度,则可认为该文本区域文本为水平方向。再根据文本方向的垂直方向投影。根据投影像素点数量的变化趋势,确定各条投影曲线的波峰点和波谷点,波峰点为投影曲线中值大于周围的值的极值点,波谷点为投影曲线中值小于周围的点的值的极值点。文字行的分割主要依靠寻找波谷。为了排除虚假波谷,可根据前5行像素点总和数的平均值进行统计。若则认为该像素行为无文本区域。据此分割文本行,精修文本-非文本二值图,得到文本行区域位置信息,如图5g、图5h。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1