Profile - TW054


TW054

內視鏡立體視覺輔助系統

國立陽明大學
醫學工程研究所


Finals


[print]


Project

Name of Project:內視鏡立體視覺輔助系統

Contest Advisor

Name:張寅

Members

No.Name
1李彥瑾
2趙偉光

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

1. 設計介紹 (Preliminary Paper)

背景介紹

       內視鏡是一種利用前端細長的光學鏡頭,透過人體內的自然孔洞(如胃道、食道)或是人為形成的管道,將影像訊號傳送到平面顯示器上的一種手術輔具。醫療人員透過內視鏡可以清楚看到人體內的影像,並可以使用各種不同的細長型手術工具(如內視鏡電燒刀)來取得少量組織以供切片檢查或是進行瘜肉切除、止血等手術。由於內視鏡手術能夠盡可能避開血管與神經,具有傷口小、恢復速度快與降低術後感染等優點。

        雖然內視鏡微創手術具有可以縮小傷口、降低感染率等優點,內視鏡的操作對於醫療人員卻是一大挑戰,在進行手術的過程中,醫療人員除了必須熟稔內視鏡的特性與人體的構造外,對於較難進行的手術更需緩慢進行以減少因為不必要的碰觸、轉彎等移動對病患體內的器官造成損傷。此外,由於內視鏡前端僅使用一個攝像機來獲取人體影像,醫療人員僅能夠獲得二維的影像資訊,少了對物體的距離感,也因此醫療人員必須憑藉經驗來判斷與手術目標的距離與深度,造成手術的困難以及增加了許多手術時間。

 

設計考量

        在臨床使用中,內視鏡的影像會成像於顯示器上,醫療人員無法透過平面的螢幕與單一鏡頭感受到立體與深度資訊,因此內視鏡的操作是憑著醫療人員的使用經驗來控制,經驗的多寡決定了手術的難易度與手術所需要花費的時間。

        相對的,若能將內視鏡得到的資訊轉換為具有深度資訊的立體影像,則可以使醫療人員操作起來更為容易,並讓手術更快完成。為了能夠將單一鏡頭的影像即時地賦予立體感給使用者,必須考慮到這個系統平台是否具有即時性處理能力、開發與維護是否困難、此系統是否能長時間使用等議題。

 

設計重心

        我們針對左右兩眼顯示器的訊號作相對應的影像處理與運算,藉由影像的平移與透過演算法取得影像內物體相對應的深度資訊後,讓觀看二維平面影像顯示器的醫療人員產生左右兩眼的視差,藉以模擬人眼視覺上的生理機制,並透過視覺大腦皮質結合而產生融像機制,產生視覺上的立體感。

為了能夠及時處理內視鏡所獲得的影像資訊,在本設計中,我們選擇了具有速度優勢的FPGA實現硬體架構以作為影像處理的工具,並使用頭戴式螢幕(一種使用兩個顯示器做為顯示方式的頭帶型顯示器,外型與眼鏡類似)取得經由FPGA處理過的影像資訊並顯示出來。醫療人員透過此頭戴式螢幕,可獲得即時地立體影像並感受到與物體的距離感以及深度資訊,能有效地使醫療人員在操作上更為精確,並縮短手術所需耗費的時間。

 

開發套件

立體視覺與深度資訊的取得皆是數位訊號運算的過程,為了能夠即時性處理由內視鏡所得到的影像資訊,我們必須尋找一套能夠快速處理複雜運算的平台,因此我們選用了FPGA作為我們的影像處理平台。在眾多的選擇當中,我們採用了友晶科技公司的DE2-115作為我們所實現以及驗證用的工具。

DE2-115具有許多適合我們實現內視鏡立體視覺輔助系統的特性,包括大容量LEsCyclone III FPGA晶片、VGA輸出、TV Decoder、兩個32-Mbyte SDRAM以及250M4K等應用介面,除了可以幫助我們進行大量的影像資料運算外,這些功能在我們實現內視鏡立體視覺輔助系統上亦具有極大的幫助。

 圖一、DE2-115開發版

