图表转换方法及装置与流程

文档序号:11201390阅读:420来源:国知局
图表转换方法及装置与流程

本发明涉及数字图像处理技术领域,尤其涉及一种图表转换方法及装置。



背景技术:

图表作为数据和信息的主要传递方式,在纸质或者电子出版物上起到了至关重要的作用。相较于文字信息,图表信息具有更加直观、更易于理解等特点。然而,网络或者出版物上的大部分静态图表无法进行交互操作,如数据查看、缩放、平移、旋转等操作,严重的妨碍了用户深入理解图表及获取图表的关键信息。若将静态的图表转换为动态交互式图表,将极大方便用户从多个角度精确理解图表信息。

目前尚未有合适的技术能够做到将静态图表转换为矢量图表,现有的图表矢量化技术多立足于对图表进行描边、二值化及贝塞尔曲线拟合,因为程序缺乏对图表具体内容的理解,不可能在缺少人工干预的情况下完全还原矢量图表的信息。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种图表转换方法及装置,旨在解决现有技术中无法将静态图表转换为矢量图表的技术问题。

为实现上述目的,本发明提供一种图表转换方法,所述方法包括以下步骤:

获取待转换静态图表的第一像素数据;

根据图表转换模型对所述第一像素数据进行识别,获得对应的第一图表描述数据;

根据所述第一图表描述数据生成相应的矢量图表。

优选地,所述获取待转换静态图表的第一像素数据之前,所述方法还包括:

获取若干样本静态图表的第二像素数据以及对应的第二图表描述数据;

通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练;

将训练后的神经网络模型作为所述图表转换模型。

优选地,所述神经网络模型包括:深度卷积神经网络层、双循环神经网络编码层和输出解码层;

相应地,所述通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练,具体包括:

通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征;

通过所述双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;

通过所述输出解码层根据重新组织与序列化后的视觉特征生成对应的预测表述数据;

根据所述第二像素数据和预测表述数据之间的差别对所述神经网络中的各层参数进行调整,以实现对所述神经网络模型进行训练。

优选地,所述深度卷积神经网络层包括:卷积层和池化层;

相应地,所述通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征,具体包括:

通过若干次卷积层和若干次池化层从所述第二像素数据中提取视觉特征。

优选地,所述根据图表转换模型对所述第一像素数据进行识别,获得对应的第一图表描述数据,具体包括:

通过所述图表转换模型中的深度卷积神经网络层从所述第一像素数据中提取视觉特征;

通过所述图表转换模型中的双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;

通过所述图表转换模型中的输出解码层根据重新组织与序列化后的视觉特征生成所述第一图表描述数据。

此外,为实现上述目的,本发明还提供一种图表转换装置,所述装置包括:

第一数据获取模块,用于获取待转换静态图表的第一像素数据;

数据识别模块,用于根据图表转换模型对所述第一像素数据进行识别,获得对应的第一图表描述数据;

图表生成模块,用于根据所述第一图表描述数据生成相应的矢量图表。

优选地,所述装置还包括:

第二数据获取模块,用于获取若干样本静态图表的第二像素数据以及对应的第二图表描述数据;

模型训练模块,用于通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练,将训练后的神经网络模型作为所述图表转换模型。

优选地,所述神经网络模型包括:深度卷积神经网络层、双循环神经网络编码层和输出解码层;

相应地,所述模型训练模块,还用于通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征;通过所述双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;通过所述输出解码层根据重新组织与序列化后的视觉特征生成对应的预测表述数据;根据所述第二像素数据和预测表述数据之间的差别对所述神经网络中的各层参数进行调整,以实现对所述神经网络模型进行训练。

优选地,所述深度卷积神经网络层包括:卷积层和池化层;

相应地,所述模型训练模块,还用于通过若干次卷积层和若干次池化层从所述第二像素数据中提取视觉特征。

优选地,所述数据识别模块,还用于通过所述图表转换模型中的深度卷积神经网络层从所述第一像素数据中提取视觉特征;通过所述图表转换模型中的双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;通过所述图表转换模型中的输出解码层根据重新组织与序列化后的视觉特征生成所述第一图表描述数据。

