一种改进的针对早期专利文档扫描件中图文信息的智能处理方法与流程

文档序号:12064282阅读:220来源:国知局
一种改进的针对早期专利文档扫描件中图文信息的智能处理方法与流程

本发明涉及图像处理中的噪声处理、图像二值化处理、图像切割以及目标检测和字符识别等方法,还涉及到了针对早期专利文档中的图文分离和图文匹配技术。



背景技术:

随着互联网技术的高速发展,每时每刻都会有数以亿计的数据在产生,面对如此巨大的数据量,如何快速、高效的处理这些数据对于人们来说是一个挑战。传统的人工处理数据任务变得越来越困难、低效,很难满足当前人们在生活和工作上的需求。面对这些生活和工作上出现的实际问题,迫切需要一个能够利用计算机技术来替代人工处理这些实际问题的智能信息处理系统。专利文档作为一个鼓励发明创造和保护发明人权益的重要文件,它是保证科学技术持续发展的重要的数据信息。由于早期文档电子化水平较低,大量的专利文档都是以纸质的形式保存的,这些纸质化的专利文档给检索者的使用带来了诸多的不便。为了更加方便快捷的使用这些早期的专利文档,迫切需要将这些纸质化的专利文档电子化。由于早期专利文档的数量巨大,造成了在进行人工处理这些专利文档任务的难度大大增加。

一般来说处理专利文档扫描件的任务大致包括图像检测、图像切割和图文匹配等步骤。人工处理单一的专利文档扫描件的任务十分的简单,首先人可以十分精确和高效的分辨出在整个专利文档中需要切割分离的图块,然后再利用图像处理软件对整个专利文档扫描件中的图块进行切割。同时,人也可以十分精确的识别出每一个图块对应的标号,并将其与对应的图块进行匹配,最后将匹配后的图块结果保存在相应的文件目录中。至此,完成了单一专利文档图文分离和匹配的所有任务。但是,面对数量巨大的专利文档图文分离和匹配任务,由于大量的重复性的工作,人工处理这些任务的时候,处理效率往往就显得十分低下,浪费人力、物力。为了增加专利文档图文分离和匹配任务的处理效率,迫切需要一个能够模仿人来自动处理专利文档图文分离任务的智能化信息处理系统。利用机器来完成专利文档的图文分离和匹配任务,主要要处理好以下几点:首先对专利文档中的附图和fig标示进行检测,然后利用图像切割的技术来完成相应的切割任务,同时利用字符识别技术对fig中的字符进行精确识别,最后将切割出来的图块和相应的标签进行匹配,并将匹配好的结果保存在指定的文件目录中。

本发明参考的是美国的早期专利文档扫描件来进行设计和实验的。测试数据全部为美国早期专利文档的扫描件图像,以下阐述测试数据的格式和特点。

美国早期专利文档扫描件图像如图8所示,其特点有以下几点:

1、该专利文档扫描件的图像为黑白色的灰度图像,且图像中随机分布着很多颗粒噪声;

2、部分专利文档扫描件图像的边缘部分存在由于扫描不规范而产生的一些不规则的干扰杂质;

3、在该专利文档扫描件图像的上方的空间存在着一些说明性的文字,这些说明性的文字存在的空间位置相对固定,剩余部分的内容是附图和标号;

4、每一幅扫描件图像中的附图个数差异较大,在附图数量较多的扫描件图像中,附图之间的距离较近;在附图数量较少的图像中,存在由于附图不规范,内部之间分散较大等现象;

5、附图对应的“fig”标示,种类多样,识别有一定的难度,但形状较为规范。



技术实现要素:

对于给定的专利文档扫描件样本图像,每一幅专利文档扫描件样本图像中都包含有数量不定的专利附图,每一个附图都有对应的fig标签。本发明的目的在于利用计算机图像处理的相关技术,将专利文档扫描件中的附图与附图标号进行关联,并以指定的格式输出。

本发明采用的技术方案为一种改进的针对早期专利文档扫描件中图文信息的智能处理方法,该方法包括以下几个步骤:

步骤1:对于专利文档扫描件的样本图像,截取样本图像中只含有fig标示部分的图块,然后随意截取一部分与fig标示部分的图块尺寸大小相近的但不含有fig标示的图块,作为训练SVM分类器的数据集;

步骤2:将步骤1中含有fig标示的图块作为正例,随意截取的不含有fig标示的图块作为负例,分别提取正负训练样本的HOG特征;

步骤3:利用提取的正负样本的HOG特征训练一个SVM分类器,它能够正确区分一个图块是否为含有fig标示的图块,如果图块中含有fig,那么SVM分类器输出为1,否则SVM分类器输出为0;

步骤4:对于输入的专利文档扫描件图像,如图10所示,首先将其进行二值化处理,得到图像的二值化的矩阵表示,这样能够有效的简化后续的处理工作;