開發介面

        開發介面使用Altera公司所發展的Quartus II軟體作為開發介面,撰寫、修改Verilog程式碼開發所需要的架構並合成電路,再透過USB Blaster燒入至DE2-115開發版上驗證功能。

 圖二、Quartus 11.0

應用領域與目標用戶

本設計主要是針對使用內視鏡的醫療人員所開發的輔助系統,也因此應用領域與目標用戶將以醫療領域為主。然而,若將本設計所使用的立體視覺與深度資訊系統經過改良開發,本題目亦可應用於其他領域。

應用領域

1.      醫療用途

2.      影音娛樂

3.      機器人視覺

目標用戶

1.      醫療人員 (腸胃科、外科......等需要用到內視鏡的手術人員)

2.      遊樂器與電視廠商 (2D影像轉換成3D)

3.      機器人研發者 (運用單鏡頭獲得距離與立體資訊)

(Revision: 13 / 2011-08-30 22:19:32)

2. 功能描述 (Final Project Paper)

即時影像

對人而言,要讓人眼能對動態影像產生連續感的話,必須讓每秒畫面更新速率最低達到人眼視覺暫留的1/16秒以上才可以,也因此許多不同的協會以此為根據制定出許多不同的規範。在本研究當中,我們採用美國國家電視規格委員會(NTSC)所制定的電視通訊標準,以每秒至少需要有30張影像作為即時影像的定義。

 

立體視覺

      目前將二維影像轉換為三維影像顯示的技術,分別為「裸眼3D平面顯示器」與「特殊的影像處理軟體」。前者使用光柵分光來達到影像效果,然而對使用者而言,若不在特定的觀看角度範圍內觀看影像,則影像的分辨率(definition)會隨之下降。後者則是以手動會是半自動的方式來分析輸入影像後再經過演算法如「景深圖(depth map)」的運算來達到立體化的效果,相對地由於需要大量的時間進行運算,因此不適合用於即時的影像串流。

        為了解決運算的時間限制,本設計希望透過FPGA結合軟硬體來解決問題。透過頭戴式螢幕,我們針對左右兩眼顯示器的訊號作相對應的立體視覺修正運算,藉由對影像的旋轉、平移並透過院算讓觀看者能夠產生左右兩眼的視差以及不同的光角,以模擬人眼視覺上的生理機制,從而促使大腦產生融像機制來得到視覺上的立體感。


深度資訊

        對於單一鏡頭獲取的影像而言,只是單純地對影像進行平移與翻轉是不夠的。由於從單一鏡頭所獲取的影像同一時間內只能得到一張影像,無法藉由兩張不同的角度的影像來判斷與物體的距離。對此,我們利用反射光的強度來為深度資訊的基準,幫助使用者能夠得到更完整的立體視覺與深度資訊。

  

(Revision: 3 / 2011-08-29 15:27:35)

3. 效能參數 (Final Project Paper)

編譯資訊

        經由Quartus 11.0編譯過後,可以得到以下的系統資源使用情況:

 

 

 

FPS (Frame Per Second)

        在對影像串流進行處理時,必須特別注意到影像的畫面更新率(frame rate)。研究顯示,當影片的畫面更新率達到每秒10~16個影像時,會讓人認為這影片是連貫的,此即所謂的視覺暫留效應。在這題目中,我們使用FPGA來實現立體視覺演算法,可以有效的加速影像處理,達到即時顯示的效果。

在目前的設計中,我們使用27MHz的時脈輸入,並獲得解析度為640 x 480的影像,根據下式的計算可以得到每秒有將近88個畫面輸出。

 

 

 

(Revision: 2 / 2011-08-29 10:44:18)

4. 設計架構 (Preliminary Paper)

硬體設計架構圖 


 

圖三、硬體架構

 

 

(Revision: 11 / 2011-08-29 21:08:13)

5. 設計方法 (Final Project Paper)

 

