Profile - TW053


TW053

應用於醫療影像加速之雲端架構



Semi-Finals


[print]


Project Paper - view as Preliminary(2010/07/21), Final(2010/11/01), Draft, Latest

1. 設計介紹 (Preliminary Paper)

我們提出了一套以DE2為核心之雲端架構,這透架構能立即改善現有醫療環境品質的不足,並且替醫院節省設備成本。在以往醫療型態,無論是病人的履歷資料抑或是醫學影像保存,均以實體化的方式統一保存,由於只有一份,倘若遺失或是放錯,則需要花費大量額外的代價才能彌補,並且在維護管理方面非常的耗費人力並且要占用大量的醫療空間來保存這些資料。每增加一位病患,就必須佔用更多的空間和醫療耗材,特別是大型的醫療場合,所付出的成本不斷的快速增加。

數位化醫療的來臨解決了上述所有問題,透過醫學影像無片化(Filmless)和病歷無紙化(Paperless),使用數位儲存體來儲存醫療資料,並且藉由網路進行資料傳輸、顯示、儲存,無論在成本亦或是維護管理都大幅提升了使用效率。

當醫生診斷病灶的來源為醫療影像,影像上的任何不清晰都會造成嚴重誤判,所以醫療影像都是以高規格之掃描儀器使用最精密解析度,所獲得的影像包含之資訊價值極高,檔案大小也極為壯觀。以女性人體切片醫學影像來說,從頭部至腳部以0.33mm之間格將人體逐一切片,影像大小為2048X1216每一像素為24 bit,整個人體切片之影像集有超過5000張切片影像,約為40GB。以目前最大的硬碟容量2TB,只能存放約50位女性的切片掃描檔案。以成本經濟效益觀點考量來說太低了。

因此醫療影像必須經過壓縮才能保存,壓縮時除了縮減資料量以及壓縮率之考量,更重要的是醫學影像在壓縮後,重建出來的影像品質必須維持一定水準;倘若是重建影像之失真率過高,便會在醫學研究及判斷上造成嚴重誤差。

    壓縮領域中,非失真影像編碼在許多場合皆有其重要之需求性;例如醫學影像傳輸、遠端遙測,以及影像壓縮等。近年來在眾多非失真影像編碼演算法中,我們發現,主要的研究結果與貢獻大多以空間域之預測編碼輔以誤差補償為主。預測編碼作為醫療影像處理壓縮技術時,在圖像變化緩慢之區域可以達到相當好的預測結果,然而當所處理之影像有邊界或線條時,因為像素值變化劇烈,往往會造成極大之預測誤差,對於醫學影像,可能會造成病變的誤判,並不符合醫療用途。

為了改善預測誤差,有學者提出了最小平方法來改善預測誤差,然而進行最小平方法之過程需要耗費相當之運算。

假若欲求一線性系統的最小平方解,其關鍵便在於建構所謂的Normal equations,亦即。此外進行最小平方法之修正過程時亦需選定適當大小之訓練區域(亦即樣本),若訓練樣本數為84點且使用六階的線性預測器,則我們在建構一次Normal equations時便需要高達3,528次的乘法以及3,486次的加法。而這還不包含求出最小平方解的運算複雜度,很顯然地,進行最小平方法之過程是相當地耗費運算資源的,而這主要的代價便是反覆地建構Normal equations過程中所需要的大量矩陣運算。倘若每一個像素均以最小平方法進行修正,將會導致極高的運算複雜度。

 

為此有學者提出所謂的Edge-directed predictorEDP)演算法,並提出當預測誤差大於某一數值(Threshold)之時才以最小平方法進行預測器係數之修正,藉此以降低使用最小平方法之運算複雜度,此舉顯然是在發生較大預測誤差之後的補救作為。

為解決此一問題,指導教授高立人提出了一套具有邊界前瞻能力(edge-look-ahead)的適應性預測器。這個方法能夠使用已掃瞄像素(即causal pixels)進行影像的邊界偵測,並在偵測到邊界時事先啟用最小平方法進行預測器係數之修正。如此便可防範於未然,避免過大預測誤差之發生。而此處之所以要自行提出一套邊界偵測法乃是因為傳統常見的邊界偵測法如Sobel operator需使用尚未掃瞄之像素(亦即noncausal pixel),因此無法應用於以raster scan為主的影像編碼系統中。

 

 

 