步骤5:早期纸质版的专利文档在扫描的过程中,由于扫描操作的不规范以及扫描机自身的一些因素导致了扫描件图像中存在一些颗粒噪声和边角噪声,如图12所示。对于步骤4中得到的图像的二值化的二维矩阵表示,采用邻域平均的均值滤波器对其进行去噪声操作;

步骤6:对于经过步骤5去噪声操作之后的图像,用一个和训练样本中的fig标示图块尺寸大小相近的滑动窗口在其上按照从左至右、从上到下的顺序依次滑动,并用步骤3中训练好的SVM分类器模型对每一个滑动窗口圈出的图块进行类别判断,若其中含有fig标示,则用矩形框框住滑动窗口当前的位置,否则继续滑动窗口;

步骤7:切割掉步骤6中矩形框框出的fig标示图块,并将图像二值化的二维矩阵表示中fig标示图块位置中的值全部置为0,即将图块区域变成跟图像背景一样的白色;

步骤8:对于切割下来的fig标示图块,利用针对手写字符识别的分类器对fig标示中的数字进行识别,然后对切割掉的fig标示部分利用识别出的数字进行命名;

步骤9:对于步骤7中切割后的图像,利用种子区域生长法进行切割,阈值的大小根据在该图像中检测到的fig的个数的多少实现自动调节;

步骤10:根据位置信息,将步骤7中得到的fig标示和步骤9中切割得到的图块进行对应的匹配,即将指定的图块与其在图像中的fig标示进行匹配,并将该图块命名为相应位置上的fig标示中的数字对应的标记号;

步骤11:将步骤10中匹配得到的以附图标记号命名的若干个图块输出,并以图片的存储格式保存在指定的文件目录下。

本发明方法具有以下优点:

1、因为fig标示的结构相对于附图来说更加稳定,本发明首先将其检测并切割出来,一方面提高了fig标示提取的准确率,另一方面也减少了由于直接对附图进行切割操作时fig标示带来的干扰;

2、由于提前切除fig标示,使得多个附图之间的间距变大,为步骤9中切割附图时阈值的选择提供了方便,通过统计在每个专利文档扫描件中提取到的fig标示的数量,来动态的调整切割附图时的阈值的大小,提高了附图切割的精确度。

附图说明

图1是本发明所涉及的方法的整体流程示意图;

图2是训练SVM分类器模型的流程示意图;

图3是专利文档扫描建图像二值化后的二值矩阵的示意图,图像的尺寸大小为20*20像素,其中的白色代表在二值矩阵中对应的值为0,黑色代表在二值矩阵中对应的值为1;

图4是对数据结构Brick中的属性的示意图;

图5是进行切割操作时扫描得到的第一个黑色像素点后执行操作的示意图,也就是说扫描得到第一个黑色像素点的时候,在此处创建一个图块,并初始化Brick的初始位置坐标以及高度和宽度等属性值;

图6是进行图块切割时向下延伸的示意图。向下延伸时,查看与该图块的下方相邻的一行是否有黑色的像素点,如果有,则将该像素点加入到图块Brick中,同时更新图块Brick的各个属性值;

图7是进行图块切割时向右延伸的示意图。向右延伸时,查看与该图块的右侧相邻的一列是否有黑色的像素点,如果有,则将该像素点加入到图块Brick中,同时更新图块Brick的各个属性值;

图8是进行图块切割时向左延伸的示意图。向左延伸时,查看与该图块的左侧相邻的一列是否存在黑色像素点,如果有,则将该像素点加入到图块Brick中,同时更新图块Brick的各个属性值;

图9是进行图块切割时向上延伸的示意图。向上延伸时,查看与该图块的上方相邻的一行是否存在黑色像素点,如果有,则将该像素点加入到图块Brick中,同时更新图块Brick的各个属性值;

图10是本发明中所使用的美国早期专利文档扫描件图像格式的示意图;

图11是经过本发明处理后的输出结果的示意图;

图12是扫描件图像中的各种可能存在的杂质的示意图。

具体实施方式

下面结合具体实施方式对本发明做进一步的说明。

对于一个专利文档扫描件图像的切割任务来说,它包含有很多的专利文档图片;

首先,在步骤1中要准备针对fig识别任务的训练数据集。首先要在专利附图中手动截取一些含有fig标示的正样本和一些不含有fig标示的负样本,将截取的样本以相同的格式存储起来。

步骤2,将截取的正负样本集的尺寸大小变换到同一个尺寸。分别计算正负样本的HOG特征。首先将训练样本灰度化,然后分别计算灰度图像中的每个像素的梯度(包括大小和方向),主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

图像中像素点(x,y)梯度为:

