一种基于文本图片检索的相似文本检测方法与流程

文档序号:12887330阅读:246来源:国知局
一种基于文本图片检索的相似文本检测方法与流程

本发明涉及一种基于文本图片检索的相似文本检测方法。



背景技术:

随着数字媒体技术的蓬勃发展,包括文本图像在内的多媒体资源规模越来越大。文本检索逐渐成为自然语言处理领域中的一个研究热点,产生了许多基于光学字符识别(ocr)技术的文本检索方法,该方法从图像中识别文本内容,然后利用文本检索技术实现文本图像检索系统。但是,传统的文本图像检索系统,需要依赖基于ocr的复杂模型,才能达到较好的文本识别和文本相似性检测效果。另外,对包含任意多个字符的无约束文本图像直接进行推荐和检索,同时适应于不同语言符号,需要一种相似性检索方法来学习和识别图像中的深度视觉特征。

文本内容的视觉呈现方式大致相同,在文本识别和检索的早期研究中,特征提取需要经过版面分析、行切分、单字切分、单字识别等过程,而在近几年,基于深度学习的特征提取技术已经成为一个重要的研究方向。各种深度学习模型中,卷积神经网络是图像处理任务中最强大的网络模型,使图像可以直接作为网络的输入,避免了传统识别方法中复杂的特征提取与数据重建过程。

相似性度量是确定检索系统有效性的另一关键技术。根据不同的属性度量图像内容的相似性有多种方法。在大多数的图像检索系统中,为找出检索图像的原始或类似的图像,常用余弦相似度度量方法,因为其准确性高而被确认为一种标准度量系统。此外,更有效和广泛的方法是基于图像高层的视觉特征,来计算成对图像的余弦相似性。然而在实际中,如果仅仅只计算文本图像之间的余弦相似性,来提高其相似性检索精度通常比较困难,比如不同的文本图像之间可能具有相似的视觉特征,但具有不同的高层主题特征的情况。



技术实现要素:

为了解决上述技术问题,本发明提供一种操作简单、检测精度高的基于文本图片检索的相似文本检测方法。

本发明解决上述问题的技术方案是:一种基于文本图片检索的相似文本检测方法,包括以下步骤:

步骤一:建立文档库;收集文本类型文档建立文档库,为文档库中不同文档建立唯一编号索引;

步骤二:建立文本图片库;将文档库中文档按段落分割并转换为图片,建立文本图片库,同时根据分割前图片所属文档的唯一编号生成“图片名称-文档编号”索引,然后对文本图片库中每张文本图片进行等比例缩放、灰度转换预处理,转换为文本行高一致的灰度文本图片;

步骤三:文本图片库中图片的特征提取和降维;基于多层卷积神经网络提取文本图片库中每张图片的特征向量,组成文本图片库对应的特征矩阵,然后采用pca方法对提取出的特征矩阵进行压缩降维;

步骤四:将检索文档分割为检索图片集;输入检索文档,将检索文档按段落分割并转换为图片,建立检索图片集,然后对检索图片集中每张文本图片进行等比例缩放、灰度转换预处理;

步骤五:检索图片集中图片的特征提取和降维;用多层卷积神经网络模型提取检索图片集中每张图片的特征向量,构建检索图片集对应的特征矩阵,并采用pca方法压缩到与文本图片库特征矩阵相同的特征点维度;

步骤六:检索图片集的余弦相似性度量;对检索图片集中每张文本图片,计算其与文本图片库中所有文本图片之间的余弦相似度,并对得到的余弦相似度进行降序排列;

步骤七:检索结果的全文相似度过滤;根据检索图片集中每张文本图片与文本图片库中所有文本图片之间的余弦相似度,求得检索文档与文档库文档之间的相似度均值,更新检索图片集中每张文本图片对应的余弦相似度,并按余弦相似度降序重新排序;

步骤八:检索结果输出;针对检索图片集中每张图片,根据其余弦相似度选取文本图片库中图片作为输出;针对检索文档,根据相似度均值选取文档库中文档作为输出。

上述基于文本图片检索的相似文本检测方法,所述步骤三具体方法为:令多层卷积神经网络集合cnns=(cnn1,cnn2,…cnnnc,),其中nc是cnns中多层卷积神经网络的数量,cnnj1表示cnns中第j1个多层卷积神经网络,j1=1,2,...,nc;对cnns中各个网络,逐一使用文本图片数据集对cnnj1进行预训练,再以预处理后的文本图片库对cnnj1进行精调,基于cnnj1提取文本图片库中每张图片的特征向量,组成cnnj1对应的文本图片库特征矩阵,采用pca方法对特征矩阵进行压缩降维;最后计算cnns中各个网络的平均检索精度,基于求得的平均检索精度融合各个网络对应的特征矩阵。

