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