摘要
针对目前二维环境中流场可视化应用深度信息不足、交互不自然等问题,提出一种基于沉浸式增强现实的流场可视化方法,在现实空间中通过流线展示流场变化特征,利用沉浸式增强现实技术为用户提供有效的深度信息,并通过手势、凝视等自然交互方式进行流线布置。由于增强现实设备不具备流场可视化计算所需要的计算能力,该方法采用服务器/客户端架构,以服务器端进行流线计算,以头戴增强现实设备进行流线定位、结果绘制及用户交互。在此基础上,设计了基于用户凝视的流线布置和基于凝视与手势的种子点放置两种交互方式,利用自然交互提高用户流线布置及分析效率。实验结果表明该方法能够在增强现实环境中准确完成流线绘制,反映流场的变化情况,并提供快捷、自然的交互。
流体的运动是航空航天、气象学、化学工业以及生物医学等领域的研究热点之一。人们为了探究其运动规律,在一定的假设条件下,建立数学模型,并利用计算机模拟运算得到大量数据以对其进行分析研究。面对目前大规模网格的流场数据,人们需要一种直观的方式对其进行展示,以分析其中的潜在问题及规律。流场可视化是将数据转化为图形图像的重要手段。虽然流场可视化已经有了多年的发展,但目前流场可视化应用仍局限于二维桌面环境。流场数据一般与三维空间位置相关联,此类数据的可视化结果一般为三维内容,由于深度信息的缺乏,二维桌面平台在观察此类数据时,需要用户进行多次的视角变换才能得到有效的观察结果。而且由于二维桌面平台往往使用鼠标、键盘进行交互,用户需要通过繁琐的鼠标拖动与键盘指令实现势角变换与三维工具移动,此类交互由于不符合人类习惯,缺乏自然性,需要占用用户大量的学习时间,给用户带来不良的使用体验。
随着头戴式显示技术以及交互技术的高速发展,出现了便携、高分辨率且经济的沉浸式头戴显示设备(如HTC Vive,Oculus Rift,Microsoft HoloLens,Meta等)。沉浸式显示设备拥有比桌面显示器更宽的视野,能够有效地增强用户的沉浸感和存在感,并使用户在处理三维信息时能够有效地利用外围视觉,这有助于提供态势感知上下文,辅助用户空间判断,并提供更加便捷的导航和移
针对目前二维桌面环境下流场可视化应用深度信息不足、交互不自然等问题,提出一种基于沉浸式增强现实的流场可视化方法,通过在现实空间中使用流线法可视化流场数据,为用户提供有效的深度线索;利用用户凝视与手势高效的改变流线布置,帮助用户观察流场不同位置的变化情况。该方法根据头戴增强现实设备便携但计算能力低下的特点,设计了基于客户/服务器架构的系统架构;提出了自动+手动的定位方法在现实空间中完成流线定位;使用基于Unity Mesh的流线、流管绘制算法完成流线的绘制。本文基于该方法形成了原型系统,在该系统的基础上设计了基于用户凝视的流线布置方法与基于凝视与手势的种子点放置方法。最后通过一组由真实模型模拟计算生成的流场数据对系统及其中的方法进行了验证,并通过用户实验对系统中的交互方法进行了评估。
21世纪初,人们便开始了对于增强现实在可视化领域的应用探索。Belcher等对于基于增强现实的网络节点可视化进行了探索,该工作证明增强现实环境所提供的深度线索和运动线索能够有效地辅助用户进行空间理解与节点分
传统的流场可视化方法一般包含数据映射、数据绘制以及显示交互3个过程。但头戴增强现实设备受其便携性影响,无法搭载重量较大的计算、显示芯片,故其计算性能无法满足数据映射时的计算需要;而且由于增强现实技术在真实空间中进行可视化结果显示时,可视化结果的显示位置与现实空间有相关性,故在绘制与显示前,还需进行定位工作以保证在正确的位置显示可视化结果。因此传统的流场可视化架构难以支撑沉浸式增强现实环境下的流场可视化方法。针对上述问题,本文设计了适用于头戴增强现实设备的客户/服务器架构方法,在服务器端完成流线法中的数据映射过程(流线计算),在服务器端完成流线定位、绘制、显示与交互。
架构方法如

