一种基于机器学习的手写文档检索方法

阅读:653发布:2024-02-17

专利汇可以提供一种基于机器学习的手写文档检索方法专利检索,专利查询,专利分析的服务。并且本 发明 为基于 机器学习 的手写文档检索方法,包括步骤:对索引文字图片进行SIFT的特征提取,对整个图片进行关键点提取,用描述子表示图片的特征;对每一当前页文档图片进行SIFT的特征提取,利用描述子表示关键点;对提取到的描述子做匹配,选出与索引文字图片的描述子最接近的候选框中的文字,将候选框选出的区域作为候选集,然后利用 卷积神经网络 对候选集和索引文字图片做进一步的特征匹配;在检索完当前页文档图片之后,读入下一页文档图片进行检测,直至检测完整份文档所有页,输出标识了索引文字的文档。本发明不需要对原始文档图片做预处理,直接利用索引文字图片来检索手写文档中对应的文字,免去了分割预处理中引入的误差。,下面是一种基于机器学习的手写文档检索方法专利的具体信息内容。

1.一种基于机器学习的手写文档检索方法,其特征在于,包括以下步骤:输入文档图片和索引文字图片;对索引文字图片进行SIFT的特征提取,对整个图片进行关键点提取,用描述子表示图片的特征;
对每一当前页文档图片按以下步骤进行检索匹配:
(1)对文档图片进行SIFT的特征提取,使用固定尺寸的扫描窗口,按照窗口扫描过的地方提取SIFT特征点,利用描述子表示扫描窗口中文字的关键点;对提取到的描述子做匹配,选出与索引文字图片的描述子最接近的候选框中的文字,将候选框选出的区域作为候选集;
(2)利用卷积神经网络对候选集和索引文字图片做进一步的特征匹配;卷积神经网络包括两路神经网络和全连接层,一路神经网络的输入为候选集的图片,另一路神经网络的输入为索引文字图片,两路神经网络分别包含了两层卷积神经网络层、空间金字塔池化层,两路神经网络的输出合并为一路网络并输入到全连接层中,再从全连接层输出匹配的结果;
在检索完当前页文档图片之后,读入下一页文档图片进行检测,直至检测完整份文档所有页,输出标识了索引文字的文档。
2.根据权利要求1所述的基于机器学习的手写文档检索方法,其特征在于,所述步骤(1)中,对文档图片的空白部分进行去冗余的处理,抛弃低对比度得出来的关键点。
3.根据权利要求1所述的基于机器学习的手写文档检索方法,其特征在于,每一对相关的关键点定义了文档图片中的候选区,候选域的边界确定方法如下:
设pquery(xq,yq)为索引文字图片上的点,而pdoc(xd,yd)表示文档图片上的相关点,设dx、dy分别为索引文字图片关键点到左边界和上边界的距离,则候选区的包围框左上的坐标(xmin,ymin)和右下角的坐标(xmax,ymax)由下面的公式求得:
wq和hq分别表示索引文字图片的宽度和高度;ts表示边界的延伸系数,用于设置候选区的延展空间;scdoc和scquery分别代表了关键点pdoc(xd,yd)和pquery(xq,yq)在SIFT算法中的尺度。
4.根据权利要求3所述的基于机器学习的手写文档检索方法,其特征在于,采用随机抽样一致性算法评估候选区的关键点与索引文字图片的关键点是否相关,选出候选区和索引文字图片最为相似的前几对,输入卷积神经网络。
5.根据权利要求4所述的基于机器学习的手写文档检索方法,其特征在于,所述随机抽样一致性算法通过反复选择数据中的一组随机子集来达成目标,被选择的子集被假设为局内点,并用下述方法进行验证:
S1、有一个模型适应于假设的局内点;
S2、用步骤S1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点;
S3、如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理;
S4、然后,用所有假设的局内点去重新估计模型;
S5、最后,通过估计局内点与模型的错误率来评估模型;
上述过程被重复执行固定的次数,每次产生的模型或因为局内点太少而被舍弃,或因为比现有的模型更好而被选用;然后通过计算一个排名值来量化拟合的优劣:
L表示局内点的数目,而D表示候选区和索引文字图片的关键点之间距离的总和。
6.根据权利要求1所述的基于机器学习的手写文档检索方法,其特征在于,所述SIFT用于侦测与描述图片中的局部性特征,在空间尺度中寻找极值点,并提取出其位置、尺度和旋转不变性;图片在不同的尺度下用高斯滤波器进行卷积,然后利用连续高斯模糊化影像差异来找出关键点;关键点为根据不同尺度下的高斯差值的最大最小值。
7.根据权利要求1所述的基于机器学习的手写文档检索方法,其特征在于,所述步骤(1)中,计算各关键点的特征向量,通过计算索引文字图片的关键点与文档图片的关键点相似度,来判断两个文字之间是否相等;设 和 分别表示索引文字图片的第i个SIFT特征向量和文档图片的第j个SIFT特征向量,两个特征向量之间的距离通过如下的公式计算:
表示两个向量之间的点积。
8.根据权利要求1所述的基于机器学习的手写文档检索方法,其特征在于,所述全连接层设有2层,第一层全连接层的激活函数选择ReLU激活函数,最后一层全连接层连接softmax层。
9.根据权利要求8所述的基于机器学习的手写文档检索方法,其特征在于,所述softmax层将一个K维的任意实数向量映射成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

