基于深度学习神经网络的图表识别方法、装置及设备与流程

文档序号:16899593发布日期:2019-02-19 17:50阅读:310来源:国知局
基于深度学习神经网络的图表识别方法、装置及设备与流程

本发明涉及计算机深度学习技术领域,尤其涉及一种基于深度学习神经网络的图表识别方法、装置及设备。



背景技术:

研报,是指证券公司的研究人员对证券及相关产品的价值,或者影响其市场价格的因素执行分析,所作出的研究报告。其包含大量证券信息。图表作为表格,其信息的呈现更为直观,数据信息易被读取。所以如何快速从研报中定位出图表,是目前公司主要的研究方向之一。

深度学习作为目前计算机届最流行的话题之一,主要应用于待识别图片的分类,定位,感知等问题。本文基于深度学习的感知部分,通过对待识别图片中表格的部分感知,可以有效的识别出待识别图片中图表的位置区域。

卷积神经网络(convolutionalneuralnetwork,cnn)是近年发展起来,并引起广泛重视的一种高效识别方法。目前,卷积神经网络已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。

卷积神经网络结构中包括多个卷积层,每个卷积层上设置有多个神经元,每个神经元的输入与前一个卷积层的局部接受域(localreceptivefiled)相连,通过对前一个卷积层的局部接受域的数据执行卷积运算,以提取该局部接受域的特征,一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;然后,通过求局部平均(也称池化处理)与二次特征提取执行特征映射,得到特征信息;该特征信息输出到下一个卷积层继续执行处理,直到到达最后一层(输出层),从而得到最终输出结果。

通常的,一个用于识别的卷积神经网络计算模型包括卷积层、池化层、全连接层以及后续的分类器。通过对已有的样本数据的训练,能够获得较好的卷积神经网络计算模型,当需要识别新的目标时,只需要将目标的数据输入计算模型,就能够实现对新的目标的识别。

虽然卷积神经网络在现有技术中被广泛用于待识别图片的识别因此,如何利用基于深度学习的卷积神经网络提取研报中的图表在该技术领域还是很少有人涉及。



技术实现要素:

针对上述背景技术中存在的一些弊端,本发明公开的一个方面为提供一种基于深度学习神经网络的图表识别方法、装置及设备的技术方案,用于解决研报中图表数据的自动化识别问题。

作为本发明公开的第一方面,本发明公开了一种基于深度学习神经网络的图表识别方法,所述方法包括:

获取待识别图片,将所述待识别图片导入神经网络单元;

所述神经网络单元对所述待识别图片执行多次卷积,识别所述待识别图片中的图表的位置区域;

所述神经网络单元输出识别图片,所述识别图片显示其识别的图表的区域。

作为优选之一,所述神经网络单元对所述待识别图片执行多次卷积,识别所述待识别图片中包含的图表包括:

所述神经网络包含6层网络层,每一个所述网络层包含基于resent的bottleneck结构的卷积单元,其中,所述bottleneck结构的卷积单元中第二个卷积层为空洞卷积层;

所述第1层网络层包括卷积单元与maxpooling单元;

所述第2层至第5层网络层均包括卷积单元;

所述第6层网络层包括卷积单元与还原单元;

所述待识别图片执行等比例缩放并转化为源图像矩阵导入所述神经网络;

所述源图像矩阵导入所述神经网络的第1层网络层,在所述第1层网络层的卷积单元执行信道拓展的卷积操作,然后在所述第1层网络层的所述maxpooling单元执行最大池化操作,获取第1输出矩阵;

将所述第1输出矩阵导入所述神经网络的第2层网络层,在所述第2层网络层的卷积单元执行卷积操作,获取第2输出矩阵;

将所述第2输出矩阵执行downsample信道降维操作;

将执行信道降维操作的第2输出矩阵导入所述神经网络的第3层网络层,在所述第3层网络层的卷积单元执行卷积操作,获取第3输出矩阵;

将所述第3输出矩阵执行downsample信道降维操作;

将执行信道降维操作的第3输出矩阵导入所述神经网络的第4层网络层,在所述第4层网络层的卷积单元执行卷积操作,获取第4输出矩阵;

将所述第4输出矩阵执行downsample信道降维操作;

将执行信道降维操作的第4输出矩阵导入所述神经网络的第5层网络层,在所述第5层网络层的卷积单元执行卷积操作,获取第5输出矩阵;

将所述第5输出矩阵导入所述神经网络的第6层网络层,在所述神经网络的第6层网络层的所述卷积单元执行多次预设padding参数的空洞卷积操作,对所述第5输出矩阵执行信道拓展处理;所述信道拓展后的第5输出矩阵利用conv2d卷积层对信道执行降维,获取第6输出矩阵;所述还原单元对所述第6输出矩阵执行上采样获取采样数据,将采样数据还原成识别图片,所述识别图片显示所述识别的图表的区域。