图1 系统架构图
Fig.1 System architecture diagram
在系统运行时,首先在客户端通过定位模块完成流线定位工作,然后通过交互模块获取用户凝视与手势信息,将其转换为种子点信息后,由通信模块将种子点信息发送至服务器程序,随后服务器程序调用流线计算程序,读取流场数据并完成流线计算,最后将计算结果传回客户端,客户端接收到计算结果后,通过显示模块将其绘制为流线,并根据定位结果将其显示到正确的位置。
虚拟物体在物理空间中的准确定位是增强现实领域中的关键问题,传统的增强现实定位技术(如Vuforia)一般采用图像识别技术进行定位,通过物理空间中的特征图像定位虚拟物体位置。此类技术受到光照、特征图像污损等问题的影响,无法对虚拟物体进行精确的定位,这会对流线在真实空间中的准确性造成影响。故针对虚拟物体无法精确定位,导致流线在真实空间中无法准确反应流场运动规律的问题,提出自动+手动的流线定位方法,以保证流线在现实空间中的准确显示。
为减少用户手动定位工作量,系统在手动定位前首先进行自动定位。自动定位采用传统的增强现实定位方法,在物理空间中将特征图像放到流场中心物体附近并记录相对位置(图中的特征图像由Adobe Illustrator 根据Vuforia提供的模板设计而成),如

图2 虚拟空间与真实空间的相对位置对比
Fig.2 Position comparison between virtual environment and real environment
在完成自动定位后,如

图3 自动定位与手动定位
Fig.3 Automatic registration and manual registration
目前常用的头戴增强现实设备程序基于游戏引擎开发,但常用的游戏引擎还没有包含流线绘制功能,故需要实现基于游戏引擎的流线绘制方法。本文提出基于Unity Mesh的流管绘制方法,该方法能够基于Unity3D开发的增强现实程序,根据带有连接关系的点数据进行流线、流管绘制。
Mesh是Unity3D提供的网格组件,该组件可根据开发者提供的三维网格点集及网格点之间的连接关系,生成用于三维模型显示的网格。因此流管绘制的问题可转化为网格点集及网格点连接关系的计算问题。流管绘制方法如下。
由服务器传回的结果,可得流线点集中每一点的位置,设流线中任意一点为P(n),n为该点在流线中的序号,其坐标为(xn,yn,zn),则其后点表示为P(n+1),其前点为P(n-1)。流管可视为由1个正多边形,在流线点之间依序进行三维变换所形成的三维立体图形,当流管半径足够小时,绘制结果即为流线,否则为流管。
首先生成初始正多边形:如

图4 初始正多边形生成示意图
Fig.4 Generation of initial polygon
(1) |
其前向向量为(0,0,1),向上向量为(0,1,0)。然后将初始正多边形在各流线点之间进行坐标变换。由流线当前点的坐标P(n),可得初始正多边形变换到该点网格多边形所需的平移矩阵,表示为
(2) |
为保证流管弯曲时的自然性,初始正多边形按照如下方式进行旋转。计算流线各点方向向量,表示为
(3) |
由D(n),D(n-1)计算出流线各点网格多边形的前向向量
(4) |
设流线初始点多边形的向上向量U(0)为(0,1,0),则可根据
(5) |
旋转初始正多边形,以保证其向上向量、前向向量与Un,Fn相同,可得该点的旋转四元数R(n),其值表示为(Ωn,αn,βn,γn)。
由R(n)可得初始正多边形变换到该点网格多边形所需的旋转矩阵,表示为Mr(n),其各列分别表示为
(6) |
(7) |
(8) |
(9) |
(10) |
由流管半径r,可得初始正多边形变换到该点网格多边形所需的缩放矩阵,表示为
(11) |
利用上述矩阵对初始正多边形进行坐标变换,可得流线各点处网格正多边形各点的坐标,表示为
(12) |
式中:m为正多边形上的点编号,n为流线点编号。
网格连接规则如

图5 网格连接规则示意图
Fig.5 Grid connection rules
系统原型按照流场数据中各点的速度属性对于流线进行颜色编码,以观察流场数据中速度的变化情况,编码方式采用异色+饱和度的编码方式。如

图6 流线颜色编码示意图
Fig.6 Regular of streamline coloring
饱和度S的计算方法如
(13) |
为了验证上述系统架构、定位方法及流线绘制方法,本文以真实模型的流场数据为应用场景,利用现有的沉浸式增强现实设备对于上述方法进行实现,形成了原型系统。由于目前还鲜有将增强现实技术与流场可视化相结合的工作,故在该系统的基础上进行了针对流线法的交互探索,提出了基于用户凝视的流线布置方法与基于凝视与手势的种子点放置方法,并针对两种交互方法进行了用户评估实验,以测试两种交互方法的交互效率。
本文实验平台为1台PC机和一台头戴增强现实设备,详细配置如下:PC机的处理器为Intel(R) Core(TM) i7⁃7700HQ CPU@2.80 GHz,8 GB内存,GTX 1050显卡。头戴增强现实设备为Microsoft HoloLens 1st。测试数据由XFlow根据模型的数字文件仿真计算生成,含有700万个网格,现实空间中的模型由该模型3D打印生成。测试系统的服务器程序为基于Net 4.0开发的控制台程序,其中网络通信技术基于Windows device portal及Windows UWP socket模块开发。流线计算程序为基于VTK开发的控制台程序。客户端的增强现实程序基于Unity3D 2017.4.27开发,其中定位技术基于增强现实框架Vuforia开发。
流线绘制效果如

