基于光线投射算法的医学图像三维重建方法综述

时间:2022-09-19 11:46:41

基于光线投射算法的医学图像三维重建方法综述

摘要:该文综述了当前医学图像三维重建中基于光线投射算法的几种改进算法,对各种改进算法的优缺点进行了比较。

关键词:三维重建;改进的光线投射法;自适应改进求交;线性八叉树;深度;片段;层次包围盒

中图分类号:TB811文献标识码: A文章编号:1009-3044(2010)10-2470-02

The Overview about 3D Reconstruction of Medical Image Based on RayCCasting Method

WEI Wei, ZHENG Yong-guo

(College of Information Science & Engineering,Shandong University of Science & Technology, Qingdao 266510, China)

Abstract: This paper summarizes some improved algorithm of Ray-casting algorithm apply to current Three-dimensional reconstruction of medical images and compare their merits and demerits.

Key words: 3D reconstruction; improved ray-casting algorithm; adaptive improved-intersecting; linear Oc tree-based; depth-based; segment-based; hierarchical bounding volumes

磁共振(MRI)、计算机断层(CT)扫描等医学成像设备能提供医学序列二维断面,但是由序列二维断面想象复杂的三维结构很困难。近几十年来,人们一直在研究由序列二位断面重构并显示三维结构的方法,这一领域被称为医学体数据可视化。目前体绘制方法主要分两类:以图像空间为序的体绘制方法和以物体空间为序的体绘制方法。光线投射算法是一种基于图像空间的经典体绘制算法,由Levoy提出。光线投影法是体绘制技术中图像效果较好的方法,且算法原理简单易实现。

1 光线投射算法简介

光线投射算法[1](Ray-Casting)它的基本思想是:从屏幕上的每一像素点发出1条视线,这条视线穿过三维场的体元矩阵,沿这条视线等距设置采样点,将距离采样点最近的8个数据点所组成体素的颜色值及不透明度进行三次线形插值,求出该采样点的不透明度及颜色值。然后可以按从前到后或从后到前的合成公式对所有采样点的颜色和不透明度进行合成。当对所有像素点都进行以上过程后,就会得到此数据场的体绘制图像。在医学上可表现出各组织器官的属性、特征及层次关系,从而使图像更加丰富。

2 几种改进的光线投射算法

2.1 改进求交的自适应光线投射法[2]

利用光线和平面簇相交简化光线求交过程,确定采样点,直线和平面族的交点并非是需要的采样点,采样是不等间隔的,但仍然可以保证采样的密度,使直线上的所有体素都能获得采样点。在预处理阶段确定自适应采样步长Δt的大小、计算Δt个体元的总不透明度和颜色值。传统光线投射算法在进行进行三线性插值时的时间复杂度为O(n3)。采用光线快速求交方法的法复杂度略高于O( n2)但低于O(n3);利用自适应采样确定采样点能使算法速度能提高30%左右。

2.2 基于线性八叉树的光线投射体绘制算法[3]

基于线性八叉树的光线投射体绘制算法具有时间复杂度与数据场基本无关的特点,其基本思想类似于空间跳跃采样,基于线性八叉树的光线投射体绘制算法的效率主要取决于两个操作:1) 计算射线在当前八分体上的出口点;2) 查找沿射线前进方向与当前八分体相邻的下一个八叉树叶结点所代表的八分体。

只有当由于减少采样而节约的时间大于求交计算所耗费的时间时才会产生加速效果。当数据场比较复杂、每个结点都接近于最小分辨率时,运算负担会相应增加,此时就不能采用八叉树的方法;当不透明度值很大时也难以取得明显的加速效果,因此,该改进算法适用条件是:空间物体不同属性部分的连续性较高、数据场越大,加速效果越明显。

2.3 基于深度的光线投影体绘制算法[4]

深度是指绘制起始点到目标点的物理距离,一定深度下的图像是对小于此深度的信息予以透明化的结果。基于深度的光线投影体绘制算法是在绘制过程中引入深度信息,通过观察角度和深度的交互来有效绘制体数据内部层次的信息,同时将其上下文信息予以绘制和保存。通过基于深度的交互,信息被由外向里地绘制出来,基于深度的光线投影体绘制是把高于目标深度的信息以及上下文信息都保留,对低于目标深度的信息予以忽略。

算法绘制的过程是深度和光线投射两者的结合。分为以下几步:

1)数据预处理,把数据进行初步分割,赋予相应的颜色值。

2)基于数据量设定深度函数节点。

3)进行光线投射重采样,应用深度函数求解透明度值。

4)合成透明度值与强度值,绘制图像。

5)调整深度函数,重新绘制输出。

在基于深度的光线投射体绘制算法整个绘制过程中,通过深度的不断增加,重建图像内部信息从侧面开始逐渐作为整体被绘制出来,保证了对特征的信息的判断提供帮助。