说明书全文

一种基于机器学习的手写文档检索方法

技术领域

[0001] 本发明涉及深度学习领域,具体是一种基于神经网络的手写文字匹配技术。

背景技术

[0002] 在古代文档的研究中,往往需要将古籍扫描成图片后,进行数字化存储,随着存储的数据量越来越大,就需要建立检索机制。然而,由于古文档中大部分是手写的,不同的人写出来的字迹是不一样的,这对做整体文档的匹配提出了很苛刻的要求。而且有些文字只存在于古代,在当代已经不使用了,或者文字的结构写法随着社会文化的演进产生了一些变化,使得我们不可能通过计算机的文本输入来进行检索。
[0003] 大部分传统的手写文字识别,往往都需要先进行行分割或者字分割预处理,如果分割的不好,比如把字的一部分切割了,或者把其他字的一部分分割到当前字符的框内,就会给后期的识别引入预处理的误差。近年来,对于免分割方式的研究越来越多,文档不需要被分割就可以进行匹配,这就免去了分割过程中会引入的各种误差。传统的光学字符识别(Optical Character Recognition,OCR)在手写文本中效果不是很好,因为字符没法容易地分割和识别。所以在手写文档检索中,往往使用文字检测(WordSpotting)来索引想要的部分,文字检测又分实例检索(QuerybyExample)和字符检测(QuerybyString),前者通过截取的文字图片进行索引,后者通过建立字符到文字图片之间的映射来进行索引。这里我们采用实例检索。
[0004] 而具体到实施细节,通常都需要做分割处理,分割的方法分:按字分割、按行分割和免分割。因为按字分割往往会引入人为的误差,不能很好地把字或者单词完整地分割出来,这在后期的匹配中会影响准确度,而且分割预处理会消耗处理的时间。而按行分割则减小了同一行字与字之间的分割误差,同时也把分割的次数减少了,然而行与行之间的分割难题仍不可避免。因此我们选择了一种不需要分割预处理的方法,让我们可以在不需要这些预处理的基础上,索引到需要的页面。
[0005] 模板匹配大多用在目标检测和图片识别中,近年来也有用于文本匹配。通常尺度不变特征转换(ScaleInvariantFeatureTransform,SIFT)、加速稳健特征(Speeded Up Robust Features,SURF)、方向梯度直方图(Histogram of oriented gradient,HOG)等计算特征点和特征向量的方法会被用来做模板匹配,而SIFT这一算法得出的描述子能够做到很好的文本匹配。SIFT用来侦测与描述图像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变性,针对手写文本的识别有很好的兼容性。
[0006] 近年来深度学习的出现,使得模板匹配的准确度又有了进一步的提升,利用训练好的神经网络,可以很好地识别出我们所要搜索的文本。在众多的神经网络模型中,卷积神经网络(ConvolutionNeuralNetwork)通常用于视频图像的特征提取,因此这里我们也利用了CNN的特性,提取图片的特征,进行特征的匹配。同时由于SIFT算法的成熟性和速度,我们考虑结合SIFT算法和神经网络来提升手写文档的识别度。

