馬思然,楊媛媛,倪揚帆,顧軼平
(1.中國科學院上海技術物理研究所 醫學影像信息學實驗室,上海 200083;2.中國科學院大學,北京 100049)
在全球絕大多數國家,肺癌的發病率和死亡率均居首位,目前肺結節的診斷方式主要是由專業的放射科醫師進行 CT 影像篩查,這種方式不僅具有很強的主觀性,而且會產生視覺疲勞,嚴重影響肺部疾病診斷的準確率[1]。
在醫學影像研究及應用領域,人工智能(Artificial Intelligence, AI)占據著越來越重要的位置,其在肺結節方面的進展最為迅速。神經網絡提高了CT圖像檢測與分類的各項指標,比如特異性、敏感性及精確度,可以準確快速地分析影像以確診疾病,并且不受主觀因素影響。基于深度學習的計算機輔助診斷技術在肺部疾病檢測和診斷方面發揮越來越重要的作用[2]。
三維重建是醫學影像可視化的主要技術,該技術通過二維切片序列重建出組織、器官的完整三維模型,能為臨床診斷、外科手術、放射治療等醫學應用提供重要支撐[3]。
肺結節智能檢測和三維可視化系統,即IDVS-N(Intelligent Detection and Visualization System of Nodule)將PACS(Picture Archiving and Communication System)影像系統、DICOM(Digital Imaging and Communications in Medicine)圖像調閱平臺[4]、人工智能肺結節檢測技術以及三維可視化處理平臺[5]有效整合,提供肺結節自動檢測功能以及完整、準確的三維結節圖像,多角度、多層次的展示組織區域內部的細節信息,從而提高診斷效率和質量,為臨床決策提供幫助。
IDVS-N系統以國際相關技術標準(DICOM、IHE XDS-I等)和實驗室相關的醫學影像云平臺[4]設計為理論指導,以已掌握的關鍵技術[6-7]為基礎設計和實現。系統采用B/S三層體系結構:表示層、業務邏輯層、和數據訪問層。表示層包含兩個前端界面,分別是圖像調閱界面和三維可視化界面;業務邏輯層提供包括肺結節智能檢測、圖像顯示處理以及三維可視化服務;數據訪問層提供DICOM通信和圖像管理服務。數據庫采用PostgreSQL9.4進行系統中數據的存儲與管理。系統架構圖如圖1所示,各模塊之間使用消息中間件進行任務分配和訂閱。

圖1 系統架構圖
肺結節智能檢測和三維可視化系統基于Java和Python語言開發,針對肺部疾病診斷的特點,構建了深度學習網絡檢測肺結節,采用光線投射算法對檢測結果進行三維重建,在網頁中可視化地顯示肺部結節模型,終端用戶使用任意瀏覽器即可進行訪問。其各模塊功能如下:
1)DICOM通信和圖像管理。實現DICOM標準的通信,如C-ECHO, C-STORE SCP/SCU, C-FIND SCP, C-MOVE SCP/SCU等;負責DICOM圖像文件的管理,包括接收、存儲、發送等;同時負責肺結節檢測結果管理。
2)智能檢測。使用多通道的三維卷積神經網絡對CT圖像進行肺結節檢測,檢測結果包括結節位置、直徑以及結節周圍圖像矩陣。
3)圖像顯示處理。采用已有的醫學影像云平臺自適應圖像傳輸技術[4],為前端頁面提供圖像顯示配置、圖像索引服務、圖像文件提取服務、圖像操作服務、圖像頭文件解析服務等等。
4)三維可視化。使用VTK可視化工具包[8]完成圖像矩陣導入和基于光線投射算法的結節區域體繪制功能。
用戶登錄肺結節智能檢測和三維可視化系統后,點擊查詢病人圖像,服務端的DICOM通信和圖像管理模塊讀取DICOM系列圖像,解析和本地存儲后調用智能檢測處理模型,輸出肺結節坐標及結節圖像矩陣,通過圖像顯示處理服務在前端顯示圖像并標注肺結節位置。點擊菜單欄3D按鈕將跳轉至三維重建頁面,啟動三維可視化服務。
在眾多肺結節人工智能檢測的研究中,常常采用卷積神經網絡(Convolutional Neural Networks, CNN)對醫學圖像進行識別,這是一種具有深度結構的前饋神經網絡,可以應用于大型圖像處理[9]。
而應用CNN識別單張的病灶圖片,不能全面地考慮到多張連續圖片中病灶的聯系[10],也不符合臨床醫生的診斷要求。為有效地整合病灶橫跨多個連續圖片的相關信息,本文構建了一種多通道的三維卷積神經網絡來提取圖像特征。
多通道的三維神經網絡不僅能檢測三維的醫學影像數據,而且多尺度的提取圖像特征比起單一網絡可以增加檢測的準確度。
2.1.1 數據集
我們使用公共數據集LUNA16[11]作為我們的研究數據集,包括888例患者的低劑量計算機斷層掃描。從中隨機抽取的88例患者的CT數據作為測試集,除測試集以外的數據作為訓練集和驗證集。共標記出1 187個結節樣本。用于訓練和驗證的數據集中有970個結節樣本。我們通過數據擴充的方法將數據擴充了10倍左右,在收集的全部數據中,隨機選取10%的數據作為驗證集。
2.1.2 數據預處理
預處理主要包括:分辨率標準化和圖像壓縮,三維CT影像由于掃描機器的差別以及掃描厚度的差異,分辨率不一而足,因此我們考慮采用三維插值的方法對三維CT數據在不同方向[12]的分辨率進行標準化。另一方面,由于原始CT圖像數據量大,平均每例切片厚度為1.25毫米的三維CT數據能達到132 MB,在訓練過程中,極易造成內存泄漏。因此,需要對CT圖像進行壓縮,經過壓縮后的圖像為8位灰度圖像。
2.1.3 網絡結構
本文設計的多通道三維卷積神經網絡結構如圖2所示,模型共分為兩層,第一層為卷積層,第二層為級聯層。卷積層負責在原始的輸入上進行特征提取,該層由3個網絡通道組成。在卷積運算中,第一次卷積可能只能提取一些低級的特征如邊緣、線條和角等層級,而更深度的網絡能從低級特征中迭代提取更復雜的特征,因此,為了獲得更好的訓練效果,我們考慮加深網絡的深度。但在卷積神經網絡中,在不斷加深網絡的深度時,準確率會先上升然后達到飽和,再持續增加深度則會導致準確率下降。考慮到這一限制,我們選擇在每一個網絡通道中設置3個RetNet網絡分別對數據進行訓練并輸出,ResNet的殘差模塊學習方法能有效地解決深層次網絡訓練中的退化問題[13]。最后,級聯層負責將3個不同網絡通道的輸出進行級聯,從而得到最終的特征。

