深度神经网络支持下的交互式体数据可视化(DNN-VolVis: Interactive Volume Visualization Supported by Deep Neural Network)

体数据在医学、科学模拟数据中具有广泛运用。直接可视化(DVR)是重要的体数据可视化方法。其中关键是设计合适的传递函数。传递函数是将体数据中体素的值映射成为颜色-透明度值。本质上是将体素进行分类,识别其中的特征并给予不同的颜色透明度属性。在传统体渲染中,给定传递函数,选定视角参数之后就可以合成、计算渲染结果的每个像素的值。

然而,有时用户想要探索已有的可视化结果,但原始的传递函数并未公开。或者探索过程中,用户不满足于调整传递函数来获取结果,在传递函数基础上,他们想要直接对渲染结果进行一些修改。但是从渲染结果到传递函数难度巨大:一方面传递函数的设计空间巨大不可能暴力遍历,另一方面渲染结果中像素和传递函数之间也没有解析表达,细小的传递函数的差异可能导致巨大的结果差异。为解决这类问题,本工作[1]提出了基于深度学习网络的更直接的处理方式。本工作中的神经网络可以接受用户想要探索的可视化结果作为输入,随着用户的交互,可以直接合成在其他视角参数下的“渲染结果”。我们合成的结果可以和真实的渲染结果相媲美。

用户想要反向生成传递函数的目的是为了探索某体数据在某效果下的结果,本工作实现的任务可以叙述为:实现一个神经网络使得它能够拟合(目标效果渲染结果+新视角参数)->目标效果在新视角下的渲染结果。完成本任务需要完成以下目标:1. 合成的图片可以和目标效果图片在同一个效果中;2. 合成的图片在新视角参数下;3. 合成的图片是这个体数据的正常渲染结果。针对这三个目标,我们提出了多对抗网络的生成对抗网络(Generative Adversarial Networks, GAN)架构。如图1 所示,在此架构下,生成网络生成的结果需要经过三重检测。这三重检测分别对应着上述三个目标,这是由三个辨别器分别保证,其中一个辨别器接受渲染结果作为输入,另外两个辨别器接受成对的输入。

图1 生成渲染结果的流程图,输入目标图像和视角图像,直接合成新的渲染结果。右侧三个辨别器分别完成三个目标

生成对抗网络中的生成网络和对抗网络都是基于卷积神经网络的架构。图2展示的是生成网络的结构,它的基础是编码-解码结构,编码结构左侧的输入开始逐步卷积到较小的张量表示,接着解码结构反卷积到原图像的大小。除此之外,还有跨越层在编码结构和解码结构之间对应层之间构建了直接连接,跨越层提高了生成结果的分辨率,这保证了我们可以在较高的分辨率下完成渲染结果合成。

 

图2 生成网络

对抗网络有两种,其中一种是将生成的结果作为输入,另一种是将一对作为输入,目标图像-合成结果对或者视角-合成结果对。他们都采用图3中的网络架构。基本结构是卷积网络,输入的图像或者图相对最终会产生是否两种结果。表示图像或者图像对是真实与否。

 

图3 对抗网络

生成网络和对抗网络共同作用,其中生成网络期望生成逼近真实的渲染结果,同时满足正确的效果和视角。这样,它就能“迷惑”三个辨别器。而辨别器的目标是产生尽量练就“火眼金睛”来识别出真实的和合成的渲染结果的区别。这是通过合适的训练顺序和损失函数来达到的,详细训练情况请见论文正文。

图4 结果 Is 为合成的结果,It 为真实的渲染结果,Id * 5 为结果差异的5倍

在不同的数据集中按照以上方法训练神经网络,就可以合成结果,图4展示了一些结果,其中合成的结果和真实的渲染结果难以用肉眼区分。在一些原始的目标效果图像中尚未表达之处会有较大的不确定性,这导致一些细小错误。总体而言,该工作提供了对目标效果图像的基本快捷的交互式探索途径。

本工作中实现了对静态渲染结果的交互三维探索,其中采用深度神经网络实现了间接的传递函数反向工程。展示的结果显示了本工作的有效性。

[1] DNN-VolVis: Interactive Volume Visualization Supported by Deep Neural Network. Fan Hong, Can Liu, and Xiaoru Yuan. In Proceedings of IEEE Pacific Visualization Symposium (PacificVis 2019) (Accepted)

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>