鄧惠俊
(萬博科技職業(yè)學院 計算機科學技術系,合肥 230031)
面向CT數(shù)據(jù)的3D分割系統(tǒng)設計與實現(xiàn)
鄧惠俊
(萬博科技職業(yè)學院 計算機科學技術系,合肥 230031)
分割模塊是放射治療計劃系統(tǒng)TPS的核心模塊,但目前多數(shù)TPS系統(tǒng)采用2D分割技術,存在分割過程復雜、結(jié)果不精確等問題.針對CT數(shù)據(jù),綜合運用多風格體繪制、智能傳遞函數(shù)設計、基于筆觸繪制直觀交互等方法,使得用戶通過豐富的渲染圖像和直觀的交互手段,實現(xiàn)器官的3D分割.實驗證明,本文方法不僅能提高分割的效率,也能獲得更好的分割效果.
CT;3D分割;體繪制;GPU;人工智能
20世紀50年代初放射外科概念被提出,放射治療已經(jīng)成為治療惡性腫瘤的主要手段之一.放射治療計劃系統(tǒng)(TPS:Treatment Planning System)是指利用計算機模擬放射治療過程的軟件系統(tǒng),它被用來確定放射治療方案的全過程,是實現(xiàn)精確放射治療的核心技術[1].
分割模塊(也稱勾畫模塊)的作用是從三維醫(yī)學影像數(shù)據(jù)(由一疊CT/MRI/PET影像切片構成)中分割出一系列有意義的子區(qū)域[2],是TPS系統(tǒng)的核心模塊,但目前多數(shù)采用2D分割技術,存在分割過程復雜、結(jié)果不精確等問題.文獻[3]從市場和技術兩個方面對3D分割技術進行了充分分析.本系統(tǒng)使用的3D分割技術是發(fā)展快速、高效的分割系統(tǒng).為了提高系統(tǒng)的運行速度,本系統(tǒng)采用了GPU編程技術,系統(tǒng)后臺應用核心人工智能算法CUDA(Compute Unified Device Architecture)實現(xiàn),渲染部分采用CG(C for Graphics)實現(xiàn),得到了方便移植的渲染模塊.
本系統(tǒng)針對TPS系統(tǒng)對器官的3D 分割需求,基于方便用戶的原則,實現(xiàn)了多風格的體繪制和基于智能技術的傳遞函數(shù)設計相結(jié)合的應用平臺.在對體數(shù)據(jù)進行多風格顯示的基礎上,為用戶提供方便的體數(shù)據(jù)分類功能,并對選擇后的體數(shù)據(jù)結(jié)果進行實時的繪制顯示.
智能傳遞函數(shù)的設計算法是核心算法,算法的質(zhì)量直接影響了用戶輸入處理的結(jié)果和軟件的運行速度.為了達到理想的效果,提高系統(tǒng)的質(zhì)量和運行速度,采用了基于神經(jīng)網(wǎng)絡的智能分類算法.
為了保證良好的交互特性,體數(shù)據(jù)的渲染必須滿足實時性要求.由于體繪制采用的光線投射算法計算量大,傳統(tǒng)的CPU編程無法滿足實現(xiàn)實時渲染.隨著可編程GPU的出現(xiàn),GPU的并行計算能力解決了體繪制的實時渲染問題.本文實現(xiàn)了基于GPU的體繪制算法,并在此基礎上創(chuàng)建了一個易移植的體繪制顯示平臺.
為了提高繪制結(jié)果的真實感,本系統(tǒng)實現(xiàn)了多種風格的體繪制效果渲染——基本光照風格、散射風格、陰影風格、球形紋理風格等,并針對這些因素進行了大量的工作.
(1)智能傳遞函數(shù)的優(yōu)化算法:本系統(tǒng)中采用人工神經(jīng)網(wǎng)絡(Artificial Neural Networks)作為智能優(yōu)化算法對傳遞函數(shù)進行自動設計.人工神經(jīng)網(wǎng)絡具有自學習和自適應的能力,可以預先提供一些相互對應的輸入和輸出數(shù)據(jù)進行分析,掌握兩者之間的潛在規(guī)律,最后根據(jù)這些規(guī)則,計算出新的輸入數(shù)據(jù)[4].提供交互工具可以在體數(shù)據(jù)切片上對用戶感興趣和不感興趣的特征進行標記,并將這些數(shù)據(jù)作為人工神經(jīng)網(wǎng)絡的訓練數(shù)據(jù)來對神經(jīng)網(wǎng)絡進行訓練.訓練后的網(wǎng)絡作為分類器實現(xiàn)整個體數(shù)據(jù)的分類,從而實現(xiàn)傳遞函數(shù)的自動設計.
(2)體繪制上實現(xiàn)光照效果:不同于傳統(tǒng)的面片數(shù)據(jù),體數(shù)據(jù)是一堆抽象的數(shù)字信息,其中并不直接包含面信息和法向信息,為了實現(xiàn)體數(shù)據(jù)上的光照效果,須要通過體數(shù)據(jù)的梯度信息替代法向信息計算光照.本系統(tǒng)采用的是Sobel 3D算子計算梯度信息,效果良好.在基本光照的基礎上,還實現(xiàn)了其他多種效果.如添加陰影效果形成陰影風格,模擬物體周圍的環(huán)境形成球形紋理風格,提供透明風格模擬晶瑩剔透的玻璃質(zhì)感等等,最終得到了真實感較強的各種體繪制效果.
(3)易擴展的渲染平臺:通過對系統(tǒng)渲染平臺的功能進行分析,為了滿足渲染平臺的易擴展易移植性,設計了易擴展的平臺架構,在此架構中實現(xiàn)了普通光照風格、陰影風格、球形紋理風格等渲染風格.面對我們對渲染效果的逐步增加,還可能須要添加更多的光照風格的效果,基于這種架構,當一種光照效果設計出來后可以根據(jù)需要方便的從渲染平臺中添加或刪除.
一般而言,體系結(jié)構是指一個系統(tǒng)來構建組織結(jié)構之間的關系,組件和控制系統(tǒng)設計的演化、原則和策略.復雜系統(tǒng)的架構設計,在決定系統(tǒng)的成敗上起著非常重要的作用,通過對大型系統(tǒng)的抽象級別上的表示來提高設計人員對系統(tǒng)的理解,支持系統(tǒng)在不同級別的重用,揭示了系統(tǒng)有可能演化的方向[5].本系統(tǒng)的架構數(shù)據(jù)流如圖2-1所示:

