医疗成像算法的当前趋势及其可扩展平台
时间:10-17
来源:互联网
点击:
成像算法
有好几种不同的成像算法被常用于FPGA中。这些算法包括增强、稳定、小波分析和分布矢量处理。
图像增强算法通常用到卷积或线性、滤波。高通滤波图像和低通滤波图像进行线性组合,通过矩阵乘法加权,可生成一幅细节增强而噪音降低的图像。
视频图像的稳定包括视频数据序列的规范化旋转和缩放效果,以最终达到连续帧之间噪音的平衡。此外,该算法平滑了从视频中提取的静态图像的锯齿边缘,并可将图像抖动校正至约十分之一个像素。
小波分析算法设计用于帮助获取信号内的事件信息,小波分析算法采用窗口技术——通过变化窗口的大小——来分析信号的一小段。为了获得更高的精确性,小波分析允许对低频信息采用较长的时间间隔,而对高频信号采用更短的时间间隔。小波分析算法的应用包括不连续点和断点的检测、自相似性检查、信号抑制、信号或图像的降噪、图像压缩和大型矩阵的快速相乘。
近期取得进展的S变换算法结合了FFT和小波变换的优点。它揭示了空间和时间上的频率变化。这一功能的应用包括纹理分析和噪声滤波。S变换算法属于一种密集型计算,会使得传统CPU的执行速度变得很慢。分布式向量处理可以解决这个问题,通过在FPGA内部将向量和并行计算相结合,使得处理时间可缩短25倍。
早期癌症检测的一种方法是利用了恶性肿瘤会调动新血液供应的功能。数字传感器检测到由病人身体释放出的红外线能量。因此,它可以检测到因癌症引起的血流量增加与正常情况的细微差别。这一功能的典型应用是基于一个可编程脉动列阵,通过一个通用工作站和一个基于FPGA的专用硬件引擎来实现。 FPGA引擎可将核心算法加速至近1000倍于一个目前最新工作站所能达到的速度。
对于这些复杂的成像算法而言,多FPGA模块部件功能是必须的。例如,CT重建需要插值、快速傅立叶变换和卷积等功能。在超声成像领域,处理方法包括彩色流处理、卷积、波束形成和弹性估计等。通用成像算法包括诸多类似的功能,如色彩空间转换、图形叠加、2D中值滤波、缩放、帧和场的转换、对比度增强、锐化、边缘检测、阈值、平移、极性和笛卡尔转换、非均匀性校正和像素置换等。
可扩展平台
在过去,许多成像系统被作为成专有计算机系统来打造。但随着当前高性能的商用现货供应(COTS)的CPU板的出现,系统工程师能够以更具创造性的方式来实现设计。虽然许多算法的NRT处理过程单单就软件而言是可以接受,但是实时图像处理仍需要硬件的辅助。当前的FPGA内置有DSP模块、高带宽的内存模块、以及大型可编程阵列等,是非常适合提供这类硬件辅助的硬件设备。
Altera公司(圣何塞)一直与其合作伙伴紧密合作以提供FPGA协处理资源+COTS CPU解决方案的组合。对于来自英特尔公司和AMD公司的单板机(SBC),Altera公司的内置有串行器-解串器的Stratix II GX FPGA可以直接运行PCI Express兼容协处理器板用于算法卸载。对于AMD公司的带有双插槽的单板机,XtremeData公司(美国伊利诺斯州、绍姆堡)提供了一个可直接插入AMD皓龙处理器的插座的协处理器子卡,提供了一个一流的CPU+FPGA处理解决方案。一个四插槽的AMD单板机可提供多个CPU+FPGA协处理器的组合(1 +3,2 +2或3 +1),用以提高算法密集型应用的性能。但可以通过使用多个1U服务器刀片实现最终的平台可扩展性,每个1U服务器刀片执行CPU+FPGA协处理器解决方案。
这些平台的应用增速效果取决于算法:一个算法中可以加载到FPGA中的并行计算越多,整体的执行速度就越快。例如,当对一个CT成像算法采用基于FPGA硬件的加速——给每个CPU(3 GHz)加上一个FPGA协处理器时,整个应用程序的执行速度快了10倍。结果就是,系统的功耗、尺寸以及成本明显地下降。
开发方法学
讨论自然地包括对开发算法的方法以及相应的算法执行工具的考虑。
算法工具。成像系统架构师们使用高级软件工具来对不同的算法建模,并对所取得的结果进行评估。先进的数字信号处理通用工具是来自MathWorks公司(美国、马萨诸塞州、内蒂克)的MATLAB处理引擎和Simulink仿真器图形用户界面。大多数OEM(原始设备制造商)和医疗设计室利用MATLAB来开发快速、精确的算法,如数字图像处理、定量图像分析、模式识别、数字图像编码和压缩、刑侦图像处理和2D小波变换。除了算法开发之外,MATLAB可以被用来模拟在FPGA普遍采用的定点算法,并带有可选工具包,可以生成运行在通用CPU或FPGA内的C代码。
算法的划分和调试。一旦算法开发完成,系统架构师必须决定如何划分CPU和FPGA的功能,以提供最佳的整体解决方案——能够平衡性能、成本,可靠性和寿命的解决方案。设备构架师抱怨说,对一个高性能硬件系统中诸多单元进行算法划分和调试是一种挑战。在过去上,许多设计在FPGA中采用流水线的方法。也就是说,算法被分为成各种功能并在一个有顺序的流水线中执行。调试流水线的运行占了集成工作内容的90%。因为每个函数的执行时间必须针对最大计算处理量进行平衡,并且局部存储器的可见性和延时是受限制的事实,使得事情变得很难。
解决方案是一个更以软件为中心的系统设计。这个系统是基于一个分布式协处理器计算模型,在该模型内,每个功能的协处理器是一个执行机(例如,一个功能性子处理器),其具有基于消息的、用于在子处理机之间传递控制和数据消息的能力。在所有内存、CPU和子处理机之间的完全切换,提供了完整的可观测性,使得调试变容易。消息传递在内部存在于FPGA子协处理器之间;在外则出现在系统内的其它CPU和协处理器之间。
Altera公司的FPGA内部的Avalon 开关结构和可编程片上系统(SOPC)集成工具在所有功能单元之间自动生成灵活的交叉开关结构。经预先测试的IP提供了从FPGA到主机CPU和从FPGA到双列直插内存模块(DIMM)内存的接口。经预先测试的消息网络基础设施支持主机CPU、FPGA子处理机,以及FPGA内存控制器之间的通信控制。一个简化的调试方法是将消息和完全开关相结合,使得开发过程中具有最大的灵活性。最后,可在执行过程中对数据通道进行软件定义(重新定义),这样可以拦截数据或对其重新导向,从而提高系统集成和调试过程中的可观测性。
设计工具和IP。虽然MATLAB这样的工具可以优化用于采用软件进行算法的开发,但其尚不支持在FPGA中的执行。设计人员可以通过采用电子设计自动化(EDA)工具和IP来加快其在FPGA上的实现。
视频和图像处理套件以及DSP库提供了可加速复杂成像算法的开发和实现的IP积木式模块。视频和图像处理模块组,和其它IP模块及参考设计(包括同相/正交(IQ)调制解调器、JPEG2000压缩算法、快速傅立叶变换/逆傅里叶变换,以及边缘检测等)为设计人员提供了广泛的IP,设计人员可以利用这些IP迅速地完成计算密集型任务的FPGA实现。
有好几种不同的成像算法被常用于FPGA中。这些算法包括增强、稳定、小波分析和分布矢量处理。
图像增强算法通常用到卷积或线性、滤波。高通滤波图像和低通滤波图像进行线性组合,通过矩阵乘法加权,可生成一幅细节增强而噪音降低的图像。
视频图像的稳定包括视频数据序列的规范化旋转和缩放效果,以最终达到连续帧之间噪音的平衡。此外,该算法平滑了从视频中提取的静态图像的锯齿边缘,并可将图像抖动校正至约十分之一个像素。
小波分析算法设计用于帮助获取信号内的事件信息,小波分析算法采用窗口技术——通过变化窗口的大小——来分析信号的一小段。为了获得更高的精确性,小波分析允许对低频信息采用较长的时间间隔,而对高频信号采用更短的时间间隔。小波分析算法的应用包括不连续点和断点的检测、自相似性检查、信号抑制、信号或图像的降噪、图像压缩和大型矩阵的快速相乘。
近期取得进展的S变换算法结合了FFT和小波变换的优点。它揭示了空间和时间上的频率变化。这一功能的应用包括纹理分析和噪声滤波。S变换算法属于一种密集型计算,会使得传统CPU的执行速度变得很慢。分布式向量处理可以解决这个问题,通过在FPGA内部将向量和并行计算相结合,使得处理时间可缩短25倍。
早期癌症检测的一种方法是利用了恶性肿瘤会调动新血液供应的功能。数字传感器检测到由病人身体释放出的红外线能量。因此,它可以检测到因癌症引起的血流量增加与正常情况的细微差别。这一功能的典型应用是基于一个可编程脉动列阵,通过一个通用工作站和一个基于FPGA的专用硬件引擎来实现。 FPGA引擎可将核心算法加速至近1000倍于一个目前最新工作站所能达到的速度。
对于这些复杂的成像算法而言,多FPGA模块部件功能是必须的。例如,CT重建需要插值、快速傅立叶变换和卷积等功能。在超声成像领域,处理方法包括彩色流处理、卷积、波束形成和弹性估计等。通用成像算法包括诸多类似的功能,如色彩空间转换、图形叠加、2D中值滤波、缩放、帧和场的转换、对比度增强、锐化、边缘检测、阈值、平移、极性和笛卡尔转换、非均匀性校正和像素置换等。
可扩展平台
在过去,许多成像系统被作为成专有计算机系统来打造。但随着当前高性能的商用现货供应(COTS)的CPU板的出现,系统工程师能够以更具创造性的方式来实现设计。虽然许多算法的NRT处理过程单单就软件而言是可以接受,但是实时图像处理仍需要硬件的辅助。当前的FPGA内置有DSP模块、高带宽的内存模块、以及大型可编程阵列等,是非常适合提供这类硬件辅助的硬件设备。
Altera公司(圣何塞)一直与其合作伙伴紧密合作以提供FPGA协处理资源+COTS CPU解决方案的组合。对于来自英特尔公司和AMD公司的单板机(SBC),Altera公司的内置有串行器-解串器的Stratix II GX FPGA可以直接运行PCI Express兼容协处理器板用于算法卸载。对于AMD公司的带有双插槽的单板机,XtremeData公司(美国伊利诺斯州、绍姆堡)提供了一个可直接插入AMD皓龙处理器的插座的协处理器子卡,提供了一个一流的CPU+FPGA处理解决方案。一个四插槽的AMD单板机可提供多个CPU+FPGA协处理器的组合(1 +3,2 +2或3 +1),用以提高算法密集型应用的性能。但可以通过使用多个1U服务器刀片实现最终的平台可扩展性,每个1U服务器刀片执行CPU+FPGA协处理器解决方案。
这些平台的应用增速效果取决于算法:一个算法中可以加载到FPGA中的并行计算越多,整体的执行速度就越快。例如,当对一个CT成像算法采用基于FPGA硬件的加速——给每个CPU(3 GHz)加上一个FPGA协处理器时,整个应用程序的执行速度快了10倍。结果就是,系统的功耗、尺寸以及成本明显地下降。
开发方法学
讨论自然地包括对开发算法的方法以及相应的算法执行工具的考虑。
算法工具。成像系统架构师们使用高级软件工具来对不同的算法建模,并对所取得的结果进行评估。先进的数字信号处理通用工具是来自MathWorks公司(美国、马萨诸塞州、内蒂克)的MATLAB处理引擎和Simulink仿真器图形用户界面。大多数OEM(原始设备制造商)和医疗设计室利用MATLAB来开发快速、精确的算法,如数字图像处理、定量图像分析、模式识别、数字图像编码和压缩、刑侦图像处理和2D小波变换。除了算法开发之外,MATLAB可以被用来模拟在FPGA普遍采用的定点算法,并带有可选工具包,可以生成运行在通用CPU或FPGA内的C代码。
算法的划分和调试。一旦算法开发完成,系统架构师必须决定如何划分CPU和FPGA的功能,以提供最佳的整体解决方案——能够平衡性能、成本,可靠性和寿命的解决方案。设备构架师抱怨说,对一个高性能硬件系统中诸多单元进行算法划分和调试是一种挑战。在过去上,许多设计在FPGA中采用流水线的方法。也就是说,算法被分为成各种功能并在一个有顺序的流水线中执行。调试流水线的运行占了集成工作内容的90%。因为每个函数的执行时间必须针对最大计算处理量进行平衡,并且局部存储器的可见性和延时是受限制的事实,使得事情变得很难。
解决方案是一个更以软件为中心的系统设计。这个系统是基于一个分布式协处理器计算模型,在该模型内,每个功能的协处理器是一个执行机(例如,一个功能性子处理器),其具有基于消息的、用于在子处理机之间传递控制和数据消息的能力。在所有内存、CPU和子处理机之间的完全切换,提供了完整的可观测性,使得调试变容易。消息传递在内部存在于FPGA子协处理器之间;在外则出现在系统内的其它CPU和协处理器之间。
Altera公司的FPGA内部的Avalon 开关结构和可编程片上系统(SOPC)集成工具在所有功能单元之间自动生成灵活的交叉开关结构。经预先测试的IP提供了从FPGA到主机CPU和从FPGA到双列直插内存模块(DIMM)内存的接口。经预先测试的消息网络基础设施支持主机CPU、FPGA子处理机,以及FPGA内存控制器之间的通信控制。一个简化的调试方法是将消息和完全开关相结合,使得开发过程中具有最大的灵活性。最后,可在执行过程中对数据通道进行软件定义(重新定义),这样可以拦截数据或对其重新导向,从而提高系统集成和调试过程中的可观测性。
设计工具和IP。虽然MATLAB这样的工具可以优化用于采用软件进行算法的开发,但其尚不支持在FPGA中的执行。设计人员可以通过采用电子设计自动化(EDA)工具和IP来加快其在FPGA上的实现。
视频和图像处理套件以及DSP库提供了可加速复杂成像算法的开发和实现的IP积木式模块。视频和图像处理模块组,和其它IP模块及参考设计(包括同相/正交(IQ)调制解调器、JPEG2000压缩算法、快速傅立叶变换/逆傅里叶变换,以及边缘检测等)为设计人员提供了广泛的IP,设计人员可以利用这些IP迅速地完成计算密集型任务的FPGA实现。
FPGA DSP 无线电 编码器 电子 电路 传感器 红外 Altera 仿真 自动化 EDA 相关文章:
- 医疗电子技术大会折射行业发展方向(04-18)
- 李现路:DSP6000中C/C++语言和汇编语言的混合编程的方法(11-28)
- KC BioMediX Inc. 公司使用图形化系统设计 (GSD) 辅助早产儿学习口部吸吮与进食(02-20)
- 利用混合信号FPGA推动临床医疗应用设备的发展(10-27)
- CMOS图像通道在超声诊断仪中的应用(03-25)
- 高性能嵌入式ARM MPU在医疗电子系统中的应用(08-20)