作为优选之一,所述在所述第1层网络层的所述卷积层执行信道拓展的卷积操作包括:

在所述第1层网络层的卷积单元执行3信道拓展到64信道的卷积操作。

作为优选之一,所述在所述第2层网络层的卷积单元执行卷积操作包括:

在所述第2层网络层的卷积层执行3次64信道的卷积操作。

作为优选之一,所述在所述第3层网络层的卷积单元执行卷积操作包括:

在所述第3层网络层的卷积层执行4次128信道的卷积操作。

作为优选之一,所述在所述第4层网络层的卷积单元执行卷积操作包括:

在所述第4层网络层的卷积层执行6次256信道的卷积操作。

作为优选之一,所述在所述第5层网络层的卷积单元执行卷积操作包括:

在所述第5层网络层的卷积层执行3次512信道的卷积操作。

作为优选之一,所述在所述神经网络的第6层网络层的所述卷积单元执行多次预设padding参数的空洞卷积操作,对所述第5输出矩阵执行信道拓展处理;所述信道拓展后的第5输出矩阵利用conv2d卷积层对信道执行降维,获取第6输出矩阵包括:

所述卷积单元分别执行4次预设padding参数为6、12、18、24的空洞卷积操作,对所述第5输出矩阵的信道由512拓展至2048;所述拓展后的2048信道的第5输出矩阵利用conv2d卷积层执行降维,由2048信道降维至1信道,作为所述第6输出矩阵。

作为本发明公开的第二方面,一种基于深度学习神经网络的图表识别装置,所述装置包括:

待识别图片单元,用于对待识别图片执行等比例缩放并转换为源图像矩阵,供所述神经网络单元调用;

神经网络单元,用于对所获取的源图像矩阵执行数据处理,识别所述待识别图片的图表的区域,并生成识别图;

其中,所述神经单元包含6层网络层,每一层网络层包含基于resent的bottleneck结构的卷积单元,其中,所述bottleneck结构的卷积单元中第二个卷积层为空洞卷积层;

所述第1层网络层包括卷积单元与maxpooling单元组成,用于获取源图像矩阵执行数据处理,获取第1输出矩阵;

所述第2层至第5层网络层均包括卷积单元,分别用于获取上一个网络层输出的输出矩阵执行数据处理,生成另一输出矩阵,供下一个网络层调用;

其中,所述第2层至第5层网络层中间还包括降维单元,用于对上一个网络层的输出矩阵执行downsample信道降维操作,并输出执行信道降维操作的所述上一个网络层的输出矩阵;

所述第6层网络层包括卷积单元与还原单元,用于根据上一个网络层的输出矩阵通过卷积单元执行4次预设padding参数为6、12、18、24的空洞卷积操作执行信道的拓展,由512信道拓展至2048信道;随后利用conv2d卷积层执行信道的降维,将信道由2048降至1,生成另一个输出矩阵,所述还原单元根据所述另一个输出矩阵执行上采样操作,还原、生成识别图。

作为本发明公开的第三个方面,一种基于深度学习神经网络的图表识别设备,所述设备包括:存储器及处理器,所述存储器用于存储指令,所述指令用于控制所述处理器执行所述第一方面及其优选所述的方法。

针对本发明所公开的一个方面提供的基于深度学习神经网络的图表自动识别、提取方案,其有益效果为:

1.能够自动识别研报中的图表的位置区域,并执行标注,便于后续对所标注的图表执行数据提取;

2.能够基于样本的深度学习,不断完善识别过程,提高自动识别正确率;

3.可拓展至多种不同图表的分别定位。

附图说明

图1所示为本发明公开的一个实施例一的方法流程图;

图2所示为本发明公开的一个实施例一的待识别图片;

图3所示为本发明公开的一个实施例一的结果对比图片;

图4所示为本发明公开的一个实施例一的bottleneck结构示意图;

图5所示为本发明公开的一个实施例一的单张图片识别数据转换示意图;

图6所示为本发明公开的一个实施例一的识别图片;

图7所示为本发明公开的一个实施例一的8张图片识别数据转换示意图;

图8所示为本发明公开的一个实施例二的装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案执行清楚、完整地描述。显然,所描述的实施例是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明公开的一个方面为一种基于深度学习神经网络的图表识别方法,其所述的神经网络主要使用deeplabv2网络。deeplabv2基于残差神经网络(residualnetwork)和空洞卷积(dilatedconvolutions),将图片经过多次卷积之后提取其主要特征,再用上采样(upsample)的方式还原到原图大小。其为目前世界上处理感知问题较为成熟的方法之一。因本文处理的问题较为简单,只有图表区域和非图表区域两种输出,故可以减少一定网络层数。

