一种基于边捆绑的图可视化方法及系统[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910492251.9
(22)申请日 2019.06.06
(71)申请人 山东大学
地址 250061 山东省济南市历下区经十路
17923号
(72)发明人 汪云海 薛明亮 王妍岩 闫心愿
(74)专利代理机构 济南圣达知识产权代理有限
公司 37221
代理人 黄海丽
(51)Int.Cl.
G06T 3/40(2006.01)
(54)发明名称
一种基于边捆绑的图可视化方法及系统
(57)摘要
本发明公开了一种基于边捆绑的图可视化
方法及系统,所述方法包括以下步骤:接收图数
据,获取所述图数据的多个边捆绑可视化结果;
接收用户针对所述多个边捆绑可视化结果选择
的多个感兴趣区域,将所述多个感兴趣区域进行
拼接;针对所述多个感兴趣区域的连接处进行优
化。
本发明能够基于用户的选择融合多个边捆绑
方法的可视化结果,得到满足需求的可视化结
果。
权利要求书2页 说明书6页 附图5页CN 110197460 A 2019.09.03
C N 110197460
A
1.一种基于边捆绑的图可视化方法,其特征在于,包括以下步骤:
接收图数据,获取所述图数据的多个边捆绑可视化结果;
接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域,将所述多个感兴趣区域进行拼接;
针对所述多个感兴趣区域的连接处进行优化。
2.如权利要求1所述的一种基于边捆绑的图可视化方法,其特征在于,所述获取所述图数据的多个边捆绑可视化结果方法包括:
基于多个现有边捆绑方法生成多个边捆绑可视化结果;或
基于现有一个或多个边捆绑方法进行可视化后,经由用户自定义调整得到多个可视化结果。
3.如权利要求1所述的一种基于边捆绑的图可视化方法,其特征在于,将所述多个感兴趣区域进行拼接包括:
将多个结果中感兴趣区域相应的所有的边分别进行重采样,得到多个控制点,用所述多个控制点逼近这条边的形状,并且保证每个结果的同一条边上具有相同的控制点数;
将这些控制点坐标复制到底图上并进行连接,替换掉底图中相应位置的可视化结果,所述地图为用户指定的一个可视化结果。
4.如权利要求1所述的一种基于边捆绑的图可视化方法,其特征在于,针对所述多个感兴趣区域的连接处进行优化采用如下优化公式:
其中,Z表示所有控制点的坐标集合,U表示所有控制点的集合,S表示感兴趣区域内控制点的集合,(l,i)表示边l上的第i个控制点,U\S表示集合U中除去集合S的控制点集合,C 表示所有被感兴趣区域截断的边上所有控制点的集合,z l,i表示边l上的第i个点的待求的坐标,x l,i表示边l上的第i个点的原始坐标,表示求解前边l上的第i个点到第i+1个点的向量,μl,i表示边l上的第i个点对应的拉普拉斯参数。
5.如权利要求4所述的一种基于边捆绑的图可视化方法,其特征在于,所述方法还包括:识别优化结果中距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值的趋势相同的边,并进行调整,增加可视化差异。
6.如权利要求5所述的一种基于边捆绑的图可视化方法,其特征在于,
对于距离小于设定阈值的边和端点,将这条边上距离该端点最近的控制点沿着远离该端点的方向移动设定距离,基于移动后的坐标,采用优化公式重新计算感兴趣区域中相邻控制点之间的向量;
对于距离小于设定阈值的两条边,依次计算所述两条边上的每一对控制点之间的距离,若距离小于设定阈值,将两个控制点分别向远离对方的方向移动;
对于夹角小于设定阈值的趋势相同的两条边,修改所述两条边交叉区域内点的位置,
使得夹角增大。
7.如权利要求6所述的一种基于边捆绑的图可视化方法,其特征在于,
对于距离小于设定阈值的两条边,基于向量约束将所述两条边中距离小于设定阈值的两个控制点分别向远离对方的方向移动:
式中,表示边l上第i个点到边k上第j的点的向量,x k,j表示边k上第j的点,x l,i表示边l上第i个点,r为可调节的移动距离;
对于夹角小于设定阈值的趋势相同的两条边,将每条边上交点两侧的两个控制点连接形成的片段记为交叉片段,将两个交叉片段以交点为中心按照相反的方向旋转,增大该夹角使其接近90度。
8.一种基于边捆绑的图可视化系统,其特征在于,包括:
可视化结果初始化模块,接收图数据,获取所述图数据的多个边捆绑可视化结果;
感兴趣区域选择模块,接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域;
感兴趣区域拼接模块,将所述多个感兴趣区域进行拼接,针对所述多个感兴趣区域的连接处进行优化;
可视化结果优化模块,针对所述多个感兴趣区域的连接处进行优化。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的一种基于边捆绑的图可视化方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的一种基于边捆绑的图可视化方法。
一种基于边捆绑的图可视化方法及系统
技术领域
[0001]本发明属于数据可视化技术领域,尤其涉及一种基于边捆绑的图可视化方法及系统。
背景技术
[0002]本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
[0003]在数据可视化技术中,节点-连接图被广泛应用于交通、物流、网络数据传输、人口迁移等地理信息数据的可视化分析中。
在大规模的节点-连接图中,线与线之间的交错重叠非常严重,会影响用户理解和感知数据中的信息。
可视化领域一般使用线捆绑技术对数据进行简化,降低节点连接图的视觉复杂度,帮助用户进行可视分析。
[0004]已有的边捆绑方法有很多,下面分两个方面进行简单总结:
[0005]1)基于贝塞尔曲线的边弯曲方法
[0006]最早提出的边捆绑方法是分层次的边捆绑算法(HEB)。
这种方法通过构建贝塞尔曲线替代原有的边,将节点连接图中趋势近似的边扭曲成一束,以达到边捆绑的目的。
类似的方法还有基于多层级聚集的边绑定方法 (MINGLE)等等。
[0007]2)基于控制点的控制点移动方法
[0008]现阶段主流的边捆绑算法一般使用控制点来近似表示每条边的形状,然后通过某种方式聚集趋势相同的边上的控制点,以达到边捆绑的目的。
比较著名的有力引导的边捆绑算法(FDEB),基于骨骼的边捆绑算法(SDEB), 还有基于密度对控制点进行移动的边捆绑算法(KDEEB)及其使用快速傅里叶变换进行加速的版本(FFTEB)等等。
[0009]这些已有的边绑定方法一般需要很复杂的黑盒调参才能满足用户需要,而且很难在数据的每一个局部结构中都能得到用户满意的结果。
发明内容
[0010]为克服上述现有技术的不足,本发明提供了一种基于边捆绑的图可视化方法及系统,融合了不同边捆绑技术,能够让用户自由组合不同边捆绑结果中感兴趣的部分,同时能够保证连接处衔接自然平滑,满足美学原则。
[0011]为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
[0012]一种基于边捆绑的图可视化方法,包括以下步骤:
[0013]接收图数据,获取所述图数据的多个边捆绑可视化结果;
[0014]接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域,将所述多个感兴趣区域进行拼接;
[0015]针对所述多个感兴趣区域的连接处进行优化。
[0016]一个或多个实施例提供了一种基于边捆绑的图可视化系统,包括:
[0017]可视化结果初始化模块,接收图数据,获取所述图数据的多个边捆绑可视化结果;
[0018]感兴趣区域选择模块,接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域;
[0019]感兴趣区域拼接模块,将所述多个感兴趣区域进行拼接,针对所述多个感兴趣区域的连接处进行优化;
[0020]可视化结果优化模块,针对所述多个感兴趣区域的连接处进行优化。
[0021]一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现一种基于边捆绑的图可视化方法。
[0022]一个或多个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于边捆绑的图可视化方法。
[0023]以上一个或多个技术方案存在以下有益效果:
[0024]1、本发明的方法将用户认为合理的边绑定结果平滑地拼接在一起,既能得到让用户对数据中每个局部结构都满意的边捆绑结果,又能够使拼接部分平滑过渡,满足美学要求;
[0025]2、本发明解决了传统边绑定算法只能全局调参,不能根据数据中不同局部结构使用不同边绑定方法或不同参数的缺点。
同时,由于用户已知将要拼接的结构具体是什么形状,本发明的方法由传统的黑盒式边捆绑算法转变为用户可见的融合方法,更易于用户把握最终的结果;
附图说明
[0026]构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0027]图1为本发明一个或多个实施例中基于边捆绑的图可视化方法流程图;[0028]图2(a)为本发明一个或多个实施例中待进行可视化的原始图数据;
[0029]图2(b)和图2(c)分别为用户选择不同边捆绑结果中感兴趣结构的示例;[0030]图3为用户直接拼接感兴趣结构得到的结果和基于本发明一个或多个实施例中所述方法拼接得到的结果示意图;
[0031]图4(a)-图4(c)分别为调整距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值的趋势相同的边的示意图;
[0032]图5(a)和图5(b)分别为产生有歧义的边和区分有歧义的边的示意图;
[0033]图6(a)和图6(b)分别为存在夹角过小的交叉边,和区分交叉边的示意图。
具体实施方式
[0034]应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。
除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0035]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。
如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包
括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0036]在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0037]实施例一
[0038]正如背景技术中所述,现有边捆绑方法得到的可视化结果中,难以所有局部结构的可视化结果均获得用户满意,为了获得每个局部结构用户均能够满意的可视化结果,本实施例提供了一种基于边捆绑的图可视化方法,由用户针对各个局部结构选出所有方法中最好的方法进行捆绑,然后拼接起来,得到一个用户认为完美的边绑定结果。
如图1所示,所述方法包括以下步骤:
[0039]步骤1:接收图数据,获取所述图数据的多个边捆绑可视化结果。
[0040]其中,获取多个边捆绑可视化结果可以是基于多个现有边捆绑方法生成的,现有边捆绑方法包括FFTEB、HBEB和SBEB等,在此不做限定,也可以是基于现有边捆绑方法生成后,经由用户自定义调整的得到的,例如,基于现有一种或多种边捆绑算法进行可视化后,用户对可视化结果中边的形状进行调整得到的结果。
[0041]根据待可视化的图数据(original graph),如图2(a)所示,给用户提供一些边捆绑算法得到的结果,图2(b)和图2(c)分别为该图数据对采用FFTEB和SBEB边捆绑方法得到的可视化结果。
[0042]步骤2:接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域,将所述多个感兴趣区域进行拼接。
[0043]用户在两个结果上选出感兴趣的区域,如图2(b)和图2(c)框中所示。
将感兴趣区域进行拼接,具体拼接方法如下:
[0044]将多个结果中感兴趣区域相应的所有的边分别进行重采样,得到多个控制点,用所述多个控制点逼近这条边的形状,并且保证每个结果的同一条边上具有相同的控制点数;
[0045]由用户选择一个可视化结果作为底图,将这些控制点坐标复制到所述底图上并进行连接,替换掉底图中相应位置的可视化结果。
[0046]如图3左图所示,拼接结果由若干个不同边绑定结果组成,框中的部分代表相邻两小段线段的夹角过于尖锐的部分。
一般的边捆绑算法结果比较平滑,不会出现夹角过于尖锐的情况,由此可以看出直接拼接结果是非常突兀的,不够美观。
[0047]步骤3:针对所述多个感兴趣区域的连接处进行优化。
[0048]由于不同的边捆绑结果差异较大,连接处可能会有较大的扭曲。
这会影响用户理解数据,而且也很不美观。
因此,我们需要在保持用户选中结构不发生太大变化的前提下,对结果进行优化。
[0049]针对连接不平滑的情况,我们使用如下优化方程:
[0050]
[0051]其中,z代表最终的优化结果中,每条边上的控制点坐标;x代表用户未选中区域的控制点坐标;d表示用户选中区域的相邻控制点之间的向量。
α,β,θ和μ分别是用户可控制的参数。
Z表示所有控制点的坐标集合,U 表示所有控制点的集合,S表示用户选择区域的控制点的集合,(l,i)表示第l 条线上的第i个控制点,U\S表示所有控制点中去除用户选择区域的控制点之外的集合,z l,i表示第l条线上的第i个点待求的坐标,z l,i-1表示第l条线上的第i-1个点待求的坐标,z l,i+1表示第l条线上的第i+1个点待求的坐标,x l,i表示第l条线上的第i个点的原始坐标,表示求解前第l条线上的第i个点到第l条线上的第i+1个点的向量,μl,i表示第l条线上的第i个点对应的拉普拉斯参数,一般设置为μl,i=||x l,i-x l,i-1||/|| x l,i+1-x l,i-1||,只作用在每条边的第2个点到第n-1个点。
C表示所有被用户选择区域截断的边上所有控制点的集合。
[0052]通过解优化方程,我们可以最大程度上平衡结构保持和拼接结果的平滑程度。
我们使用共轭梯度法解这一方程,得到的结果见图3右图。
我们放大了框中的结果,可以清楚的看到我们的结果过渡更平滑,同时还最大程度上保留了用户感兴趣的结构。
[0053]步骤4:识别优化结果中距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值的趋势相同的边,并进行调整,增加可视化差异。
[0054]改变公式第二项中需要保持的向量,对最终结果进行形状上的微调,使得结果更易于理解,减少会引发用户歧义的部分。
具体分为三种情况:
[0055](1)区分有歧义的边和端点
[0056]如图4中(a)所示,当端点v与边l上的控制点i过近的时候,沿着v到l 的向量方向推动距离D(用户设定大小)到p的位置上,然后用i的新位置计算优化公式中的向量d,最终得到图3的结果。
图4中的蓝框部分提供了两个实际例子:在图4(a)中,框中的点与很多相邻的边重合,用户很难分辨到底哪些边与这些端点有关,哪些边只是相邻。
应用了我们的方法之后,可以得到图4(b)框中的结果,可以看出应用我们的方法之后用户就能轻易分辨端点与边的关系了。
[0057](2)减少歧义边
[0058]如图4(b)所示,当两条线k,l重叠时,用户可能不能区分它们是交叉还是重叠。
当用户希望搞清楚它们关系的时候,我们计算每一对k,l上的控制点,当他们的距离小于阈值时,加入如下向量约束使其分离:
[0059]
[0060]该向量约束使得两个控制点分别向远离对方的方向移动,移动的距离为用户可调节的参数r,式中,表示第l条边上第i个点到第k条边上第j的点的向量,x k,j表示第k条边上第j的点,x l,i表示第l条边上第i个点。
[0061]图5中的两个虚线框提供了两个实际例子:可以看到图5(a)的两个虚线框中的边被绑定在一起后会产生歧义,在加入向量约束后得到的结果见图 5(b)。
可以看到图5(b)的框中,边与边之间的关系可以更轻易地被区分出来。
[0062](3)加大过小的交叉角,区分趋势相同的边
[0063]如图4(c)所示,若两条边k,l夹角过小,影响用户分辨两条边的趋势,我们可以将
交叉区域中l边上的片段(i,i+1)和k边上的片段(j,j+1)的向量方向按如下公式修改:
[0064]
[0065]
[0066]式中,表示第l条边上第i个点到第l条边上第i+1的点的向量,表示第k条边上第i个点到第k条边上第i+1的点的向量,x l,i表示第l 条边上第i个点,x l,i+1表示第l条边上第i+1个点,x k,j表示第k条边上第j 的点,x k,j+1表示第k条边上第j+1的点,α表示两条边k,l的夹角。
也即将最优化方程中第二项中的向量d的方向进行旋转,使夹角接近90度,从而达到加大交叉角的目的。
在实际应用中,用户如果希望看清某些线的趋势,不希望周围与其相交且夹角过小的边影响用户的可是分析,可以只旋转周围不相关的边,保留主干上的边的趋势。
图6是一个实际例子:在图 6(a)中,图中的直线为一束用户选出的主干,通过计算夹角可以找出与主干过于接近的交叉边,应用我们的约束公式后可以改变它们的局部方向,使用户更容易分辨边的趋势。
结果见图6(b)。
在图6(b)中我们可以看出,主干与周围的趋势差别更加鲜明,方便用户观察主干的结构。
[0067]本实施例的所述方法可以通过主流的可视化编程语言进行实现。
由于解最优化方程速度较慢,可以使用CUDA编写GPU并行程序进行加速。
通过测试证明了本发明能较好地帮助用户融合不同的边捆绑结果,给用户提供了更好的边捆绑方案,能让用户更好地理解数据。
[0068]实施例二
[0069]本实施例的目的是提供一种基于边捆绑的图可视化系统。
[0070]为了实现上述目的,本实施例提供了一种基于边捆绑的图可视化系统,包括:[0071]可视化结果初始化模块,接收图数据,获取所述图数据的多个边捆绑可视化结果;[0072]感兴趣区域选择模块,接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域;
[0073]感兴趣区域拼接模块,将所述多个感兴趣区域进行拼接;
[0074]可视化结果优化模块,针对所述多个感兴趣区域的连接处进行优化;以及,识别优化结果中距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值的趋势相同的边,并进行调整,增加可视化差异。
[0075]实施例三
[0076]本实施例的目的是提供一种电子设备。
[0077]为了实现上述目的,本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤,包括:
[0078]接收图数据,获取所述图数据的多个边捆绑可视化结果;
[0079]接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域,将所述多个感兴趣区域进行拼接;
[0080]针对所述多个感兴趣区域的连接处进行优化;
[0081]识别优化结果中距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值
的趋势相同的边,并进行调整,增加可视化差异。
[0082]实施例四
[0083]本实施例的目的是提供一种计算机可读存储介质。
[0084]为了实现上述目的,本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,,该程序被处理器执行时执行以下步骤:
[0085]接收图数据,获取所述图数据的多个边捆绑可视化结果;
[0086]接收用户针对所述多个边捆绑可视化结果选择的多个感兴趣区域,将所述多个感兴趣区域进行拼接;
[0087]针对所述多个感兴趣区域的连接处进行优化;
[0088]识别优化结果中距离小于设定阈值的边和端点、边和边,以及夹角小于设定阈值的趋势相同的边,并进行调整,增加可视化差异。
[0089]以上实施例二、三和四中涉及的各步骤与实施例一相对应,具体实施方式可参见实施例一的相关说明部分。
术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
[0090]以上一个或多个实施例具有以下技术效果:
[0091]将用户认为合理的边绑定结果平滑地拼接在一起,既能得到让用户对数据中每个局部结构都满意的边捆绑结果,又能够使拼接部分平滑过渡,满足美学要求;
[0092]解决了传统边绑定算法只能全局调参,不能根据数据中不同局部结构使用不同边绑定方法或不同参数的缺点。
同时,由于用户已知将要拼接的结构具体是什么形状,本发明的方法由传统的黑盒式边捆绑算法转变为用户可见的融合方法,更易于用户把握最终的结果;
[0093]通过加入提高边捆绑结果可读性的优化步骤,能帮助用户更好地理解最终的边捆绑结果。
[0094]本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
本发明不限制于任何特定的硬件和软件的结合。
[0095]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。
凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0096]上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。