上述基于文本图片检索的相似文本检测方法,所述步骤三中,用cnnj1提取文本图片库中每张图片的特征向量,组成文本图片库对应的特征矩阵的具体步骤为:

3-1-1)初始化n×x大小的文本图片库特征矩阵w,w为零矩阵,n是文本图片库中图片总数,x是cnnj1网络模型倒数第二层全连接层的神经元个数,设置图片截取的窗口大小为side×side,设置循环变量i1=1;

3-1-2)读取文本图片库中第i1张图片的像素数据矩阵ii1,在ii1上随机截取side×side大小的窗口,然后对窗口内的元素进行去平均化,得到side×side的矩阵ii1’;

3-1-3)在cnnj1网络模型中输入ii1’,然后从模型倒数第二个全连接层的x个1×1大小的神经元中输出图像特征,组成x维的特征向量wi1,并保存到特征矩阵w的第i1行;

3-1-4)令i1=i1+1,转步骤3-1-2)重复执行上述步骤,直到i1=n;

步骤五中,用cnnj1提取检索图片集中每张图片的特征向量,组成检索图片集对应的特征矩阵的方法与步骤三中相同。

上述基于文本图片检索的相似文本检测方法,所述步骤三中,计算cnns中各个网络的平均检索精度的具体步骤为:

3-2-1)构造文本图片数据集pq,其中第y个元素表示为{(py,qy)},数据集pq的大小为ns,qy是pq第y个元素中包含的文本图片,其来源于步骤二中建立的文本图片库,py是与qy文本内容相似的检索图片,其来源是qy中文本内容经过局部的文字修改、字体改变、布局调整后保存的图片,设置循环变量j1=1;

3-2-2)基于cnnj1,逐一检索py(y=1,2,…,ns),计算cnnj1的平均检索精度rank_avgj1,计算方法为:

其中rankj1y是基于cnnj1的检索结果中,py对应的相似文本图片qy的排名,scorej1为cnnj1的top-n准确率,n为检索输出结果的数量;

3-2-3)令j1=j1+1,转步骤3-2-2)重复执行上述步骤,直到j1=nc。

上述基于文本图片检索的相似文本检测方法,所述步骤五具体方法为:对cnns中cnnj1(j1=1,2,...,nc),用cnnj1提取检索图片集中每张图片的特征向量,组成cnnj1对应的检索图片集特征矩阵,采用pca方法将其压缩到与文本图片库特征矩阵相同的列数;最后基于步骤三中求得的平均检索精度融合各个网络对应的特征矩阵。

上述基于文本图片检索的相似文本检测方法,所述步骤三和步骤五中,基于求得的cnns中各个网络的平均检索精度融合各个网络的特征矩阵,方法为:其中mj1是第j1种网络对应的特征矩阵,m是融合后的特征矩阵,表示第j1种网络对应的权重。

上述基于文本图片检索的相似文本检测方法,所述步骤六具体步骤为:

6-1)加载文本图片库特征矩阵w和检索图片集特征矩阵v,设置循环变量a=1,m是检索图片集中图片总数;

6-2)读取v第a行特征向量va,并初始化n×2大小的矩阵ca作为va对应的余弦相似度矩阵,记为

其中的值为b,即wb对应的文本图片库中图片序号,的计算方法为:

其中·表示两向量的点积操作,wb表示w中第b行特征向量,||||2表示求向量的l2范数;

6-3)对ca所有行按降序重新排列;

6-4)令a=a+1,转步骤6-2)重复执行上述步骤,直到a=m,得到m个余弦相似度矩阵c1~cm。

上述基于文本图片检索的相似文本检测方法,所述步骤七的具体方法为:根据余弦相似度矩阵c1~cm,计算检索文档与文档库文档之间的相似度均值,以此更新余弦相似度矩阵c1~cm;

计算检索文档与文档库文档之间的相似度均值的具体步骤为:

7-1)加载“图片名称-文档编号”索引文件,初始化k×1大小的零矩阵num和k×1大小的零矩阵sim,k为文档库中文档总数;图片检索输出结果的数量为n,检索图片集中图片总数为m;设置循环变量j=1;

7-2)设置循环变量i=1;