圖2 多通道網絡模型結構
2.1.4 模型訓練
將壓縮及標準化后的三維數據塊輸入多通道網絡模型進行訓練,在最后通過合并3個不同的網絡通道的輸出合并得到最終的特征,輸出結果定量化的表示為疑似結節的位置及直徑。我們選用Focal loss作為分類損失函數[14],Focal loss計算公式如下:

(1)
公式中的y是分類標簽,yt為網絡輸出。通過參數α和γ來控制權重的調整。本研究中的權重參數α=0.5,γ=2。
在以往的研究中,無論是肺結節手動標注系統還是自動檢測系統,大都選擇在二維圖片上標注結果,而檢測結果的三維重建模型則需要在其他的軟件中查看,比如ITK-SNAP,不僅操作步驟繁瑣,而且時間花銷也很大。為了進一步挖掘醫療數據,使得用戶能夠更加直觀的觀察肺部病灶,為用戶提供更多的疾病信息,輔助醫生進行臨床診斷。本系統設計提供了肺結節三維重建功能,直接在瀏覽器中提供檢測出的肺結節三維模型。
體繪制能夠保存三維空間的細節信息,模型成像質量高,因此我們選用體繪制來重建結節模型。光線投射算法(Ray Casting)是常用的體繪制算法。該算法的原理是以屏幕的第一個像素為原點,發出一條射線,按照射線方向進行采樣,然后根據由前向后或者由后向前的順序,對射線上的每個采樣點計算物質發光強度I,不透明度O以及顏色α,最后繪制像素[15]。采樣點的計算順序,可以分為由前向后,公式如下:
Iout=Iin+(1-αin)αiCi
(2)
αout=αin+αi(1-αin)
(3)
和由后向前,公式如下:
Iout=Ciαi+Iin(1-αi)
(4)
我們選用可視化工具包(Visualization Toolkit,VTK)來進行開發,它是一個開源的、跨平臺的免費軟件,可用于三維計算機圖形、建模、圖像處理、體繪制、科學可視化和二維繪圖。它支持多種可視化算法和高級建模技術,并分別利用線程和分布式內存并行處理的速度和可擴展性。
VTK體繪制渲染流程如圖3所示,我們首先導入結節圖像矩陣,解析后將圖像數據傳入光線投射映射器,在映射器中通過光線投射算法進行三維重建,然后將經過重建的三維數據載入體繪制對象,最后將體繪制對象存入渲染器并在渲染窗口顯示。

圖3 體繪制渲染流程
在光線投射映射器中,為了得到最好的繪制效果,我們需要在屬性中設置以下傳遞函數:(1)不透明度傳遞函數。該函數用于設置各體素繪制時的不透明程度,范圍在0到1之間,0表示完全透明,1表示完全不透明;(2)顏色傳遞函數。該函數用于設置體素的繪制顏色,可按照RGB顏色標準設定。
由于醫學影像的灰度級與人體組織部位一一對應,通過對各級人體組織對應的灰度范圍設定相應的不透明度值,就可以在繪制時,使得該組織呈現透明或不透明的效果。根據這一理論,我們經過多次實驗,得出結節模型繪制效果最優的傳遞函數參數設置,如圖4所示。