VGA擴充版設計
        我們使用的開發版為DE2-115,由於此開發版只具有一個VGA影像輸出,無法辦到藉由兩個影像輸出達到立體視覺的功能,所以我們參考DE2-115所提供的電路圖,製作出一個可以透過DE2-115的GPIO腳位進行輸出的VGA擴充版。
    此電路板使用的DAC為ADV7123,電路板的PCB Layout如下圖,繪製PCB Layout所採用的軟體為開源的電路軟體gEDA。

圖 五、使用gEDA繪製的電路板(正面為棕色,反面為藍色)

圖六、VGA擴充版正面圖(左)、背面圖(右)

 

設計流程
        目前常應用於將2D影像轉換成3D的影像合成技術為深度資訊演算法(Depth image based rendering, DIBR),此方法先計算輸入影像的深度資訊,之後再將深度資訊與影像進行合成,合成的流程如下:
 
        當影像輸入後,因為輸入影像只有一張,為了能夠得到立體資訊,我們先根據該影像的深度進行適當的平移,平移過後則必須將因為平移而未被填滿的空間填上色彩,此步驟稱為空洞補償,接著將兩個平移過後的影像分別輸出至左眼與右眼就完成了。
 
1.      深度資訊:
內視鏡影像由於光源薄弱,無法像一般的2D影像具有明顯的光影變化,目前設計的方法是利用內視鏡本身的光源與所映照到的影像來獲得該區域的明亮度。透過明亮度的強弱,我們可以判對出物體與光源的相對應深淺度,越靠近的物體明亮度越高,越低的物體則明亮度越弱。
2.      影像平移:
獲得影像區域的相對應深淺度後,則根據影像的深淺度進行影像平移的動作,深度越深的影像平移越少,深度越淺的影像則平移較大。
3.      空洞補償:
由於影像平移過後會造成影像的空洞,為了解決影像空洞造成影像的失真,目前我們使用內插法對影像的空洞進行補償。

          

(Revision: 6 / 2011-08-30 21:32:47)

6. 設計特點 (Preliminary Paper)

 

即時影像處理

        本題目主要目的在於輔助醫療人員能在內視鏡手術中獲得立體資訊以減少手術時間與失誤,對於手術環境中資訊的即時傳遞是很重要的,使用硬體來開發此內視鏡立體視覺輔助系統能大大縮短影像處理時間。

 

單鏡頭立體視覺的顯示

      大部分立體視覺系統都是使用兩個鏡頭來顯示出立體資訊的,在此題目中因為前端影像資訊的取得是來自於單鏡頭內視鏡,必須透過深度資訊演算法以及立體視覺演算法來處理。根據我們的演算法可以確實地讓單鏡頭內視鏡影像轉換成立體視覺影像讓醫療人員使用。


可提供不同顯示設備顯示

      本設計主要是採用頭戴式螢幕作為影像輸出,然而亦可以使用其他設備比如3D電視螢幕等作為輸出設備。

(Revision: 2 / 2011-08-29 15:19:11)

7. 總結 (Final Project Paper)

 

在目前的設計中,我們透過了內視鏡影像的光影變化來獲得該影像的深度資訊,從而達到立體視覺的效果,然而由於人體內許多組織會產生反光的效果,單純依靠光影變化來判斷物體的深度資訊仍舊是會產生誤差。若要得到更佳的立體影像,我們勢必得想出更好的方法來判斷內視鏡的影像的深度。
最後我們感謝Altera公司與友晶科技公司提供這次機會,讓我們在這參賽過程中精進了許多,剛開始做這題目時,對於FPGA用於影像處理總是覺得非常不順手,畢竟Verilog並沒有像C語言一樣的陣列架構,要用硬體進行影像處理就必須以硬體的角度來構思。但是,也是因為這次機會,我們終於弄懂了如何用FPGA進行影像處理的方法,也對Quartus的Megafunction更加的熟悉。
(Draft / 2011-08-29 11:45:26)
列架構,要用硬體進行影像處理就必須以硬體的角度來構思。但是,也是因為這次機會,我們終於弄懂了如何用FPGA進行影像處理的方法,也對Quartus的Megafunction更加的熟悉。
(Draft / 2011-08-29 11:45:26)