7-3)对于cj中第i行,其对应的文本图片库中图片序号为根据该图片序号对应的图片名称和“图片名称-文档编号”索引,确定文档库中文档唯一编号d,更新其中numd表示num中第d行元素的值,simd表示sim中第d行元素的值;

7-4)令i=i+1,转步骤7-3)重复执行上述步骤,直到i=n;

7-5)令j=j+1,转步骤7-2)重复执行上述步骤,直到j=m;

7-6)计算检索文档与文档库中编号为d(d=1,2,…,k)的文档之间的相似度均值计算方法为:

则检索文档与文档库文档之间的相似度均值矩阵

更新余弦相似度矩阵c1~cm的方法为:根据相似度均值矩阵sim’,逐一更新余弦相似度矩阵ca(a=1,2,…,m)中元素更新方法为:其中p是对应的文档库中文档编号,更新后的相似度矩阵记为c1’~cm’,对c1’~cm’中各行,按降序排列;对sim’中元素按降序重新排列,并将降序排列后元素对应的文档编号保存至k×1大小的矩阵a中。

上述基于文本图片检索的相似文本检测方法,所述步骤八中,检索结果输出的依据为:针对检索图片集中第q(q=1,2,…,m)张文本图片,选取余弦相似度矩阵cq’前x行对应的文本图片库中图片作为输出,x为相似文本图片最大输出数;针对检索文档,选取矩阵a中前y行对应的文档库中文档作为输出,y为相似文档最大输出数。

本发明的有益效果在于:本发明提供了一种基于计算机视觉的相似文本检测方法,集成多种多层卷积神经网络模型训练cnn特征描述算子,获得文本图像的深层视觉表示,且通过pca压缩降维提高相似性度量的效率,并从检索结果的过滤方面通过建立全文相似度过滤模型进行改进,对检索结果相似度进行更新,提高检索精度,直接推荐和检索任意多字符文本,具有良好的相似文本检测的能力,可用于文本重复性检查或相似文献推荐。

附图说明

图1为本发明的流程图。

图2为本发明的检索结果示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的说明。

如图1所示,在训练阶段,首先收集文本文档建立文档库,对文档库文档按段落分割转换为图片,建立文本图片库;再用该文本图片库分别对预训练好的vggnet-d、vggnet-e、googlenet三种网络模型进行精调,降维并保存从模型中得到的文本图片库的特征矩阵,再计算三种网络模型的平均检索精度,基于求得的三种网络模型的平均检索精度融合各个模型对应的特征矩阵。在检索阶段,首先将检索文档按段落分割转换成检索图片集,进行一系列预处理;再用精调后的三种网络模型分别对预处理后的检索图像集进行特征提取,获得表示深层视觉特征的特征矩阵,再通过pca方法降维,并基于求得的三种网络模型的平均检索精度融合三种模型对应的特征矩阵;然后计算检索图片集与文本图片库图片之间的余弦相似度,同时计算检索文档与文档库文档之间的相似度均值,建立全文相似度过滤模型,基于全文相似度过滤模型更新计算检索图片集与文本图片库图片之间的余弦相似度;最后输出余弦相似度最大的一张或几张文本图片库图片,以及相似度均值最大的一篇或几篇文档库文档。

具体地说,如图1所示,本发明公开了一种基于文本图片检索的相似文本检测方法,包括训练和检索两个部分;

所述训练部分包括以下步骤:

步骤s101、建立文档库:通过互联网收集28篇文本类型文档建立文档库,为文档库中不同文档建立唯一编号索引;

步骤s102、建立文本图片库:根据文档库文档的存放路径,通过软件自动化方式将文档库中文档按段落分割并转换为图片,建立文本图片库,同时根据分割前图片所属文档的唯一编号,以“图片名称-文档编号”键值对形式生成“图片名称-文档编号”索引文件。再在sparkmllib分布式机器学习计算框架下加载文本图片库,导入java的awt抽象窗口工具库,调用java.awt中基本的图像处理函数定义载入图片函数和转换图片函数,对文本图片库中图片进行分布式批量预处理。

定义的转换图片函数,是先识别图片的文本行数e,设置统一行高h=19像素,确定文本图片高度h=e×h,再以原图像比例确定图片宽度,进行等比例缩放和灰度转换,返回处理后的新图片覆盖原始图像,生成文本行高一致的灰度文本图片。

步骤s103、文本图片库中图片的特征提取和降维:基于多层卷积神经网络提取文本图片库中每张图片的特征向量,组成文本图片库对应的特征矩阵,然后采用pca方法对提取出的特征矩阵进行压缩降维。