圖2-1 面向CT數(shù)據(jù)的3D分割系統(tǒng)數(shù)據(jù)流圖
(1)交互平臺:負責整個系統(tǒng)和用戶的交互,它包括顯示平臺和操作平臺兩部分.顯示平臺由體數(shù)據(jù)庫中的數(shù)據(jù)或者處理過的數(shù)據(jù)加上用戶所選擇的渲染效果進行渲染,并顯示出來,是整個系統(tǒng)的“窗口”.操作平臺是提供給用戶的交互模塊,用戶利用畫筆等標記工具在顯示區(qū)域進行選擇標記,標記結(jié)果轉(zhuǎn)入后臺計算模塊進行處理.
(2)人工智能算法:屬于后臺運作,根據(jù)用戶的輸入和數(shù)據(jù)庫中的體數(shù)據(jù),進行用戶的標記意圖分析,據(jù)此提取出的輸入數(shù)據(jù),進行重新分類計算,得到新的結(jié)果輸入到渲染平臺,人工智能算法是整個平臺的計算核心.
(3)渲染平臺:負責整個系統(tǒng)數(shù)據(jù)的繪制顯示,有多種顯示效果的選擇切換功能,根據(jù)用戶的選擇進行不同效果的繪制,并輸出到交互平臺,是整個系統(tǒng)的可視化“工廠”,其運行效率和質(zhì)量對整個系統(tǒng)的使用有著至關重要的作用.
(4)體數(shù)據(jù)庫:系統(tǒng)的數(shù)據(jù)庫,負責存儲體數(shù)據(jù),其數(shù)據(jù)可直接輸出到渲染平臺,或輸出到人工智能算法平臺,經(jīng)神經(jīng)網(wǎng)絡算法計算后,再輸出到渲染平臺進行顯示.
圖2-2給出了系統(tǒng)結(jié)構圖,分為交互模塊、人工智能算法模塊、渲染模塊三部分:

圖2-2 面向CT數(shù)據(jù)的3D分割系統(tǒng)結(jié)構圖
2.1交互分割模塊
交互平臺負責整個系統(tǒng)中的交互工作,包括在對頜骨進行骨塊分割和復位過程中的各種交互操作.交互平臺是用戶告訴系統(tǒng)進行怎樣處理的接口,用戶通過對想要的和不想要的數(shù)據(jù)進行標記,來達到和系統(tǒng)交互并得到想要結(jié)果的目的.系統(tǒng)提供了用戶直接在體繪制的頜骨模型上進行標記的功能,以筆觸作為標記方式.用戶標記完成后,系統(tǒng)后臺會自動進行計算,把圖形上的抽象標記轉(zhuǎn)化為具體的數(shù)據(jù)以便分割復位模塊進行處理.本系統(tǒng)實現(xiàn)的交互平臺是為了輔助用戶能夠更好地控制分割、復位過程和查看復位結(jié)果,即分割復位之前通過交互控制頜骨模型的縮放和旋轉(zhuǎn)角度,在分割過程中進行分割骨塊面片的選擇和取消,復位之后通過縮放和旋轉(zhuǎn)查看復位細節(jié)和整體情況.
整個交互平臺是以體繪制的可視化為基礎的,使用簡單易懂的交互方式可以增加使用方便性,本系統(tǒng)借鑒畫圖軟件的畫筆功能,交互實現(xiàn)方式簡單易用、方便快速,適合醫(yī)務人員使用,并不需要很高的計算機專業(yè)技能就可以上手.另一方面,由于頜骨的復位屬于醫(yī)療領域,通過交互地控制,可以將醫(yī)生的專業(yè)知識和經(jīng)驗作為輸入幫助系統(tǒng)更好地分割復位.
選擇操作:選擇操作是交互操作的基礎,利用鼠標左鍵點選拖動完成,判斷鼠標軌跡經(jīng)過的點坐標是否存在于三角面片的內(nèi)部,若在其內(nèi)部則選中該三角面片.
取消操作:類似地,由上述的選擇操作獲得該三角面片對應于頜骨模型中的序號,利用Alt+鼠標左鍵點選拖動完成,對鼠標軌跡經(jīng)過的三角面片進行刪除即可.
縮放操作:縮放工作主要通過鼠標滾輪控制頜骨模型的顯示比例,方便查看頜骨模型的細節(jié),最終根據(jù)縮放比例和面片的坐標完成顯示.
旋轉(zhuǎn)操作:主要完成功能為對頜骨模型的旋轉(zhuǎn)顯示,方便從不同角度查看頜骨模型,通過利用鼠標右鍵進行拖拽實現(xiàn)視角的改變.
拖動操作:主要完成功能為將頜骨模型移動到指定的位置,利用Shift+鼠標左鍵進行拖拽實現(xiàn),利用起始點鼠標坐標和目標點鼠標坐標確定平移向量,完成對頜骨模型的平移.
2.2人工智能算法模塊
人工智能算法模塊是系統(tǒng)后臺進行數(shù)據(jù)處理的核心模塊,其運行效率代表著系統(tǒng)的“智能”程度.本系統(tǒng)選用人工神經(jīng)網(wǎng)絡作為智能優(yōu)化算法對傳遞函數(shù)進行自動設計.算法根據(jù)交互模塊得到用戶感興趣和不感興趣的特征數(shù)據(jù),并將這些數(shù)據(jù)作為人工神經(jīng)網(wǎng)絡的訓練數(shù)據(jù)來對神經(jīng)網(wǎng)絡進行訓練.訓練后的網(wǎng)絡作為分類器實現(xiàn)整個體數(shù)據(jù)的分類,從而實現(xiàn)傳遞函數(shù)的自動設計.
由于人工神經(jīng)網(wǎng)絡屬于計算密集型算法,計算時間太長影響用戶體驗.為提高人工智能算法模塊的運行速率,本系統(tǒng)采用CUDA在GPU上實現(xiàn)人工智能算法模塊,利用GPU強大的并行計算能力對該模塊進行加速.
2.3渲染模塊
渲染模塊是系統(tǒng)顯示功能的中心,是整個智能體繪制平臺的繪制窗口.出于對真實感效果的追求,經(jīng)常會有新的顯示效果出現(xiàn),需要增加到顯示模塊中,因此易添加、易移除、易移植是顯示模塊框架設計的核心思想.
渲染模塊的設計框架采用面向?qū)ο蟮乃枷?應用多態(tài)和抽象基類,在抽象基類中定義了虛方法,各個子類繼承抽象父類實現(xiàn)虛方法.在程序架構中,只需定義父類的指針,根據(jù)用戶的選擇動態(tài)調(diào)用子類方法.如圖2-3的UML類設計圖,渲染模塊包含一個基礎父類RayCasting,RayCasting中包含了光線投射過程必不可少的成員以及虛方法init()和execute().這里列舉了RayCasting的四個子類.四個子類分別實現(xiàn)四種不同的光照效果.子類們公有繼承父類.并根據(jù)各自要實現(xiàn)的效果進一步實現(xiàn)虛方法init()和execute().