2.4 基于片段的光线投射算法[5]

基于片段的光线投射算法(segment-based ray-casting, SRC)是利用体数据的数据一致性对传统的光线投射算法进行简化从而提高了绘制性能。体数据的数据一致性是指在体数据中,相邻体素通常具有相似或者相同的值,因此可以认为相邻的重采样点之间具有相似或者相同的光学属性。基于片段的光线投射算法将相似的连续重采样点合并成片段,并将融合的基本单位由重采样点扩大为片段,从而减少了融合次数,提高了绘制性能。结合GPU加速技术可以将绘制速度提高数倍,可以实现对中小规模体数据高质量的实时绘制。

基于片段的光线投射算法认为体数据的数据一致性总是存在的,并且密度值相近的体数据总是具有相同的光学属性,这种假设在某些特殊的情形下会丢失一些细节,如传递函数在某一点处发生跳跃有可能就会被忽略,因此为了提高绘制性能,基于片段的光线投射算法在一定程度上要牺牲图像质量。SRC中有阈值S和片段长度的最大值M两个重要参数,这两个参数是决定图像质量和绘制性能的关键。片段相似度阈值S是用来判定连续重采样点是否属于同一个片段,片段长度的最大值决定了一个片段可能存在的最大长度,设置片段的最大长度可以适度限制不合理的片段相似度带来的图像走样。

2.5 层次包围盒与GPU实现相结合的光线投射算法[6]

该算法的基本思想为:根据体数据大小构建包围盒,令包围盒的顶点颜色与空间坐标在数值上相等,然后绘制包围盒的前表面,绘制结果为投射光线进入体数据的起始点坐标。最后绘制包围盒的后表面,绘制结果为投射光线离开体数据的终点坐标,终点坐标减去起点坐标获取投射光线的方向向量。该算法避免了复杂的顶点着色程序,通过对体数据分块构建包围盒树来跳过空体素,在不影响图像绘制质量的情况下,以缩短投射光线在体数据内的有效采样长度来提高光线积分的效率,从而加快了绘制速度。该算法构造包围盒树的处理时间短,不改变原始体数据的存储方式,与体裁剪操作结合时响应时间快,有较好的应用前景。但是,由于图形硬件存储空间的限制,当体数据量过大并且不能一次载入时无法进行处理。

3 比较及结论

用连续的460张基于DICOM标准的空间分辨率为512×512、扫描间隔1 mm的头部CT图像做三维重建,比较以上几种方法发现,采用改进求交的自适应光线投射法绘制出的图像质量没受到明显影响,改进后耗时4.45秒,相对改进前的5.73秒速度提高了30%左右。采用基于线性八叉树的光线投射体绘制算法,设采样步长和不透明度为1时,体绘制时间为3.95秒,采样步长和不透明度越小,加速效果越显著。缺点是只有当减少采样节约的时间大于求交计算所耗费的时间时,才会产生加速效果。当不透明度值很大时,也难以取得明显的加速效果。采用基于深度的光线投影体绘制算法,随着深度的增加,组织内部逐渐绘制,通过这种深度和观察角度交互有效地定位目标信息并保存上下文信息。需要改进的是特征信息定位的交互性和实时性及提取效果的再优化。采用基于片段的光线投射算法,由于没有简化重采样操作,对绘制性能的提升十分有限,SRC可以在保持绘制图像质量的基础上,提高绘制速度。缺点是与其他几种方法,绘制速度相对较慢。层次包围盒方法与八叉树加速效果相当,但加入体裁剪操作后能快速响应,因此具有更好的实用性。缺点是普遍受图形硬件存储空间的限制,当体数据量过大或不能一次载入时无法对体数据进行处理。

参考文献:

[1] Harvey R H P.Raycasting architectures for volume visualization[J].IEEE Trans on Visualization and Computer Graphics,1999,5(3):210-223.

[2] 樊鹏,郭宝龙.一种改进求交的自适应光线投射体绘制算法[J].计算机工程与应用,2008,44(4):70-72.

[3] 颜辉武,费立凡,马晨燕.基于线性八叉树的光线投射体绘制算法改进研究[J].遥感信息,2004(3).

[4] 罗晖,吴百锋,孙晓光.基于深度的光线投射体绘制算法[J].计算机应用与软件,2008(1).

[5] 张怡,孙济洲,张加万.基于片段的光线投射算法[J].中国图形图像学报,2007(8).

[6] 邹华,高新波,吕新荣.层次包围盒与GPU实现相结合的光线投射算法[J].计算机辅助设计与图形学学报,2009(2).

上一篇:Matlab嵌入式系统的底层驱动 下一篇:本科独立学院《VB程序设计》教学改进浅析