首页> 中国专利> 一种基于骨架的抗噪声汉字特征提取方法

一种基于骨架的抗噪声汉字特征提取方法

摘要

本发明公开了一种基于骨架的抗噪声汉字特征提取方法,对文本灰度图像进行平滑、图像去噪处理,并进行二值化。对二值化图像进行下采样,转化为点云模型。在原二值化图像上进行腐蚀操作得到粗中轴。基于该中轴进行PCA分析,得到分裂结果。对分裂结果进行合并,并对合并后点云类型进行后处理。对分类后的点云进行B样条曲线拟合,得到骨架。将汉字图像信息转化为点云模型,降低了噪声等因素对汉字骨架提取的影响;使用B样条曲线拟合骨架,可以较好的保持原始汉字的特征;直接对原始汉字图像进行处理,不需要进行归一化预处理,降低了汉字骨架提取的难度,提高了效率。

著录项

  • 公开/公告号CN104156730A

    专利类型发明专利

  • 公开/公告日2014-11-19

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN201410360498.2

  • 发明设计人 周元峰;朱东方;

    申请日2014-07-25

  • 分类号G06K9/62(20060101);G06K9/46(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人张勇

  • 地址 250061 山东省济南市历下区经十路17923号

  • 入库时间 2023-12-17 03:09:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    授权

    授权

  • 2014-12-17

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20140725

    实质审查的生效

  • 2014-11-19

    公开

    公开

说明书

技术领域

本发明涉及图像处理与模式识别技术领域,具体为一种鲁棒的基于骨架的汉字特征自动 提取的方法。

背景技术

汉字的识别是文字识别的一个领域。由于汉字字库庞大,且汉字字形较多,无法像英文 等字母型文字一样具有较简单的识别算法,因此对汉字的识别一直是比较困难的应用研究领 域。汉字的识别一般分为印刷体汉字识别和手写体汉字识别,对于印刷体的识别研究较多, 但是手写体由于具有差异性,因此识别率较低。

对于汉字的识别,特征提取是识别系统中最重要的环节之一。能够提取不同形态、不同 风格情况下的良好的特征是当前汉字识别中的研究重点之一。传统的研究范围里,方向特征 被广泛的用来提取汉字的特征,但是方向特征需要对汉字进行方向的规范化并建立弹性网格, 而且对不同形态的手写汉字识别较为困难,单纯的基于方向特征的汉字特征提取无法满足实 际使用的需求。

另一种特征提取的方向是基于汉字骨架的方法。汉字的骨架能够较强的表征出汉字的形 状拓扑结构,并且能够较好的保持几何性质,同时还能够显著的降低计算和匹配字库的难度。 虽然汉字骨架的提取可以用来表现汉字特征,但是由于汉字尤其是手写汉字具有较强的差异 性和低质性,因此对汉字的骨架进行较高质量的提取依然是当前的一个难题。较多的方法将 关注点放在汉字轮廓的提取和处理上,另外一些方法使用形态学中的腐蚀法,不能较好的处 理噪声、稀疏、断裂等低质量的汉字情形。

发明内容

为解决现有技术存在的不足,本发明公开了一种基于骨架的抗噪声汉字特征提取方法, 针对汉字尤其是低质汉字的差异性等特点,使用点云模型来覆盖汉字,点云模型具有稀疏性、 不连通性,并且能够较好的降低噪声对特征骨架提取的影响。通过转化为点云模型进行骨架 的提取,使用主成分分析法进行“分裂-合并”分类处理,最后使用最小平方距离方法拟合曲线。 降低了噪声等因素对汉字骨架提取的影响,并合理的对汉字笔画进行分类和曲线拟合,最后 得出较为光顺的骨架特征。

为实现上述目的,本发明的具体方案如下:

一种基于骨架的抗噪声汉字特征提取方法,包括以下步骤:

步骤一:将需要处理的文本的灰度图像进行预处理,包括对灰度图像进行平滑处理,并 将灰度图像进行二值化处理;

步骤二:对二值化处理后的灰度图像进行下采样,生成点云模型数据;

步骤三:对二值化处理后的灰度图像进行腐蚀操作得到粗中轴点集;

步骤四:基于该中轴点集依据分裂条件进行PCA分析分裂,得到分裂结果;

步骤五:对分裂结果进行合并,并对合并后交叉点处的点进行后处理;

步骤六:对步骤五处理后的点云数据进行B样条曲线拟合,得到作为汉字特征的骨架。

所述步骤一中具体包括:

对扫描获取到的文本的灰度图像进行平滑处理,然后对平滑处理之后的图像进行二值化 操作转化为只有黑色和白色的二值图像,其中白色像素为背景颜色,黑色像素为前景汉字颜 色,平滑处理的处理方法为使用OpenCV的cvSmooth方法对邻域进行高斯平滑。

所述步骤二中具体包括:

对二值化处理后的图像进行下采样,采样仅仅在黑色像素上进行,选取设定的采样比例 将图像转化为点云模型数据,每一个被采样的像素点的横向和竖向坐标组成点云数据的一个 点坐标。

所述步骤三中具体包括:

使用腐蚀核对二值化处理后的灰度图像的像素点进行腐蚀集合操作,直到达到终止腐蚀 的条件,得到最终的粗中轴点集;

所述终止腐蚀的条件为:二值化处理后的图像中当前点周围有八个邻接点,判断当前点 的任意两个邻接黑色点互相之间是否连通,如果不连通,则表示是中轴点,否则不是中轴点。

所述步骤四中分裂条件为:

利用对局部相邻的两个圆内的点云子集点进行PCA分析得到的两个局部主方向的夹角α 来设置分裂条件。

所述步骤四中PCA分析分裂,具体包括:

从粗中轴点集中任意选取一个未处理的点,计算局部主方向(Main Local Direction, MLD),如果当前局部主方向Vi与下一点局部主方向Vj的处理结果为-1(当Vi与Vj的夹角 大于θ(θ为预先定义的转折角度)),则是转折点,否则不是,继续沿中轴点搜寻下一个PCA 中心点进行处理,如果搜索不到中轴点,则当前点为转折点,最后将任意一种类型i的第一 个PCA中心点和最后一个PCA中心点标记为起点x(i)和终点y(i),并把这之间的点设为i类 型,把这两端点之间的PCA中心点Center(i)、半径R(i)以及局部主方向Vi记录下来作合并以 及拟合之用,然后从粗中轴点集中再任意选一个点进行PCA分析分裂,直到所有的点都已经 被处理完毕,经过有限次迭代,最终将粗中轴点集中所有点都处理完毕,得到最终的分裂集 合。

所述步骤五具体包括:

记PCA分析过程中的最大PCA半径为MaxRadius,记某一分类i的端点x(i)和y(i),两 端点对应的PCA半径为Rx(i)和Ry(i),dist(x(i),y(j))返回任意两端点的距离,合并操作只发生 在任意分类的端点处,通过判断端点处是否符合其中的任一合并条件,当符合时,完成最后 的合并操作。

所述合并条件包括:

条件一:对于分类i的两个端点x(i)和y(i),如果dist(x(i),y(i))<=Rx(i)+Ry(i),且分类i 的全部PCA中心点只有两端点,即中心点个数为2(其他分类至少有3个中心点),且有与 两特征圆相交的第二种分类j的端点x(j)或y(j),则分类i和分类j符合合并条件;

条件二:对于任意分类i和分类j,如果两类中任意的两端点,假设为分类i的x端点和j 类的y端点,满足x(i)与y(j)的连线形成的向量Vij与端点x的向量Vx夹角小于θ(θ为预先 定义的转折角度)且分类i和分类j端点处的任意两点存在最大步长不大于RectSize/16 (RectSize为点云中距离最远两点的欧式距离)的最小生成树,并且(V(x(i)),V(y(j))的夹角属 于[0,θ]或属于[180–θ,180],则表示分类i和分类j符合合并条件,其中θ为预先定义的转折 角度;

条件三:于任意分类i和分类j,如果两类中任意两端点,假设为i类的x端点和j类的y 端点,dist(x(i),y(j))<=Rx(i)+Ry(j),且两个端点中y(j)不和自身x端点相交、x(i)不和自身y 端点相交,同时两端点也不和第三种分类的PCA单位特征圆相交,且分类i和分类j端点处 的任意两点存在最大步长不大于RectSize/16的最小生成树,则分类i和分类j符合合并条件。

所述步骤六具体包括:

采用最小平方拟合(SDM)方法,首先将PCA分析过程中产生的中心点集SCenter(i)(该中 心点集为PCA中心点周围半径覆盖到的点云中的其他点)作为初始的B样条控制点,对控制 点的数量以及位置进行调整,并用SDM方法迭代拟合B样条曲线,最终得到的B样条曲线 作为汉字的骨架特征。相对于其他迭代拟合B样条曲线方法,SDM拥有更快的迭代速度,更 稳定的收敛性。利用该B样条曲线作为最后的汉字骨架特征。

对二值化处理后的灰度图像进行腐蚀操作得到粗中轴点集;使用形态学二值图像的变换 对二值图像进行腐蚀操作是对像素点的集合操作。使用特定的腐蚀核(或称为模板)对像素点 进行集合操作,就可以使边界向内部收缩,通过有限次腐蚀操作,最终得到中轴。腐蚀的集 合定义如下所示:

上述公式中S'为一次腐蚀之后的像素集合,S为原始像素集,φi为腐蚀核在i位置的集 合。“·”操作表示:如果当前位置腐蚀核与S交点个数为个数c,则返回该交点,否则返回 0。pti表示在i点的二值图像上的像素点。通过有限次腐蚀操作,可以得到最终的中轴。

PCA分析(principal component analysis,PCA)也称为主成分分析,是多变量分析中的基本 技术。本专利提出的方法利用对局部相邻的两个圆内的点云子点集进行PCA分析得到的两个 局部主方向的夹角α来设置分裂条件,同时PCA分析中的均值中心点被作为最后进行B样条曲 线拟合时的控制点。在本专利中对一个圆半径R内的点云子点集进行PCA分析被称为一个PCA 单位,一个PCA单位包含特征半径R、均值中心点χ,以R为半径以χ为圆心的特征圆和局部方 向V。

PCA对以一个点为中心,半径R为圆内的点云子点集进行PCA分析的过程为:

(1)首先计算采样点的均值χ,如公式3所示:

χ=(∑Xi)/N                  公式3

Xi为半径圆内的点,N为半径圆内的点个数。

(2)然后计算原始向量矩阵X与χ的偏差矩阵C=X–χ,然后计算协方差矩阵T=C·CT

(3)最后采用SVD分解法计算协方差矩阵的特征值λ和特征向量M。对矩阵C进行奇 异分解(SVD分解)的公式为:

C=M·S·VT              公式4

其中,M是协方差矩阵T的特征向量,列向量排列,S是经过奇异分解得到的对角线矩 阵,VT是一方阵,同时V的列向量是CT·C的特征向量。通过对点云数据的PCA分析,我们 得到了局部主方向(Main Local Direction,MLD),该方向V是设置分裂条件的主要因素。

对分裂结果进行合并,并对合并后交叉点处的点进行后处理,在所有可能的交叉点,以 及目标曲线曲率比较大的地方可能被分裂标记为转折点,但是在曲率比较大的地方以及交叉 点处可能有些分类是属于同一类的,因此应当将“一致”的类型进行合并,以减少分类的数量。 假设任意点云分类理想的拟合曲线长度不应小于等于其平均宽度。

合并完点云类型之后,由于不同的半径下点云划分可能存在误差,需要对交叉点处的点 云进行后处理,处理方法为基于距离权值的交叉点重定位方法。

本发明的有益效果:

本发明将文本图像通过平滑、去噪处理,然后转化为二值图像,然后对二值图像进行下 采样转化为点云数据模型,在该点云模型上进行PCA分析,通过“分裂-合并”操作对点云数据 进行分类,最后在分类的基础上进行B样条曲线的拟合,使用该拟合曲线作为汉字的骨架特 征,进行汉字识别分类操作。具有如下优点:

(1)将汉字图像处理的问题转化为点云模型处理,可以较好的降低噪声对汉字骨架提取 的影响。对灰度变化较为剧烈的情况也有比较好的处理结果。

(2)拟合出的曲线与原始点云数据以及理想曲线吻合度比较高,并能很好的处理交叉处 的情况,可以较好的表现汉字的骨架特征。

(3)不要求对汉字进行位置的归一化预处理,就可以提取出合理的汉字骨架,可以在后 续的处理中对汉字骨架进行特征点的识别和汉字的分类识别操作。

附图说明

图1是在本发明基础上的汉字特征提取与识别的总体流程图;

图2是本发明的特征提取流程示意图;

图3是依据本发明实现的汉字骨架特征提取示例;

图4(a)进行腐蚀操作时使用的X型腐蚀核;

图4(b)进行腐蚀操作时使用的十字型腐蚀核;

图4(c)进行腐蚀操作时使用的全八邻域型。

具体实施方式:

下面结合附图对本发明进行详细说明:

如图1所示,;基于本发明的汉字特征提取与识别的总体流程包括以下步骤:

A.对需要处理的文本进行扫描,得到灰度图像。

B.对灰度图像进行预处理,如平滑、二值化等得到二值图像。

C.对包含字符的图像进行特征的提取,得到特征向量集合。

D.依据该特征向量集合与先验汉字特征库进行比对、匹配操作,对汉字进行识别。

E.对识别出的汉字进行后处理得到最终的文本。

本发明的内容主要关注点在于如何快速有效的提取汉字的骨架特征,以此来表示汉字的 信息、结构特征。如图2所示,本发明的具体步骤如下所示:

步骤一:对文本灰度图像进行平滑、图像去噪处理,并进行二值化。

步骤二:对二值化图像进行下采样,转化为点云模型。

步骤三:在原二值化图像上进行腐蚀操作得到粗中轴。

步骤四:基于该中轴进行PCA分析,得到分裂结果。

步骤五:对分裂结果进行合并,并对合并后点云类型进行后处理。

步骤六:对分类后的点云进行B样条曲线拟合,得到骨架。

步骤一中,对文本灰度图像进行平滑、图像去噪处理,并进行二值化的具体过程如下:

对于获取到的包含文本的灰度图使用OpenCV中的cvSmooth方法进行5X5邻域尺寸的高 斯平滑。然后使用固定的阈值对平滑去噪后的灰度图转化为二值图像,二值图像只有黑色和 白色的像素,其中黑色的像素表示原来灰度图像中的文本所覆盖的区域。

步骤二中,对二值化图像进行下采样,转化为点云模型的具体过程如下:

对于步骤一中获取到的二值图像中的黑色像素进行下采样,可选取不同的采样比例如像 素点的1/5、1/8等,将采样得到的黑色像素点坐标转化为点云模型数据,该点云数据可以较好 的表征文本的特征。如图3所示。

步骤三中,在原二值化图像上进行腐蚀操作得到粗中轴的具体过程如下:

使用特定的腐蚀核(或称为模板)对像素点云进行腐蚀集合操作,得到粗略的中轴。同时 使用如图4(a)-图4(c)所示的三种腐蚀核,以当前点的八邻域为区分,分别为十字型、X 型和全八邻域型。按照ABC-ABC的顺序进行多次腐蚀操作,直到达到终止腐蚀的条件。使 用上述三种腐蚀核的优点在于可以有效消除覆盖到二值图像时产生的锯齿状边界。

终止腐蚀操作条件的定义,即中轴点(核心点)的判定条件如下所示:二值图像中当前点周 围有八个邻接点,判断它的任意两个邻接黑色点互相之间是否连通,如果不连通(这里的连 通也包括对角线连通)则表示是中轴点,否则不是中轴点。通过有限次腐蚀操作,可以得到 最终的中轴。

步骤四基于该中轴进行PCA分析,得到分裂结果的具体过程如下:

依据步骤三中腐蚀出的粗骨架,在骨架点上进行PCA分析。在估计某一个点的PCA半径 时,先给出一个初始半径R,然后以该中轴点为圆心,以R为半径的圆内,如果白色像素点 与黑色像素点之比β=Σpti/Σptj(Σpti为白色像素点个数之和,Σptj为黑色像素点个数之合) 在大于某一阈值,如选取β等于0.15,则该半径R’作为PCA处理的半径,否则增大该半径。 进行PCA分析时的中心点,从步骤二中获得的中轴点上取得。当我们可以对任意中轴点进行 PCA分析的时候,就可以判断相邻两个主方向V是否相合。下面给出搜索下一PCA中心点 Center(i+1)和判断两主方向Vi、Vj是否相合的定义。

定义中轴点集Saxis,当前PCA中心点Center(i),当前PCA处理半径R(i),当前PCA处 理局部主方向向量Vi,可供选择的中轴点集Salt,Salt中的任一点记为Ptj,并定义angle(Vi,Vj) 为计算向量Vi和Vj的夹角,定义阈值角度θ,其中θ∈(0,45)。为了使得PCA处理的局部 点能够较好的覆盖点云数据,设定下一个正向可选中轴点Center(i+1)和反向可选中轴点 Center(i-1)与当前处理中心点Center(i)的距离dist(i,i+1)、dist(i,i-1)均属于[1,R(i)+0.5*R(i)-1]。

正向可选点集:

Sop_alt={Pt(x)|angle((Pt(x)-Center(i)),Vi)

∈[0,θ],Pt(x)∈Saxis}             公式5

Sop_alt为正向可选点集,Pt(x)为可选点集中的一个点,angle((Pt(x)–Center(i)))表示Pt(x) 点与当前PCA中心点Center(i)之间的锐夹角。

反向可选点集:

Sneg_alt={Pt(x)|angle((Pt(x)-Center(i)),Vi)

∈[180-θ,180],Pt(x)∈Saxis}            公式6

Sneg_alt为反向可选点集,Pt(x)为可选点集中的一个点,正向下一中心点:

Center(i+1)=min(angle(Pt(x)-Center(i)),Vi)Pt(x)Sop_alt    公式7

反向下一中心点:

Center(i-1)=min(angle(Pt(x)-Center(i)),-Vi)Pt(x)Sneg_alt    公式8

任一PCA中心点处理函数:

F(i,j)=1ifangle(Vi,Vj)[0,θ]2ifangle(Vi,Vj)[180-θ,180]-1(else)      公式9

对中轴点进行PCA处理和分裂的算法如下所示:定义分类计数器m,初始m为0。

#步骤1.m加1,从未处理的中轴点集中任取一点开始PCA处理,并标记该类为m。

#步骤2.按照公式9处理当前点,如果结果为-1,则结束该类的搜索,当前方向的处理 终止,转到步骤1。如果结果为1或者2,转步骤3。

#步骤3.按照公式5、6、7、8分两个方向递归搜索处理下一点,如果搜索到下一点则 转步骤2,否则停止当前方向搜素,方向的处理终止,转步骤1。

经过有限次迭代,最终将中轴点集中所有点都处理完毕,得到最终的分裂集合。

步骤五对分裂结果进行合并,并对合并后点云类型进行后处理的过程如下:

在分裂出的所有可能的交叉点,以及目标曲线曲率比较大的地方,都分裂为转折点,但 是在曲率比较大的地方以及交叉点处可能有些分类是属于同一类的,因此应当将“一致”的类 型进行合并,以减少分类的数量。假设任意点云分类理想的拟合曲线长度不应小于等于其平 均宽度。记PCA分析过程中的最大PCA半径为MaxRadius,记某一分类i的端点x(i)和y(i), 两端点对应的PCA半径为Rx(i)和Ry(i),dist(x(i),y(j))返回任意两端点的距离。注意合并操作 只发生在任意分类的端点处。下面给出“一致性”的定义。

条件一:对于分类i的两个端点x(i)和y(i),如果dist(x(i),y(i))<=Rx(i)+Ry(i),且分类i 的全部PCA中心点只有两端点,且有与两特征圆相交的第二种分类j的端点x(j)或y(j),则分 类i和分类j是一致的。

条件二:对于任意分类i和分类j,如果两类任意两端点(在此假设为i类的x端点和j类 的y端点)满足x(i)与y(j)的连线形成的向量Vij与端点x的向量Vx夹角小于θ(θ为预先定 义的转折角度)且分类i和分类j端点处的任意两点存在最大步长不大于RectSize/16的最小 生成树①,并且angle(V(x(i)),V(y(j))∈[0,θ]或着∈[180–θ,180]②,则表示分类i和分类j是 一致的,其中θ为前面定义的转折角度。

条件三:于任意分类i和分类j,如果两类任意两端点(在此假设为i类的x端点和j类的 y端点)dist(x(i),y(j))<=Rx(i)+Ry(j)③,且两个端点中y(j)不和自身x端点相交、x(i)不和自身 y端点相交,同时两端点也不和第三种分类的PCA单位特征圆相交④,且分类i和分类j端 点处的任意两点存在最大步长不大于avgRectSize的最小生成树,则分类i和分类j是一致的。

简要分析三个合并条件的充分性:由于PCA单位的最大半径为MaxRadius,因此需要判 断是否进行合并操作的任意两类端点x(i),y(j)满足不等式:

dist(xi,yj)-Rx(i)-Ry(j)<=2*MaxRadius        公式10

对于条件一,由于任意点云分类理想的拟合曲线长度不应小于其平均宽度的假设,因此 任意点云分类的PCA单位数不小于两个,由此可得PCA单位数小于两个的情形必定是分裂 时受中轴噪声影响产生的不合理分类,需要与最邻近的类型进行合并。

条件二是对交叉点处方向一致但被另一类隔断的类型进行合并。对于交叉点处任意需要 合并的两类,需要保证两类端点处MLD夹角小于定义的阈值(条件二中公式②),并且两类的 点是连续的(条件二中公式①)。

条件三是对本属于同一类型但因为相邻PCA单位MLD夹角超过阈值而被分裂为多类的 情况进行合并。其中公式③表明两端点PCA单位圆相交,公式④表明在两端点处任意一类是 非自环的,且两类均不和第三类相交,同时也应满足条件二中点的连续性。

对于上述条件中的“一致性”定义,表示两类是可以合并的分类,如分类i和分类j是一致 的,则把i类归入j类。通过合并操作可以将一致的类型合为一类。

对合并之后的点云进行后处理的方法为:

对于任意一交叉处点pt(k),计算其和该点属于的类型i、j等多类点数据的初始B样条曲 线的最小距离Dpdk,并用距离该点最近的PCA处理半径Ri(k),Rj(k)等来估计该点所属类型i、 j等类在pt(k)点处的平均半径。假设某一点pt(k)分属于两类i、j,并且距离初始B样条曲线 Curve(i)和Curve(j)的最小距离分别为Dpdk(i)和Dpdk(j),分属于i和j类的最近PCA处理中心 点半径为Ri(k),Rj(k),记加权最小距离比例为λD

λD=(Dpdk(i)/Dpdk(j))×(Rj(k)/Ri(k))       公式11

如果λD小于阈值ratio或者是大于1/ratio的话,则同属于i和j类,如果λD大于阈值ratio 该点属于j类,若λD小于1/ratio的话,属于i类。

步骤六对分类后的点云进行B样条曲线拟合,得到骨架作为汉字特征的过程如下:

对分类结果进行B样条曲线的拟合,采用SDM方法,首先将前述PCA分析过程中产生 的中心点集SCenter(i)作为初始的控制点,对控制点的数量以及位置进行调整,并用SDM方法 迭代拟合B样条曲线,直到其squared distance(SD)error小于一定的阈值ε或是进行多次迭代 之后其squared distance(SD)error变化小于一定的阈值ζ。最终的B样条曲线作为最终汉字的 骨架特征。

上述说明虽然结合了效果图和流程图进行了详尽描述,但是并不是对本发明的保护范围 进行的限制,技术人员可以在本发明的基础上对算法进行修改或变形,但所得结果仍然在本 发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号