所提出的演算法,大約只有17%的像素會觸發最小平方法進行預測器係數之修正,和原本整張圖像均以最小平方法進行修正的複雜度相比,這樣的結果的確令人滿意,但對於大量的影像複雜仍顯得可觀。

當病患的症狀有需要使用CT(Computer Tomography)來做檢查時,機器會將人體逐一切片進行拍照,而產生大量的圖片。而電腦就必須針對一張一張的圖片進行壓縮處理。

以一個病人進行CT時會產生五千張影像來假設,倘若圖片大小2048*1216,整張圖的像素為2,695,168點,每張圖片均以預測編碼壓縮,且使用最小平方法修正預測器,平均17%的像素會觸發最小平方法,運算量就高達了1,616,453,960次的乘法以及1,597,210,461次加法。如此高的運算量,往往都需耗費數個小時才能處理完畢,對病人來說,等待的時間總是漫長,對於急迫的案例,可能因此失去寶貴生命。

因此為了提升醫療品質,我們提出了一套以DE2搭配雲端技術之架構來針對需求大量影像儲存備份之場合,此架構將以DE2為影像壓縮和解壓縮中心,將大量矩陣處理以硬體加速來優化影像處理時間進而縮短病患等待時間。並且搭配影像資料庫,形成一個完備的醫療雲端平台。在這種架構下非常適合應用於醫療環境。

 

(Revision: 3 / 2010-09-17 12:04:19)

2. 功能描述 (Final Project Paper)

本次所設計的系統架構分為伺服器端與客戶端,伺服器端是以DE2為核心搭配影像資料庫所組成,而客戶端分為診間以及儀器兩類。

醫療儀器掃描後的影像,會藉由乙太網路線不斷的傳送給伺服器端,由DE2進行影像處理,再將資料存入影像資料庫。

當診間需要查看病人資料時,醫師將透過PHP網頁連線至影像資料庫查詢所需檔案,而所被選取的檔案,影像資料庫會主動的傳送資料給DE2做解壓縮的動作。DE2再將解壓縮後的檔案透過乙太網路傳送給診間。

如此一來,每位醫師的電腦配備只需具備上網功能以及接收資料能力,不需花費高額的費用購置高運算量機器,就可獲得最佳化的加速效果。

目前將以一塊DE2作為雲端運算的核心,倘若未來需要更多更複雜的運算,在我們所提出的雲端架構下,能夠以更多的DE2組成FPGA平行運算平台,以非常彈性的擴充方案解決每一位客戶對於運算量的需求。

 

(Revision: 5 / 2010-09-17 15:08:53)

3. 效能參數 (Final Project Paper)

這次我們所使用的系統架構如圖1,使用了核心組件,包含NIOS II CPUSDRAMSRAMFLASHDM9000A以及一些周邊設備

圖1.硬體架構

NIOS II CPU 32位元的架構下,使用了RTOS來管理網路、解壓縮/壓縮、I/O控制以及資料存取等任務。

RTOS中,進行我們的影像編碼,將圖2以及圖3原始影像,經過MED預測器,產生誤差影像(圖4、圖5)進行算術編碼。


 

 

 

 

(Revision: 2 / 2010-09-17 01:35:55)

4. 設計架構 (Preliminary Paper)

醫院內部網路架構

圖1為本系統之架構,這是以 DE2為核心之雲端架構,所有醫療影像的壓縮及解壓縮均以強大的DE2上完成,客戶端(醫生以及醫療儀器)不需負擔龐大的資料運算。而DE2將搭配 MySQL影像資料庫進行病患資料存放。

圖1.以DE2-70為核心之雲端架構

使用者以PHP網頁藉由區域網路連接至DE2與影像資料庫溝通,當客戶對DE2發出影像壓縮或是解壓縮之請求,DE2透過影像資料庫將病人醫療影像取出進行處理,將處理過後的影像立即回傳給客戶端。使用者只需要接收資料而不必負擔龐大的運算量,客戶端的電腦的配備僅僅只要能夠上網接收資料能力即可。這種架構可以減少硬體的成本,並能快速的增加終端設備。而使用者分成三類:

