专利名称:一种基于稀疏编码的字体识别方法
技术领域:
本发明涉及一种基于稀疏编码的字体识别方法,属于图像处理与模式识别的技术领域。
背景技术:
随着网络办公的兴起以及数字图书馆业务的普及,人们对信息的获取和交流已经更加依赖于电子文档。而如何将传统的以书本形式记录的信息转化为电子文档,就成为计算机自动文档分析需要解决的一个基本问题。字体识别就是识别出文本图像中字体的类型,是计算机自动文档分析和处理中重要的研究内容之一。近20多年来,OCR (optical character recognition,光学字符识别)获得了迅猛的发展。目前,印刷体字符识别技术已基本成熟,识别率已经达到了商业应用的要求。然而,现有的OCR系统主要面向于“识字” 的层面,即识别出图像中的文字内容,而对文字字体的识别离实用化的要求还相距甚远,这对于识别出图像包含文字的版面结构信息以及后续对文字内容的再编辑是一个尚待解决的问题。另一方面,单一字体的文字识别的准确率要高于多种字体的文字识别的准确率,因此,如果我们能够准确识别文档图像的字体信息,就能够将多种字体的文字识别转化为单一字体的文字识别,从而提高文档图像文字识别的准确率。字体识别的研究与应用具有重大的意义,但还没有引起人们足够的重视,对字体识别的研究还相对较少。目前已有的技术主要包括1)利用字体的局部特征,如衬线、字体粗细等进行字体识别;幻基于局部或全局版面特征进行字体识别;;3)基于纹理分析的字体识别。这些方法从提取图像特征的角度出发,取得了一定的识别效果。但由于有些字体之前的差异在图像特征层面表现的不是特别明显,从而导致依赖图像特征的字体识别方法不能正确地识别出相似的字体。
发明内容
本发明的目的是解决由于有些字体之前的差异在图像特征层面表现的不是特别明显,从而导致依赖图像特征的字体识别方法不能正确地识别出相似字体的问题,进而提供一种基于稀疏编码的字体识别方法。本发明的目的是通过以下技术方案实现的以灰度图像作为待测试图像并进行以下两个阶段的操作,在训练阶段,将各类别字体的待测试图像划分成子块,并将各子块的基函数作为该类字体的模型,所述各子块的基函数通过独立成份分析模型训练,并能够稀疏线性表示;在测试阶段,将待测试图像划分成子块,并计算各子块在各类字体的基函数模型下线性表示的系数,通过计算系数分布的峰度来判断系数的稀疏性,从而将待测试图像包含的字体识别为产生最稀疏表示的那一类字体。本发明从稀疏编码的角度出发,通过模拟人类视觉系统对视觉信息的有效编码, 以最原始的灰度信息作为输入,为每一种字体训练一组能够有效表示所属字体图像的基函数,所训练的基函数对输入信息的响应系数是稀疏的,从而导致高效的编码。在测试阶段, 通过计算测试图像在各字体的基函数下的响应是否是稀疏的,来识别出测试文档图像所属的字体类别。本发明能够对同一语言的不同字体进行识别,也能识别不同语言之间的字体。本发明可以应用在自动文档分析(识别文档图像中的文字以及自动还原排版格式等)和艺术设计(识别感兴趣的艺术字体)等方面。
具体实施例方式本专利所发明的基于稀疏编码的字体识别方法的具体步骤为步骤一为训练库中的每一类字体,收集一定数量的灰度图像作为训练图像,例如 10幅图像。将每一幅图像随机划分成一定数量的方块,例如512X512的灰度图像可以划分为1000个方块,假设方块的大小为dXd。步骤二 对于第k类字体,将所有训练图像经过划分之后得到的任一方块转化为一个B = dXd维的列向量,将所有训练图像的所有方块对应的列向量作为训练样本,使用独立成份分析(Incbpendent Component Analysis, ICA)的方法,训练出一组基函数矩阵
,φ;,K 和与之对应的滤波器矩阵Wi =·[<,K ,WkjiK 广;其中《表示第k类
字体的第j个基函数,<表示表示第k类字体的第j个滤波器,T表示矩阵转置;步骤三采用与训练阶段相似的策略,对待测试文档图像进行划分,得到N个大小为dXd的方块,将每一个方块表示成B = dXd维的列向量,所有N个方块构成矩阵X = Ix1, ...,Xi,...,%},其中Xi表示第i个方块对应的列向量;步骤四计算第i子块Xi由第k类字体的所有基函数线性表示时第j个基函数对应的系数《afj =(Wkj)' X1(5)其中T表示矩阵转置。步骤五计算第j个基函数在所有方块下的系数分布的峰度#
权利要求
1.一种基于稀疏编码的字体识别方法,其特征在于,以灰度图像作为待测试图像并进行以下两个阶段的操作,在训练阶段,将各类别字体的待测试图像划分成方块,并将各方块的基函数作为该类字体的模型,所述各方块的基函数通过独立成份分析模型训练,并能够稀疏线性表示各方块;在测试阶段,将待测试图像划分成方块,并计算各方块在各类字体的基函数模型下线性表示的系数,通过计算系数分布的峰度来判断系数的稀疏性,从而将待测试图像包含的字体识别为产生最稀疏表示的那一类字体。
2.根据权利要求1所述的基于稀疏编码的字体识别方法,其特征在于,在训练阶段, 对于训练库中的每一类字体,收集若干训练图像;对于每一幅图像,将其随机划分成若干方块,方块与方块之间允许部分重叠,方块的大小为dX d ;对于第k类字体,使用所有划分的方块通过独立成份分析方法,训练出一组基函数= ■{<,& K ,《1和与之对应的滤波器 Wi =
3.根据权利要求2所述的基于稀疏编码的字体识别方法,其特征在于,在测试阶段,将测试图像划分成相同大小的方块X = Ix1,...,Xi,...,%},其中Xi表示第i个方块对应的列向量,执行以下步骤计算第i个子块Xi由第k类字体的所有基函数线性表示时第j个基函数对应的系数4 4+))、α)其中T表示矩阵转置。计算第j个基函数在所有方块下的系数分布的峰度^1 ^pN Ik \4^=7^^(2)—k-amjra-^g-a-ll^y^ yj '\> ι yj i/a ? ν ■ ι mjijii j^k^r ^ ) η ,J,w),K yB)T,其中B = dXd是基函数的个数,八丄门丄 O 丄Tf -r, 1 —TTT _LV A Γ-r-、 r> JLL^ -f-H -Tj -TX -r-^- Ar^ Trt JL. L^/丄、Π Π.Ι _其中计算第k类字体的所有B个基函数系数分布峰度的平均值77=\tf"⑶ο —ι测试图像所含文字的字体可以识别为字体类别k* —kk* = arg max /(4)k
4.根据权利要求3所述的基于稀疏编码的字体识别方法,其特征在于,按照公式(1)编程计算每一方块由每一类字体的基函数线性表示时的系数^。
5.根据权利要求3所述的基于稀疏编码的字体识别方法,其特征在于,按照公式(2)为每类字体的每一个基函数系统计算峰度。
6.根据权利要求3所述的基于稀疏编码的字体识别方法,其特征在于,按照公式(3)为每类字体的所有基函数系数的峰度计算平均值。
7.根据权利要求3所述的基于稀疏编码的字体识别方法,其特征在于,按照公式0), 计算出所有字体基函数系数的峰度平均值的最大值,并将测试文档图像的字体识别为最大值对应的字体类别。
全文摘要
本发明提供了一种基于稀疏编码的字体识别方法。本发明以灰度图像作为输入,对于任意一幅待测试图像进行以下两个阶段的操作在训练阶段,将各类字体的待测试图像随机划分成一定数量的方块,方块的数量由图像大小以及方块大小共同决定,例如一幅512×512的灰度图像,可以划分成4096个8×8大小的方块。对于任一类字体,以划分出的方块为输入,利用独立成分分析方法训练出一组能够稀疏表示任一方块的基函数,并将这些基函数作为该类字体的模型。本发明可以对中文字体进行识别;也可以对其它语言的字体进行识别;还可以对不同语言的字体进行识别。本发明可以应用在自动文档分析和艺术设计等方面。
文档编号G06K9/62GK102262731SQ201110192198
公开日2011年11月30日 申请日期2011年7月11日 优先权日2011年7月11日
发明者卢修生, 姚鸿勋, 孙鑫, 张盛平 申请人:哈尔滨工业大学