信息可视化
冯艺东汪国平董士海
(北京大学计算机科学技术系,北京100871)
摘  要  我们处在一个信息爆炸的时代。对繁杂的抽象信息之间的复杂关系进行探索的努力,促使了信息可视化这一崭新科学领域的出现,它结合了科学可视化、人机交互、数据挖掘、图像技术、图形学、认知科学等诸多学科的理论和方法。信息可视化与科学可视化的区别在于,科学可视化的研究对象主要是具有几何属性的科学数据,而信息可视化则主要应用于没有几何属性的抽象信息,揭示信息之间的关系和信息中隐藏的特征。本文对信息可视化的概念、意义、主要问题和技术、研究现状作了综述,并简单介绍了我们正在进行的相关研究工作。
关键词  信息可视化可视化结构科学可视化人机交互知识挖掘
1  什么是信息可视化
可视化是这样一个过程,它将数据信息和知识转化为一种视觉形式,充分利用人们对可视模式快速识别的自然能力[1]。可视化将人脑和现代计算机这两个最强大的信息处理系统联系在一起。有效的可视界面使得我们能够观察、操纵、研究、浏览、探索、过滤、发现、理解大规模数据,并与之方便交互,从而可以极
其有效地发现隐藏在信息内部的特征和规律。在我们这个信息日益丰富的社会,可视化技术研究和应用开发已经从根本上改变了我们表示和理解大型复杂数据的方式。可视化的影响广泛而深入,引导我们获得新的洞察和有效的决策。
可视化作为一个有组织的科学分支起源于美国国家科学基金会(NSF)的报告《科学计算中的可视化》[2]。在那篇报告里,可视化被设想为这样一种工具,它能够处理大型科学数据,并且能够提高科学家观察数据中现象的能力。虽然最初的概念不见得是这样,但是今天我们讨论科学可视化总是基于物理数据,例如人体、地球、分子等等。计算机用来绘制它们某些可观察的属性。虽然这些可视化也可能源于对这些物理空间的抽象,但是这些信息在本质上仍然是几何的,都是基于物理空间的。
近几年来,随着INTERNET的飞速发展,商业数据的大量计算,电子商务的全面展开,以及数据仓库的大规模应用,产生了一个广泛的需求:可视化技术不仅要用于科学数据,而且要作为一个基本工具,应用于抽象信息,揭示信息之间的关系和信息中隐藏的特征。所有上述这些非物理信息,可以通过映射为一种可视化形式来方便观察,而这些信息都没有明显的空间特征。除了如何绘制关心的对象的可视化属性的问题以外,更重要的问题是如何把非空间抽象信息映射为有效的可视化形式[3]。这就是信息可视化的研究范畴。
信息可视化结合了科学可视化、人机交互、数据挖掘、图像技术、图形学、认知科学等诸多学科的理论和方法,逐步发展起来。信息可视化实际上是人和信息之间的一种可视化界
面,因此交互技术在这里显得尤为重要,传统的人机交互技术几乎都可以得到应用。人机交互是研究人、计算机以及它们相互影响的技术[4]。可以说,信息可视化是研究人、计算机表示的信息以及它们相互影响的技术。
“信息可视化”这个术语第一次出现在Robertson,Card和Mackinlay在1989年发表的文章《用于交互性用户界面的认知协处理器》[5]中。该文认为,硬件系统的图形性能和速度已经使得在用户界面中探索3D和动画成为可能。为了充分利用这些性能,新的软件结构必须支持复杂的异步交互智能体(多智能体问题),并且,还应支持流畅的交互动画(动画问题)。该文认为“信息可视化”是对上述两个问题的解决要求最迫切的领域,因此将该项研究在该领域中进行试验,利用2D和3D动画对象来表示信息和信息的结构。此后,信息可视化方面的研究和文献陆续出现,信息可视化作为一个学科逐渐成长起来。在这个领域,人们更加关心的是认知能力提高的方式,而不是图形的质量。交互性和动画成了这些系统更为重要的特征。
Jim Foley在最近发表的关于计算机图形学的“十大尚未解决的关键问题”[6]一文中,将信息可视化列为第三位。Foley认为,随着存储成本的急剧下降,和随之而来的数据仓库技术的日益普遍,信息可视化将会越来越重要。因为计算机能够处理的信息中,只有很少一小部分是具有几何属性的,而剩下的绝大部分都是没有几何属性的抽象信息。我们可以利用数据挖掘技术获取数据之间的复杂关系,而新的信息可视化技术将帮助我们探究这些关系。因此,对创造性信息可视化方式的探索之路,将永无止境。
2  信息可视化的主要科学问题及相关技术
2.1  信息可视化参考模型
图2-1  信息可视化参考模型[3]
我们可以把可视化认为是从数据到可视化形式再到人的感知系统的可调节的映射。如图2-1所示是这些映射的一个图示,它是信息可视化的一个简单参考模型。在该模型中,从原始数据到人,中间要经历一系列数据变换。图中从左到右的每个箭头表示的都可能是一连串的变换。从人到每个变换(从右到左)的箭头,表明用户操作的控制对这些变换的调整。数据变换把原始数据映射为数据表(数据的相关性描述);可视化映射把数据表转换为可视化结构(结合了空间基、标记和图形属性的结构);视图变换通
过定义位置、缩放比例、裁减等图形参数创建可视化结构的视图;用户的交互动作则用来控制这些变换的参数,例如把视图约束到特定的数据范围,或者改变变换的属性等。可视化和它们的控制最终服务于任务。
信息可视化要解决的主要问题就是上述参考模型中的映射、变换及交互控制。
2.2  可视化结构
在信息可视化的参考模型中,其核心是数据表到可视化结构的映射。数据表基于数学关系,可视化结构则基于能够被人的视觉有效处理的图形属性。科学可视化主要集中在物理数据上,与之不同的是,信息可视化的研究主要集中在抽象信息上。在很多情况下,信息本身并不能自动映射到几何物理空间。这个不同意味着许多信息类型没有自然或明显的物理表示形式。因此,一个关键的问题就是发现新的可视化隐喻(可视化结构)来表示信息,并且理解这些隐喻所支持的分析任务。
可视化结构有三个基本的组成部分:空间基,标记,标记的图形属性。在可视化过程中,数据表被映射为可视化结构,可视化结构在一个空间基中用标记和图形属性对信息进行编码。为了得到一个好的可视化结构,这个映射必须能够保持数据的原有信息,并且只有数据表中的数据才能在可视化结构中被表示。要获得一个好的映射并不是一件很容易的事,因为在可视化结构中很容易出现不必要的数据。映射又必须是能够很容易被人感知的。如果一个映射比其他的映射能够更快地被理解,能够表达更多的差别,
或者能够更不容易导致错误,那么这个映射比其他的映射就更有表现力。如何寻求一个好的可视化结构,是信息可视化的一个关键问题。
2.3  视图变换
视图变换交互地改变和增强可视化结构,通过建立图形属性来建立可视化结构的视图,使静态表示变成可视化。可视化存在于时空关系中。视图变换通过利用时间属性能够从可视化中获得比静态情况下更多的信息。有三种常见的视图变换:
1.位置探查位置探查是这样一种视图变换,它利用一个可视化结构中的位置揭示附加的数据信息。
2.视点控制视点控制是利用仿射变换移动(zoom)、摇动(pan)和裁减(clip)视点来进行视图变换。这类变换非常普遍,通过放大可视化结构或改变视点,使得细节可见。另一种视点控制技术叫作overview + detail,同时使用overview和detail两个窗口,overview 窗口提供detail视图的context,并且充当改变detail视图的控制部件,detail窗口用于选定区域的放大或聚焦。
3.变形变形是一种改变可视化结构来生成focus + context视图的可视化变换。在这里,overview和detail被合成了一个可视化结构。可视化空间的物理范围是非常有限的计算机屏幕,相对于可视化空间而言,信息空间几乎是无限的。为了弥补可视化空间和信息空间之间的失衡,增大可视化空间的逻辑范围,数据可视化的概念
就需要用到对可视化空间的变形技术。如果变形能够让用户通过变形感知到更大的未变形的可视化结构,那么这样的变形就是有效的。
2.4  交互和可视化控制
在信息可视化中,交互与从数据映射到可视化形式的变换有关。在信息可视化参考模型中,用户通过操作可视化控制来改变变换过程中的参数,以达到交互的目的。这些控制可以
以单独的用户界面的形式实现(如各种控制按钮或滚动条等),也可以和可视化结构合在一起(如overview + detail)。
很多信息可视化的交互技术在本质上是某种形式的选择方法,通过选择数据表中对象的子集获得当前的可视化结构。这些交互技术可以用来定位数据,揭示数据中的模式,选择变换的参数等,如Details-on-demand技术,Brushing技术等。这些交互技术不仅可以提高用户与信息交互的速度,同时可以避免用户走错方向,解决信息迷途问题。
Furnas在1986年的发表的《通用化鱼眼视图》[7]一文中首次研究了鱼眼视图,这种技术是一种放大某一显示画面中的某块小的局部区域的透镜技术,放大区域的周围退到背景显示,但仍然是可见的。后来有很多人在这项技术的基础上作了很多发展,创造了一系列技术,允许用户观察一个小的中心焦点区域的
同时,保持一个较大周围区域的可见性,这就是focus + context技术的含义所在。这种技术可以将一个信息集合的特定部分的细节视图,通过某种方式和该信息集合的总体结构视图混合在一起;也可以认为是在显示一个大的信息空间(context)的同时,其中的一部分以更细节的方式显示(focus)。
3  信息可视化发展现状和研究热点
信息可视化作为一个新的科学领域,目前绝大多数研究工作都还处在发展新技术和构建一些有意思的新系统方面。同时,已经开始出现一些信息可视化方面的实用工具。
下面介绍几个信息可视化领域当前研究的热点问题:
1.层次信息的可视化
抽象信息之间的关系最普遍的一种就是层次关系,如磁盘目录结构,文档管理,图书分类等。层次关系几乎无处不在,并且,在某些情况下,任意的图都可以转化为层次关系[8]。
层次信息的可视化结构最直观的方式就是树型结构。但是传统的树型结构有一个很大的缺点:当结构的层次增多或者节点增多时,该结构需要占据大量的可视化空间。而计算机屏幕所能够提供的可视化空间非常有限,因此必须通过滚动浏览的方式把握整个层次结构,这对于查某个节点或者获得整个结构的信息非常困难。
图3-1 Cone tree 图3-2  Hyperbolic tree
George G. Robertson等人提出了一种称作cone tree(图3-1)的方法[8]。Cone tree将层次结构在三维空间中均衡排列。层次结构的顶部放置在可视化空间的顶端,每个cone的顶点表示该层结构的顶点,其子节点(三维)均匀排列在该cone的底部。Cone的底的直径随着层次结构的深入逐渐减小,以保证最底层的结构也能在可视化空间中有效表示。每个cone 之间透明遮挡,从而可以保证每个cone可以很容易被感知,还不会妨碍后面的cone。同时佐以旋转、拖动等方便的交互技术,可以很容易实现对复杂层次关系的把握。
Xerox Palo Alto研究中心的用户界面研究组的John Lamping等人提出了一种基于双曲几何的可视化和操纵大型层次结构的focus + context技术,称为Hyperbolic tree[9][10](图3-2)。这种技术将更多的可视化空间给了当前层次结构中当前关注的部分,而同时又能够把整个层次结构显示出来。该技术通过一种规范的算法将层次关系显示在一个双曲平面上,然后将这个双曲平面映射到显示区域中。所选择的映射方式提供了一种鱼眼变形来支持focus和context之间的平滑过渡。Hyperbolic tree通过方便的交互手段很好地解决了层次结构中focus + context之间的平滑过渡问题。目前,这种技术已经有了成熟的产品(Inxight软件公司),用于磁盘目录、网站结构、电子图书馆编目等的可视化。
2.多维信息可视化
我们生活在一个三维物理空间世界中。我们的视觉感知很难脱离前后、左右、上下的三维空间定势。四维信息都很难直观地理解,更何况是更多维的信息。而绝大多数抽象信息又是三维以上的多维信息,如金融信息、股票信息、数据仓库等。因此多维信息的可视化是信息可视化的一个重要目标。
我们之所以能够在二维屏幕上显示三维空间信息,是因为我们的视觉习惯已经在我们的脑海中留下了三维空间的烙印。可以说,我们只能看到三维空间,那么又如何可视化三维以上的多维信息呢?
图3-3  Table lens
哥伦比亚大学计算机系的Steven Feiner和Clifford Beshers提出了一种基于坐标嵌套的多维可视化结构worlds within worlds[11]。输入变量映射到多个轴组成的坐标系统中,整个高维函数通过将一个坐标系嵌套在另一个坐标系中实现可视化。内部坐标系在外部坐标系中的移动,将导致显示曲面的变化,因为这时候曲面的三个变量(分别由外部坐标系的三个轴

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。