一种基于PC的快速三维图像重建方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

万方数据
Vol. 16 No. 11 Nov. 2004
毛海鹏, 等
一种基于 PC 的快速三维图像重建方法
图2 传统的 FDK 算法实现
• 2ห้องสมุดไป่ตู้87 •
心轴 s 轴总是通过射线源中心 且与探测器平面相垂直 为了简化 FDK 算法的表示和计算 这里已将探测器投影数 据按几何比例折算为过原点 O 的平面投影数据 续部分 探测器投影数据均指折算后的投影 s
P ( i, j), P (i , j ) 分别表示在旋转角 θ 下的投影和滤波投影 θ
数据 h(i ) 表示卷积函数 (p,q ) 表示重建体素点在滤波投 f (x,y,z) 表示在体素点 (x,y,z) 处
3
影平面上的反投影点地址 的重建图像数据
假设由 M 幅投影图像重建 N 公式 1 ~ 2 法 如图 2 所示
收稿日期 2004-04-27 修回日期 2004-08-04 基 金 项 目 国 防 基 础 科 研 项 目 J1600E003 总装预先研究项目 41318.1.1.7 作者简介 毛 海 鹏(1976-), 男, 陕西华人 , 博士生, 研究方向为三维 CT 图形图像处理 张定华(1958-), 男, 四川新都人, 教授, 博导, 研究方向 为 CAD/CAM CT 和图形图像处理等
10
算机之间数据传送所引起的时间开销直接制约着重建速度
在普通 PC 机上完成如此海量 图像重建速度日渐成 尤其是在某些要求 因此 众多研究者开
的浮点运算是非常耗时的 随着硬件系统扫描速度的提高 实时成像的场合 需求 为影响 CT 系统整体技术指标的瓶颈 极大限制了 CT 的实际应用
现有的图像重建算法根本无法满足实际
• 2486 •
系 统 仿 真 学 报 JOURNAL OF SYSTEM SIMULATION
Vol. 16 No. 11 Nov. 2004
一种基于 PC 的快速三维图像重建方法
毛海鹏, 张定华, 梁 亮, 赵歆波, 李 山
西北工业大学现代设计与集成制造技术教育部重点实验室 , 陕西 西安 710072
大小的三维图像
根据
采用 C 语言伪代码描述传统的 FDK 算
// 投影循环 // 滤波
影响了重建代码运行性能的提高 其次 在反投影点的四邻点双线性插值计算中也存在 重复计算问题 原始 FDK 算法丢弃了重建图像数据间的相 关性 对每个重建体素的反投影点都要进行一次双线性插 值运算 针对这一问题 我们提出了一种 Z 线优先重建法 充分利用 Z 向重建数据的相关性来简约插值计算 该方法 基于如下原理 因为反投影点的 p 值与 z 无关 重建图像 空间的每条 Z 线可映射为滤波投影平面上的一条 u 向亚像 素线 将该线标记为 L L 可由两条相邻的 u 线进行线性 插值得到 若对 Z 线上各重建体素的反投影点进行计算 只需在 L 上进行相邻两点的线性插值即可 与原始的双线 性插值法相比 仅插值运算的计算量就减少了约 1/3 同 时将反投影地址参数 p 的圆整操作从 MN 3 次降到了 MN 2 次 而插值精度不受损失 同几何查找表方法相类似 Z 线优先重建法也将锥束几何关系从反投影过程中分离出 来 避免了中间重建参数的重复计算问题 但它不需要额 外的内存开销 原先的三维重建图像数据以一维的单精度浮点数数组 进行存储 其存储顺序是先 X 再 Y 最后是 Z 为了与 Z 线优先重建法相适应 必须调整重建图像的内存存储方式 仍以一维数组存储 但其存储顺序改为先 Z 再 X 最后 是 Y 这种存储模式使得在反投影过程中对重建数据 包 括滤波投影 L 线和重建体素数据等 的内存访问非常连 续 特别便于数据并行处理与预取指令操作 完成重建计 算以后 对重建的图像数据进行三维转置 即可得到原切 片方向的三维图像模型
射线源
在本文后
2
算法优化
在 Windows 操作系统平台上 利用 Intel 提供的程序 Performance Analyzer 对重建代码 因此本文主要针对反投 反投影过程包 2
y
θ
运行分析工具 VTune
进行分析 发现位于四重循环之内的反投影代码的运行时 间占到整个重建过程的 90%以上 影过程进行优化 括:1) 依照公式 3 来提高重建算法的效率
for( i = 0; i < M; i++) { filter_projection( i); for( z = 0; z < N; z++) for(y = 0; y < N; y++) for(x = 0; x < N; x ++) backprojection( x ,y,z); } save_volume();
Abstract We proposed a new kind of fast 3D image reconstruction method that processes Z-Line data first based on improvement on the traditional FDK algorithm and data parallel computing. This method could organize and partition the reconstruction data effectively, which enables accessing memory continuously and makes it easy to implement the SIMD technique on data parallel computing. At last we developed a fast 3D image reconstruction engine on the Intel Pentium 4 platform, using the SSE/SSE2 technique. The result shows that our algorithm is very effective and we can get a reconstruction speedup of over 20 times without any image precision loss compared with the traditional implementation. Keywords 3D image reconstruction; FDK algorithm; fast reconstruction; SIMD; parallel computing