使用caffe定义vggnet-d、vggnet-e、googlenet网络结构,分别为16层、19层和23层,vggnet网络模型包括16个卷积层和3个全连接层,其中16个卷积层分为5组,对应5个卷积特征提取阶段,每阶段的卷积个数从首阶段的64个开始,每阶段递增一倍,直到达到最高的512个后保持不变,所有卷积层均采用3×3大小的卷积核,卷积核滑动步长为1,并有一个像素的填充。模型的激活函数使用矫正线性单元,最小批量值为256,动量取0.9,权重衰减的l2惩罚系数设置为0.0005,初始学习率设置为0.01,当验证准确率停止递增后,学习率减小到初始值的十分之一;googlenet网络模型包括21个卷积层和2个全连接层,其中倒数第二个全连接层采用averagepooling作为全连接层,卷积层采用了1×1、3×3、5×5大小的卷积核,卷积核滑动步长为1,像素填充分别设定为0、1、2。

然后对定义的vggnet-d、vggnet-e、googlenet网络,分别使用大规模文本图片数据集以随机梯度下降算法进行预训练,再以预处理后的文本图片库分别对三种预训练网络模型参数进行精调,并基于这三种网络模型提取文本图片库中每张图片的特征向量,组成各种网络模型对应的文本图片库特征矩阵。

提取文本图片库中每张图片的特征向量,组成文本图片库对应的特征矩阵的具体步骤为:

3-1-1)加载预处理的文本图片库,初始化n×x大小的文本图片库特征矩阵w,w为零矩阵,n是文本图片库中图片总数,x是多层卷积神经网络模型倒数第二层全连接层的神经元个数,vggnet网络模型共4096个,googlenet网络模型共1000个,设置图片截取的窗口大小为224×224,设置循环变量i1=1;

3-1-2)读取文本图片库中第i1张图片的像素数据到矩阵ii1,在ii1上随机截取224×224大小的窗口,然后对窗口内的元素进行去平均化,得到224×224的rgb图片矩阵ii1’;

3-1-3)在多层卷积神经网络模型中输入ii1’,然后从模型倒数第二个全连接层的x个1×1大小的神经元中输出图像特征,组成x维的特征向量wi1,并保存到特征矩阵w的第i1行,对应文本图片库中第i1张图片;

3-1-4)令i1=i1+1,转步骤3-1-2)重复执行上述步骤,直到i1=n,得到文本图片库对应的特征矩阵w=[w1,w2,……,wn]t

得到文本图片库对应的x维特征矩阵w后,通过pca线性变换方法将w每列数据变换为一组各维度线性无关的表示,提取256个相互线性无关的主成分,得到x×256大小的主特征矩阵t,再将w乘以t,进行投影映射,将x维的特征矩阵w降维到256维,然后计算vggnet-d、vggnet-e、googlenet三种网络的平均检索精度,并以此融合各个模型对应的特征矩阵,并将该特征矩阵保存在本地。

计算vggnet-d、vggnet-e、googlenet三种网络的平均检索精度,并以此融合各个模型对应的特征矩阵的具体步骤为:

3-2-1)构造文本图片数据集pq,其中第y个元素表示为{(py,qy)},数据集pq的大小为ns,qy是pq第y个元素中包含的文本图片,其来源于步骤二中建立的文本图片库,py是与qy文本内容相似的检索图片,其来源是qy中文本内容经过局部的文字修改、字体改变、布局调整后保存的图片,设置循环变量j1=1;本实施例中1≤j1≤3,cnn1、cnn2、cnn3分别对应vggnet-d、vggnet-e、googlenet三种网络模型;

3-2-2)基于cnnj1,逐一检索py(y=1,2,…,ns),计算cnnj1的平均检索精度rank_avgj1,计算方法为:

其中rankj1y是基于cnnj1的检索结果中,py对应的相似文本图片qy的排名,scorej1为cnnj1的top-n准确率,scorej1计算方法为:

本实施例中检索输出结果的数量n为5。

3-2-3)令j1=j1+1,转步骤3-2-2)重复执行上述步骤,直到j1=3。

3-2-4)基于求得的cnns中各个网络的平均检索精度融合各个网络的特征矩阵,方法为:其中mj1是第j1种网络对应的特征矩阵,m是融合后的特征矩阵,表示第j1种网络对应的权重。

所述检索部分包括以下步骤:

步骤s104、将检索文档分割为检索图片集:输入检索文档,将检索文档按段落分割并转换为图片,建立检索图片集。如图2所示,图中201为检索文档的摘要段落经过分割并转换而成的图片。

