專利名稱:射線追蹤的數字重建影像技術的加速方法
技術領域:
本發明涉及腫瘤放射治療虛擬模擬(virtual simulation),具體來說,涉及放射 治療虛擬模擬中加速數字影像重建(DRR)技術的方法。
背景技術:
放射治療虛擬模擬是利用CT數據來重建三維“虛擬”人體的過程,而數字影像重 建(DRR)是這一過程中的重要技術。DRR不僅能用來對放射治療中的照射野大小和形狀進 行設計,而且能用于腫瘤靶區的定義、驗證和確認,以確保病人在接受治療時處于和作治療 計劃時有相同的擺位。擺位的校驗主要是通過比對射野影像(portal image)和計劃系統 生成的DRR圖像來進行。射線追蹤算法是通過模擬射線在人體不同組織中的穿透行為來產生DRR圖像。在 射束坐標系下追蹤,需要在進行DRR重建計算之前,先將CT數據重建一 “虛擬”人體,并設 定一虛擬光源。虛擬光源到“虛擬”人體等中心點的距離(SAD)、入射方向(沿其與等中心 點連線方向)、虛擬光源到DRR投影平面的距離(SFD)以及DRR圖像分辨率都根據實際需要 預先設定,如示意圖1。通過射線追蹤法獲取DRR的過程可簡述如下1)在人體坐標系下,用CT數據計算 出各個體元的電子密度;2)在人體坐標系下(即CT數據所在坐標系X' Y' Z')通過對 體元電子密度插值,獲得射束坐標系下所有體元的電子密度值;3)在射束坐標系下,計算 出每條射線路徑上的電子密度4)計算獲得射線到達投影平面的強度。由于射束坐標系和人體坐標系不同,并且每個體元是相對獨立的,所以在上述步 驟2中,射束坐標系下的每個體元的電子密度需要通過獨立的插值運算獲得;對于射束坐 標系下的射線追蹤,每條射線間的相關性是很小的,因此在上述步驟3中,需要對每條射線 進行獨立的追蹤。由此可以看出,對于插值運算和射線追蹤是大量數據彼此獨立的重復執 行同一運算程序,這使整個處理過程消耗掉大量的時間。可編程圖像處理器(Graphic Processor Unit,GPU),采用了統一架構單元, 是高并行度、多線程、擁有強計算能力和高存儲帶寬的多核處理器。GPU是特別為計算 密集、高并行度計算設計的,GPU將更多的晶體管用作執行單元,而有別于CPU用作數 據緩存和復雜控制單元,從而提高了執行單元的執行效率。GPU由多個流處理器(SMP, StreamMultiprocessor)組成,每個流處理器可看作包含8個核(Core)的單指令多數據 (SIMD)的處理器。流處理器(SMP)間可進行粗粒度數據并行和任務并行,核(Core)內可 實現細密度數據并行和線程并行。GPU采用的是由硬件管理的線程,線程間切換沒有延遲。 這是由于當線程因讀取數據或者執行同步指令開始等待時,程序就立刻切換到另一個處于 就緒狀態的線程,從而隱藏了延遲。特別地,GPU非常適合能夠被轉化為具有高算術計算密 度(算術運算和存儲操作所需時間的比率)且能并行運算(同一個程序并行的對多個數據 進行處理)的問題。通過把問題分解成能獨立地在線程塊之間并行執行的粗粒度子問題, 并且把每個子問題分解成能在同一線程塊內各線程之間并行協作執行的更小部分,而得到解決。可用GPU加速的理想應用程序應具備1.大量的數據2.大量獨立于CPU的操作3.高并行度4.數據元素間低相關性5.高算術計算密度
發明內容
針對現有射線追蹤的數字重建影像技術在體元電子密度插值和射線追蹤兩個處 理過程中,每個過程都存在大量數據、數據間具有低相關性、數據有相同的執行程序,并行 度和算術計算密度高等特點。本發明運用GPU提供了一種對射線追蹤的數字重建影像技術 加速的方法。它與常規方法不同之處在于采用了 CPU處理復雜邏輯和事務等串行計算, GPU處理具有高并行度的問題。即在插值過程中對于體元電子密度的插值,不使用CPU對 一個體元一個體元依次進行插值運算獲得最終的電子密度。而采用GPU使一個線程對一個 體元進行插值運算,而同時對多個體元并行執行,這樣可以使插值時間降為原來的1/Nthreads 倍(Nthreads,為同時并行執行的線程數)。同理,對于射線追蹤,可以同時對不同的射線進行 并行追蹤。因此,可以減少射線追蹤的數字重建影像時間,而且在一定條件下可以實現實時 重建。
圖1是射線追蹤生成DRR示意圖。標號1所對應的點為虛擬光源,標號2所對應 的立方體為虛擬人體,標號3所對應的小方格為像素,標號4所對應的方格平面為DRR投影平面。
具體實施例方式設光源的強度為Itl,對于每一束光線,穿過人體后到達DRR投影平面的強度I,滿 足如下公式 其中,/為射線積分路徑,pG)為積分路徑上組織的電子密度,σ為光子的衰減截 如圖1所示,首先要重建一個虛擬人體,這就是采用GPU進行加速的第一個部分, 用人體坐標系下的體元電子密度,通過插值獲得射束坐標系下虛擬人體的體元電子密度。 在使用GPU實現插值過程中,對于每個射束坐標系下的體元,給它分配一個線程,并把一定 數量的線程存放在一個線程塊中。每個線程執行的是相同的插值程序,即為該線程中的體 元,在人體坐標系下通過插值獲得體元的電子密度。這樣就可以把在CPU中需要對每個體 元進行順序執行的程序,實現多個體元(線程)并行的執行。
本發明的第二個部分,也就是采用GPU對射線追蹤過程進行加速。在使用GPU實現 射線追蹤過程中,對每一條射束分配一個線程,并把一定數量的線程存放在一個線程塊中。 針對每一線程(射束)執行相同的程序,即沿著射束的投影方向,計算射束路徑上的電子密 度。由于射束之間是相對獨立的且具有相同的執行程序,因此通過線程的并行執行,就可以 很大程度上降低運算時間。對于上述兩個加速過程中的線程,讓一定數量的線程存放在一個線程塊中,可以 在實現同一線程塊中線程間細粒度數據并行執行的同時,在線程塊間實現粗粒度的數據并 行執行。以上方法用了多個不同型號的GPU進行了測試,測試獲得的參數如表1所示。其 中 CPU 采用的型號是 Intel Core2 Q8400 2. 66GHz,GPU 運用了 NVIDIA GeForce G210 和 GeForce GT320,且GPU分別擁有多處理器(MP,一個MP包含有8個core) 2個和9個。
加速 對象Tcpu (s)Tgpu (s)Tqpu (s)Tcpu I TqpuTcpu IT gpug210gt320g210gt320g210gt320g210gt320插值1.8130. 3300. 2800.1250. 0455. 496.4814.5040.29射線 追蹤1.0150.1010. 0650. 0470.01010.0515. 6221.59101.5表1 GPU加速和CPU運行時間比較表1中,Tepu,表示完全在CPU中運行時間;TePU,表示包含CPU與GPU之間數據傳輸 以及在GPU中運行的總時間;τ\ρυ,表示GPU中的運算時間;TmAa^TcpuZTepu表示使用GPU 相對完全運用CPU執行時間的提高倍數。如表1所示測試結果,通過使用GPU的并行運行機制,使得DRR重建過程中的插值 運算和射線追蹤兩個過程都獲得了不同程度的加速。由于GPU和CPU的存儲器是相對獨立 的,它們相互之間不能直接訪存,必須先將數據傳輸到當前設備下才能進行處理,這也就使 得設備之間數據的傳輸時間成為運用GPU所要考慮的主要耗時部分。考慮數據傳輸時間與 否,加速倍數是有明顯的差異。還可以發現,不同GPU的加速效率是不一樣的,這是由于不 同GPU具有不同數量的多處理器(MP),在同一時刻并行執行的線程數目是不同的,因此對 于具有更多數量MP的GPU,加速效率更好。總而言之,通過表1中的測試數據,可以說明本 發明使得DRR重建時間得到了大大的提升,在一定條件下是可以達到實時重建的。
權利要求
一種用于改善放射治療虛擬模擬中射線追蹤的數字重建影像技術處理速度的方法,其特征在于,使用了CPU與GPU聯合進行數字影像重建。
2.根據權利要求1所述的用于改善放射治療虛擬模擬中射線追蹤的數字重建影像技 術處理速度的方法,其特征在于對于一些具有并行條件的處理過程使用GPU進行加速處 理,而復雜邏輯和事務處理等串行計算仍然采用CPU。
3.根據權利要求2所述的GPU加速處理,其特征在于針對插值運算,讓一個線程對應 一個體元并在線程中對該體元進行插值操作;對于射束追蹤過程,也讓一個線程對應一條 射束并在線程中計算該射束路徑上的電子密度。
全文摘要
本發明公開一種對射線追蹤的數字重建影像技術的加速方法。與常規方法不同之處在于結合CPU處理復雜邏輯和事務等串行計算,使用圖形處理器(Graphic Processor Unit,GPU)處理具有高并行度的問題。針對現有射線追蹤的數字重建影像技術在體元電子密度插值和射線追蹤兩個處理過程,用GPU并行處理而非CPU的順序處理。插值和射線追蹤兩個處理過程中,每個過程都存在大量數據、數據間具有低相關性、數據有相同的執行程序,并行度和算術計算密度高等特點。因而通過GPU,可以讓更多的計算單元同時的并行執行,從而縮短了運算時間,使重建的效率更高,而且在一定條件下可以實現實時重建。
文檔編號G06T1/20GK101894383SQ20101019744
公開日2010年11月24日 申請日期2010年6月11日 優先權日2010年6月11日
發明者侯氫, 劉操, 勾成俊, 吳章文 申請人:四川大學