本发明通过图表转换模型对待转换静态图表的第一像素数据进行识别,获得对应的第一图表描述数据,再根据所述第一图表描述数据生成相应的矢量图表,从而能够将静态图表转换为矢量图表。

附图说明

图1为本发明一种实施例的图表转换方法的流程示意图;

图2为样本静态图表和第二描述数据的示意图;

图3为神经网络模型中各层的结构示意图;

图4为根据图表描述语言生成的矢量图表的示意图;

图5为本发明一种实施例的图表转换装置的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,本发明第一实施例提供一种图表转换方法,所述方法包括:

s10:获取待转换静态图表的第一像素数据;

s20:根据图表转换模型对所述第一像素数据进行识别,获得对应的第一图表描述数据;

s30:根据所述第一图表描述数据生成相应的矢量图表。

本实施例通过图表转换模型对待转换静态图表的第一像素数据进行识别,获得对应的第一图表描述数据,再根据所述第一图表描述数据生成相应的矢量图表,从而能够将静态图表转换为矢量图表。

另外,本实施例还具有以下效果:

1、智能化程度高,本发明基于神经网络和人工智能,编程工作量低,技术上几乎无需涉及计算机图形学知识。

2、对硬件性能无太高要求,在电脑、手机和ar眼镜上都能运行。

3、对单张图表的无特殊要求,可适应模糊、精度低、有噪点、部分扭曲遮挡的图片。

4、处理效果好,通过对原图表进行重绘,可以获得比原图表更佳的视觉效果。

5、转换成矢量图表之后,细节部分可以无限放大无任何失真。

6、交互性强,可以通过交互式图表查看程序对图表进行编辑重绘、数据查看、无损缩放、平移、旋转等操作。

为便于形成所述图表转换模型,本实施例中,步骤s10之前,所述方法还包括:

获取若干样本静态图表的第二像素数据以及对应的第二图表描述数据;

通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练;

将训练后的神经网络模型作为所述图表转换模型。

为保证所述图表转换模型的效果,本实施例中,所述神经网络模型包括:深度卷积神经网络层、双循环神经网络编码层和输出解码层;

相应地,通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练,具体包括:

通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征;

通过所述双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;

通过所述输出解码层根据重新组织与序列化后的视觉特征生成对应的预测表述数据;

根据所述第二像素数据和预测表述数据之间的差别对所述神经网络中的各层参数进行调整,以实现对所述神经网络模型进行训练。

为保证提取视觉特征的效果,本实施例中,所述深度卷积神经网络层包括:卷积层和池化层;

相应地,通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征,具体包括:

通过若干次卷积层和若干次池化层从所述第二像素数据中提取视觉特征。

为便于获取第一图表描述数据,本实例中,步骤s20,具体包括:

通过所述图表转换模型中的深度卷积神经网络层从所述第一像素数据中提取视觉特征;

通过所述图表转换模型中的双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;

通过所述图表转换模型中的输出解码层根据重新组织与序列化后的视觉特征生成所述第一图表描述数据。

下面以具体的实例来说明本发明,但并不对本发明的保护范围进行限定,具体包括以下步骤:

步骤一,准备训练数据,包含样本静态图表的第二像素信息和用于生成样本静态图表的第二描述数据。图表描述数据采用某种约定的json或xml格式,样本静态图表和第二描述数据可参照图2,样本静态图表即对应图2中的“601”,第二描述数据即对应图2中的“602”。

步骤二,建立神经网络模型对数据进行训练。参照图3,所述神经网络模型包括:深度卷积神经网络层(对应图3中的401~403)、双循环神经网络编码层(对应图3中的404)和输出解码层(对应图3中的405~406)。

1、深度卷积神经网络层401~403,卷积神经网络层的主要作用是从静态图片中提取出各种视觉特征,比如各种形状特征(包括边角特征、线条曲直特征)或颜色特征等。

在深度卷积神经网络层里,卷积内核函数h的值通过反向传播的方式逐步训练而得。

