一种用于复杂文字识别的随机样本产生方法

xiaoxiao2020-10-23  11

一种用于复杂文字识别的随机样本产生方法
【技术领域】
[0001] 本发明涉及图像识别领域,特别涉及一种用于复杂文字识别的随机样本产生方 法。
【背景技术】
[0002] 图片识别在智能识别领域具有十分重要的意义,随着科技的进步和社会的发展, 对图片中文字的自动识别的需求量也急速增加。传统的光学文字识别(OCR)系统常常用于 识别使用光学设备扫描生成的文档,比如数字化古籍,识别名片、发票、表单等。通常这类 扫描文档有着比较高的分辨率和对比度,而且打印字体一般都比较单一规整,提取用于识 别的单个文字变得比较简单。所以这类文档识别的核心是消除噪音,噪音的消除方法比较 多:比如使用高斯进行平滑化处理,然后使用阈值化对图片进行二值化,最后提取工程化设 计好的特征向量进行模版匹配或者交付给分类器进行识别。
[0003] 随着互联网的发展和移动设备的普及,产生了大量含有复杂噪音或者各种变形的 文字图片,比如验证码图片、随手拍照片、车辆车牌等。复杂噪音产生的原因既包括了客观 因素,比如拍照状况的复杂性、拍照设备的质量偏低;也包括了主观因素,比如为了网站安 全,将验证码的噪音和扭曲都人为设计得很复杂。为了从大量公开的多媒体数据中挖掘出 有价值的信息,识别这些复杂文字图片开始变得很有意义。
[0004] 识别这些复杂文字时,使用传统的OCR方法,在识别速度和准确性方面已经难以 满足庞大数据的识别要求。随着人工神经网络的出现,使得图像和语音识别变得简单高效; 而深度神经网络在图像和语音识别领域都得到了突破性的进展,但是使用神经网络来进行 文字或者语音识别之前,需要输入大量的标注数据来完成神经网络的训练;而深度神经网 络所需要的标注数据量更加巨大,比如谷歌的语音识别系统使用了上万小时的带标注的语 音训练数据,这就需要消耗大量的人力成本。

【发明内容】