发明内容

[0007] 为了解决现有手写文档检索匹配所存在的问题,本发明提出一种基于机器学习的手写文档检索方法,不需要对原始文档图片做按字或按行分割等预处理,直接利用索引文字图片来检索手写文档中对应的文字,找出需要索引的文字所在的文档位置,免去了分割预处理中引入的人为误差。
[0008] 本发明采用以下技术方案来实现:一种基于机器学习的手写文档检索方法,包括以下步骤:输入文档图片和索引文字图片;对索引文字图片进行SIFT的特征提取,对整个图片进行关键点提取,用描述子表示图片的特征;
[0009] 对每一当前页文档图片按以下步骤进行检索匹配:
[0010] (1)对文档图片进行SIFT的特征提取,使用固定尺寸的扫描窗口,按照窗口扫描过的地方提取SIFT特征点,利用描述子表示扫描窗口中文字的关键点;对提取到的描述子做匹配,选出与索引文字图片的描述子最接近的候选框中的文字,将候选框选出的区域作为候选集;
[0011] (2)利用卷积神经网络对候选集和索引文字图片做进一步的特征匹配;卷积神经网络包括两路神经网络和全连接层,一路神经网络的输入为候选集的图片,另一路神经网络的输入为索引文字图片,两路神经网络分别包含了两层卷积神经网络层、空间金字塔池化层,两路神经网络的输出合并为一路网络并输入到全连接层中,再从全连接层输出匹配的结果;
[0012] 在检索完当前页文档图片之后,读入下一页文档图片进行检测,直至检测完整份文档所有页,输出标识了索引文字的文档。
[0013] 优选地,所述步骤(1)中,对文档图片的空白部分进行去冗余的处理,抛弃低对比度得出来的关键点。
[0014] 优选地,每一对相关的关键点定义了文档图片中的候选区,候选域的边界确定方法如下:
[0015] 设pquery(xq,yq)为索引文字图片上的点,而pdoc(xd,yd)表示文档图片上的相关点,设dx、dy分别为索引文字图片关键点到左边界和上边界的距离,则候选区的包围框左上的坐标(xmin,ymin)和右下角的坐标(xmax,ymax)由下面的公式求得:
[0016]
[0017]
[0018]
[0019]
[0020] wq和hq分别表示索引文字图片的宽度和高度;ts表示边界的延伸系数,用于设置候选区的延展空间;scdoc和scquery分别代表了关键点pdoc(xd,yd)和pquery(xq,yq)在SIFT算法中的尺度。
[0021] 优选地,采用随机抽样一致性算法评估候选区的关键点与索引文字图片的关键点是否相关,选出候选区和索引文字图片最为相似的前几对,输入卷积神经网络。
[0022] 从上述技术方案可知,本发明利用机器学习算法,在手写文档索引中提供相应的技术支持,通过输入索引文字的图片,检索出我们想要的文字所在的文档页面,同时标注出它所在的位置。与现有技术相比,本发明具有如下优点和有益效果:
[0023] 1、采用索引文字的截图来进行图像匹配,利用SIFT算法求得索引文字和文档图片的关键点,通过关键点匹配选择出候选区域的文字,然后再训练CNN网络,使其能对这些候选区域的文字和索引字图片进行匹配,最后检索出文档中所要找的文字。即不需要对原始文档图片做按字或按行分割等预处理,直接利用索引文字图片来检索手写文档中对应的文字,找出需要索引的文字所在的文档位置,免去了分割预处理中引入的人为误差。
[0024] 2、现有CNN网络的最后一层通常包括全连接层,其神经元数固定,这就导致全连接层的前一层神经网络的输出必须是固定的维度大小,进而限制了网络的输入图像像素必须是固定的。而本发明引入了空间金字塔池化(SpatialPyramidPooling,SPP)层,这一层能够将任意大小的图像池化生成固定长度的图像表示,神经网络的最后一层全连接层能兼容不同尺寸的图片输入,满足了索引文字长短不一、索引文字图片的像素大小不固定的需求。附图说明
[0025] 图1是本发明文档检索方法的流程图
[0026] 图2是神经网络的结构示意图。