图7 系统绘制交互示意图
Fig.7 Rendering result and interaction method
绘制方法的绘制效率如
在针对流场数据的可视分析过程中,用户需在流场数据空间内的不同位置进行流线布置,对流场数据多个位置进行观察,并对观察结果进行整合后,才能得到分析结果。在传统的可视化应用中,用户需通过菜单切换不同的可视化工作,如用户多次在可视化结果间进行切换,会极大地降低用户的分析效率,故针对上述问题提出基于用户凝视的流线布置方法。凝视会随着人类在观察物体时的视角变化而变化,该方法允许用户将已完成的可视化结果通过凝视目标物体对应位置的方式进行转换,从而帮助用户更快地观察到感兴趣区域的特征。本文的原型系统根据数据的特点,在现实空间中选择了3处流场变化最剧烈的位置对于该交互方式进行了实现。根据可视化探索分析,流场变化最剧烈的部分为机翼与尾翼两处,故选择了机身、机翼与尾翼3处进行了流线绘制,从而对该交互方式进行了实现。如
传统的二维科学可视化软件(如Paraview)使用鼠标拖动的方式在可视化场景中布置种子点,使用户能够将流线的种子点布置到自己感兴趣的区域,这种方法受限于二维平台,缺少深度信息,进而导致用户需反复拖动屏幕,转动视角,反复调整种子点位置,很难高效地将种子点放置到正确区域。在沉浸式增强现实环境中,用户凝视与手势是一种自然且快捷的交互方法,用户可通过其自身与头部的移动,在真实空间中快速完成点定位操作,并利用手势进行快速指令。因此本文提出基于凝视与手势的种子点放置方法,如
为了评估上述交互方式的可用性与自然性,本文进行了针对桌面端与沉浸式增强现实环境下的种子点布置方法的对照实验,并且对于基于用户凝视的流线布置方法进行了用户主观量表实验。
针对种子点布置的交互任务如

图8 实验示意图
Fig.8 Tasks of experiment
实验采集的数据包括交互时间、准确度以及用户心理难度。针对基于用户凝视的流线布置方法,实验采用量表的形式对于用户的认可度进行调查。
实验1共招募了15名志愿者,平均年龄27.6岁(标准差13.5),其中包含13名男性、2名女性。所有志愿者均具有计算机科学背景并从事过流场可视化领域的技术研发,其中6名志愿者还具有计算流体力学背景。
针对种子点布置方法的实验结果包括交互时间(s)、准确度(m)、用户心理难度。

图9 交互平均时间示意图
Fig.9 Average interaction time

图10 交互准确度示意图
Fig.10 Interaction accuracy

图11 用户心理难度结果图
Fig.11 Result of mental difficulty

