- 鉴于gpu的互动式体数值切割
-
文章来源:中国切割机网
-
在医学、无损检测、生物和地质等领域,需要对3D数据场(体数据)丰富细腻的信息进行信息可视化,以辅助分析研究。
体绘制是3D可视化的主要方法之一,它不需要对体数据进行预先分割,且不丢失任何细节信息,可通过传输函数的设计来查看数据的内部结构。但传统的体绘制算法速度较慢,随着计算机运算能力的迅速发展,显卡上GPU(graphicprocessingunit)的推陈出新,为体绘制算法提供了新的计算平台;之后体绘制算法得到了不断完善,其显示质量和交互实时性得到了提高。
体数据切割可以去除体数据中不重要的信息并揭示其隐藏细节,是信息可视化过程中理解体数据不可或缺的手段之一;它允许观察者根据需要在体数据中选择包含感兴趣内容的区域进行有针对性的可视化。
本文主要研究了在基于GPU的体绘制基础上进行的交互式切割方法,并设计了方便的切割体生成操作。
1相关研究GPU是并行数据处理器,高度优化了2D和3D数据处理的性能。近年来,GPU固定功能的图形处理流水线已被可编程的图形处理流水线取代。
Krüeger等利用这一可编程的能力在GPU上使用多通道渲染实现了并行光线投射算法。Stegmaier等利用GPU支持动态循环和条件转移这一新特性,通过绘制体数据的包围盒表面,在GPU上实现了单通道的光线投射体绘制;其方法简单易行,而且绘制效果理想。储骏等对算法进行了改进,提出一种通过只绘制一个长方形代理面来获取光线参数的方法。邹华等将代理面扩展到一组层次包围盒来加速绘制。
常用的切割方法包括基于体纹理切割、基于距离场切割、基于深度信息切割等方法。基于体纹理和基于距离场的切割方法,通过将切割体的形状信息或距离场信息事先保存到额外的3D纹理中,可实现复杂或者多个几何图形的切割,但每当切割形状改变时,需要重新向GPU传递数据,而且在体绘制时,仍需要遍历整个体数据。这样,在增加了数据量的同时,判断过程也给GPU带来额外负担,影响了绘制效率。Weiskopf等提出的基于深度信息的切割方法,需要事先生成切割体曲面,直接根据切割面深度信息确定各体素的可见性;该方法不需要将额外的数据存入GPU中,但它不便于进行任意形状的切割,在处理多个切割体时容易出错,局限性较大。
针对上述方法存在的问题,本文提出了一种新的切割方法:把基于GPU的光线投射算法的代理面扩展到多个任意封闭形状,该方法不需要额外的切割体信息数据,可以通过人机交互实时地改变切割体位置和形状,并且支持多切割体切割。
2GPU光线投射算法算法的核心思想是从屏幕的每个像素发射一条穿过体数据的光线,然后将光线上的数据按照光线传输模型混合得到像素的颜色,终生成图像。
该并行算法可以在GPU的fragmentshader上编程实现。
光线可以定义为R(t)I tD;其中I为光线的入射点,D为光线方向。
另外,还要确定光线的出射点O来计算光线采样的长度l.
光线的入射点I和出射点O可以通过绘制一个代理面得到。Stegmaier等提出的体绘制算法将包含整个体数据的长方体包围盒作为代理面,代理面上每个fragment的xyz世界坐标值作为RGB颜色值绘制到2D纹理上,如图1所示。
代理面在同一时刻绘制了2次,一次是前表面,对应光线的入射点,一次是后表面,对应光线的出射点 .世界坐标下的光线方向D是视点到原点的方向,出入射点间的欧氏距离为光线的采样长度l.
确定了光线参数后,设定采样步长d,在GPU中从入射点I开始沿光线对3D纹理采样,并按照光线传输函数来混合颜色,完成体绘制。
3交互式代理面构造将包含整个体数据的长方体包围盒作为代理面,光线投射时入射点在包围盒上 ,如果光线未能满足提前终止条件,终点也将出现在包围盒上 .本文在体数据内部通过人机交互生成代理面 ,绘制时光线只需遍历小代理面包含的数据,这在实现切割的同时,提高了绘制效率。
3.1人机交互由于代理面是3D模型,所以很难从后绘制的2D图像上直接构造。为此,本文设计了一个结合顶、前、左三视图的构造方法。
该方法在三视图中构造一个多边生成路径,截面沿路径放样生成代理面基本形状。通过调节各视图路径的节点 来调节对应截面的位置,在绘制结果上可以用Direct3D的点拾取算法进一步调节截面的大小以及各点的位置.
由于仅仅在三视图的单层切片上很难确定感兴趣的物质以及该物质在各方向的跨度,本文生成了三视图的平行投影图像来辅助构造代理面。每个体数据的三方向投影可以事先用基于GPU的光线投射算法得到,只需采用平行投影,视口大小与体数据对应方向的侧面大小一致。本文以CT图像为例,使用的是大密度投影,根据实际情况,可以调节光线传输函数,得到可以显示出需切割物质的三视图投影。
3.2代理面三角化得到截面和路径后,就可以进行三角面片的生成,即生成截面和侧面。
对于截面多边形,本文使用了一种简单的三角化方法,该方法自上而下地从多边形每个顶点出发,如作水平扫描线,将扫描线与边的交点纪录下来,后按方式生成三角面片。
对于切割体侧面,由于上下两截面顶点数相同,因此侧面可以简单地构造为一个三角形带,本节在第3节获得的代理面中实现了基于GPU的光线投射算法,完成体数据的切割。
新的显卡已经可以支持DirectXPixelShader3.0和OpenGLNV_fragment_program2甚至更高版本的渲染技术,这些技术为可编程的图形流水线提供了动态循环和条件转移的支持。利用这一特性,就可以在GPU上实现单通道的光线投射算法。该算法的思想是通过对长方体代理面前后表面的绘制来获得光线的出入射点位置,然后在GPU的fragmentshader中完成沿光线的积分,算法只需一个通道。
本文将代理面推广到任意形状封闭曲面,使用户能直接通过交互式操作从体数据中切割出想要的数据区域,并进行单独绘制。
4.1光线参数计算1)光线方向本文光线投射算法的投影方式为平行正投影,世界坐标下的光线方向为视点到原点的方向。在Direct3D中,视点在视空间的坐标Ev[0,0,0,1],设模视变换矩阵为Tmv,则视点在物空间的坐标EoEvT-1mv物坐标系下体数据的中心放置在原点,并且体数据不一定是立方体,因此需要将代理面的物坐标映射到[0,1]作为采样用的3D纹理坐标。在vertexshader中,顶点坐标转换为3D纹理坐标方法如下:Mmax(Ex,Ey,Ez),ScMΠEc,TcPcSc 0.5,c∈{x,y,z}.Ec为体数据各方向长度,而Ez为体数据的层数和层间距的乘积;Pc为传入的代理面顶点物坐标;Sc为xyz各方向的放大系数,它可以在CPU中计算好后传入GPU.4.2深度剥离为了实现多个任意形状切割体的切割,本文利用深度剥离算法来获得光线在切割体中每次出入射点的位置。
绘制切割体时,标准的深度测试可以给出切割体上离视点近的片段,但不能给出其他片段。
深度剥离能够解决这个问题,它使用n个通道(n≥2),每个通道利用深度信息将前一通道记录的片段剥离,以获得新一层深度的片段。
这样,终把切割体分解为n个按深度信息排序的层,两层之间就是切割体的内部。
4.3光线投射过程本文以半透明体绘制效果为例,将以切割体为代理面的光线投射过程分解如下:Step1.
计算采样点坐标和采样长度。
得到光线方向D、入射点坐标T0I和出射点坐标O后,设采样步长为d.
于是,通过迭代可以得到每次步进后的采样点坐标Ti 1Ti dS3D,并计算采样长度l distance(I,O).
其中S为Sc(c∈{x,y,z})组成的放大系数向量,3为向量对应位置元素乘积运算。
5实验结果与分析本节以CT数据为例,对本文提出的基于GPU的切割方法进行评价。
实验所用电脑配置如下:CPU为IntelCore2Duo2.2GHz,内存2GB,由于绘制算法需要GPU支持动态循环和条件转移,选择显卡为Geforce8600GTM,支持DirectXPixelShader3.0.整个框架用C 编写完成,用到Direct3D9.0的图形库和HLSL着色语言。
5.1算法验证实验采用体数据大小为256×256×256,3D纹理采样使用线性插值,光线的采样步长d0.005,整个图像绘制在512×512的区域。对足部切割代理面,首先用一个代理面切割出拇指,再增加一个代理面并调整好形状后,切割无名指。
本文方法只需要通过简单的交互操作、生成切割体的代理面,就可以实现多个任意形状的切割;而且在切割过程中以及完成切割后,都可以通过路径上的控制点改变切割体的形状信息,任意增加或减少切割体数量,并在绘制窗口实时观察改变结果。
对体数据切割前后绘制效率的比较。 切割后的体绘制的效率得到了大幅的提升。提升的原因有2个:1由于现在的显卡生成三角形的速度相当快(7600GT可达20亿个Πs),因此代理面的绘制不会对整个体绘制效率造成太大影响。
2)通过对代理面的绘制,光线投射算法只需在切割体内部进行。
5.2不同方法比较实验采用体数据大小为256×256×225,3D纹理采样使用线性插值,光线的采样步长d0.005,整个图像绘制在512×512的区域。
基于深度信息的切割方法,在处理多个切割体时,在切割体重叠部位会显示出错基于距离场的切割方法很好地解决了多个切割体的问题,但每次改变切割体形状都必须重新计算距离场纹理,再传入GPU,很难实现实时显示;由于引入了额外的显存开销和GPU运算,并且光线投射算法仍要遍历整个数据,从表2实验结果可以看到,使得切割后的绘制效率降低。
本文方法不仅解决了传统的基于深度信息的切割方法对切割体形状和数量的限制问题,而且与基于体纹理和基于距离场的切割方法相比,可以实时地改变切割体形状和数量,省掉了额外的显存开销,并且有效地提高了绘制效率。
6总结和展望本文提出了一种基于GPU的体数据交互式切割方法,可以实现多个任意形状的切割体切割。实验结果表明,该方法切割效果理想,并具有良好的交互性和实时性。
本文的切割体使用了比较简单的多边形结构,基本可以满足大多数切割要求,今后可以根据需要,把切割
-
- 水切割机工作原理及应用领域 (9-13)
- 激光切割机使用注意事项 (9-13)
- 等离子切割机日常保养知识:延长寿命,保证效果! (9-13)
- 火焰切割机使用注意事项及安全指导 (8-22)
- 焊接机的日常保养知识与技巧 (8-22)
- 切割机的组成和工作原理 (8-22)
- 焊接机器人激光-电弧复合焊 (11-19)
- 2018年1-8月全国焊接钢管产量为3191.2万吨 同比增长9%.. (11-19)
-
- 深圳市莱雷科技简述-瓶装天然气替代乙炔切割新技术.. (12-19)
- 时代是中国焊接产业振兴的中流砥柱和旗帜.. (8-5)
- 大族粤铭应邀参加《第十五届中国口腔设备材料展览会暨技术交流会.. (6-19)