醫(yī)療影像技術在醫(yī)療保健行業(yè)扮演了越來越重要的角色。這一行業(yè)的發(fā)展趨勢是通過非置入手段來實現早期疾病預測和治療,,降低病人開支。多種診斷影像方法的融合以及算法開發(fā)的進步是設計新設備來滿足病人需求的主要推動力量,。
為實現這些行業(yè)目標所需要的功能,設備開發(fā)人員開始采用提供FPGA支持、可更新的現成商用(COTS) CPU平臺進行數據采集和協處理。在靈活高效地開發(fā)可更新醫(yī)療影像設備時,,需要考慮幾個因素,包括影像算法的開發(fā),,多種診斷方法的融合以及可更新的平臺等,。
開發(fā)影像算法要求使用直觀的高級建模工具,以不斷改進數字信號處理(DSP)功能,。高級算法需要可更新的系統平臺,該平臺大大提高了圖像處理性能,,而且實現的設備體積更小,,使用更方便,更容易攜帶,。
實時分析的性能需求要求系統平臺能夠隨軟件(CPU)和硬件(可配置邏輯)而進行調整,。這些處理平臺必須能夠滿足各種性能價格要求,支持多種影像診療手段的融合,。FPGA很容易集成到多核CPU平臺中,,為最靈活的高性能系統提供DSP功能,。
系統規(guī)劃人員和設計工程師使用高級開發(fā)工具和知識產權(IP)庫,在這些平臺上迅速對算法進行劃分和調試,,加速設計實現,,提高利潤。
本文介紹醫(yī)療影像算法的某些發(fā)展趨勢,,多種診療手段的融合以及可更新平臺來實現這些算法,。
醫(yī)療影像的算法開發(fā)
首先,讓我們了解一下每種診療手段影像算法的發(fā)展趨勢,,以及怎樣使用FPGA和知識產權,。
MRI
磁共振影像(MRI)重構技術建立人體的截面圖像。借助FPGA,,采用了三種功能來重建3D人體圖像,。從頻域數據中,2D重構切片通過快速傅立葉變換(FFT)產生灰度級切片,,一般是矩陣的形式,。3D人體圖像重構通過切片插值使得切片間距接近象素間距,這樣,,可以從任意2D平面來查看圖像,。迭代分辨率銳化使用基于迭代反向濾波過程的空間去模糊技術,在降低噪聲的同時對圖像重構,。這樣,,大大提高了橫截面的視覺診斷分辨率。
超聲
超聲圖像中顯現的小顆粒被稱為斑點,。各種無關的散射體相互作用產生了超聲斑點(和無線領域的多徑RF反射相似),,它本質上是一種乘性噪聲。使用有損壓縮技術可以實現無斑超聲影像,。先對圖像進行對數處理,,斑點噪聲相對于有用信號成為加性噪聲。使用JPEG2000編碼器進行有損小波壓縮可以減小斑點噪聲,。
X射線影像
冠狀X射線圖像移動校正技術用于減小成像期間呼吸和心臟跳動的影響(心跳呼吸周期),。“3D加時間”冠狀模型的移動被投射到2D圖像上,用于計算糾偏函數(轉換和放大),,對移動進行校正,,得到清晰的圖像。
分子影像
分子影像是在細胞和分子級對生物醫(yī)學過程進行特征描述和測量,。其目的是探測,、采集并監(jiān)視導致疾病的異常狀態(tài)。例如,,X射線,、正電子放射斷層掃描(PET)和SPECT技術相結合,,將低分辨率的功能/細胞/分子圖像映射到相應的高分辨率解剖圖像,最小可以達到0.5 mm,。小型化和算法開發(fā)推動了在這些緊湊系統平臺上使用FPGA,,在多核CPU基礎上進一步提高了性能。
診斷方法的融合
早期預測和非置入式治療推動了PET/計算機輔助斷層掃描(CT)和X射線診斷/CT設備等診療手段的融合,。要實現更高的圖像分辨率,,要求采用精細的幾何微陣列探測器,并結合FPGA,,對光電信號進行預處理,。預處理完成后,CPU和FPGA協處理器一起對匯集后的信號進行處理,,重建人體圖像,。
非實時(NRT)圖像融合(重合)技術一般用于對不同時間獲得的功能和解剖圖像進行分析。然而,,由于病人體位,、掃描床外形以及內臟器官的自然移動等因素導致很難進行NRT圖像重合處理。使用FPGA處理技術來實時融合PET和CT可以在一次成像過程中同時獲得功能和解剖圖像,,而不是事后再合成圖像,。在手術治療中,融合后的圖像清晰度更高,,位置更精確,。
外科引導手術圖像處理使用手術前(CT或者MR)圖像和實時3D (超聲和X射線)圖像重合(相關)技術,通過非置入手段(超聲,、MR介入和X射線治療)對疾病進行外科治療,。開發(fā)了各種算法以實現診療手段和治療類型融合的最佳圖像重合結果。
在這類融合系統中,,支持高速串行互聯的FPGA能夠減少系統后處理部分數據采集功能的相互鏈接,,大大降低了電路板和電纜相關的系統總成本。
影像算法
各種影像算法通常在FPGA中實現,,包括圖像增強,、穩(wěn)定、小波分析和分布式矢量處理等,。
一般采用卷積(線性)濾波來實現圖像增強,。高通和低通濾波后的圖像經過線性組合,由矩陣乘法模板進行加權,,產生的圖像增強了細節(jié),同時降低了噪聲,。
視頻圖像穩(wěn)定技術對視頻數據序列中的旋轉和縮放效果進行歸一化處理,,以平均連續(xù)幀中的噪聲,。這還平滑了從視頻中提取的靜止圖像的鋸齒邊沿,能夠糾正大約1/10象素的圖像抖動,。
為獲取信號中的事件信息,,小波分析使用可變窗口技術每次分析一小部分信號。小波分析對精確的低頻信息使用較長的時間間隔,,對高頻信息使用較短的間隔,。小波應用包括探測不連續(xù)點以及斷點、探測自相似,、抑制信號,、去除信號噪聲、去除圖像噪聲,、壓縮圖像以及大型矩陣快速乘法運算等,。
最近開發(fā)的S變換(ST)結合了FFT和小波變換。它揭示出頻率隨空間和時間的變化,。其應用包括紋理分析和噪聲濾除等,。但是,ST的計算量較大,,采用傳統的CPU實現起來速度太慢,。分布式矢量處理技術解決了這一問題,它在FPGA中同時采用矢量和并行計算,,處理時間縮短了25倍,。
一種癌癥早期探測的方法利用了病人的重新造血能力。數字傳感器探測人體輻射出的紅外能量,,從而“看到”由于癌癥導致血流增加而出現的微小差異,。其典型實現基于可編程心縮矩陣,采用了通用工作站以及FPGA專用硬件引擎來實現,。和目前的高端工作站相比,,該引擎將核心算法速度提高了近1,000倍。
這些復雜影像算法需要哪些關鍵FPGA構建模塊函數呢? 在CT重建中,,需要插值,、FFT和卷積函數。在超聲中,,處理方法包括顏色流處理,、卷積、聚束,、混合和彈性估算等,。普通影像算法包括顏色空間轉換、圖形覆蓋,、2D/中值/時間濾波,、縮放,、幀/域轉換、對比度增強,、銳化,、邊沿探測、限幅,、平移,、極坐標/笛卡兒坐標轉換、不均勻校正以及象素替換等函數,。
可更新的平臺
很多影像系統以前都采用專用計算系統進行構建?,F在,隨著高性能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倍,,大大降低了系統級功耗,節(jié)省了空間和成本,。
開發(fā)方法
現在,讓我們考慮算法開發(fā)方法以及相應的實現工具,。
算法工具
影像設計人員使用高級軟件工具對各種算法建模,,并對結果進行評估。數字信號處理最好的通用工具是MathWorks的MATLAB處理引擎和Simulink仿真器GUI,。大部分OEM和醫(yī)療設計機構使用MATLAB來開發(fā)快速精確的算法,,包括數字圖像處理、圖像定量分析,、模式識別,、數字圖像編碼/壓縮、自動顯微影像,、法醫(yī)圖像處理以及二維小波變換等,。除了算法開發(fā)外,MATLAB還可以仿真FPGA中常用的定點算法,,提供可選的工具,,生成能夠運行在通用CPU上的C代碼。
劃分和調試
算法開發(fā)完成后,,系統設計人員必須確定怎樣在CPU和FPGA之間劃分功能,,提供最好的總體解決方案,在性能,、成本,、可靠性和使用壽命上達到最佳平衡。設備設計人員認為在高性能硬件系統上對算法進行劃分和調試非常困難,。以前的很多設計在FPGA中使用裝配線方法,,把算法分成多個函數,順序執(zhí)行,。90%的調試功能都花在集成上,。由于每個函數執(zhí)行時間必須相互平衡,以實現最大吞吐量,,因此出現了很多困難,,無法觀察本地存儲器和延時。
解決方案是基于分布式協處理器計算模型,,“以軟件為中心的方法”(參見圖2),,其中:
協處理器中的每個函數是一個執(zhí)行機(函數子處理器),子處理器之間具備基于消息的控制通過功能。
所有存儲器,、CPU和子處理器之間可完全切換,,能夠全面觀察,容易進行調試,。
內部FPGA子處理器之間以及系統內其他CPU和協處理器之間可以調整消息通過功能,。
圖2 以軟件為中心的設計
例如,在Altera/XtremeData協處理器解決方案中,,利用了這些概念來實現優(yōu)異的設計方法,。AlteraFPGA的Avalon交換架構以及芯片可編程系統(SOPC)集成工具在所有功能單元之間自動構建靈活的交叉交換架構。接口IP提供FPGA至主機CPU以及FPGA至DIMM存儲器經過預測試的接口,?;陬A測試消息的基本結構(由Nios CPU定義的軟件)控制主機CPU、FPGA子處理器和FPGA存儲器控制器之間的通信,。消息傳遞和全交換功能簡化了開發(fā)期間的調試,,大大提高了靈活性??梢栽趫?zhí)行期間軟定義(重新定義)數據通路,,在系統集成和調試期間對數據進行解釋,改變傳送方向,,以提高其可觀察性,。
設計工具和IP
雖然MATLAB等工具非常適合軟件算法開發(fā),但是還不足以在FPGA中實現,。設計人員使用Altera以及第三方EDA工具和IP,,可以加速其設計在FPGA中的實現。例如,,Altera提供全套的工具:DSP Builder,、SOPC Builder、Nios II CPU開發(fā)套件,、Nios II C語言至硬件加速(C2H)編譯器和Quartus開發(fā)包等,。
Altera的視頻和圖像處理包以及DSP庫提供關鍵IP構建模塊,加速復雜影像算法的開發(fā)和實現,。視頻和圖像處理模塊庫以及其他的Altera/合作伙伴IP模塊和參考設計(包括IQ調制解調器,、JPEG2000壓縮、FFT/IFFT,、邊沿探測等),,為設計人員提供了大量的IP來加速大計算量任務的FPGA實現。
DSP Builder工具提供基于IP庫的設計流程,,鏈接MATLAB開發(fā)的算法和Altera Quartus工具包實現的FPGA,。
SOPC Builder是系統集成工具,,自動生成IP模塊、Altera MegaCores功能(包括Nios II CPU),、合作伙伴IP和用戶定義功能之間的互聯代碼(Verilog或者VHDL),。
Nios II開發(fā)套件使C程序能夠植入到FPGA的一個或者多個Nios II CPU中,并進行調試,。Nios II CPU是32位可配置RISC軟核處理器CPU,。
Nios II C2H編譯器是新工具,它分析C代碼算法內循環(huán),,生成FPGA中的協處理器邏輯,,大大提高了Nios II CPU所運行軟件的性能。適度增加邏輯,,運行速度便能夠提高10到100倍。
Quartus開發(fā)包是在AlteraFPGA中實現可編程硬件和軟件功能的主要工具,。它提供IP導入功能,,以及仿真和布局布線等所有功能,在Altera開發(fā)板或者用戶目標系統上進行FPGA編程,。
Celoxica等其他EDA供應商還提供C語言至HDL轉換工具,,以加速FPGA的實現。
結論
嬰兒潮時期出生的人們尋求更可行的新治療手段來治療常見疾病(特別是與心臟病和癌癥),,包括早期探測和非置入手術治療等,。影像診斷方法融合及其相關算法開發(fā)上的進步大大推動了新設備的發(fā)展,滿足了病人的需求,。高級算法需要可更新的系統平臺,,該平臺能夠顯著提高圖像處理性能。
集成到COTS多核CPU平臺中,,FPGA為最靈活的高性能系統提供了DSP功能,。為幫助在這些平臺上加速實現復雜影像算法,需要采用高級開發(fā)工具和IP實現庫,。Altera考慮到這些需求而開發(fā)了工具和IP庫,。這些庫包括成像所需的關鍵構建模塊功能,并集成到Altera完整的工具包中,,結合MathWorks的算法開發(fā)工具,,能夠快速進行開發(fā)。