圖4 傳遞函數參數設置
本文模仿醫院應用場景,在局域網環境下搭建肺結節智能檢測和三維可視化系統。服務器部署環境選擇Ubuntu Linux 64bit操作系統,配備GeForce GTX 970 GPU顯卡。前端選擇Windows 10 64-bit操作系統,使用Chrome瀏覽器進行測試。
為了驗證多通道網絡相比于單一尺度檢測網絡以及其他多尺度檢測方法的優越性,本文使用了單通道殘差網絡、特征金字塔(FPN)網絡[16]與多通道網絡進行對比試驗。3種網絡在同一測試集及相同網絡參數的設置下肺結節檢測準確率如表1所示。

表1 各網絡組成情況及在測試集上的準確率
從表中的數據可以看出相比FPN和單通道網絡,多通道網絡對于肺結節檢出準確率性能最好,達到了84.8%,也能滿足日常檢測需要,因此系統采用多通道網絡作為檢測網絡。
為了研究該網絡的預測性能,我們設置了幾個參數對其進行評估,即檢查每個三維CT的靈敏度、耗時和每次掃描的假陽性率。在實驗中,我們分別使用分辨率為1、1.5、2 (mm/pixel)的三維CT數據進行檢測,測量結果如表2所示。

表2 不同分辨率下多通道網絡檢測結果
在統計檢測結果過程中,將每個預測值與標號進行比較。如果預測值在實際結節范圍內,我們將其標記為真陽性樣本,否則為假陽性樣本。當預測結果沒有一個在實際結節范圍內時,就會出現一個假陰性樣本。
從表2可以看出,當分辨率降低時,預測的靈敏度明顯降低。然而,假陽性率和平均耗時也同時減少。當我們使用高分辨率圖像進行掃描時,需要200多秒。然而,在低分辨率情況下,進行預測只需要大約20秒。如果我們考慮增加靈敏度,會增加假陽性率和平均時間消耗,兩者是相互制約的。在未來的研究中,我們將在保證靈敏度的前提下進一步降低預測的假陽性率。
IDVS-N系統在實驗室搭建的環境下,采用測試集圖像進行測試。測試結果如表3所示。

表3 系統各模塊響應時間
由表3可以看出,用戶能在230s內通過瀏覽器調閱標注了檢測結果的圖像和肺結節三維重建模型,滿足應用需求。通過比較系統對不同分辨率圖像的響應可以發現,分辨率高的圖像數據量大,系統檢測時間遠遠高于分辨率低的圖像,但圖像調閱與重建時間沒有太大差距。而在實際的應用場景中,對高分辨率圖像的檢測更為常見與重要,因此,如何提高高分辨率圖像的檢測效率是我們以后的研究中需要考慮的問題。
如圖5所示,進入測試圖像的調閱界面,瀏覽器默認顯示2*2窗口,每個視圖窗口顯示一個系列的圖像,通過滾動條查看系列圖像,同時肺結節檢測結果以綠色矩形框進行標注。視圖窗口4個角落分別顯示檢查時間、病人姓名、窗位、窗寬等頭文件信息。選定一個結節標注框,點擊界面上方工具欄的3D按鈕,進入該序列DICOM圖像三維重建界面。如圖6所示,進入選定結節的三維重建頁面,窗口顯示結節區域的體繪制模型,用戶可以通過旋轉、縮放、平移等一系列操作從不同角度觀察三維模型。

圖6 三維重建界面
由顯示效果可以看出,IDVS-N系統能清晰地在原始圖像上標注疑似肺結節,同時能提供完整、逼真的三維結節圖像,多角度、多層次的展示組織區域內部的細節信息,且用戶能對三維模型進行旋轉、縮放等交互操作,基本滿足設計要求。但三維重建功能也存在一定缺陷,比如對于一些與肺壁相連的結節,由于周圍軟組織沒有去除,重建效果不太理想,為了解決這一問題,我們還需要做進一步的肺結節圖像分割研究,實現更好的重建效果。
肺結節智能檢測與三維可視化系統(IDVS-N),將基于人工智能的肺結節檢測技術與三維重建技術進行結合。采用Web可視化界面完成肺結節自動檢測和三維可視化,具有操作簡便、可跨平臺的特點,能夠幫助提高肺部疾病診斷效率和準確率,減輕臨床醫生閱片的壓力。本文對基于人工智能的肺結節檢測技術和DICOM三維重建技術的融合應用做了初步的探索,進一步的研究需要解決如下兩個問題:1)對于分辨率高的圖片檢測效率還有待提高;2)結節沒有進行分割,區域圖像可能有其他組織粘連,導致重建效果不太理想等等。當上述問題解決后,將更有利于人工智能技術的臨床應用,能更切實地幫助醫生對病情做出準確判斷。