1.          醫院櫃台,病人的個人資訊都是由此輸入,最後儲存到資料庫。

2.          醫療儀器傳來的原始影像,經由DE2壓縮後,存入資料庫。

3.          醫師透過PHP網頁連結至資料庫選擇需求病人影像,DE2和影像資料庫溝通後將解壓縮後的影像,回送給醫師的電腦。

 

藉由網際網路,醫院A與醫院B(圖2)的病患資料可 以互相傳送,因此病人轉診時可以更為迅速。在傳送的過程中,醫學影像經過壓縮後才存放,所以傳送時所花費的 時間也大幅縮減。

醫院對醫院廣域網路架構

圖2.醫院間的廣域網路架構

 

圖3為本次軟核架構,為了加快整體系統的速度與流暢性,使用雙核心NIOS II,並且將時鐘頻率調至150MHz極限,使用on-ChipˋSRAM以及作為L1ˋL2快取,以64MB的SDRAM作為影像處理的緩衝。文字型LCD將會顯示目前處理的病人身分證號碼做為影像檔案的管理,。LED將作為DE2-70忙碌時的指示燈號。透過RS-232可以進行偵錯。VGA輸出PORT將會顯示處理中的影像。

 圖3.軟核微處理機架構

 

 

(Revision: 3 / 2010-09-17 12:05:30)

5. 設計方法 (Final Project Paper)

(Revision: 5 / 2010-09-17 11:39:49)

6. 設計特點 (Preliminary Paper)

1.採用雙NIOS II核心:

在本架構中,為了兼顧相容性與效能,使用了NIOS II處理器。而影像處理所耗費的資料量極度龐大,因此將系統拆成雙NIOS II核心進行多工,一顆CPU進行影像運算,另一顆CPU周邊的聯繫和中斷的處理。倘若同時有壓縮和解壓縮被請求時,則各由一顆CPU負責,將效能壓榨至極限。
 
2.對NIOS II進行超頻:
本系統效能與CPU的時脈息息相關,因此在這部分將CPU的時鐘加快至150MHz,藉此增加處理效能。
3.使用C2H編譯器:
針對速度要求較高的影像處理程式進行使用C2HNios II C2H編譯器可根據轉換目標的程式碼,產生多個記憶體自主的硬體加速器,相較於未加速的軟體,Nios II C2H編譯器性能提高了1045倍。
4.平行處理架構
透過自行設計的微處理機架構,將先前所提到需要耗費大量運算資源的最小平方法預測器係數修正時需要建置的大矩陣,以大量平行處理獲得優化的處理效果。
5.雲端架構
在這樣的架構下,不必每位醫師都配備一台運算強大的電腦,只要具備上網以及接收資料之能力。能夠以最少的經費達到最高的醫療品質。
6.相容性
伺服器端與客戶端均以乙太網路線連結,不只能在內部網路運作,還可透過Internet與任何線上醫療單位同步,擴充性極高。
未來無論是客戶端亦或是伺服器端,擴充只需透過乙太網路線,就可加入雲端運算系統。

 

(Revision: 4 / 2010-06-30 15:17:28)

7. 總結 (Final Project Paper)

DE2是一套非常方便以及穩定的開發驗證板,透過SOPC BUILDER能快速建立起我們的系統,並且在NIOS II IDE中能夠以ANSI C來撰寫程式碼,相容性極高。

在本次比賽中我們兩人合作,一位負責硬體以及不同系統之整合,一位則使用ANSI C撰寫影像演算法程式。最終將程式與硬體結合時毫無誤差的運行,充分發揮了分工合作精神。

非常榮幸能夠參與這次2010亞洲創新設計大賽,從進入複賽後,短短兩個月就必須將作品完成,體驗到科技業所謂的時間壓力,在實做過程遇到的挫折一波未平一波又起,幾度認為不可能來得及完成,但在友晶科技技術部門以及林秀容經理的幫助下,我們終於做到了。

今年我們過了有史以來最充實的暑假,很辛苦但卻很值得!!

 

(Revision: 4 / 2010-09-17 15:29:16)