深度卷积神经网络层由多层的卷积层和池化层堆叠而成。通过多层堆叠,可以增强神经网络对抽象特征的提取能力。

深度卷积神经网络层的构建分为多个步骤,每个步骤都包含一次或多次卷积操作以及一次池化操作。本实施例公开的卷积神经网络通过如下方式构建:(1),将输入图像归一化为448*448*3(长、宽、颜色通道数)的三维数组,结果为input。(2),将input通过3*3*64的内核进行卷积操作,并通过2*2的内核,2的步长进行池化操作,得到224*224*64的数组,结果为conv1。(3),将conv1通过3*3*192的内核进行卷积操作,并通过2*2的内核,2的步长进行池化操作,得到112*112*192的数组,结果为conv2。(4),将conv2通过3*3*256的内核进行卷积操作,将同样的卷积操作重复4次,然后通过2*2的内核,2的步长进行池化操作,得到56*56*256的数组,结果为conv3。(5),将conv3通过3*3*256的内核进行卷积操作,并通过2*2的内核,2的步长进行池化操作,得到28*28*256的数组,结果为vt。vt即为卷积神经网络的输出结果。

深度卷积神经网络层中,卷积层的计算公式如下:

其中:g为非线性激活函数,用于增强神经网络的表达能力。xmnl为输入值,m为纵向坐标,n为横向坐标,l为卷积通道数的索引值。为卷积内核,i为卷积输出值的横坐标,j为卷积输出值的纵向坐标,k为卷积滤镜的索引值。bl为卷积核函数的偏置值。

深度卷积神经网络层中,池化层的计算公式如下:

其中:g为非线性激活函数,用于增强神经网络的表达能力。xmnl为输入值,m为纵向坐标,n为横向坐标,l为卷积通道数的索引值。为池化内核,i为池化输出值的横坐标,j为池化输出值的纵向坐标。

2、双循环神经网络编码层(rnn)404,循环神经网络的主要作用是对卷积神经网络识别出的各种视觉特征进行重新组织与序列化。一种特殊形式的循环神经叫做长短记忆神经网络(lstm),它克服了通常的rnn不能通过反向传播的方式训练时间戳远早于当前时间戳的参数信息的困难。本实施例使用双向lstm对卷积神经网络的输出数据进行进一步的处理和组织。

双循环神经网络编码层需要将卷积神经网络的输出结果vt作为输入。步骤如下:(1)、将28*28*512的数据分成28组,每组数据为28*256的数组。(2)、每个28*256的数组通过双循环神经网络,得到28*512的数组。(3)、将28个数组重新合并为28*28*512的数组。(4)、将28*28*512的数组转化为784*512的数组(第一维和第二维降维合并),此结果命名为vt′。

循环神经网络的计算公式如下:

it=g(wixxt+wihht-1)

ft=g(wfxxt+wfhht-1)

ot=g(woxxt+wohht-1)

pt=softmax(ht)

其中:g为非线性激活函数,用于增强神经网络的表达能力。h函数和softmax函数为特定形式的非线性激活函数,它们分别是h(x)=tanh(x),xt为循环神经网络的每一个时间步的输入值。ht-1为循环神经网络每一个时间步的隐含层输入值。其他的值比如it,ft,ot,ct均为中间变量,不需预先输入,w为计算中间变量所需的权重值。pt为循环神经网络每一个时间步的输出。为乘积函数。

需要说明的是,循环神经网络的输入值来自卷积神经网络的输出值。卷积神经网络的输出值需要进行矩阵变换,降低一个维度,才能成为循环神经网络的合理输入值。

其中,双循环神经网络编码层的主要机制是,将输入值按照vt正常时序v0到vt输入循环神经网络,得到o0到ot,然后再将输入值按照反向时序vt到v0输入另一个相同结构的循环神经网络,得到o′0到o′t,最后将o和o′的值并联到一起得到输出序列v′t。

