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