圖2-3 渲染模塊類UML圖
基于這種多態(tài)實現(xiàn)的框架,當有新效果需要加入時,只需加入新效果對應的實現(xiàn)子類,并給新效果增加編號即可,基本不需要修改原有代碼.當需要刪除某種效果時,只需刪除效果的編號即可.
Windows 10操作系統(tǒng),VS 2005編譯器,機器配置為Intel E5300 2.6G CPU、2.0G內(nèi)存、NVIDIA GeForce GTS 250顯卡.
4.1系統(tǒng)實現(xiàn)
智能體繪制平臺實現(xiàn)后,系統(tǒng)的運行界面如圖4-1所示.系統(tǒng)主界面由四部分組成,分別為:菜單欄、常用工具欄、體繪制顯示區(qū)、CT切片顯示區(qū).

圖4-1 系統(tǒng)運行界面
體繪制顯示區(qū)如圖4-1所示,場景中是頭顱的三維圖像,此圖像是根據(jù)實物采樣得到的數(shù)據(jù)重構出的,CT切片顯示區(qū)是分別從X、Y、Z三個方向觀察到的CT切片圖.切片圖是根據(jù)重構的數(shù)據(jù)繪制出的灰度圖,通過CT切片圖下方的滑動條可以調(diào)節(jié)當前觀察的CT片,如圖4-2所示:

圖4-2 切片圖
常用工具欄中有可供用戶選擇使用的筆觸屬性,如圖4-3從左到右依次是紅筆、藍筆、橡皮和筆粗,紅筆標記代表“需要的部分”,藍筆標記代表“剔除的部分”.

圖4-3 筆觸屬性工具欄 圖4-4 人工智能算法工具欄
選擇了筆的種類和筆粗后用戶就可以在CT切片區(qū)進行標記了,X、Y、Z三個方向的切片上均可選擇標記,如圖4-5所示,代表剔除皮膚,只顯示頭骨.

圖4-5 標記示例圖
4.2運行實例
常用工具欄中的“BP”按鈕代表按照用戶當前的標記進行人工智能算法計算,如圖4-4所示,“RE”按鈕代表還原.按下圖的BP按鈕后系統(tǒng)人工智能算法平臺開始運算,運算結(jié)束后,在顯示區(qū)就會得到用戶想要的分類后的體繪制效果圖,如圖4-6所示:

圖4-6 頭部標記運行結(jié)果
圖4-7是三層球形的測試體數(shù)據(jù)進行選擇后的顯示結(jié)果,可以看出系統(tǒng)的智能傳遞函數(shù)分類的結(jié)果符合用戶需求的正確性和方便性.

(a)測試數(shù)據(jù)初始圖 (b)只顯示中間一層

(c)剔除中間一層 (b)顯示外面兩層圖4-7 三層球形測試數(shù)據(jù)標記運算結(jié)果圖
面向CT數(shù)據(jù)的3D分割系統(tǒng)通過良好的渲染圖像和直觀地交互手段,實現(xiàn)器官的3D分割.該系統(tǒng)的主要特點包括:(1)多風格光照的體繪制方法,為用戶提供多種可視化方案選擇,滿足不同領域的可視化需求.(2)智能傳遞函數(shù)設計方法,簡化傳遞函數(shù)設計過程,將用戶從繁瑣的手動調(diào)整過程中解脫出來,輕松地獲得需要的可視化結(jié)果.(3)GPU實現(xiàn)體繪制方法以及人工智能算法,利用GPU的并行計算能力,減少體繪制等復雜算法的運算時間,提高用戶體驗.(4)本系統(tǒng)采用了基于筆觸繪制的交互分割方法來進行骨塊分割.系統(tǒng)通過半自動交互的方式克服了全手工分割和全自動分割的缺點,采用基于筆觸的繪制方式進行交互,方便非專業(yè)用戶的使用.本系統(tǒng)采用形狀直徑函數(shù)值作為骨塊分割的依據(jù),利用圖割算法進行分割,從而達到提高骨塊分割的速度和良好分割效果的目的.
[1]吳宜燦,李國麗,陶聲祥,等.精確放療系統(tǒng)ARTS的研究和發(fā)展[J].中國醫(yī)學物理學雜志,2005,22(6):683-691.
[2]胡逸民.腫瘤放射物理學[M].北京:原子能出版社,1999.
[3]鄧惠俊.面向放療計劃系統(tǒng)的3D數(shù)據(jù)分割技術分析[J].文化研究,2016(4):321-322.
[4]陳安,李季梅,陳寧.應急管理中“可減緩性”評價模型及應用[J].科技促進發(fā)展,2010(3):54-59.
[5]王柏,王紅熳,鄒華.分布計算環(huán)境[M].北京:北京郵電大學出版社,2000.
[6]瞿德清.基于繪制的智能傳遞函數(shù)設計方法研究[D].合肥:合肥工業(yè)大學,2011.
DesignandImplementationof3DSegmentingSystemforCTdata
DENG Hui-jun
(Department of Computer Science and Technology, Wanbo Institute of Sci.& Tech., Hefei 230031, China)
Segmentation module is the core module of TPS (Treatment Planning System).At present, most TPSs make use of 2D segmenting method, which may result in complicated process and inaccurate results.As for CT data, by comprehensively applying various relevant technologies, such as the multi-style volume rendering, design of intelligent transferring function, painting-based interaction, the current research realized intuitive 3D segmentation based on resourceful rendering image and intuitive interaction.The experiment result demonstrated that both segmenting efficiency and effects are improved.
CT; 3D segmentation; Volume rendering; GPU; AI
格式:鄧惠俊.面向CT數(shù)據(jù)的3D分割系統(tǒng)設計與實現(xiàn)[J].海南熱帶海洋學院報,2017,24(5):69-75.
2017-04-16
安徽省高等學校自然科學研究重點項目 ( KJ2016A751)
鄧惠俊(1978-),女,安徽無為人, 萬博科技職業(yè)學院副教授,碩士,研究方向為計算機輔助設計、計算機可視化、網(wǎng)絡安全.
TP391
A
2096-3122(2017) 05-0069-07
10.13307/j.issn.2096-3122.2017.05.12
(編校曾福庚)