[0005] 本发明的目的在于克服现有技术中所存在的上述不足,提供一种用于复杂文字识 别的随机样本产生方法。通过分析文字复杂性的原因,自动生成大量的可供深度神经网络 使用的包含各种噪声和扭曲特征的训练样本,解决了现有技术中使用深度神经网络识别文 字时需要大量的人力标注的问题,显著的节约了人力成本;提高识别的效率。
[0006] 为了实现上述发明目的,本发明提供了以下技术方案:
[0007] -种用于复杂文字识别的随机样本产生方法,包括以下实现步骤:
[0008] (1-1)选取一定数量的待处理样本(比如说500个)。将目标样本图片中所包含 的字符切分出来,将待处理图片中的字符串切分成仅包含单个字符的待处理子图片。其中 所述待处理样本图片从待识别图片集中选取,包含待识别图片的一般噪声特征和、或扭曲 特征。本发明随机样本生成方法的目的是用于复杂文字识别;因此在进行样本分析时,选取 的待处理图片也应该是具有待识别图片的一般特征,比如说待识别图片中包含点状背景噪 声和线条噪声,那么选取的待处理图片中也应该包含这些特征,以便于在接下来步骤中来 构建相应的模型。
[0009] (1-2)对上述待处理子图片进行分析,选取与目标图片字符最相似的字体库(字 体库的选择可以依经验进行人工选择,也可以通过机器自动对比,通过机器自动对比时:通 过分析各个字体库与目标图片中对应字符的特征,计算字体的相似度,选择相似度最高的 字体);分析目标图片字符的字符集(比如说待处理图片中仅仅包含数字,那么只需要对 应研宄数字集"〇、1、2、3、4、5、6、7、8、9"而不需要研宄汉字集;当待识别图片中既包括字 母又包括数字还包括汉字,比如说常见的车牌号识别,就需要对汉字、字母以及数字都进行 研宄;而且本发明所说的字符集是指待识别图片集中所包含的所有字符构成的集合,比如 说待识别图片集中包含1000个汉字,那么只需要选择这1000个汉字作为进行处理的字符 集)。
[0010] (1-3)分析待处理子图片的噪声情况和扭曲特征,在已选择字体库的标准字符的 基础上构建相应的噪声模型和,或扭曲模型。所谓构建噪声模型是指将待处理子图片中所 包含的各类噪声进行相应的归类,在归类的基础上对每类噪声分布情况和复杂程度进统计 和计算,将噪声参数模型化;复杂文字识别可能遇到的噪声种类很多,比如说背景噪声、线 条噪声和,或污染物噪声等;所述构建扭曲模型是指将待处理子图片中所包含的扭曲特性 进行相应的归类,在分类的基础上对扭曲的程度和扭曲范围进行统计和计算,将扭曲参数 模型化;待处理目标图片的扭曲特征包括由仿射变换产生的平移、压缩、拉伸、旋转和,或扭 曲。
[0011] (1-4)根据噪声模型和扭曲的复杂程度,选择一定的变化步长在已选择字体库标 准字符的基础上生成大量的随机样本。
[0012] 比如说步骤(3)中已分析出的噪声模型包括背景中的点状噪声、线条噪声;扭 曲特征为旋转,其中点状噪声的灰度值分布在10-90之间,线条噪声的长度和宽度分布在 0-100和1-3(这里指像素点的个数)之间,旋转度在-30°到30°之间,这样根据这些噪声 模型和扭曲特征的复杂度可以在已选择字体库中的标准字的基础上,生成包括背景噪声像 素灰度值为1〇、11、12.........90 ;线条噪声长度为0、1、2、3............1〇〇,宽度为1、 2、3 ;旋转度在-30°、-29°、-28° ......0° ......28°、29°、30°等特征组合的随机样 本;假定产生随机样本的尺寸为50*50像素大小,那么针对单个字符可产生的随机样本个 数为805W5°*100*3*60数量巨大(事实上旋转度用浮点数表示,可以选择步长值可以为浮点 数,这样所可以产生的样本个数非常巨大,可满足各种复杂神经网络的训练需要)。
[0013] 作为一种优选,实际工作中为了避免因构造点状背景噪声产生数量过大的随机样 本;点状背景噪声产生方式为:通过计算待处理图片中点状噪声的平均灰度以及方差值, 在构造点状噪声时,通过使用高斯采样的方式随机设置噪声的灰度值。
[0014] 进一步的,待识别图片的表面具有污染物的时候,比如车牌上的泥浆点,泥浆点的 表现为字体的表面具有类似椭圆状或者放射状的斑点,可以选择椭圆或者放射状形状的像 素块,通过设置这些像素块的灰度值从而实现表面污染物噪声的构建。
[0015] 进一步的,图片的扭曲特征如:平移、压缩、拉伸、旋转和扭曲都可以根据仿射变 换来构建,仿射变换一般可用下列公式来进行表示:
为为原像素 点的位置向量,X为横坐标,y为纵坐标,
为系数矩阵,T为仿射变换后 的对应像素点的位置向量;
为常数向量;上述公式还可以写成:T=M? [X, y,l]T,M仿射变化系数矩阵,,具体的,平移变化的情况:在系数矩
阵为单位矩阵的情况下,加上常数向量就可实现;缩放变化的系数矩阵为对角矩阵分别 调整x和y坐标的缩放倍数;而旋转变换的系数矩阵.
和常数向量
1其中c是旋转的中心点(c.x为中心的横坐标值,c.y为中心的 纵坐标值),0是旋转的角度;而且通过步骤(1-3)中对待处理图片中扭曲程度和模式统计 分析,也可以计算出对应系数矩阵的取值范围,这样在进行扭曲样本构建时,通过在所述取 值范围内,随机选取相关参数来设置系数矩阵,将该系数矩阵乘以标准字符的位置向量,就 可以得到不同扭曲程度的随机样本。
[0016] 进一步的,可以根据待处理样本的特点,仅仅选取字符的某一部分进行仿射变换, 这样所产生的对应随机样本仅仅在字符中的对应区域具有扭曲特征。
[0017] 进一步的,生成随机样本时,诸如背景噪声、线条噪声、污染物噪声等为可加噪声, 即可以通过将字符与噪声进行叠加形成完整的样本图片。扭曲特征可对具有噪声的字 符图 片进行整体处理;也可以仅对字符进行扭曲处理,然后将扭曲的字符与其他噪声进行叠加 形成样本图片。
[0018] 进一步的,各类噪声和扭曲特征都可以组合出现。这样可以产生出数量庞大的各 类随机样本。
[0019] 与现有技术相比,本发明的有益效果:本发明提一种用于复杂文字识别的随机样 本产生方法,通过在待识别图片中选取一定数量的包含待识别图片一般噪声和扭曲特征的 样本作为待处理图片,将待处理图片中的字符串切分成仅包含单个字符的子图片。选择与 待处理子图片最接近的字体库,在字体库的基础上选取与待识别字符相对应的字符集;通 过对待处理子图片中噪声和、或扭曲特性的统计分析,建立对应的噪声模型和、或扭曲模 型;并且通过统计分析噪声和扭曲特征的复杂度选择一定的步长在已选择字体库标准字的 基础上随机自动生成大量的包含各种噪声和扭曲特征的训练样本;上述随机训练可供深度 神经网络训练使用;解决了现有技术中使用深度神经网络识别图片时需要大量人工标注的 问题,极大的节省的人力成本。
【附图说明】:
[0020] 图1为随机样本生成器的实现步骤示意图。
[0021] 图2为包含点状背景噪声的图片示例。
[0022] 图3为包含点状背景噪声且字符倾斜的图片示例1。
[0023]图4为包含点状背景噪声且字符倾斜的图片示例2。
[0024]图5为包含点状背景噪声且字符具有仿射变化的图片示例。
[0025] 图6为包含点状背景噪声且具有线条噪声的图片示例。
[0026] 图7为基于深度学习的复杂文字识别方法的实现步骤示意图。
[0027] 图8为基于深度学习的复杂文字识别方法的实现过程示意图。
【具体实施方式】
[0028] 下面结合试验例及【具体实施方式】对本发明作进一步的详细描述。但不应将此理解 为本发明上述主题的范围仅限于以下的实施例,凡基于本
【发明内容】
所实现的技术均属于本 发明的范围。
[0029] 本发明的目的在于克服现有技术中所存在的上述不足,提供一种用于复杂文字识 别的随机样本产生方法。通过分析文字复杂性的原因,自动生成大量的可供深度神经网络 使用的包含各种噪声和扭曲特征的训练样本,解决了现有技术中使用深度神经网络识别文 字时需要大量的人力标注的问题,显著的节约了人力成本。
[0030] 为了实现上述发明目的,本发明提供了以下技术方案:
[0031] 一种复杂文字图片的随机样本生成方法,包括如图1所示的以下实现步骤:
[0032] (1-1)选取一定数量的待处理样本(具体的数量根据待处理图片所包含噪声的复 杂度而定,比如说500个);其中所述待处理样本图片从待识别图片集中选取,包含待识别 样本图片的一般噪声特征和、或扭曲特征。本发明随机样本生成方法的目的是用于复杂文 字识别;因此在进行样本分析时,选取的待处理图片也应该是具有待识别图片的一般特征, 比如说待识别样本中包含点状背景噪声和线条噪声,那么选取的待处理图片中也应该包含 这些特征,以便于在接下来步骤中来构建相应的模型。
[0033] 进一步的,将目标样本图片中所包含的字符切分出来(在图片中切分字符的方法 很多比如说可以采用投影法),将待处理图片中的字符串切分成仅包含单个字符的待处理 子图片;便于在单个字符的基础上分析噪声模型和扭曲特征。
[0034] (1-2)对上述待处理子图片进行分析,选取与目标图片字符最相似的字体库(根 据目标字符最接近的字体来选择字体库,字体库的选择可以依经验进行人工选择,也可以 通过机器自动对比,通过机器自动对比时:通过分析各个字体库与目标图片中对应字符的 特征,计算字体的相似度,选择相似度最高的字体,比如宋体);分析目标字符的字符集(字 符集是指待识别目标所包含字符的类别;根据待识别图片中所包含字符的情况而定,比如 说待处理图片中仅仅包含数字,那么只需要对应研宄数字集"0、1、2、3、4、5、6、7、8、9"而不 需要研宄汉字集;当待识别图片中既包括字母又包括数字还包括汉字,比如说常见的车牌 号识别,就需要对汉字、字母以及数字都进行研宄;而且本发明所说的字符集是指待识别图 片集中所包含的所有字符构成的集合,比如说待识别图片集中包含1000个汉字,那么只需 要选择这1000个汉字作为进行处理的字符集)。
[0035] (1-3)分析待处理子图片的噪声情况和扭曲特征(如图2、图3、图4、图5及图6 所示),在已选择字体库的标准字符的基础上构建噪声模型和扭曲模型。
[0036] 所谓构建噪声模型是指将待处理子图片中所包含的各类噪声进行相应的归类,在 归类的基础上对每类噪声分布情况和复杂程度进统计和计算,让这些参数模型化;复杂文 学识别可能遇到的噪声种类很多,比如说背景噪声(背景噪声包括背景颜色、背景图案等, 如图2至图6所示的图片中均包含点状背景噪声),线条噪声(比如说目前的很多网站登录 使用的验证,为了防止机器识别而人为在验证码的汉字、数字或者字母图片上添加一些干 扰识别的杂乱线条,如图6所示),污染物噪声,比如在车牌识别时字符表面上可能出现的 被灰尘或者泥浆污染的情况。
[0037] 所谓构建扭曲模型是指将待处理子图片中所包含的扭曲特性进行相应的归类,在 分类的基础上对扭曲的程度和扭曲范围进行统计和计算,让扭曲参数模型化;待处理目标 图片的其他扭曲特征包括旋转(如图3所示)、倾斜(如图4所示)、仿射变换(如图5所 不)等°
[0038] (1-4)根据噪声模型和扭曲的复杂程度,选择一定的变化步长在已选择字体库标 准字符的基础上生成大量的随机样本(随机样本生成的具体数量根据待处理图片的噪声 和扭曲特征的复杂度以及所选神经网络的模型规模而定;当这些随机样本用于神经网络训 练时成为第二训练样本)。
[0039] 具体的,比如说步骤(3)中已分析出的噪声模型包括背景中的点状噪声、线条噪 声;扭曲特征包括旋转,其中点状噪声的灰度值分布在10-90之间,线条噪声的长度分布 在0-100,宽度在1-3之间,旋转度在-30°到30°之间,这样根据这些噪声模型和扭曲 特征的复杂度可以在已选择字体库中的标准字的基础上,比如说针对汉字"文",在已选 择宋体字符"文"的基础上可随机生成的"文"的图片样本包括背景噪声灰度值为1〇、21、 22......... 90 ;线条噪声为长度为:0、1、2、3............1〇〇,宽度为1、2、3 ;旋转度在-3 0°、-29°、-28° ......0° ......28°、29°、30°等特征的组合;假定产生随机样本的尺 寸为50*50像素大小,那么针对"文"可产生的随机样本个数为805W5°*100*3*60个(事实 上旋转度用浮点数表示,可以选择步长值可以为浮点数,这样所可以产生的样本个数巨大, 可满足各种复杂神经网络的训练需要);其他字符的随机样本生成与"文"类似;通过上述 的随机样本生成器产生了大量可供神经网络训练的不需要进行人工标注的样本,相比于现 有技术中通过大量人工标注训练样本的方式,本发明中的随机样本生成器通过机器自动生 成的方法在极短的时间内生成了数量巨大的可供使用的样本,样本的标注效率极高,可靠 性高,显著的节约了人工标注的成本;并且随机生成的样本可以包含各种不同幅度的噪声 和扭曲特征,满足各种复杂文字识别的需要。
[0040] 作为一种优选,实际工作中为了避免因构造点状背景噪声产生数量过大的随机样 本;点状背景噪声产生方式为:通过计算待处理图片中点状噪声的平均灰度以及方差值, 在构造点状噪声时,通过使用高斯采样的方式随机设置噪声的灰度值。
[0041] 进一步的,待识别图片的表面具有污染物的时候,比如车牌上的泥浆点,泥浆点的 表现为字体的表面具 有类似椭圆状或者放射状的斑点,可以选择椭圆或者放射状形状的像 素块,通过设置这些像素块的灰度值从而实现表面污染物噪声的构建。
[0042] 进一步的,图片的扭曲特征如:平移、压缩、拉伸、旋转和扭曲都可以根据仿射变 换来构建,仿射变换一般可用下列公式来进行表示:
为为原像素 点的位置向量,X为横坐标,y为纵坐标,
为系数矩阵,T为仿射变换后 的对应像素点的位置向量:
为常数向量;上述公式还可以写成:T=M? [X, y,l]T,M仿射变化系数矩阵,
> 具体的,平移变化的情况:在系数矩 阵为单位矩阵的情况下,加上常数向量就可实现;缩放变化的系数矩阵为对角矩阵分别 调整x和y坐标的缩放倍数;而旋转变换的系数矩阵
和常数向量
,其中c是旋转的中心点(c.x为中心的横坐标值,c.y为中心的 纵坐标值),0是旋转的角度;而且通过步骤(1-3)中对待处理图片中扭曲程度和模式统计 分析,也可以计算出对应系数矩阵的取值范围,这样在进行扭曲样本构建时,通过在所述取 值范围内,随机选取相关参数来设置系数矩阵,将该系数矩阵乘以标准字符的位置向量,就 可以得到不同扭曲程度的随机样本。
[0043] 进一步的,可以根据待处理样本的特点,仅仅选取字符的某一部分进行仿射变换, 这样所产生的对应随机样本仅仅在字符中的对应区域具有扭曲特征。
[0044] 进一步的,生成随机样本时,诸如背景噪声、线条噪声、污染物噪声等为可加噪声, 即可以通过将字符与噪声进行叠加形成完整的样本图片。扭曲特征可对具有噪声的字符图 片进行整体处理;也可以仅对字符进行扭曲处理,然后将扭曲的字符与其他噪声进行叠加 形成样本图片。
[0045] 进一步的,各类噪声和扭曲特征都可以组合出现。这样可以产生出数量庞大的各 类随机样本。
[0046] 进一步的,可以将所述随机样本生成方法所产生的训练样本用于深度神经网络的 训练中,仅仅人工标注少量样本(第一训练样本),将所述人工标注的少量第一训练样本和 上述随机样本生成器所产生的大量随机样本(第二训练样本)混合成为第三训练样本集; 并将所述第三训练样本集输入到深度神经网络中,通过深度神经网络的学习来识别各种噪 声和扭曲特征。
[0047] 将待识别的目标图片中的字符串按照经过上述"复杂文字图片的随机样本生成 器"中所述步骤(1-1)的切分方式切分成仅包含单个字符的待识别子图片,并将切分后的待 识别字符图片按照对应的顺序输入到已经训练好的深度神经网络中,经过深度神经网络的 识别在输出层输出相应的识别结果,实现步骤和实现过程分别如图7、图8所示。
[0048] 具体的实现方法包含如图7所示的以下步骤:
[0049] (2-1)选取一定数量的目标测试样本(具体选取的样本数量根据待识别图像的噪 声复杂程度和选定的神经网络的模型大小而定,比如说1000张);进行人工标注。并将标 注好的样本集划分为开发样本集和第一训练样本集(比如说将标注样本集中30%的样本 作为开发样本,70 %的样本作为第一训练样本)。
[0050] (2-2)根据上述步骤(1-1)至(1-4)的随机样本生成方法生成大量的包含各种噪 声和扭曲特征的第二训练样本(一般说来,第二训练样本数量S与第一训练样本数量F的 比值S/F满足下列关系:100 < (S/F) < 10000 ;第二训练样本具体的数量根据深度神经网 络的模型规模而定,比如说10000张,20000张,或者1000000张)。
[0051] (2-3)将第一训练样本集和第二训练样本集混合成为第三训练样本集,并将上所 述第三训练样本集输入到待训练的深度神经网络中,训练所述深度神经网络。将第一训练 样本集和第二训练样本集混合成第三训练样本集的好处在于可以防止神经网络根据第一 训练样本集和第二训练样本集分别训练而出现过拟合问题,使得训练的结果朝着更加合理 的方向进行。
[0052] (2-4)将待识别的目标图片中的字符串图片切分出来,并将字符串图片中的字符 切分成仅包含单个字符的待识别子图片,并将切分后的待识别字符图片按照对应的顺序输 入到已经训练好的所述深度神经网络中。
[0053] (2-5)经过所述深度神经网络的识别,在输出层输出与待识别目标图片对应的识 别结果。
【主权项】
1. 一种用于复杂文字识别的随机样本产生方法,其特征在于,包含以下实现步骤: (1-1)选取一定数量的待处理样本图片,将所述样本图片中所的字符串切分成各个仅 包含单个字符的待处理子图片; (1-2)对上述待处理子图片进行分析,选取与待处理子图片字符最相似的字体库; (1-3)分析待处理子图片的噪声情况和扭曲特征,构建相应的噪声模型和,或扭曲模 型; (1-4)根据噪音和扭曲的复杂程度,选择一定的变化步长在已选择字体库标准字符的 基础上生成随机样本。2. 如权利要求1所述的用于复杂文字识别的随机样本产生方法,其特征在于,所述步 骤(1-1)中所述待处理样本图片在待识别图片样本集中选取。3. 如权利要求2所述的用于复杂文字识别的随机样本产生方法,其特征在于,所述待 处理样本图片包含待识别样本图片的噪声特征和,或扭曲特征。4. 如权利要求3所述的用于复杂文字识别的随机样本产生方法,其特征在于,所生成 的随机样本中的噪声包括:点状背景噪声、图案背景噪声和,或线条噪声;所生成的随机样 本中的扭曲特征包括:由仿射变换引起的平移、压缩、拉伸、旋转和,或扭曲。5. 如权利要求4所述的用于复杂文字识别的随机样本产生方法,其特征在于,所述步 骤(1-2)中仅选择与待识别字符对应的字符集。6. 如权利要求5所述的用于复杂文字识别的随机样本产生方法,其特征在于,所述步 骤(1-4)中点状背景噪声产生方式为:通过计算待处理图片中点状噪声的平均灰度以及方 差分布,通过使用高斯采样的方式随机设置噪声点的灰度值。7. 如权利要求5所述的用于复杂文字识别的随机样本产生方法,其特征在于,所述步 骤(1-4)中平移、压缩、拉伸、旋转和扭曲特征根据仿射变换来构建。8. 如权利要求7所述的用于复杂文字识别的随机样本产生方法,其特征在于,通过步 骤(1-3)中对待处理图片中各扭曲模式对应的扭曲程度统计分析,计算出对应系数矩阵相 关参数的取值范围;所述步骤(1-4)中进行扭曲样本构建时,通过在取值范围内,随机选取 相关参数来设置系数矩阵。9. 如权利要求8所述的用于复杂文字识别的随机样本产生方法,其特征在于,根据待 处理样本的特点,仅选取字符的一部分进行仿射变换。10. 如权利要求1至9之一所述的用于复杂文字识别的随机样本产生方法,其特征在 于,将所述方法所产生的训练样本用于深度神经网络的训练。
【专利摘要】本发明涉及图像识别领域,特别涉及一种用于复杂文字识别的随机样本产生方法。在复杂文字识别中,通过分析文字复杂性的原因,在与待识别字符相似的标准字符的基础上使用随机样本生成器产生的包含待识别图片噪声模型和扭曲特征模型的大量样本。随机样本生成器自动生成的训练样本中包含各种复杂的噪声和扭曲变形,可以满足各种复杂文字识别的需要;将上述随机样本作为训练样本输入深度神经网络中,可以解决训练深度神经网络来识别文字时需要大量人工标注的问题,使复杂文字图像的自动识别变得更加简单易行,显著节省了相关的人工成本。
【IPC分类】G06K9/00, G06N3/02, G06K9/62
【公开号】CN104899571
【申请号】CN201510323798
【发明人】刘世林, 何宏靖, 吴雨浓
【申请人】成都数联铭品科技有限公司
【公开日】2015年9月9日
【申请日】2015年6月12日

最新回复(0)