刘铭崴,朱 庆,朱 军,冯 斌,李 赟,张骏骁,付 萧,张鹏程,杨卫军,宁新稳,3,徐婉妍
1. 西南交通大学地球科学与环境工程学院,四川 成都 611756; 2. 广州市城市规划勘测设计研究院,广东 广州 510060; 3. 中国铁路设计集团有限公司,天津 300251; 4. 荔浦县国土资源局,广西 桂林 546600
与传统空间信息系统主要处理物理空间的点线面体矢量数据与相关的属性数据相比,新一代空间信息系统处理的数据则具有典型的多模态特征。多模态时空数据充分刻画了人机物三元空间中“大到宇宙,小到尘埃”的多粒度时空对象从诞生到消亡全生命周期中的位置、几何、行为,以及语义关联关系等全息特征信息,对其进行描述、诊断和预测等多层次可视分析成为感知、认知与控制人机物三元世界的重要途径[1-2]。多模态时空数据包括:真实感的精细几何、纹理与材质,视频、实景照片等;非真实感的计算与模拟结果数据、抽象表达的符号等,这些非结构化且稀疏的数据为存储、计算及绘制带来了巨大挑战。同时在多模态时空数据可视化应用中,大规模用户可以使用多样化可视化交互设备(如 PC、手机、HoloLens等)高并发的接入可视化服务,这些用户拥有不同的专业背景,具有不同重量级的分析与展示任务,对多模态时空数据的兴趣程度、抽象程度和细节层次千差万别,既有宏观格局呈现,也有微观结构表达,还有人机物三元空间复杂交织的关联关系。为了避免信息过载与信息过度抽象,亟需可视化与模型计算的有机耦合,从而自适应地动态构建符合人类认知规律的可视化场景[3-7]。现有的空间信息可视化方法以数据为中心,主要面向单一的高性能展示任务,无法同时满足多模态时空数据复杂而多样化的可视化应用需求,因此对网络环境下多模态时空大数据的多样化可视化任务进行建模,并在语义层面构建规范统一的形式化描述模型,已经成为新一代空间信息系统和时空大数据处理面临的紧迫需求。
现有研究中根据对可视化任务分解情况与任务间关联关系,可以将信息领域可视化任务模型按照:低层级、高层级及多层级三类进行划分[8-10]。低层级可视化任务模型中,按照对可视化任务的关注点不同主要分为两类:第1类主要关注可视分析方法,典型的内容有分类、聚类、排序、对比、关联等[8,11];第2类则主要关注可视化分析应用过程中数据处理方式,典型的内容有浏览、识别、编码、抽象/具象、过滤等[12-13]。高层级可视化任务模型描述主要关注可视分析阶段的差异,典型内容包括:数据汇集、数据浏览、数据分析等[14]。多层级可视化任务模型的出发点是对任务间的耦合关系进行统一的描述,典型内容包括:可视化目的、可视化方法、可视化内容、可视化时间、可视化空间、可视化用户等[10,15-16]。表1为各类可视化任务模型的分类依据及优缺点。
表1 可视化任务分类
多模态时空数据可视化包含了一系列数据操作、模型计算及交互探索任务,场景数据操作任务需要高效率数据组织与管理,时空关联分析与过程模拟等模型演算任务需要依赖有效的分析模型和高性能计算,地理知识归纳与检验等可视化探索任务需要高交互性人机交互环境,而现有的可视化任务模型主要以数据为中心,难以满足可视化任务多样化且高并发的需求,需要面向多模态时空数据多样化可视化应用需求,发展协同存储、计算及绘制资源的多层次可视化任务模型。本文按照低层级的展示性可视化任务、高层级的分析性可视化任务及多层级的探索性可视化任务3个层次,建立新一代空间信息系统多层次可视化任务模型,描述了不同任务的主要驱动力和时空信息需求,刻画了任务需求与存算绘资源的依赖关系。
人们对多模态时空数据的可视化需求包括从数据浏览,到数据分析再到知识获取等多层次需求[17-18]。首先对多模态时空数据进行展示性可视化,构建可感知的“地理世界”,进一步通过各种分析与模拟构建增强的“地理世界”,在此基础上,通过各种人机交互进行规律和知识的探索与发现,构建认知的“地理世界”[19]。由此可见,人类时空认知的基本需求决定了多模态时空数据可视化任务。包括3个基本层次:展示性可视化任务(taskV)、分析性可视化任务(taskA)及探索性可视化任务(taskE)[20-22]。如图1所示,多层次可视化任务模型(task_model)可从多模态时空数据(data)、分析计算模型(model)、人机交互(interaction)、绘制(render)4个维度形式化描述为
task=〈data,model,interaction,render〉
task_model=〈taskV,taskA,taskE〉
taskV∈taskA∈taskE
图1 多模态时空数据多层次可视化任务模型Fig.1 Multi-level visualization task model for multi-modal spatio-temporal data
展示性可视化任务主要以多模态时空数据、信息和知识的高效表达与传递为基本目标,重点包括离散-连续、动-静、真实感-抽象、精细-概略场景相宜的自适应表达,以及与真实场景高度融合的协同可视化。其形式化定义为taskV=〈data,render〉。展示性可视化任务以数据为驱动,其特征任务为场景数据存储管理调度与场景绘制。场景数据存储管理调度为处理层任务,以高效的数据I/O为目标;场景绘制为展示层任务,以高性能的场景绘制为目标。展示性可视化任务从数据处理层跃迁到数据展示层的过程是数据到图形图像的过程,依赖的核心技术为实时绘制。
分析性可视化任务旨在表达通过复杂计算分析所获取的多模态时空数据中所隐含的信息,突出数据中所包含的特征与关联关系,并以增强现实场景形式进行展现。典型的应用包括实时计算与近实时模拟结果的动态可视化、空间格局与分布模式可视化、符号化与真实场景融合可视化等。其形式化定义为:taskA=〈data,model,render〉。分析性可视化任务由数据和模型协同驱动,在展示性可视化任务基础上,以场景动态生成和增强现实可视化任务为特征任务。场景动态生成任务为处理层任务,以分析模拟计算为主;增强现实可视化任务为展示层任务,以在基础场景中叠加分析计算信息,从而实现增强现实场景的动态构建为目标。分析性可视化任务从数据处理层跃迁到数据展示层的过程是数据到信息的过程,依赖的核心技术为分析模型计算。
探索性可视化任务基于多通道人机交互界面,通过场景中特定对象聚焦、变形、选择、突出和简化等直接对增强现实场景的探索性调整操作,实现数据、人脑、机器智能和应用场景4方面的有机耦合,以支持假设验证、知识归纳和推理论断等深度关联分析。典型的应用包括适合复杂环境的多机多用户协同式交互、位置敏感的新型人机界面和多模态时空数据的可视化筛选、映射和布局。其形式化定义为:taskE=〈data,model,interaction,render〉。探索性可视化任务在模型和数据驱动的基础上引入人机交互驱动,以语义视觉变量调整和假设推理为特征任务为特征任务。语义视觉变量调整为处理层任务,以场景数据操作为主;假设推理为展示层任务,其以人机协同交互为主。探索性可视化任务从数据处理层跃迁到数据展示层的过程是数据到知识的过程,依赖的核心技术为场景实时交互。
在各个层次任务中,数据处理层任务依赖的是数据的I/O、计算及同步更新,即这类任务对存储和计算资源的依赖比较高,在当前主流的Client/Sever(C/S)、Browser/Server(B/S),以及Client/Cloud(C/C)架构中,更多地在具有高性能计算与高吞吐能力的服务端进行处理;数据展示层任务需要对场景进行高性能渲染以及对交互的实时响应,其对绘制以及网络资源依赖较高,这类任务主要以客户端处理为主,必要时需要通过靠近客户端的边缘域(edge side)服务器协同处理[23-24]。
针对多模态时空数据与多样化可视化环境的特点,根据展示性、分析性以及探索性多层次可视化任务需求,设计提出新一代空间信息系统的自适应可视化引擎。首先介绍任务感知的自适应可视化机制,然后介绍自适应可视化引擎的功能架构。
任务感知的自适应可视化以多层次可视化任务模型为依据,根据不同层次可视化任务的特点,自适应地适配多粒度对象场景数据,以及优化调度存储、绘制与计算资源,最优化满足多样化可视化应用需求。多样化客户端与云中心或边缘服务端的数据请求被分为3种类型,分别是实时绘制场景数据请求、场景分析操作请求及场景交互请求。服务端接收到来自客户端的3类请求后将其对应于多层次可视化任务模型中展示、分析与探索3个层次的可视化任务,并根据不同层次任务时空信息需求及其可视化表达驱动力进行数据与资源的协同调度(图2)。
图2 任务感知的自适应可视化机制Fig.2 Flow of task-aware and adaptive visualization engine
任务感知的自适应可视化过程描述如下:服务端(云中心和边缘域)接收到实时绘制场景数据请求后,将其解译为展示性可视化任务。服务端根据客户端标识信息适配多模态场景数据并通过并行文件系统以及混合索引获取可视化场景数据,最后返回给客户端必要的绘制信息进行真实感场景渲染。这类任务处理过程中服务端主要工作为数据检索与I/O,但在面对性能十分低下的用户端时,边缘服务器会承担场景渲染工作,客户端只进行图片渲染。当服务端接收到场景分析操作请求时,将其解译为分析性可视化任务,系统需要在处理实时绘制任务之前完成场景的动态生成,主要是调度高性能计算节点完成场景分析与过程模拟,再将计算得到的数据叠加到基础场景以符号化或真实感形式表达,完成增强现实场景的构建,并将场景数据与描述反馈给客户端进行渲染。服务端接收到场景交互请求时(如对场景中对象行为的修改等),将其解译为探索性可视化任务。系统一方面需要保证高效的I/O以及分析计算,还需要保证实时的人机交互,这类任务需要微服务三级的存算绘资源的协同调度。因为边缘域服务器更靠近客户端,能更好地保证与客户端的实时交互能力,场景交互请求首先发送给边缘服务器处理,如果边缘服务器中没有支持分析交互结果所需数据则将请求消息转发给中心服务器处理,同样轻量化的计算任务(如空间分析)可以直接在边缘服务器执行,重量化的计算任务(如过程模拟)则需要将请求转发给中心服务器处理。
任务感知的自适应可视化机制中,存储、计算以及绘制资源被服务化为一系列多模态场景数据服务、场景计算分析服务以及场景绘制服务,这些不同粒度的服务可以通过可视化分析工作流有机地构建服务链。这种资源服务化,工作流与服务链驱动的方式,一方面面向多层次可视化任务,动态构建满足多样化可视化需求的可视化过程;另一方面面向云环境中动态的系统资源,根据各服务质量动态优化服务链最优化系统资源调度。
如图3所示,任务感知的自适应可视化引擎主要包括3个模块:数据I/O模块、分析计算模块以及场景构建与优化模块。数据I/O模块主要面向多样化应用场景数据的高吞吐量需求,利用内外存协同技术,将数据检索、存取以及缓存一体化处理,通过横向高扩展的高性能存储集群来实现;分析计算模块则主要面向分析与探索性可视化任务,包括以场景分析目的的时空关联分析和时空过程模拟,探索决策为目的场景调整、视觉变量更新以及场景对象更新,该模块需要充分利用算法的可并行性,以数据适配、信息符号化、数据编码等场景优化手段表现,最后依托高性能计算集群实现多节点计算任务的高性能并行处理;场景构建与优化模块主要进行多粒度对象基础地理场景构建以及以信息增强与虚实融合的增强现实场景构建。
图3 任务感知的自适应可视化引擎功能架构Fig.3 Functional framework of task-aware adaptive visualization engine
为了更好地提升云-雾-端之间的协同能力,引擎中3个模块主要部署在云服务中心,同时在边缘服务器中部署场景构建与优化模块以及订制的分析与数据管理服务,以满足不同计算、绘制以及交互能力的多样化用户终端上展示、分析以及探索应用需求。
因为任务感知的自适应可视化机制中存储、计算以及绘制资源被服务化不同粒度的服务,为了便于服务的管理和维护,本引擎采用“微服务架构”(micro-service architecture)形式发布并管理不同粒度的数据、分析以及场景绘制服务[25-26]。多粒度存算绘服务被部署在应用容器中,通过服务编排动态按需的创建多个实例并保证各个服务实例分配到合适的存算绘资源。在调度过程中,引擎依据可视化分析工作流构建可视化服务链,并根据各个服务实例的服务质量选取最佳服务(必要时创建新的服务实例)以实现服务链优化。
如图4所示,面向数字城市智能设施管理需求,分别以建筑物宏观的格局关系描述、中观的综合管网冲突诊断,以及微观的精准管线故障修复方案渐进探索3个典型案例进行验证分析。
图4 典型的多层次可视化应用场景Fig.4 Cases of multi-level visualization
展示性可视化场景是传统三维GIS通用的可视化表达方式,因为受限于数据驱动机制,根据数据库模型只有有限的场景内容选择和细节层次控制可由用户操控,满足放大缩小和漫游等需要,当然在该场景中也可进行简单的查询操作(图4(a))。
分析结果增强的场景则为了突出特定任务所需的分析解释,需要充分考虑整体与局部、真实感与抽象之间的相宜性。例如建筑物内的综合管网冲突诊断,可视化表达则要聚焦到室内管线网络,而对建筑物的外观以及非管网部件则可采取半透明方式,根据分析结果还要对冲突管线红色高亮显示,从而提高诊断结果的可解释性和易感知性。由于任务千差万别,所需要的分析模型多种多样,如何有机协同场景数据与分析模型是此类可视化的关键难点,也是传统空间信息系统还很薄弱的地方(图4(b))。
交互式增强现实场景则为了充分利用增强现实设备如HoloLens等对更加复杂的设施管理问题进行渐进求精的推理解释和预测分析,如对管线故障的精准处置。该类可视化的最大挑战在于大量人机交互信息的实时接入,并驱动数据和分析模型相互作用,通过渐进式的可视化探索分析,实现复杂场景数据与分析模型的易解释与易感知(图4(c))。
本文面向新一代空间信息系统多模态时空数据可视化应用的重大需求,针对多层次多样化任务并发对场景数据及其处理资源的高效组织与优化调度难题,建立了包含展示性可视化、分析性可视化以及探索性可视化3个层次任务的多模态时空数据可视化任务模型,描述了不同任务的主要驱动力和时空信息需求,并刻画了任务需求与存算绘资源的依赖关系;同时基于该模型设计了任务感知的多模态时空数据自适应可视化引擎。通过多样化客户端中宏观综合决策与微观精准诊断与渐进推理协同的智能设施管理典型案例分析,表明本文构建的可视化任务模型可为云-雾-端三级的存算绘资源协同优化调度奠定基础,同时也为时空大数据的可视分析提供了重要的技术支撑。