一种基于笔画粗细的手写体与印刷体的鉴别方法
技术领域
本发明涉及计算机识别文本图像的技术领域,尤其涉及基于笔画粗细的手写体与印刷体的鉴别方法。
背景技术
文档图像中主要包含了两类文字,手写体和印刷体。对人类而言,它们虽然形体有区别,却都能够传递相同的文字本身蕴含的信息。然而当计算机处理手写体和印刷体时,则会遇到很多的问题。首先,它们的识别效率不一样。印刷体只包含数种字体,相同的字符用某种特定字体总是呈现相同的形体,因此目前印刷体的识别率达到99%以上。而手写体的识别率还需要不断研究,各类新的特征统计和分类方法争相被采用,以提高手写体的识别率。其次,它们的识别算法不通用,将它们混合起来,可能降低印刷体的识别率却不能提高手写体的识别率。另外,特殊场合的需要从文档图像中提取手写字符,比如支票的签名识别,以及手写文档的笔迹鉴别等。因此,手写体、印刷体的鉴别成为文档图像处理中重要的组成部分。
目前这两类字符的分类主要依靠的是版面分析的方法和局部特征的方法。现有技术中,有人用提取文本行的特征区分手写体和印刷体,也有人进一步使用了文本行的结构特征和统计特征。对于整行都是同一类型时,这种方法的准确率较高,但是出现手写体和印刷体混合在同一行中时,该类方法就不够精细了。使用局部特征的方法提取特征的区域通常较小,因此可能出现特征区分度不够,分类结果不准确的问题。
现有技术中,也有文献提供了手写体的识别方法,例如:中国专利201310286449.4公开了一种手写体数字识别方法,其技术方案是:在手写体数字进行降维的过程中,对于每一个图像数据都通过K个近邻来线性表示,而对每一个图像数据通过K个近邻线性表示时的加权系数通过正交匹配算法获取;通过构造加权系数矩阵对训练图像数据降维,对待识别图像则通过加权系数向量及其K个近邻降维后的向量数据进行降维;该手写体数字识别方法,提高了手写体数字识别的识别率,但并不能有效识别印刷体与手写体。中国专利201210313007.X提供了一种触摸屏笔画粗细识别方法,该方法包括以下步骤:实时采集触摸屏表面的图像;判断所采集的图像中是否存在亮度值大于预设亮度阈值的像素点;若是,则计算所述像素点的个数总和以及重心坐标,并将所述像素点的个数总和以及重心坐标作为笔画粗细参数以及触摸点坐标;该现有技术降低了识别成本,但也没有解决如何将一行中既包含手写体也包含印刷体时的鉴别问题。
发明内容
为克服现有技术中存在的一行中既有手写体也有印刷体时,计算机识别手写体与印刷体比较困难的问题,本发明提供了一种基于笔画粗细的手写体与印刷体的鉴别算法。本发明在版面分析中加入笔画粗细特征,能实现更精细的版面分析。
本发明的技术方案是:一种基于笔画粗细的手写体与印刷体的鉴别算法,其特征在于:通过统计邻域内边缘像素数目获得笔画粗细的特征,再结合版面分析将图像文档分割为粗细均匀的区域,然后计算这些区域内笔画粗细的统计特征,最后使用SVM判断手写体与印刷体类别。
进一步,上述基于笔画粗细的手写体与印刷体的鉴别算法,具体包括以下步骤:
001,文档图像预处理:将文档图像进行灰度校正、颜色过滤;
002,计算笔画的粗细:统计一个区域中出现的边缘像素数目得出笔画的粗细;
003,将文档图像分割成判断区域:利用笔画粗细的特征结合版面分析,将文档图像分割成比文本行单位小且比字符单位大的判断区域;
004,区域判断:统计判断区域中字符宽、高、间隔,以及笔画粗细的方差,使用线性SVM分类,当宽、高、间隔的方差小而笔画粗细的方差较大时判断为印刷体,否则为手写体。
进一步,上述步骤004中笔画粗细的计算方法包括如下步骤:
401:获得文档图像的边缘:所述获取的边缘为8连通;所述8连通是指以定点像素(x,y)为中心,其周围上下左右+两条对角线上的8个像素组成的8邻域;所述图像的边缘点是由像素灰度值及其相邻像素的灰度值来确定的;
402:计算细笔画:所述细笔画的边缘像素i*i邻域中只有边缘和背景;定义F是笔画的粗细值,则此类细笔画的粗细值
其中,N
i是i*i邻域内边缘像素的数量,当周围所含边缘像素数目N
i为i时,此时笔画粗细为1;
403:计算粗笔画:首先对粗笔画进行形态学的腐蚀操作,每次使用半径为1的圆结构腐蚀,循环腐蚀操作就j次,直至处理后的笔画的边缘像素i*i邻域中只有边缘和背景,此时笔画粗细按照步骤2中的公式
进行计算,所得的笔画粗细值为2*j+F。
在上述步骤403中,为了提高计算粗笔画的速度,可使用图像金字塔结构,在计算粗笔画前,先将图像缩小为原来的1/n,然后再进行形态学的腐蚀操作和计算笔画粗细值,以减少计算次数,最后所得的笔画值应为计算值的n倍。n取偶数,优选为n=2。
进一步,所述步骤001中预处理中的灰度校正是采用双阈值二值化方法,以处理扫描或者拍照方式获得的文档图像存在光照不均匀的情况;所述双阈值二值化方法包括高低两个阈值,所述高低阈值分别为60和20。
进一步,所述颜色过滤是去除黑色之外的其他颜色,如红色、绿色、蓝色等。
进一步,步骤402中,所述缘像素i*i邻域中,i大于2,优选为i取奇数,进一步优选为i=3。
进一步,步骤403中,所述腐蚀操作过程包括以下步骤:
501:扫描文本图像,找到第一个笔画内部的目标像素点;
502:用半径为1的圆结构覆盖目标像素点;
503:判断该半径为1的圆结构所覆盖范围内的像素是否全部为1:如果是,则腐蚀后的文本图像中的相同位置的像素值为1;如果不是,则腐蚀后的文本图像中的相同位置的像素值为0;
504:重复步骤502和503,直至所有文本图像中的像素处理完成。
进一步,所述步骤002中还包括,在计算笔画的粗细后,再采用卷积神经网络提取笔画隐含的本质特征。
与现有技术相比,本发明的有益效果是:
1、本发明提出的方法通过统计一个区域中出现的边缘像素数目获得笔画的粗细,具有定义明确、计算简便的特点。
2、利用本发明提供的笔画粗细特征结合版面分析,能够将文档图像中的文本行进一步分割为粗细均匀的区域,该类区域较文本行更细致,较单个字符范围广,因此能够提取出比文本行和单个字符更稳定的特征,从而获得更好地分类效果。
3、本发明采用统计判断区域中字符宽、高、间隔,以及笔画粗细的方差,使用线性SVM分类,利用方差来判断手写体和印刷体,具有判断准确、准确率高的特点。
附图说明
图1是字体二值化的图像示意图;
图2是字体二值化的图像的边缘示意图;
图3是细笔画区域示意图;
图4是粗笔画区域示意图;
图5是笔画粗细为1的示例;
图6是二值化的图像腐蚀后的结果示意图;
图7是二值化的图像腐蚀后的边缘示意图。
具体实施方式
以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
一种基于笔画粗细的手写体与印刷体的鉴别算法,其特征在于:引入一个可以辅助区分手写体和印刷体的特征:笔画粗细;一种基于笔画粗细的手写体与印刷体的鉴别算法,其特征在于:通过统计邻域内边缘像素数目获得笔画粗细的特征,再结合版面分析将图像文档分割为粗细均匀的区域,然后计算这些区域内笔画粗细的统计特征,最后使用SVM判断手写体与印刷体类别。对于一行字符,可以通过一致均匀特征来分类。
笔画粗细是一个比较稳定的特征,手写体和印刷体的粗细统计特性不相同。在同一幅图像中的同一个人的笔迹具有相似的笔画粗细,这是由于同一个人的书写力度是一致的,当他使用同一种书写工具时,获得的笔迹自然也相似,因此基本上可以认为一幅图像中的手写体粗细基本一致。而印刷体是系统预先设置的,每条笔画的粗细和其他笔画没有直接关系,因此印刷体笔画粗细变化较手写体大。在一幅包含手写体和印刷体的文档图像中,手写体粗细比较均匀,而印刷体的粗细变化较大,从而利用笔画粗细的统计特性能够区分印刷体和手写体。
本发明提供的写体与印刷体的鉴别算法,具体包括如下步骤:
步骤001:文档图像预处理:将文档图像进行灰度校正、颜色过滤;预处理中的灰度校正是采用双阈值二值化方法,以处理扫描或者拍照方式获得的文档图像存在光照不均匀的情况;双阈值二值化方法是一种基于开关映射(Toggle Mapping,TM)的二值化方法,它使用高低两个阈值,所述高低阈值分别为60和20。例如,由于测试图像中出现了较多的红色笔迹,因此预处理还包含了红色笔画部分的去除。红色与黑色在RGB颜色空间有较明显的差别,当彩色像素的蓝色通道B、红色通道R与绿色通道G的差值较大时,像素的颜色接近红色,即判断条件为:|B-G|>t1and|R-G|>t2,其中t1和t2是阈值,实验中取t1=5,t2=5。使用该方法可以除去红色笔迹区域;
步骤002:计算笔画的粗细:统计一个区域中出现的边缘像素数目得出笔画的粗细;
步骤003:将文档图像分割成判断区域:利用笔画粗细的特征结合版面分析,将文档图像分割成比文本行单位小且比字符单位大的判断区域;这是因为字符单位比较小,容易误判;行单位较大,但是经常出现手写体和印刷体在同一行的区域。本发明利用笔画粗细特征能够将一行中的不同区域分割开来。
步骤004,区域判断:统计判断区域中字符宽、高、间隔,以及笔画粗细的方差,使用线性SVM分类,当宽、高、间隔的方差小而笔画粗细的方差较大时判断为印刷体,否则为手写体。
在上述步骤中,重点在于计算笔画粗细值,笔画粗细的一般计算方法是找到笔画两侧对应的边缘像素,然后计算它们之间的距离。但是笔画两边的对应点却难以定位,因此本发明设计了一种笔画粗细的计算方法。
本发明步骤004中笔画粗细的计算方法包括如下步骤:
401:获得文档图像的边缘:所述获取的边缘为8连通;所述8连通是指以定点像素(x,y)为中心,其周围上下左右+两条对角线上的8个像素组成的8邻域;所述图像的边缘点是由像素灰度值及其相邻像素的灰度值来确定的;图1为字体二值化的图像示意图;图2是二值化的图像的边缘示意图;
402:计算细笔画:这里所所述的细笔画的边缘像素i*i邻域中只有边缘和背景;定义F是笔画的粗细值,则此类细笔画的粗细值
其中,N
i是i*i邻域内边缘像素的数量,当周围所含边缘像素数目N
i为i时,此时笔画粗细为1;图3是细笔画区域示意图,其中a是边缘;细笔画的边缘像素3*3邻域中只有边缘和背景;此时公式
变化为
其中,F是笔画的粗细值,N
3是3*3邻域内边缘像素的数量,当周围所含边缘像素数目N
3为3时,此时笔画粗细为1(图5中的四种笔画粗细为1的情况);
403:计算粗笔画:首先对粗笔画进行形态学的腐蚀操作(图6是腐蚀后的结果,图7是腐蚀后的边缘),每次使用半径为1的圆结构腐蚀,循环腐蚀操作就j次,直至处理后的笔画的边缘像素i*i邻域中只有边缘和背景,此时笔画粗细按照步骤2中的公式
进行计算,所得的笔画粗细值为2*j+F。
在此基础上,本发明步骤403中,所述腐蚀操作过程包括以下步骤:
501:扫描文本图像,找到第一个笔画内部F为1的目标像素点;
502:用半径为1的圆结构覆盖目标像素点;
503:判断该半径为1的圆结构所覆盖范围内的像素是否全部为1:如果是,则腐蚀后的文本图像中的相同位置的像素值为1;如果不是,则腐蚀后的文本图像中的相同位置的像素值为0;
504:重复步骤502和503,直至所有文本图像中的像素处理完成。
进一步,所述步骤002中还包括,在计算笔画的粗细后,还可以采用卷积神经网络提取笔画隐含的本质特征。
在本发明的技术方案中,可以处理以下几种手写笔迹出现的情况:
1、当手写体单独成行时,此种情况可以形成以行为单位的判断区域,判断的准确率最高。
2、当手写体位于填空中横线上方时,此种情况可以通过横线检测的方法加以辅助,从而增加判断的准确性。
3、当手写体与印刷体在同一行时,此种情况需要借助于笔画粗细的特征,进一步分割行,获得精确地判断区域。
4、当手写体与印刷体粘连时,此种情况最难处理,需要配合粘连区域分割的方法,进行行分割,获得精确地判断区域。
为了验证本发明提供的基于笔画粗细的手写体与印刷体的鉴别算法,与仅包含版面分析分析的算法进行了比较。比较时采用了正确率和召回率两项指标。正确率Precision(P)=TB/(TB+FB)、召回率Recall(R)=TB/AB,其中TB是分类正确的块,FB是分类错误的块,AB是块的总数。表1显示了本发明提出算法和未使用笔画粗细的版面分析算法的性能比较,提出的算法在正确率和召回率两项指标都超过了原有的算法。
表1本发明算法和版面分析算法的性能比较
本发明提出的方法通过统计一个区域中出现的边缘像素数目获得笔画的粗细,具有定义明确、计算简便的特点。利用本发明提供的笔画粗细特征结合版面分析,能够将文档图像中的文本行进一步分割为粗细均匀的区域,该类区域较文本行更细致,较单个字符范围广,因此能够提取出比文本行和单个字符更稳定的特征,从而获得更好地分类效果。本发明采用统计判断区域中字符宽、高、间隔,以及笔画粗细的方差,使用线性SVM分类,利用方差来判断手写体和印刷体,具有判断准确、准确率高的特点。
上述说明示出并描述了本发明的优选实施例,如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。