具体实施方式

[0027] 结合图1,本发明检索方法有两个输入,一个输入是文档图片,另一个输入是索引文字图片,输出是文字所在文档的位置,通过后期标记,可以把检索到的文字在文档中标出。检索匹配分为两步:
[0028] 第一步,对两个输入的图片先做SIFT的特征提取。对于索引文字图片,我们对整个图片进行关键点提取,用描述子表示索引文字图片的特征。SIFT用来侦测与描述图片中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变性;图片在不同的尺度下用高斯滤波器(Gaussian filters)进行卷积,然后利用连续高斯模糊化影像差异来找出关键点,关键点是根据不同尺度下的高斯差值(Difference of Gaussians,DoG)的最大最小值。也就是说,DoG图像的D(x,y,σ)是由:
[0029] D(x,y,σ)=L(x,y,kiσ)-L(x,y,kjσ)
[0030] L(x,y,σ)是在尺度kσ的条件下,由原始图像I(x,y)与高斯模糊G(x,y,kσ)进行卷积。G(x,y,kσ)是尺度可变高斯函数
[0031] 一旦得到DoG图像后,可找出DoG图像中的极大、极小值作为关键点。为了决定关键点,DoG图像中的每个像素会跟以自己为中心周围的八个像素,以及在同一组DoG图像中相邻尺度倍率相同位置的九个像素,一共二十六个点作比较,若该像素为这二十六个像素中的最大、最小值,则称该像素为关键点。
[0032] 而对于文档图片,则使用固定尺寸的扫描窗口,按照窗口扫描过的地方提取SIFT特征点,利用描述子表示扫描窗口中文字的关键点。由于文档图片存在大量空白的部分,这里我们可以做一个去冗余的处理,对那些低对比度得出来的关键点,我们可以抛弃掉,因为这些低对比度的地方,很大可能是包含了文档的空白处,这样做可以有效减少后期的计算量。对提取到的描述子做匹配,选出与索引文字图片的描述子最接近的候选框中的文字,这样候选框选出的区域作为候选集。
[0033] 计算各关键点的特征向量,通过计算两幅文字图片的关键点相似度,来判断两个文字之间是否相等。设 和 分别表示索引文字图片的第i个SIFT特征向量和文档图片的第j个SIFT特征向量,两个特征向量之间的距离通过如下的公式计算:
[0034]
[0035] 表示两个向量之间的点积。
[0036] 每一对相关的关键点定义了文档中的候选区域,由于索引文字图片中关键点的相对位置是以图片的边界为参考,同样的我们也可以按照此原理来确定候选区域的边界。设pquery(xq,yq)为索引文字图片上的点,而pdoc(xd,yd)表示文档图片上的相关点,又设dx、dy分别为索引文字图片关键点到左边界和上边界的距离,则候选区的包围框左上角的坐标(xmin,ymin)和右下角的坐标(xmax,ymax)由下面的公式求得:
[0037]
[0038]
[0039]
[0040]
[0041] wq和hq分别表示索引文字图片的宽度和高度。参数ts表示边界的延伸系数,用于设置候选区域的延展空间,此处我们经过测试,设置为1.1。scdoc和scquery分别代表了关键点pdoc(xd,yd)和pquery(xq,yq)在SIFT算法中的尺度。
[0042] 为了评估候选区的关键点与索引文字图片的关键点是否相关,我们用到了随机抽样一致性(RANSAC)算法。RANSAC做的一件事就是先随机的选取一些点,用这些点去获得一个模型,然后用此模型去测试剩余的点,如果测试的数据点在误差允许的范围内,则将该数据点判为inlier,否则判为outlier。inlier的数目如果达到了某个设定的阈值,则说明此次选取的这些数据点集达到了可以接受的程度,否则继续前面的随机选取点集后所有的步骤,不断重复此过程,直到找到选取的这些数据点集达到了可以接受的程度为止,此时得到的模型便可认为是对数据点的最优模型构建。
[0043] RANSAC通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:
[0044] 1、有一个模型适应于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。
[0045] 2、用步骤1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。
[0046] 3、如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。
[0047] 4、然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。
[0048] 5、最后,通过估计局内点与模型的错误率来评估模型。
[0049] 这个过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为比现有的模型更好而被选用。然后通过计算一个排名值来量化拟合的优劣:
[0050]
[0051] L表示inlier(即局内点)的数目,而D表示候选区和索引文字图片的关键点之间距离的总和。
[0052] 通过上述的算法,我们可以粗略地选出候选区和索引区相关性最高的几对组合,接下来我们使用CNN网络进行进一步的匹配,以提高识别的准确度。
[0053] 第二步,利用卷积神经网络(CNN)对这些候选集和索引文字图片做进一步的特征匹配,通过训练神经网络,提升其特征匹配的准确度。网络模型如图2所示,该神经网络包括两路神经网络和两层全连接层,一路神经网络的输入为候选集的图片,另一路神经网络的输入为索引文字图片;每路神经网络分别包含了两层卷积神经网络层、空间金字塔池化层,经过两层卷积神经网络、空间金字塔池化层之后,两路神经网络的输出再合并为一路网络,输入到全连接层(Full Connected Layers,FCL)中,再从全连接层输出匹配的结果。
[0054] 对于卷积层,我们使用了传统的ReLU激活函数,该激活函数广泛地用于目标检测和图像匹配等领域,其公式如下:
[0055] f(x)=max(0,x)
[0056] 在神经网络中,ReLU作为神经元的激活函数,定义了该神经元在线性变换wTx+b之后的非线性输出结果。换言之,对于进入神经元的来自上一层神经网络的输入向量x,使用ReLU激活函数的神经元会输出max(0,wTx+b)。
[0057] 卷积层之后接的MaxPooling层,将卷积层输入的特征图像划分为若干个矩形区域,对每个矩形区域输出最大值。在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。
[0058] 我们对网络中的卷积层参数设定如下表一所示,该参数是我们经过实验调试出来的,它们能使得网络取得比较好的效果。两路神经网络的参数是一样的,以使最后提取出来的特征是一致的。
[0059] 表一
[0060]
[0061] 经过卷积层之后,两路神经网络分别经过SPP层,SPP层的金字塔层数取3,亦即对3个不同尺度的图片做池化,池化的策略我们这里选取最大值。对于通常的CNN网络来说,其最后一层通常包括全连接层,它的神经元数通常是固定的,这就导致全连接层的前一层神经网络的输出必须是固定的维度大小,进而限制了网络的输入图像像素必须是固定的。然而在我们实际的应用中,由于索引文字的长短不一,因此图片的像素大小就不可能是固定的,因此我们在这里引入了SPP层;SPP层能够将任意大小的图像池化生成固定长度的图像表示,这样无论什么尺寸的图片输入,最后一层全连接层都能兼容。
[0062] 经过SPP层之后,无论输入为多大的特征图,其输出最终都是一个固定值,最终合并到全连接层,作为第一层全连接层的输入,然后经过第二层全连接层,最后输出匹配的结果。第一层全连接层的激活函数我们选择了ReLU激活函数,最后一层全连接层我们连接了softmax层,softmax的公式表示如下:
[0063]
[0064] softmax层的本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。两层全连接层的参数如下面表二所示。
[0065] 表二
[0066]
[0067] 在检索完当前页文档图片之后,系统读入下一页文档图片,继续前面的检测步骤,直至检测完整份文档所有页,输出标识了索引文字的文档。
[0068] 如上所述,便可较好地实现本发明。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