3、基于注意力机制的输出解码层405~406,注意力机制(attentionmechanism)的主要作用是配合循环神经网络对卷积神经网络输出的视觉特征进行重组与序列化。如图4所示,当神经网络生成图表描述语言的时候,其每一步的描述语言会在图表上对应于一定的视觉热区,如图4中的“301”所示。根据注意力机制,对a点的描述会涉及a点和坐标轴的信息。注意力机制会按照一定的顺序逐步扫描所有的视觉热区,从而生成对图表的完整语言描述。输出解码层对循环神经网络输出的图片描述信息进行解码,生成人工可读的json或xml描述语言。

基于注意力机制的输出解码层是一个单向的循环神经网络,其输入值是双循环圣经网络编码层的输入值与注意力上下文c的混合向量。主要计算公式如下:

eit=tanh(whht-1+wvv′t)

αit=softmax(eit)

ot=tanh(wc[ht-1,ct])

pt=softmax(woot)

其中ht-1的更新规则按照循环神经网络中的算法进行更新,其中的xt=[pt-1,ot-1]。注意[pt-1,ot-1]代表将两个矩阵按列堆叠到一起形成一个新的矩阵。

基于注意力机制的输出解码层将循环神经网络的输出结果vt作为输入数据。输出解码层使用lstm作为基本的解码单元。输出解码层需要预先设定最大的输出长度,如果输出的数据长度小于最大的长度,需要使用<eos>标识符来标识序列的结尾。

上述模型的输出数据可以用(p0,p1…pt)来表示,每一个时间步都是一个向量,此向量的分量为各种描述词汇出现的概率。跟正确的标记序列(s0,s1…st)相比较,可以得到一个损失函数:

根据此损失函数,可以对构建神经网络模型所需的权重值进行优化。通过大约1000次循环,神经网络的参数会逐步趋向最优值。

步骤三,可在电脑上,利用步骤一准备的训练数据对步骤二建立的神经网络模型进行训练,并将训练结果保存到json或二进制文件中。

可在手机app上,利用步骤三训练的结果对静态图表进行识别,将识别的图表描述数据倒入交互式图表查看程序,可以对图表进行编辑重绘、数据查看、无损缩放、平移、旋转等操作。

可在增强现实ar眼镜上,利用步骤三训练的结果对静态图表进行识别,将识别的图表描述数据倒入交互式图表查看程序,可以对图表进行编辑重绘、数据查看、无损缩放、平移、旋转等操作。

参照图5,本发明第一实施例提供一种图表转换装置,所述装置包括:

第一数据获取模块10,用于获取待转换静态图表的第一像素数据;

数据识别模块20,用于根据图表转换模型对所述第一像素数据进行识别,获得对应的第一图表描述数据;

图表生成模块30,用于根据所述第一图表描述数据生成相应的矢量图表。

为便于形成所述图表转换模型,本实施例中,所述装置还包括:

第二数据获取模块,用于获取若干样本静态图表的第二像素数据以及对应的第二图表描述数据;

模型训练模块,用于通过所述第二像素数据以及对应的第二图表描述数据对神经网络模型进行训练,将训练后的神经网络模型作为所述图表转换模型。

为保证所述图表转换模型的效果,本实施例中,所述神经网络模型包括:深度卷积神经网络层、双循环神经网络编码层和输出解码层;

相应地,所述模型训练模块,还用于通过所述深度卷积神经网络层从所述第二像素数据中提取视觉特征;通过所述双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;通过所述输出解码层根据重新组织与序列化后的视觉特征生成对应的预测表述数据;根据所述第二像素数据和预测表述数据之间的差别对所述神经网络中的各层参数进行调整,以实现对所述神经网络模型进行训练。

为保证提取视觉特征的效果,本实施例中,所述深度卷积神经网络层包括:卷积层和池化层;

相应地,所述模型训练模块,还用于通过若干次卷积层和若干次池化层从所述第二像素数据中提取视觉特征。

为便于获取第一图表描述数据,本实例中,所述数据识别模块,还用于通过所述图表转换模型中的深度卷积神经网络层从所述第一像素数据中提取视觉特征;通过所述图表转换模型中的双循环神经网络编码层对提取的视觉特征进行重新组织与序列化;通过所述图表转换模型中的输出解码层根据重新组织与序列化后的视觉特征生成所述第一图表描述数据。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

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

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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