Gx(x,y)=H(x+1,y)-H(x-1,y) (1)

Gy(x,y)=H(x,y+1)-H(x,y-1) (2)

式中Gx(x,y)、Gy(x,y)、H(x,y)分别表示输入图像中像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值。像素点(x,y)处的梯度幅值和梯度方向分别为:

把样本图像分割成若干个像素的单元格,把梯度方向平均分成9个区间,在每个单元格里面对所有像素的梯度方向在各个区间用直方图进行统计,得到一个9维的特征向量,将相邻的4个单元格构成一个块,把一个块内的向量连接起来得到4*9=36维的特征向量,用块对样本图像进行扫描,扫描步长设置为1个单元。最后将所有的特征串联起来,就得到当前图像块的HOG特征表达。

步骤3,利用步骤2中提取到的正负样本的HOG特征训练一个SVM分类器,用于准确区分fig标示。

步骤4,对于一个专利文档的扫描图像,图像的尺寸大小为595*842像素。

把输入的专利文档扫描图像转化成一个二值的二维矩阵,其中包含一下两个小步骤:

(a)将彩色图像G转化成灰度图,假设Ggray就是灰度图对应的灰度值矩阵,Ggray中的各个元素的计算公式如公式(1)所示:

其中Ggray(x,y)表示灰度值矩阵中第x行第y列元素的取值,Gr(x,y)、Gg(x,y)、Gb(x,y)分表为彩色图像R、G、B通道的颜色矩阵中第x行第y列元素的取值。

(b)采用一个经验值为200的灰度阈值将灰度图像转化成一个二值的二维矩阵M。具体的流程为依次扫描灰度值矩阵Ggray的各个值,并按照下面给出的规则对二维矩阵M中的元素的值进行调整,具体规则如下:

若Ggray(x,y)>200,则M(x,y)=0;

若Ggray(x,y)≤200,则M(x,y)=1。

其中Ggray(x,y)表示灰度值矩阵中第x行第y列元素的取值,M(x,y)表示二值二维矩阵M中第x行第y列元素的取值,取值为0表示在原图像中像素点为白色,取值为1表示在原图像中的像素点为黑色。

由于早期专利文档的扫描图像中随机分布着许多颗粒噪声,这些噪声会对随后的fig标示的检测以及图块的切割产生较大的影响。为了降低噪声对实验结果的影响,本方法采用了邻域平均滤波的方法对输入的图像进行去噪声操作。邻域平均的均值滤波器是一种常见的去噪方法,它可以有效的去除图像中的颗粒噪声。在步骤5中采用邻域平均的均值滤波器方法对步骤4中得到的二值矩阵M所表示的扫描图像进行去噪声处理,得到去噪声后对应的二值矩阵M′。

在早期专利文档中,有一部分图像中的附图与附图、附图与fig标示之间的间距较近,并且还存在有些附图的形状十分不规范等现象。由于这些因素的存在,如果直接采用之前版本中直接切割的方法进行对图块的粗切割和细切割,则会很容易造成将不属于本图块的内容切割进来,或者将本属于一幅图块的区域切开。这样就会造成切割不准确。由于图块的形状差异较大,所以很难采取一种统一的方式对其进行处理,但是fig标示的形状相对来说较为稳定。因此,本方法首先在步骤6中对图像中的fig标示进行检测、识别和切割,这样既增加了fig标示的检测和切割正确率,同时也减少了由于fig标示的存在对图块切割时造成的影响。切割掉fig标示之后,图块之间的间隔将不再受到fig标示的影响。同时,在检测和识别fig标示的时候,对fig标示的数量进行统计,这样在切割图块的时候,根据fig标示的数量的多少来缩放阈值,从而能够更加精确的对图像中的附图进行切割,得到更好的切割结果。

在步骤6中,对步骤5中处理后的图块进行fig表示检测,利用一个与训练集中fig标示尺寸大小的滑动窗口在原始图像上进行滑动,对于滑动窗口经过的每一个位置,提取其HOG特征,并送入SVM分类器中做类别判断,判断其是否为fig标示,如果是fig标示,则将该位置切割出来并保存为fig标示,并将原图像中相对应的区域中的像素值置为0。依次从左至右、从上到下经过一次完整的扫描操作后,原始图像中的fig标示被全部切割出来,图像中只剩下一些附图。

步骤8,将步骤7中得到的fig标示进行进一步的精细切割,分离fig标示的每一个字符,然后利用针对手写字符识别的分类器对得到的每一个fig标示中的每一个字符进行识别,得到每一个fig标示的标号。

步骤9要完成的是对步骤7中得到的仅剩附图的二值矩阵M′的切割操作,二值矩阵M′的示意图如图3所示。切割操作的步骤如下:

(a)从图像的左上角出发逐行扫描步骤7中得到的二值矩阵M′,知道找到第一个黑色像素点。根据该像素点在二值矩阵M′中的行号和列号创建并初始化一个新的存储节点,称为图块Birck。详细实现如下:

若M′(x,y)=0,则继续遍历下一个像素点;若M′(x,y)=1,则创建一个图块Birck,该图块Brick由row、col、height和width四个属性构成,其中的参数解释如图4所示,并初始化为row=x,col=y,height=1,width=1。M′(x,y)代表M′二值矩阵中第x行第y列元素的取值,如果取值为1则代表该位置对应图中的黑色像素点;如果取值为0则代表该位置对应图中的白色像素点。一个矩形框在一幅图中可以用四个属性来描述,所以将图块Brick属性设置为列号、行号、高和宽。每一个图块Brick按照扫描的先后顺序依次标号。

根据扫描得到的黑色像素点创建的图块Brick,依次向右、向下、向左和向上四个个方向进行延伸搜索,扩大矩阵框Brick的尺寸,直到框住整个切割目标。在进行该步骤时,扩大矩形框尺寸的操作通过调整图块Brick的四个属性值来实现。切割算法是一个循环的过程,分别向每个图块Brick的右、下、左、上四个方向进行延伸扫描,同时根据规则不断更新图块Brick的属性值以达到扩大矩形框尺寸的目的。直到四个方向均不能延伸为止,得到的切割目标的图块Brick,并将结果保存。该切割算法的具体实现如下:

(1)向右侧延伸,检查图块Brick的右侧距离该图块阈值范围内是否存在黑色的像素点,如图7所示。若存在黑色的像素点,即存在M′(x,y)=1,则Brick.width=Brick.width+1;否则,标记不可向右延伸。

其中x=Brick.col+Brick.width,y∈[Brick.row,Brick.row+Brick.height-1]。 (6)

需要说明的是x=Brick.col+Brick.width得到的x表示的是图块Brick右侧阈值范围内的列的列号。

(2)向下延伸,检查图块Brick的下面距离该图块阈值范围内是否存在黑色像素点,如图6所示。若存在黑色像素点,即存在M′(x,y)=1,则Brick.height=Brick.height+1;否则,标记不可向下延伸。

其中y=Brick.row+1,x∈[Brick.col,Brick.col+Brick.width-1]。 (7)

需要说明的是y=Brick.row+1得到的y表示的是图块Brick右侧阈值范围内的行的行号。

(3)向左侧延伸,检查图块Brick的左侧距离该图块阈值范围内是否存在黑色像素点,如图8所示,若存在黑色像素点,即存在M′(x,y)=1,则Brick.width=Brick.width+1;否则,标记不可向左侧延伸。

其中x=Brick.col-1,y∈[Brick.row,Brick.row+Brick.height-1]。 (8)

需要说明的是x=Brick.col-1得到的x表示的是图块Brick左侧距离该图块阈值范围内的列的列号。

(4)向上延伸,检查图块Brick的上方距离该图块阈值范围内是否存在黑色像素点,如图9所示,若存在黑色像素点,即存在M′(x,y)=1,则Brick.height=Brick.height+1;否则,标记不可向上方延伸。

其中y=Brick.row-1,x∈[Brick.col,Brick.col+Brick.width-1]。 (9)

需要说明的是y=Brick.row-1得到的x表示的是图块Brick上方距离该图块阈值范围内的行的行号。

重复步骤(1)~(4)直到向四个方向都不能延伸,图块Brick的属性值调整完毕,得到图块Brick。

其中步骤(1)~(4)中提到的Brick.row、Brick.col、Brick.width和Brick.height分别表示图块Brick的列号、行号、宽和高。

得到图块Brick之后,在二值矩阵M′中将图块Brick切割掉,即将该图块Birck对应二值矩阵M′中对应的元素值置为0。

重复以上步骤,直到扫描完二值矩阵M′中的所有元素,最终得到并保存所有的图块Brick。本方法在具体的实现中采用链表的方式来对得到的若干个图块Brick进行存储。接下来要完成图文匹配的工作,步骤10要根据步骤8中的到的若干个标号块FigB对步骤9中得到的若干个图块Brick进行重命名。包括以下操作:

(a)指定一个图块Brick,从所有的标号块FigB中找到一个与之距离d最近的标号块FigB,计算距离d的公式如下公式(10):

(b)根据步骤(a)得到的与该附图块Brick最近的标号块FigB的名称,对该附图块Brick的名称进行修改。并将与该附图块Brick匹配的标号块FigB从所有标号块FigB的集合中删除,避免重复匹配。

重复以上操作,直到修改完所有的附图块Brick的名称。

步骤11,输出步骤10得到的一幅图标记号命名的若干个附图块,即在指定目录下保存以附图标号命名的附图图片。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1