如图1所示,所述方法步骤如下:

步骤101,首先获取待识别图片(如图2),将所述待识别图片导入神经网络单元。

如图2所示,研报中会包含多个表格,本发明的目的就是准确识别图片中的图表的位置区域、范围,从而进一步的针对所识别的图表的区域、范围执行图表数据提取。

如图3所示,图3为结合研报中的具体图表的区域、范围生成的二值化的结果对比图片,用于同神经网络所输出的识别图片执行效果比较,并便于对神经网络系统的深度学习程度执行控制。

所述结果对比图片的生成方法为:通过矢量图的方式对待识别图片的执行标注,得到其目标坐标。如图2所示的待识别图片,其通过矢量的方式获取其目标坐标为:

2018-04-2715:07:27|./sample/6011515328013.png,0,148,889,435

2018-04-2715:07:27|./sample/6011515328013.png,0,497,889,784

其待识别图片的名称后四位坐标为目标图表的四个顶点。获得四个顶点后,将该区域(即待识别区片的图表区域)内所有值填充为1,区域外值填充为0,得到如图3所示的结果对比图片。

所述神经网络单元对所述待识别图片执行多次卷积,识别所述待识别图片中的图表的位置区域。

所述神经网络包含6层网络层,每一个所述网络层包含基于resent的bottleneck结构的卷积单元。其中第1层网络层主要包括卷积单元和maxpooling单元。第2层网络层至第5层网络层均包括卷积单元。其中,第2层网络层至第5层网络层的卷积单元的信道分别为64,128,256,512,且每层分别包含3,4,6,3个bottleneck结构的卷积单元,层与层之间通过downsample执行信道降维。第6层网络层也包括卷积单元和还原单元,所述卷积单元对信道执行拓展和降维,所述还原单元根据最终的输出执行采样、还原出识别图片。

其中,单个bottleneck结构为三层的卷积网络,在其第二层为空洞卷积层,中间层信道为其他层的四分之一,以减少网络参数个数。其每层均采用conv+bn+relu结构。如图4所示,所述bottleneck结构的卷积单元中依次包含“1x1conv”-“3x3conv”-“1x1conv”三个卷积层及3个relu激活单元,其中每个卷积层之间嵌入有relu激活单元,所述relu激活单元对上一个卷积层的输出执行线性操作,并输出至下一个卷积层。其中第二个卷积层“3x3conv”为dilationconv,使其卷积层可以获得更大感知域。

如图4所示,所述bottleneck结构的卷积单元中,当输入x(即所述待识别图片的源图像矩阵)依次经过所述“1x1conv”-“3x3conv”-“1x1conv”三个卷积层及卷积层之间的2个relu激活单元后输出为f(x),将h(x)=f(x)+x再导入一个relu激活单元执行线性操作,即为一个完整的卷积操作过程。

现结合整个神经网络对所述图表识别过程执行描述,如图5所示:

步骤102,将所述待识别图片执行等比例缩放并转化为源图像矩阵导入所述神经网络的第1层网络层。如图2所示的待识别图片的原图大小为909*1287,对其执行接近于4倍的等比例缩放,缩放过后大小为224*320(即所述源图像矩阵)。待识别图片包含rgb三个通道则所输入为x=3*224*320。

所述第1层网络层由卷积单元与maxpooling(最大池化)单元组成,所述源图像矩阵导入所述神经网络的第1层网络层,在所述第1层网络层的卷积单元执行3信道拓展至64信道的卷积操作,然后在所述第1层网络层的所述maxpooling单元执行最大池化操作,获取第1输出矩阵:3*224*320;

步骤103,将所述第1输出矩阵导入所述神经网络的第2层网络层,在所述第2层网络层的卷积单元执行3次64信道的卷积操作,获取第2输出矩阵:64*112*160;

将所述第2输出矩阵执行downsample(下采样)信道降维操作以调整channel个数,所述执行信道降维操作的第2输出矩阵:128*56*80;

步骤104,将执行信道降维操作的第2输出矩阵导入所述神经网络的第3层网络层,在所述第3层网络层的卷积单元执行4次128信道的卷积操作,获取第3输出矩阵:128*56*80;

将所述第3输出矩阵执行downsample信道降维操作以调整channel个数,所述执行信道降维操作的第3输出矩阵:256*28*40;

步骤105,将执行信道降维操作的第3输出矩阵导入所述神经网络的第4层网络层,在所述第4层网络层的卷积单元执行6次256信道的卷积操作,获取第4输出矩阵:256*28*40;

将所述第4输出矩阵执行downsample信道降维操作以调整channel个数,所述执行信道降维操作的第4输出矩阵:512*14*20;

