直接体绘制技术(Direct Volume Rendering)

体绘制技术(Volume Rendering Technique)是由离散的三维数据场直接产生对应二维图像的一种绘制技术。和等值面方法不同,在这一过程中并不需要产生中间几何图元。体绘制技术的优点是能从所产生的图像中观察到三维数据场的整体和全貌(如图1),而不只是显示出人们感兴趣的等值面(参见等值面抽取技术);同时,体绘制也易于进行并行处理。

直接体绘制效果

图1 直接体绘制效果,由左至右分别为CT数据,流场模拟数据(涡量),飓风模拟数据(多变量标量场)屏幕上的二维图像决定于缓冲存储器中对应于每一个像素点的光强度值,它也是一个二维的离散数据场。因此,体绘制技术的实质是将离散的三维空间数据场转换为离散的二维数据场。为此,首先必须进行三维空间数据场的重新采样。其次,应该考虑三维空间中每一个数据点对二维图像的贡献,因而必须实现图像的合成。所以,体绘制技术的实现是一个三维离散数据场的重新采样和图像合成的过程。它需要很强的计算能力和较大的存储空间才能实现。按照不同的重新采样方法,体绘制技术又可以分为按图像空间扫描和按物体空间扫描两种不同的方法。

在按图像空间扫描的体绘制方法中,根据算法对显示屏幕逐行、逐点地进行处理。当计算某一个像素点的光强度值时设想从该点发出一条射线,穿过数据场矩阵。沿这条射线选择若干个等距的再采样点,由距离某一采样点最近的8个数据点的函数值作3次线性插值,求出该采样点的函数值,再根据对函数值的分类结果赋予不同的颜色值及不透明度值。然后,再从前往后将每一个采样点的颜色值及不透明度值依次按下列公式迭代进行合成,得到像素点的最终颜色值:

式中,分别代表射线进入当前再采样点之前的颜色和不透明度;,分别表示当前再采样点的颜色和不透明度;,分别表示叠加上当前再采样点的颜色和不透明度后的相应值。

与按图像空间扫描的体绘制方法相反,按物体空间扫描的体绘制方法不是从图像空间的像素点出发逐点计算,而是从物体空间的数据点出发。首先根据对每个数据点的函数值的分类给定不透明度值及颜色值,并给定视平面及观察方向。然后将每个数据点的坐标由物体空间(Object Space)变换到图像空间(Image Space),再根据选定的光照模型计算出每个数据点处的光照强度。此后,即可根据选定的重构核函数计算出由三维光照强度到二维图像的映射关系,得出每个数据点所影响的二维像素的范围及对每个像素点光照强度的贡献。将不同的数据点对同一像素点的贡献加以合成,即可得出最后的图像。

直接体绘制的代表算法主要包括光线投射法(Ray Casting)、最大强度投影算法(Maximum Intensity Projection)、抛雪球法(Splatting)和剪切曲变法(Shear-Warp)等。其中光线投射法(Ray Casting)是图像空间的经典绘制算法,它从投影平面的每个点发出投射光线,穿过三维数据场,通过光线方程计算衰减后的光线强度并绘制成图像。其绘制质量最高,但速度较慢。

最大强度投影算法(Maximum Intensity Projection, MIP)将数据场内沿着视线方向上的采样的最大值作为绘制图像相应位置处的像素值,主要用于对体数据中高灰度值的结构进行可视化,常用于CT 或 MRI图像的可视化。通常最大强度投影算法不计算明暗信息和深度信息,从而导致难以区分投影方向,消除这类错觉的通用办法是动画显示,在观察过程中动态改变视角。

抛雪球法(Splatting)也被称为足迹表法(Footprint Method),它模仿了雪球被抛到墙壁上所留下的扩散状痕迹的现象。该方法以物体空间为序,计算每一体素投影的高斯函数定义强度分布的影响范围(即足迹,Footprint),并加以合成,形成最后的图像。该方法可以只选取与图像相关的体素进行投射和显示,减少体数据的存取数量,且适合并行操作。

剪切曲变法(Shear-Warp)由Cameron和Undrill最先提出,经P. Lacroute和M. Levoy推广,原理是将三维数据场的投影变换分解为三维数据场平行于切面方向的错切(Shear)变换和二维图像的曲变(Warp)这两步来实现,从而将三维空间的重采样过程转换为二维平面的过程,大大减少了计算量,目前被认为是CPU上速度最快的一种体绘制算法。在预处理时,体素经过不透明度分类和编码,可以在遍历体素和图像的同时略去不透明的图像区域和透明的体素,进一步提高效率。

提高体绘制效率的原则是尽量减少不必要的体素渲染数量。近来发展的技术包括体绘制空区间跳跃(Empty Space Skipping),早期光线终止(Early Ray Termination),八叉树和BSP空间分割(Octree and BSP Space Subdivision), 自适应多分辨率(Multiple and Adaptive Resolution), 预积分体绘制(Pre-integrated Volume Rendering)等。目前的直接体绘制广泛地采用了图形硬件加速,将三维体数据场中的数值(以及对应的颜色值或光照强度)视作纹理,装载入容量足够大的图形硬件内存,利用硬件实现线性插值及图像合成的并行运算,从而提高体绘制效率。早期的图形硬件只支持二维纹理,因此相应的硬件加速体绘制算法相当于二维纹理切片的堆栈合成,采样时利用二维纹理的双线性插值。这类方法需要在三个坐标方向建立三个对应的片层堆栈。进行绘制时,选择与观察方向最垂直的那个片层堆栈以获得好的绘制质量。这种方法内存消耗大,采样困难,而且由于缺乏层间插值导致绘制图像的质量不高。基于图形硬件三维纹理功能的体绘制技术,主要利用硬件的三线性过滤插值能力,通过渲染许多个与视线垂直的面片来重建整个三维结构,每个面片利用三维纹理来决定颜色与透明度。这种方法得到的效果从本质上讲与光线投射的效果相同。更新的方法可以直接利用三维纹理在图形硬件上实现光线投射的算法。

在直接体绘制中,需要通过传递函数将三维数据场的采样点映射成光学参数。传递函数的选择直接决定了绘制的效果,成为体绘制研究的关键。然而传递函数的设计比较复杂,现有的算法存在盲目性、用户界面不直观、参数调节复杂等问题。近来对传递函数的研究进展包括高维传递函数,基于特征的传递函数等方法的提出,用于更有效地提高绘制的效果。近来非真实感绘制(Non-photorealistic Rendering)的方法也被用于体绘制。这类方法通过边界增强(Boundary Enhancement), 剪影(Silhouettes), 网点模式(Stipple Patterns)等方法,强调关注的特征,利用艺术化的方法,获得特殊的可视化效果。

参考文献

1. James D. Foley, Andries V. Dam, Steven K. Feiner, John F. Hugher, Computer Graphics:Principles and Practice. Addison-Wesley Publishing Company, 1990.
2. 石教英,蔡文立. 科学计算可视化算法与系统. 北京:科学出版社,1996。
3. 唐泽圣. 三维数据场可视化.  北京:清华大学出版社,1999。
4. J. W. Wallis, T. R. Miller, C. A. Lerner, E. C. Kleerup, “Three-dimensional display in nuclear medicine”. IEEE Trans Med Imaging, 8(4): 297–303, 1989.
5. Philippe Lacroute and Marc Levoy, “Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation”, Proc. SIGGRAPH ’94, pp. 451-458, Orlando, Florida, July, 1994.

*注: 本文为所撰写《计算机百科全书》第三版条目,请勿转载。

评论关闭。