采用FPGA实现医疗影像
医疗影像技术在医疗保健行业扮演了越来越重要的角色。这一行业的发展趋势是通过非置入手段来实现早期疾病预测和治疗,降低病人开支。多种诊断影像方法的融合以及算法开发的进步是设计新设备来满足病人需求的主要推动力量。为实现这些行业目标所需要的功能,设备开发人员开始采用提供FPGA支持、可更新的现成商用(COTS) CPU平台进行数据采集和协处理。在灵活高效地开发可更新医疗影像设备时,需要考虑几个因素,包括影像算法的开发,多种诊断方法的融合以及可更新的平台等。
开发影像算法要求使用直观的高级建模工具,以不断改进数字信号处理(DSP)功能。高级算法需要可更新的系统平台,该平台大大提高了图像处理性能,而且实现的设备体积更小,使用更方便,更容易携带。
实时分析的性能需求要求系统平台能够随软件(CPU)和硬件(可配置逻辑)而进行调整。这些处理平台必须能够满足各种性能价格要求,支持多种影像诊疗手段的融合。FPGA很容易集成到多核CPU平台中,为最灵活的高性能系统提供DSP功能。
系统规划人员和设计工程师使用高级开发工具和知识产权(IP)库,在这些平台上迅速对算法进行划分和调试,加速设计实现,提高利润。
本文介绍医疗影像算法的某些发展趋势,多种诊疗手段的融合以及可更新平台来实现这些算法。
医疗影像的算法开发
首先,让我们了解一下每种诊疗手段影像算法的发展趋势,以及怎样使用FPGA和知识产权。
MRI
磁共振影像(MRI)重构技术建立人体的截面图像。借助FPGA,采用了三种功能来重建3D人体图像。从频域数据中,2D重构切片通过快速傅立叶变换(FFT)产生灰度级切片,一般是矩阵的形式。3D人体图像重构通过切片插值使得切片间距接近象素间距,这样,可以从任意2D平面来查看图像。迭代分辨率锐化使用基于迭代反向滤波过程的空间去模糊技术,在降低噪声的同时对图像重构。这样,大大提高了横截面的视觉诊断分辨率。
超声
超声图像中显现的小颗粒被称为斑点。各种无关的散射体相互作用产生了超声斑点(和无线领域的多径RF反射相似),它本质上是一种乘性噪声。使用有损压缩技术可以实现无斑超声影像。先对图像进行对数处理,斑点噪声相对于有用信号成为加性噪声。使用JPEG2000编码器进行有损小波压缩可以减小斑点噪声。
X射线影像
冠状X射线图像移动校正技术用于减小成像期间呼吸和心脏跳动的影响(心跳呼吸周期)。“3D加时间”冠状模型的移动被投射到2D图像上,用于计算纠偏函数(转换和放大),对移动进行校正,得到清晰的图像。
分子影像
分子影像是在细胞和分子级对生物医学过程进行特征描述和测量。其目的是探测、采集并监视导致疾病的异常状态。例如,X射线、正电子放射断层扫描(PET)和SPECT技术相结合,将低分辨率的功能/细胞/分子图像映射到相应的高分辨率解剖图像,最小可以达到0.5 mm。小型化和算法开发推动了在这些紧凑系统平台上使用FPGA,在多核CPU基础上进一步提高了性能。
诊断方法的融合
早期预测和非置入式治疗推动了PET/计算机辅助断层扫描(CT)和X射线诊断/CT设备等诊疗手段的融合。要实现更高的图像分辨率,要求采用精细的几何微阵列探测器,并结合FPGA,对光电信号进行预处理。预处理完成后,CPU和FPGA协处理器一起对汇集后的信号进行处理,重建人体图像。
非实时(NRT)图像融合(重合)技术一般用于对不同时间获得的功能和解剖图像进行分析。然而,由于病人体位、扫描床外形以及内脏器官的自然移动等因素导致很难进行NRT图像重合处理。使用FPGA处理技术来实时融合PET和CT可以在一次成像过程中同时获得功能和解剖图像,而不是事后再合成图像。在手术治疗中,融合后的图像清晰度更高,位置更精确。
外科引导手术图像处理使用手术前(CT或者MR)图像和实时3D (超声和X射线)图像重合(相关)技术,通过非置入手段(超声、MR介入和X射线治疗)对疾病进行外科治疗。开发了各种算法以实现诊疗手段和治疗类型融合的最佳图像重合结果。
在这类融合系统中,支持高速串行互联的FPGA能够减少系统后处理部分数据采集功能的相互链接,大大降低了电路板和电缆相关的系统总成本。
影像算法
各种影像算法通常在FPGA中实现,包括图像增强、稳定、小波分析和分布式矢量处理等。
一般采用卷积(线性)滤波来实现图像增强。高通和低通滤波后的图像经过线性组合,由矩阵乘法模板进行加权,产生的图像增强了细节,同时降低了噪声。
视频图像稳定技术对视频数据序列中的旋转和缩放效果进行归一化处理,以平均连续帧中的噪声。这还平滑了从视频中提取的静止图像的锯齿边沿,能够纠正大约1/10象素的图像抖动。
为获取信号中的事件信息,小波分析使用可变窗口技术每次分析一小部分信号。小波分析对精确的低频信息使用较长的时间间隔,对高频信息使用较短的间隔。小波应用包括探测不连续点以及断点、探测自相似、抑制信号、去除信号噪声、去除图像噪声、压缩图像以及大型矩阵快速乘法运算等。
最近开发的S变换(ST)结合了FFT和小波变换。它揭示出频率随空间和时间的变化。其应用包括纹理分析和噪声滤除等。但是,ST的计算量较大,采用传统的CPU实现起来速度太慢。分布式矢量处理技术解决了这一问题,它在FPGA中同时采用矢量和并行计算,处理时间缩短了25倍。
一种癌症早期探测的方法利用了病人的重新造血能力。数字传感器探测人体辐射出的红外能量,从而“看到”由于癌症导致血流增加而出现的微小差异。其典型实现基于可编程心缩矩阵,采用了通用工作站以及FPGA专用硬件引擎来实现。和目前的高端工作站相比,该引擎将核心算法速度提高了近1,000倍。
这些复杂影像算法需要哪些关键FPGA构建模块函数呢? 在CT重建中,需要插值、FFT和卷积函数。在超声中,处理方法包括颜色流处理、卷积、聚束、混合和弹性估算等。普通影像算法包括颜色空间转换、图形覆盖、2D/中值/时间滤波、缩放、帧/域转换、对比度增强、锐化、边沿探测、限幅、平移、极坐标/笛卡儿坐标转换、不均匀校正以及象素替换等函数。
可更新的平台
很多影像系统以前都采用专用计算系统进行构建。现在,随着高性能COTS CPU板的推出,系统工程师可以采用更现成的方法。虽然软件自己可以完成很多算法的非实时处理,但实时影像处理还是需要辅助硬件。目前的FPGA内置了DSP模块、宽带存储器模块和大量的可编程单元,是实现这些辅助硬件的理想器件。
Altera与其合作伙伴密切协作,实现了FPGA协处理资源和COTS CPU解决方案的可靠集成。对于Intel和AMD单板计算机(SBC),内置了串化器/解串器的Stratix II GX FPGA能够直接实现PCI Express兼容协处理器板,承担算法功能。对于双插槽的AMD SBC,Altera合作伙伴XtremeData提供协处理器子卡,直接插入到一个Opteron插槽中,提供非常好的CPU+FPGA处理方案(参见图1)。对于性能要求更高的大计算量应用,四插槽AMD SBC可以提供多种CPU+FPGA协处理器组合方案(1+3,2+2或者3+1)。可以采用多个1-U刀片服务器来实现非常灵活的平台,每个刀片完成CPU+FPGA协处理器方案。
图1 XtremeData XD1000系统图
注:XD1000™直接插入到多Opteron母板的Opteron™插槽940中,使用母板的现有CPU基本结构。
这些平台的应用加速取决于算法——FPGA承担的算法中并行计算越多,运行速度就越快。例如,由基于FPGA的硬件来加速实现CT影像算法时,每个3-GHz CPU结合一个FPGA协处理器,运行速度提高10倍,大大降低了系统级功耗,节省了空间和成本。
开发方法
现在,让我们考虑算法开发方法以及相应的实现工具。
算法工具
影像设计人员使用高级软件工具对各种算法建模,并对结果进行评估。数字信号处理最好的通用工具是MathWorks的MATLAB处理引擎和Simulink仿真器GUI。大部分OEM和医疗设计机构使用MATLAB来开发快速精确的算法,包括数字图像处理、图像定量分析、模式识别、数字图像编码/压缩、自动显微影像、法医图像处理以及二维小波变换等。除了算法开发外,MATLAB还可以仿真FPGA中常用的定点算法,提供可选的工具,生成能够运行在通用CPU上的C代码。
划分和调试
算法开发完成后,系统设计人员必须确定怎样在CPU和FPGA之间划分功能,提供最好的总体解决方案,在性能、成本、可靠性和使用寿命上达到最佳平衡。设备设计人员认为在高性能硬件系统上对算法进行划分和调试非常困难。以前的很多设计在FPGA中使用装配线方法,把算法分成多个函数,顺序执行。90%的调试功能都花在集成上。由于每个函数执行时间必须相互平衡,以实现最大吞吐量,因此出现了很多困难,无法观察本地存储器和延时。
解决方案是基于分布式协处理器计算模型,“以软件为中心的方法”(参见图2),其中:
协处理器中的每个函数是一个执行机(函数子处理器),子处理器之间具备基于消息的控制通过功能。
所有存储器、CPU和子处理器之间可完全切换,能够全面观察,容易进行调试。
内部FPGA子处理器之间以及系统内其他CPU和协处理器之间可以调整消息通过功能。
图2 以软件为中心的设计
例如,在Altera/XtremeData协处理器解决方案中,利用了这些概念来实现优异的设计方法。AlteraFPGA的Avalon交换架构以及芯片可编程系统(SOPC)集成工具在所有功能单元之间自动构建灵活的交叉交换架构。接口IP提供FPGA至主机CPU以及FPGA至DIMM存储器经过预测试的接口。基于预测试消息的基本结构(由Nios CPU定义的软件)控制主机CPU、FPGA子处理器和FPGA存储器控制器之间的通信。消息传递和全交换功能简化了开发期间的调试,大大提高了灵活性。可以在执行期间软定义(重新定义)数据通路,在系统集成和调试期间对数据进行解释,改变传送方向,以提高其可观察性。
设计工具和IP
虽然MATLAB等工具非常适合软件算法开发,但是还不足以在FPGA中实现。设计人员使用Altera以及第三方EDA工具和IP,可以加速其设计在FPGA中的实现。例如,Altera提供全套的工具:DSP Builder、SOPC Builder、Nios II CPU开发套件、Nios II C语言至硬件加速(C2H)编译器和Quartus开发包等。
Altera的视频和图像处理包以及DSP库提供关键IP构建模块,加速复杂影像算法的开发和实现。视频和图像处理模块库以及其他的Altera/合作伙伴IP模块和参考设计(包括IQ调制解调器、JPEG2000压缩、FFT/IFFT、边沿探测等),为设计人员提供了大量的IP来加速大计算量任务的FPGA实现。
DSP Builder工具提供基于IP库的设计流程,链接MATLAB开发的算法和Altera Quartus工具包实现的FPGA。
SOPC Builder是系统集成工具,自动生成IP模块、Altera MegaCores功能(包括Nios II CPU)、合作伙伴IP和用户定义功能之间的互联代码(Verilog或者VHDL)。
Nios II开发套件使C程序能够植入到FPGA的一个或者多个Nios II CPU中,并进行调试。Nios II CPU是32位可配置RISC软核处理器CPU。
Nios II C2H编译器是新工具,它分析C代码算法内循环,生成FPGA中的协处理器逻辑,大大提高了Nios II CPU所运行软件的性能。适度增加逻辑,运行速度便能够提高10到100倍。
Quartus开发包是在AlteraFPGA中实现可编程硬件和软件功能的主要工具。它提供IP导入功能,以及仿真和布局布线等所有功能,在Altera开发板或者用户目标系统上进行FPGA编程。
Celoxica等其他EDA供应商还提供C语言至HDL转换工具,以加速FPGA的实现。
结论
婴儿潮时期出生的人们寻求更可行的新治疗手段来治疗常见疾病(特别是与心脏病和癌症),包括早期探测和非置入手术治疗等。影像诊断方法融合及其相关算法开发上的进步大大推动了新设备的发展,满足了病人的需求。高级算法需要可更新的系统平台,该平台能够显著提高图像处理性能。
集成到COTS多核CPU平台中,FPGA为最灵活的高性能系统提供了DSP功能。为帮助在这些平台上加速实现复杂影像算法,需要采用高级开发工具和IP实现库。Altera考虑到这些需求而开发了工具和IP库。这些库包括成像所需的关键构建模块功能,并集成到Altera完整的工具包中,结合MathWorks的算法开发工具,能够快速进行开发。
页:
[1]