三维 CT Computed Tomography 是当今国际 CT 领
始关注并研究图像重建的实时计算问题 提出了很多提高 重建速度的方法 别改进原始算法 速重建过程 意
[3]
主要分为三类 1 重建算法的改进 2 通过使用预先计算好的几何查找表来加
重建运算的硬件化实施 3 并行计算技术 王贤刚等[2] 分 但该方法所取得的重建加速比令人不是很满
摘 要 主要从传统 FDK 算法的改进和数据并行计算两方面来研究快速三维图像重建算法 提出 了一种 Z 线优先重建法 能够有效地组织和划分重建数据 从而使得对重建数据的内存访问非常 连续 便于采用单指令多数据 Single Instruction Multiple Data, SIMD 技术进行数据并行处理 最后基于 Intel Pentium 4 CPU 的 PC 平台 利用 SSE/SSE2 技术开发了三维图像快速重建引擎 实 验结果表明本文提出的方法非常有效 与原始重建算法相比 在保证图像质量不受损失的前提下 取得了 20 倍以上的重建加速比 关键词 三维图像重建 FDK 算法 快速重建 单指令多数据 并行计算 文章编号 1004-731X (2004) 11-2486-04 中图分类号 TP391.75 文献标识码 A
硬件加速虽然可以取得较高的图像重建加速比 但这种方 法成本昂贵 用分布式计算模型对二维滤波反投影法实施并行计算 得了较高的加速比 的提高 本文将从重建算法的改进和数据并行计算两方面来研 究快速三维图像重建算法 充分挖掘出单 CPU 的计算能 力 以期完成基于 PC 的高速三维图像重建 但由于三维 CT 投影数据量很大
扫描速度快 图像重建质量好和射线利用率高等优点
[1]
前应用最广泛的三维图像重建算法是 FDK 滤波反投影法 该方法计算简单 数值运算稳定 不足之处是反投影 过程计算量大 时间复杂度为 O(N 4) 其中 N 为重建图像 尺寸 用 256 幅 5122 投影重建 5123 图像 重建算法的内部 循环次数将达到 3.4x10 次
v
dso
t
O
计算 t,s,u,p,q 等中间重建参数 反投影点一般是个亚像素点
求取滤波投影平面上反投影点(p,q)的灰度值 3 加权累加 重建体素点的灰度 常采用
z
图1
u
探测器平面
x
扫描轨迹
四邻点双线性插值法来计算其灰度 分析反投影计算公式 计算 首先 可发现在其中存在大量的冗余 提出了一些解决方案 空间换时间 同时由于在几何参数 使内存访问非常不连 t,s,u,p 四个重建参数只依赖于 x,y 而与 z 无
域研究最活跃的前沿课题之一 所谓三维 CT 是指利用面 阵探测器对检测样品进行一次扫描运动过程中获得的所有 射线投影数据 通过三维重建算法直接计算出样品所有切 它具有 目 片图像的一种成像技术 与传统的二维 CT 相比
周正干等 利用 DSP 研究了图像快速重建技术 采用 算法不易维护和升级 Raman P.V. Rao[4] 采 取 计
2 反投影 f ( x , y, z) = 其中
t = x cos θ + y sin θ s = y cos θ − x sin θ d so u= d so − s p = ut q = uz
∫u
0
2
Pθ* ( p , q ) dθ
2
3
上式中
* θ
dso 表 示 射 线 源 中 心 到 原 点 O 的 距 离
支持在成组的同一数据类型上进行相同的算术或逻辑并行 操作 如图 3 所示 Intel 提供了 MMX SSE 和 SSE2 三套 指令集来支持基于单 Intel CPU 的 SIMD 技术 扩展 Streaming SIMD Extensions(2) 流式 SIMD 子集建 该扩展 SSE/SSE2
1 FDK 算法
FDK 算法是 Feldkamp [5]等人在 1984 年针对锥束几何 圆形扫描轨迹提出的一种近似三维图像重建算法 当前大 其 多数三维精确重建算法都是在该算法的基础上进一步发展 而来 图 1 给出了锥束圆形扫描轨迹的几何坐标关系 中 标系 O-ts 表示射线源坐标系 O-XYZ 表示世界坐标系 O-uv 表示探测器投影数据坐 此外 规定 z 轴是旋转中
3
// 反投影 // 图像存储
算法并行化实施
SIMD 技术是并行计算的一种有效方式 它通过定义 一条单独指
3.1 SIMD 技术
一个简单灵活的软件模型提高并行计算程度
令并行处理多个数据元素的 SIMD 执行模型使得 CPU 能够
万方数据
• 2488 •


仿 真
学 报
Vol. 16 No. 11 Nov. 2004 即用
锥束圆形扫描轨迹的几何坐标关系
关 王贤刚等人都意识到这个问题 的策略 1 续 它增加了系统资源的开销
例如几何查找表方法 这种方法采用的是 查找与其它计算过程之间频繁切换
FDK 计算公式分为两步[5] 如下所示 1 滤波
Pθ* ( i , j ) = d s2o

d so Pθ (i , j ) * h ( i ) 2 2 +i + j
An Approach for Fast 3D Image Reconstruction on PC
MAO Hai-peng ZHANG Ding-hua LIANG Liang ZHAO Xin-bo LI Shan
(The Key Laboratory of Contemporary Design and Integrated Manufacturing Technology, Ministry of Education, Northwestern Polytechnical University, Xi’an 710072, China)
相关文档
最新文档