步骤106,将执行信道降维操作的第4输出矩阵导入所述神经网络的第5层网络层,在所述第5层网络层的卷积单元执行3次512信道的卷积操作,获取第5输出矩阵:512*14*20;

步骤107,将所述第5输出矩阵导入所述神经网络的第6层网络层,在所述神经网络的第6层网络层的所述膨胀单元执行padding(填充像素,所述填充像素操作可解决执行卷积操作使图片变小的缺点)操作,对所述第5输出矩阵分别执行4次预设padding参数为6,12,18,24的空洞卷积操作,将第5输出矩阵的512信道拓展到2048信道;然后利用conv2d卷积层将所述2014信道降维至1信道,从而获取第6输出矩阵:1*224*320。

所述神经网络的第6层网络层的还原单元对所述第6输出矩阵执行上采样操作,获取采样数据,通过bilinearupsampling将采样数据还原成识别图片。所述识别图片显示所述识别的图表的区域。所述还原过程为将采样数据的结果值执行0,1化。通过每个像素点之间的对比每个值的crossentropy差,计算差值和准确率。通过不断降低差值,提高准确率,得到最终结果与目标图类似。再将结果图还原,从而得到图表坐标。

步骤108所述神经网络单元输出识别图片,所述识别图片显示其识别的图表的区域。

如图6所示,图6为经神经网络处理、还原后输出的识别图片,结合图3执行对比,可以发现本方法可较为准确的识别待识别图片中图表的位置区域。依据图6所示的识别的图表的位置区域对应的图表坐标便可对应的获取待识别图片中的图表,进而获取其图表中的数据。将识别图片和结果对比图片执行对比,通过不断修正网络参数,使得神经网络能够更加精准的判断出图表的位置。经测试,其最终网络训练准确率达到94%。

利用上述方法多次训练所述神经网络系统,基于深度学习可不断获取准确度更高的识别图片,并且可对一些复杂的图片执行识别。

进一步,为了加快训练进度,可以每次输入8张随机的待识别图片执行训练。依照上述方法步骤执行识别训练。如图7所示,其输入为8*3*224*320,输入第1层网络层;第1输出矩阵为:8*3*224*320,降维为8*64*112*160输入第2层网络层;第2输出矩阵为:8*64*112*160,降维为8*128*56*80输入第3层网络层;第3输出矩阵为:8*128*56*80,降维为8*256*28*40输入第4层网络层;第4输出矩阵为:8*256*28*40,降维为8*512*14*20输入第5层网络层;第5输出矩阵为:8*512*14*20,输入第6层网络层,最终输出为8*1*224*320。

实施例二

本发明还公开了另一个方面为一种基于深度学习神经网络的图表识别装置,如图8所示,所述装置包括:

待识别图片单元201,用于对待识别图片执行等比例缩放并转换为源图像矩阵,供所述神经网络单元调用;

神经网络单元202,用于对所获取的源图像矩阵执行数据处理,识别所述待识别图片的图表的区域,并生成识别图;

其中,所述神经单元包含6层网络层,每一层网络层包含基于resent的bottleneck结构的卷积单元3,其中,所述bottleneck结构的卷积单元中第二个卷积层为dilationconv层(空洞卷积);

所述第1层网络层2021包括卷积单元3与maxpooling单元4组成,用于获取源图像矩阵执行数据处理,获取第1输出矩阵;

所述第2层网络层2022至第5层网络层2025均包括卷积单元3,分别用于获取上一个网络层输出的输出矩阵执行数据处理,生成另一输出矩阵,供下一个网络层调用;

其中,所述第2层网络层2022至第5层网络层2025中间还包括降维单元5,用于对上一个网络层的输出矩阵执行downsample信道降维操作,并输出执行信道降维操作的所述上一个网络层的输出矩阵;

所述第6层网络层2026包括卷积单元3与还原单元6,用于根据上一个网络层的输出矩阵通过卷积单元3执行预设padding参数的空洞卷积操作,将所述上一个网络层的输出矩阵的信道执行拓展、降维,生成另一个输出矩阵,所述还原单元6根据所述另一个输出矩阵执行上采样操作,还原、生成识别图。

实施例三

本发明公开的另一个方面为一种基于深度学习神经网络的图表识别设备,所述设备包括:存储器及处理器,所述存储器用于存储指令,所述指令用于控制所述处理器执行本发明所公开的作为一个方面的一种基于深度学习神经网络的图表识别方法及其本领域技术人员根据所述方法不经过创造性劳动而可获得的相类似的方法。

对于设备实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所描述的设备实施例仅仅是示意性的,可以是设计成一体设备,也可以是组合成一套设备,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件和必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明执行了详细的说明,本领域的普通技术人员其依然可以对前述各实施例所记载的技术方案执行修改,或者对其中部分技术特征执行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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