接着,在matlab环境中,调用matlab图像处理函数,定义检索图片集预处理函数,逐一识别每张图片的文本行数e,确定其高度h=e×h,进行等比例缩放和灰度转换,得到预处理的检索图片集。

步骤s105、检索图片集中图片的特征提取和降维:用精调后的vggnet-d、vggnet-e、googlenet三种网络模型分别提取检索图片集中每张图片的特征向量,组成各种网络模型对应的检索图片集特征矩阵,采用pca方法将其压缩到与文本图片库特征矩阵相同的列数,再基于步骤s103中求得的cnns中各个网络的平均检索精度融合各个网络对应的特征矩阵。检索图片集中图片的特征提取和降维采用与文本图片库中图片特征提取和降维同样的方法实现,在此不再赘述。

步骤s106、检索图片集的余弦相似性度量:对检索图片集中每张文本图片,计算其与文本图片库中所有文本图片之间的余弦相似度,并对得到的余弦相似度进行降序排列;具体步骤为:

6-1)加载文本图片库特征矩阵w=[w1,w2,…,wn]t,wn是文本图片库中第n张图片对应的特征向量,再加载检索图片集特征矩阵v=[v1,v2,……,vm]t,vm是检索图片集中第m张图片对应的特征向量,m是检索图片集中图片总数,设置循环变量a=1;

6-2)读取v第a行特征向量va,并初始化n×2大小的矩阵ca作为va对应的相似度矩阵,记为

其中的值初始化为b,即wb对应的文本图片库中图片序号,wb表示w中第b行特征向量,初始化为va与wb之间的余弦相似度,计算方法为:

其中·表示两向量的点积操作,||||2表示求向量的l2范数;

6-3)对ca所有行按降序重新排列;

6-4)令a=a+1,转步骤6-2)重复执行上述步骤,直到a=m,得到m个余弦相似度矩阵c1~cm。

步骤s107、检索结果的全文相似度过滤:读取降序排列后的m个余弦相似度矩阵c1~cm,根据检索图片集中每张文本图片与文本图片库中所有文本图片之间的余弦相似度,计算检索文档与文档库文档之间的相似度均值。

计算检索文档与文档库文档之间的相似度均值的具体步骤为:

7-1)加载“图片名称-文档编号”索引文件,文档库中文档总数为28,初始化28×1大小的零矩阵num,用于保存文档库中文档被检索到的次数,初始化28×1大小的零矩阵sim,用于保存文档库中文档分割后图片与检索图片集中图片两两匹配的余弦相似度总和,图片检索输出结果的数量为n,检索图片集中图片总数为m,设置循环变量j=1;

7-2)设置循环变量i=1;

7-3)对于cj中第i行,其对应的文本图片库中图片序号为再根据该图片序号对应的图片名称和“图片名称-文档编号”索引文件,确定对应的文档库中文档唯一编号d,更新numd=numd+1,其中numd表示num中第d行元素的值,simd表示sim中第d行元素的值;

7-4)令i=i+1,转步骤7-3)重复执行上述步骤,直到i=n;

7-5)令j=j+1,转步骤7-2)重复执行上述步骤,直到j=m;

7-6)计算检索文档与文档库中编号为d(d=1,2,…,k)的文档之间的相似度均值计算方法为:

则检索文档与文档库中所有文档之间的相似度均值矩阵

再基于相似度均值矩阵sim’,更新余弦相似度矩阵c1~cm,并按余弦相似度降序重新排序,实现对检索结果的过滤。

更新余弦相似度矩阵c1~cm的方法为:根据相似度均值矩阵sim’,逐一更新余弦相似度矩阵ca(a=1,2,…,m)中元素更新方法为:其中p是对应的文档库中文档编号,更新后的相似度矩阵记为c1’~cm’,对c1’~cm’中各行,按降序排列;对sim’中元素按降序重新排列,并将降序排列后元素对应的文档编号保存至k×1大小的矩阵a中。

步骤s108、检索结果输出:针对检索文档按段落分割得到的第q(q=1,2,…,m)张文本图片,选取余弦相似度矩阵cq’第1行对应的文本图片库中图片作为输出结果,如图2所示,图中201为检索文档的摘要段落经过分割并转换而成的图片,202为检索输出的相似文本图片,由检索结果可见,本发明的方法具有良好的相似文本检测能力;另外针对检索文档,选取矩阵a第1行对应的文档库中文档作为输出结果。

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