首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于CUDA的三维数据场可视化加速技术研究

作者:李杨 来源:电子技术与软件工程

摘 要

三维数据场的可视化经过多年的发展,现已在很多领域中得到了广泛的应用,比如医学领域、石油勘探领域等。在现有的三维数据场的可视化技术中,绘制方式有两种,一种是面绘制,一种是体绘制,不过这两种绘制方式如果以传统的技术为基础,就无法实现快速的绘制,这与人们不断增加的需求严重的不符合,因此,在三维数据场可视化技术中应用了CUDA模型,以便于实现绘制速度的提高。在本文中,介绍了三维数据场的可视化方法,并研究了基于CUDA的三维数据场可视化加速技术。

【关键词】三维数据场 可视化 CUDA

三维数据场是体绘制中应用的技术,通过三维数据场绘制出来的图形,能够将事物的全貌及内部的细节展示出来,这样一来,计算量就会非常的巨大,因此,对硬件的速度提出了更高的要求。随着硬件技术的发展,图形硬件处理器GPU问世,GPU具有独特的性能,应用在三维数据场之后,可以有效地实现加速。另外,在CUDA模型中,通过GPU硬件资源,大大地提高了硬件速度,由此,在三维数据场的可视化加速技术中应用了CUDA模型。

1 三维数据场可视化方法

1.1 基于几何的三维可视化方法

在这种方法中,应用更多的为三维数据场的面绘制。所谓面绘制,是指在进行图形绘制时,首先将感兴趣的组织表面信息进行提取,之后在经过转换形成等值面,最后,根据一系列的技术得出三维图像。在面绘制中,最常用的三维重建算法有三种:一是移动立方体法;二是移动四面体法;三是剖分立体法。现今,在一些商业软件中,都应用了移动立方体法,这是因为该种方法在生成等值面时,定义比价精确,因此生成的图像质量比较高,研究人员在进行观察和分析时,结果更为准确,在实时性要求比较高的领域,移动立方体方法具有比较广泛的应用,不过,在面绘制进行模糊边界处理时,该种方法经常会出现错误,因此当需要研究组织内部信息细节时,并不适合应用此种方法。

1.2 基于图像的三维可视化方法

基于图像的三维可视化方法为体绘制,这是一种新兴起的方法,通过体绘制方法,不仅可以绘制出事物的整体信息,还可以显示事物内部详细的信息,体绘制绘制出来的图像质量比较高,同时还可以实现并行处理。体绘制在对数据进行处理时,采用的方式为敏感处理,最终形成具有三维效果的图像。

2 基于CUDA的三维数据场可视化加速技术

2.1 CUDA架构下的光线投射的设计

CUDA是一种软硬件体系,在该体系中,GPU被作为数据并行计算设备,在CUDA编程模型中,核心结构为三层,分别为Grid、Block、Thread,这三层的组织形式为线程网格,基础为Thread,接着大量的Thread组成Block,最后由若干的Block组成Gird。所谓光线投射,所针对的是图像中的所有像素,光线从固定的方向发射出来,之后穿过图像序列,在穿过的一瞬间,图像颜色信息就会被获取,最终将可视化图像绘制出来。在光线投射算法中,光线之间的计算方式是相同的,但是计算过程中是独立完成的,所有的计算并行进行,基于此,在利用CUDA设计光线投射时,要充分的利用三层结构,以便于通过CUDA的并行运算能力,有效的实现绘制速度的提高。

2.2 算法设计

在算法设计中,包含CPU部分和GPU部分。在CPU部分,需要完成的工作主要有以下几种:读取三维数据文件、存储三维数据文件、OpenGL环境的初始化、接收GPU的最终结果等,为了有效的完成这些工作,就需要按照一定的算法步骤来进行计算。GPU部分也需要完成大量的工作,同样也具有固定的算法步骤。

2.3 线程映射及前置参数设计

当光线的并行遍历需要实现时,就需要线程映射工作,所谓线程映射,是指将光线与Thread绑定到一起,绑定的实现也是并行处理的关键所在。在CUDA中,存在着四个内建变量,通过它们来实现控制,其中内建变量gridDim与blockDim所代表的是网格及线程块的规模,主要的作用是完成线程的起始位置的计算;剩下的两个内建变量表示的另外的含义,不同的线程块具有不同的编号,而且线程也具有固定的下标,编号及下标的表示就需用到剩下的两个内建变量。随后,通过相应的公式计算出相应的前置参数。

2.4 光线求交及颜色和不透明度累积

在光线投射的算法流程中,最后一个步骤就是图像合成,在某一个光线方向上,图像的各个像素都具有不同的颜色和不透明值,要通过固定的算法计算出该值,随后,在将其他光线中计算出来的值予以累积,最终完成图像的合成工作。首先,需要进行的运算为光线的求交,在运算时会利用向量表示法,并结合相关的公式将交点求出来。

2.5 实验结果

设计完成之后,对该种技术进行了具体的实验,经过分析实验结果可知:该种技术有效的增加了三维数据场可视化的绘图速度,极好的满足了实时性的要求,因此,基于CUDA的三维数据场可视化加速技术应该进行广泛的推广。

3 结论

在本文中,首先介绍了三维数据场可视化的方法,在充分两种方法特点的基础上,进行了加速技术的研究。在CUDA编程模型中,有着并行技术及可编程硬件技术,通过这两项技术的运用,以及光线投射算法的设计,有效的实现了三维数据场可视化加速。加速之后,三维数据场在绘制图像时,图像的质量变得更高,绘制的速度变得更快,同时,对于图像的内部细节还能很好地显示出来。不过,该项技术的研究还不完善,应该加大科研的力度,对其进行更为深入的研究,以便于更好的满足实时性的要求,使三维数据场可视化的速度在高质量的基础上变得更快。

参考文献

[1]徐赛花,张二华.基于CUDA的三维数据并行可视化[J].CT理论与应用研究,2011(01):47-54.

[2]袁健,高勃.基于OpenCL的三维可视化加速模型[J].小型微型计算机系统,2015(02):327-331.

[3]马晓晨,孔小利.基于深度八叉树的三维数据场LOD可视化[J].计算机应用,2010(01):47-49.

作者单位

民航贵州空管分局 贵州省贵阳市 550012