图12 用户对于基于用户凝视的流线布置方法的认可度示意图
Fig.12 Customer satisfaction of streamline placement method based on user gaze
经过结果分析不难发现:基于凝视与手势的种子点布置方法相较于桌面环境的种子点布置方法拥有更高的交互效率。虽然准确度有所降低,但偏差均在1 cm左右,仍能保证用户将种子点布置在能够接受的范围内。多数用户认为:由于沉浸式增强现实环境相较于桌面拥有更加丰富的深度信息,基于凝视与手势的种子点布置方法无需进行繁琐的视角变换,即可完成种子点位置选择,因此能够更加简单、高效、自然地完成种子点布置任务。对于使用评价不高的用户,实验收集了此类用户的意见,用户表示:虽然沉浸式增强现实环境下的交互方法效率更高,但HoloLens过于沉重(特别是女性用户),长期进行凝视交互造成了较大的生理负担。还有一些用户对于沉浸式环境下的交互方式较为陌生,从而增加了此类用户的学习成本,提高了此类用户对于该交互的难度认知。
多数用户对基于用户凝视的视点持认可态度,认为该交互方式能够所见即所得地得到用户想要的可视化结果,能够有效地提高流线的切换效率,辅助用户快速分析流场各处的流动规律。部分用户仍因设备较重的原因,认为凝视交互造成了生理上的疲劳,故对于流线切换效率的提升给出了中等认可度。少数用户认为沉浸式增强现实设备的分辨率较低,对于流线的观察有一定的阻碍作用,所以对于辅助观察方面的认可度为中等。
综上所述,沉浸式增强现实环境下的交互方式能够更加高效、自然地完成流线的布置与切换。
本文提出一种基于沉浸式增强现实的流场可视化方法,在现实空间中通过流线展示流场变化特征。该方法采用服务器/客户端架构,通过将流线法中的流线计算过程放到服务器,解决头戴增强现实设备计算能力不足的问题。利用自动+手动的定位方法,改善传统自动定位方法定位不准确,导致可视化结果不准确的问题。利用基于Unity Mesh的流管绘制算法在游戏引擎中完成流线绘制。最后基于该方法实现了原型系统,为加快用户分析效率、提升用户体验,在该系统的基础上设计了基于用户凝视的流线布置方法与基于凝视与手势的种子点放置方法。利用一组由飞机模型仿真计算生成的流场数据对系统进行了验证,并对该系统的两种交互方式进行了用户评估实验。实验结果表明系统能够利用上述方法在物理空间中准确地完成流线绘制,反映流场变化情况。新的交互方法使用户能够通过在真实空间的移动从不同的视角观察流场的变化情况,并使用凝视与手势等自然交互方式快速、高效地改变流线在现实空间中的布置,有效地提高了用户的分析效率,改善了用户的使用体验。由于增强现实技术目前仍在发展之中,未来还可针对如下问题进行研究:(1)本文采取自动+手动的定位方法以确保流线能够准确地在物理空间中进行绘制,如长期使用该系统,将导致用户花费大量的时间进行定位校准。如能使用更加精准的自动定位方法,则能有效减少用户分析工作的准备时间。(2)目前增强现实设备的计算及渲染能力还不足以支撑大体量数据的可视化,可通过优化绘制算法或更新设备提高数据量上限。
参考文献
VanDam A,Forsberg A S,Laidlaw D H,et al. Immersive VR for scientific visualization: A progress report[J]. IEEE Computer Graphics Applications, 2000, 20(6): 26-52. [百度学术]
Bryson S. Virtual reality in scientific visualization[J]. Communications of the ACM, 1996, 39(5): 62-71. [百度学术]
Ware C,Mitchell P. Visualizing graphs in three dimensions[J]. ACM Transactions on Applied Perception, 2008, 5(1): 1-15. [百度学术]
Metamorphosis. Meta view[EB/OL]. (2019-08-07) [2019-08-30]. https://www.metavision.com. [百度学术]
Microsoft. Microsoft Hololens | Mixed reality technology for business[EB/OL]. (2019-08-07) [2019-08-30]. https://www.microsoft.com/en-us/hololens. [百度学术]
Belcher D,Billinghurst M,Hayes S,et al. Using augmented reality for visualizing complex graphs in three dimensions[C]//Proceedings of the Second IEEE and ACM International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society Press, 2003: 84-93. [百度学术]
Kalkofen D,Mendez E,Schmalstieg D. Interactive focus and context visualization for augmented reality[C]//Proceedings of the 2007 6th IEEE and ACM International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society, 2007: 1-10. [百度学术]
Kalkofen D,Veas E,Zollmann S,et al. Adaptive ghosted views for augmented reality[C]// Proceedings of 2013 IEEE International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society, 2013: 1-9. [百度学术]
Schall G,Mendez E,Schmalstieg D. Virtual redlining for civil engineering in real environments[C]//Proceedings of 2008 7th IEEE/ACM International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society, 2008: 95-98. [百度学术]
Barnum P,Sheikh Y,Datta A,et al. Dynamic seethroughs: Synthesizing hidden views of moving objects[C]//Proceedings of 2009 8th IEEE International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society, 2009: 111-114. [百度学术]
Grasset R,Langlotz T,Kalkofen D,et al. Image-driven view management for augmented reality browsers[C]//Proceedings of 2012 IEEE International Symposium on Mixed and Augmented Reality. Washington, DC, USA: IEEE Computer Society, 2012: 177-186. [百度学术]
Mahfoud E,Lu A. Gaze-directed immersive visualization of scientific ensembles[C]//Proceedings of the 2016 ACM Companion on Interactive Surfaces and Spaces. New York, USA: ACM, 2016: 77-82. [百度学术]
Gasques Rodrigues D,Jain A,Rick S R,et al. Exploring mixed reality in specialized surgical environments[C]//Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems. New York, USA: ACM, 2017: 2591-2598. [百度学术]
Pratt P,Ives M,Lawton G,et al. Through the HoloLens looking glass: Augmented reality for extremity reconstruction surgery using 3D vascular models with perforating vessels[J]. Eur Radiol Exp, 2018, 2(1): 2. [百度学术]
Butscher S,Hubenschmid S,Müller J,et al. Clusters, trends, and outliers[C]//Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. New York, USA: ACM, 2018: 1-12. [百度学术]
Inoue A,Ikeda Y,Yatabe K,et al. Visualization system for sound field using see-through head-mounted display[J]. Acoustical Science and Technology, 2019, 40(1): 1-11. [百度学术]
Microsoft. Gestures-mixed reality | Microsoft docs[EB/OL]. (2019-08-27) [2019-09-16]. https://docs.microsoft.com/en-us/windows/mixed-reality/gestures. [百度学术]