李雪,周金治,莫春梅,余璽
1.西南科技大學信息工程學院,四川綿陽621000;2.特殊環境機器人技術四川省重點實驗室,四川綿陽621000
自20 世紀60年代神經認知機(Neocognitron)模型[1]出現以來,學者們就開始將神經網絡與肺部醫學圖像異常診斷相結合,其中卷積神經網絡(Convolutional Neural Network, CNN)[2]和計算機斷層掃描(CT)技術[3]在肺癌診斷中起著至關重要的作用。作為一種新興、復雜且涉及多學科的交叉技術,卷積模型的研究熱點是肺部CT 圖像中關鍵信息的提取,但面對高質量醫學數據缺乏和雙肺邊界特征信息難以準確提取等問題,如何從肺部CT 圖像中提取肺輪廓特征成為一個重要的研究課題。
在肺分割過程中可以考慮灰度、顏色、運動、形狀、紋理特征信息等,關于如何分析肺部各種特征的有效性并選擇最具有代表性的特征,曹蕾等[4]根據胸部CT 圖像的影像學和解剖學特征,結合最佳閾值法、數學形態學方法,先后對肺部圖像進行了粗分割、細分割并得到不錯的分割效果,但是肺部特征需手動選取,工作量大而復雜;Deepa等[5]提出了一種基于肺部Haralick 紋理特征的提取方法,該方法的分割準確率為86%,分割性能遠遠優于未經特征優化選擇的結果,但是分割精確度還不是很高;Rajnnt 等[6]提出了使用主成分分析(Principal Component Analysis,PCA)進行肺部特征提取,提取的特征通過PCA 數據挖掘進行分類,但是特征矩陣經過PCA 降維后易出現特征丟失的問題,導致分割并不理想,因此分割結果也不夠精確;Anifah 等[7]使用反向傳播神經網絡(Back-propagation Neural Network, BNN)自動提取灰度直方圖特征,不用人為選取特征,但灰度特征并不是最有效的肺部特征,因此分割效果還有待提高;曲彥等[8]提出了一種基于超像素的細化分割與模糊C 均值聚類相結合的自動分割算法,主要利用肺部CT圖像的灰度、紋理特征對肺進行分割,其準確率為98.32%,遠遠超過單一特征的肺實質分割效率,但是僅采用了128 名肺病患者共60 幅肺部圖像且未進行數據增強;Han 等[9]提出一種基于三維Haralick 紋理特征的肺分割方法,與二維方法相比能獲得更為有效的特征,雙肺分割十分精確,但三維特征提取存在計算量大和存儲資源過多占用的問題,分割準確度受到一定限制。
為彌補醫學數據缺乏和雙肺邊界特征難以準確提取的缺陷,本文從肺部顏色和紋理兩大特征出發,提出一種將融合特征作為分割模型的輸入獲取肺實質的方法。該方法將U-Net模型[10]改進后作為肺實質分割工具,同時采用深度卷積生成對抗網絡(Deep Convolution Generative Adversarial Network,DCGAN)[11]解決肺部CT數據匱乏的問題,通過強大的數據擴充訓練分割網絡,因此所提方法非常適用于數據稀缺的醫學領域。實驗結果表明,該方法既提高了肺實質分割準確率,又能解決肺部CT數據匱乏的問題。
RGB是數字圖像中最常見的顏色格式,但RGB空間的主要缺點是它在感知上不統一,其他顏色空間(如LAB、HSV)則提供了更好的感知一致性[12]。為獲得LAB和HSV顏色空間的特征,先在每個肺部圖像平面上以等距網格上的每個像素為中心構建正方形窗口的直方圖,最后計算平均直方圖,如圖1所示。

圖1 顏色特征向量構造過程Fig.1 Color feature vector construction
本文使用5×5 窗口大小提取3 個圖像通道的直方圖。RGB與HSV的轉換如下式所示:

其中,M?。≧,G,B)3 個通道的最大值,m?。≧,G,B)3 個通道的最小值。與HSV 不同的是RGB、LAB顏色空間的轉換需要將XYZ顏色空間作為媒介。假設RGB 為像素3 個通道,取值范圍均為[0, 255],RGB與XYZ轉換關系如下式所示:

完成RGB 到XYZ 的轉換后,再由XYZ 轉換到LAB,如下式所示:

將肺部圖像進行5×5分塊劃分,假設分為m塊。對每個分塊的像素進行量化合成后可得顏色矢量,提取其中像素點數目最多的顏色作為此分塊的主色,最后獲得圖像的綜合主色顏色特征向量C=(c1,c2,…,cm),其中ck(k= 1, 2,…,m)為第k塊的主色。
圖像分割過程常用Gabor 濾波器提取紋理特征[13]。Gabor 濾波器首先將圖像變換到頻域,然后將頻域分成幾個頻率子帶計算紋理特征。但是,該濾波器在特征提取過程中會引入大量冗余,導致特征通道過多,從而影響對目標特征的提取。該文提出了一種基于高階圖像統計的彩色紋理特征提取方法,該方法定義了鄰域結構中紋理的規則性,有利于紋理特征的提取。圖像統計可以通過無監督學習恢復,整個圖像被認為是具有一組格點S的隨機場X,其中{Ss}∈S是整個圖像中像素的集合。本文為了提取這些紋理特征,還使用了無監督自適應濾波器。該濾波器通過降低每個像素鄰域對的條件概率分布函數的熵h(X|Y=y)提高像素強度的可預測性。(X=x,Y=y)通過控制每個中心像素x值,熵減少在局部降低了隨機性,從而為不同的紋理區域生成均勻的強度區域。假設采用5×5 鄰域,坐標(a,b)的點像素的顏色特征為C(a,b),為此,在每次迭代和每個圖像區域中,Zm通過下式計算:

利用梯度下降的有限向前差分法進一步構造圖像im+1,強度如下所示:

其中λ是時間步長。當||im+1-im||2<σ(σ是一個小閾值)時,像素更新過程在幾次迭代后停止。為了提取彩色紋理特征,對圖像通道進行濾波處理。在5×5窗口中心提取每個像素,并使用高斯濾波器進一步平滑,最后計算局部直方圖,如圖2所示。

圖2 紋理特征向量構造過程Fig.2 Texture feature vector construction
顏色特征側重于圖像整體信息的描述[14],而紋理特征更偏重于局部[15]。僅基于一種特征只能表達圖像的部分屬性,對圖像內容的描述比較片面。本文將前面所獲取的顏色特征和紋理特征進行融合,以獲取更為全面有效的肺部輪廓特征信息。由于這兩類特征屬于不同類型的特征向量,取值范圍不同,因此本文采用局部窗口提取顏色特征和紋理特征,結合直方圖表征圖像區域的旋轉不變性使它們具有內在的相似性,進而可以對每個特征合理地分配相等的權重。權重計算如下式所示:

其中Wi(i= 1, 2,…,k)表示每類特征的權重,x是特征類別,y是特征總數,即:

局部直方圖的計算可以通過平均加權直方圖過程來實現,如圖3所示:

圖3 特征融合過程Fig.3 Feature fusion
由于彩色紋理圖像中的顏色和紋理在圖像分割中起著互補的作用,通過局部直方圖使兩種特征結合,最終的分割結果更加準確[16]。設N個特征直方圖中存在f個通道,加權平均直方圖可按公式(13)計算得到:

其中,Wi是分配給每個直方圖的權重。直方圖的平均值H由通道加權平均直方圖計算,如下式所示:

基于顏色和紋理特征的肺實質區域完整分割的整體過程如圖4所示,主要由3 部分構成:第一部分是肺部圖像的預處理過程;第二部分是肺實質邊緣特征的提取與融合過程;最后一部分是用改進后的U-Net進行肺實質分割的過程。

圖4 肺實質分割流程圖Fig.4 Flow chart of lung parenchyma segmentation
本文采用邊緣保留濾波和拉普拉斯算子對圖像進行預處理,前者用于減少輸入CT 肺部圖像中的噪聲和偽影,后者用于銳化增強肺部邊緣,有利于下一步肺部邊緣檢測的進行。肺的原始圖像及其預處理圖像如圖5所示。

圖5 肺部CT圖像預處理結果Fig.5 Results of lung CT image preprocessing
肺輪廓的檢測采用改進的Canny邊緣檢測器[17],它采用自適應濾波器對圖像進行濾波。這種自適應濾波算法將根據每個像素灰度值的性質選擇靈活的權重,同時對邊緣進行銳化,避免了邊緣檢測結果中孤立邊緣的出現,使邊緣像素更接近真實邊緣。肺邊緣檢測與標記圖像如圖6所示。

圖6 肺部邊緣檢測結果Fig.6 Results of lung edge detection
為了獲得圖像的顏色和紋理特征,采用第1節提到的LAB、HSV 顏色空間和鄰域統計獲得顏色紋理特征(圖7)。

圖7 CT肺部圖像的顏色形成過程Fig.7 Color forming process of CT lung images
U-Net依賴于強大的數據擴充來更有效地使用可用的注釋樣本,解決了肺部數據短缺的難題,但是由于不同數據集的特征層次的重要性不一樣,需要的U-Net分割模型的深度也不一樣。因此對原始U-Net進行一定裁剪,改進后的U-Net肺實質分割如圖8所示。

圖8 U-Net肺實質分割Fig.8 U-Net lung parenchyma segmentation
裁剪后的U-Net 網絡總共有18 個卷積層,其體系結構的設計包括兩部分:第一部分是收縮路徑(紅色箭頭部分),第二部分是擴展路徑(綠色箭頭部分),且兩部分完全對稱,使體系結構呈U形。收縮路徑由兩個重復使用的3×3 卷積、一個整流線性單元(ReLU)和一個步長為2 的2×2 最大池化層組成。擴展路徑用2×2卷積得到特征通道數的一半,與收縮路徑中相應剪切的特征映射進行合并,以及兩個3×3卷積,每個卷積后面都有一個ReLU 函數。在最后一層,使用1×1卷積生成最終的分割圖。
該架構使用LIDC-IDRI數據集進行了訓練,并在1 000 幅圖像上進行了測試,訓練進行了100 次迭代。表1列出在CT圖像中分割肺部區域的步驟以及參數設置。圖9和圖10分別是是模型訓練和驗證的損失值變化圖,從圖中可以看出損失值在訓練過程中越來越小,其中訓練與驗證過程的損失值最終穩定在0.036 5,說明經過訓練所得的模型穩定性較好。

圖9 訓練損失值與迭代次數的關系Fig.9 Relationship between training loss and number of iterations

圖10 驗證損失值與迭代次數的關系Fig.10 Relationship between verification loss and number of iterations

表1 肺分割算法Tab.1 Lung segmentation algorithm
本文的肺部CT 圖像來源于LIDC-IDRI 數據集[18],包括從7 個學術中心和8 個醫學影像公司合作創建包含1 398 個病例的數據集,每個病例包括1 個mhd 文件和1 個同名的raw 文件,如圖11所示。原始數據大小為512×512,考慮到圖像太大浪費存儲空間,因此將數據裁剪為256×256。其中mhd 文件需要借助python 的SimpleITK 包來處理。由于肺部CT 切片厚度會影響肺實質最終分割結果,本文采用其中16個病例作為數據集,每個病例的切片數量在418~538之間,為增加數據多樣性,選取厚度在0.5~2.5 mm 范圍內的肺部CT切片。采用DCGAN網絡進一步增強數據使模型分割結果更加準確,該模型由兩個基礎神經網絡即生成器神經網絡(Generator Neural Network)和判別器神經網絡(Discriminator Neural Network)所組成,前者用于生成內容,后者則用于判別生成的內容,兩個網絡在對抗中進步,在進步后繼續對抗,由生成式網絡得到的數據也就越來越逼近真實數據,從而可以生成想要得到的數據。最終使用的數據結構如表2所示。

表2 肺部數據Tab.2 Lung data

圖11 LIDC-IDRI數據集Fig.11 LIDC-IDRI data set
DCGAN 網絡增加了訓練樣本的數量與多樣性,有助于網絡在更大的樣本量上訓練并有效地減少了過擬合情況,使改進的U-Net 訓練更有效,分割結果更精確。
本文采用骰子系數(DSC)、靈敏度(Sen)、特異性(Spe)以及正確率(Acc)4 個指標[19-20]對實驗結果進行評估,計算方法如下:

其中θtp是真陽性像素值,θtn是真陰性像素值,θfp是假陽性像素值,θfn是假陰性像素值。

其中,真陽性(TP)是系統正確識別的非實質性像素結構的數量,假陽性(FP)是標記為非實質性像素結構的實質像素數量,真陰性(TN)是正確識別的實質像素數量,假陰性(FN)是標記為實質像素的非實質性像素結構的數量。
該方法采用8 600張來自LIDC-IDRI數據庫不同病人的CT肺圖像,利用DCGAN網絡得到1 400幅肺圖像。這個由10 000幅圖像組成的數據集以8:1:1比例分成訓練集、測試集和驗證集等3 部分并進行100次迭代。部分原始圖像、預處理、邊界檢測、顏色形成、金標準及其分割結果如圖12所示。將分割后的圖像與金標準進行比較,并計算了該方法的性能。金標準是用Adobe Photo Shop手工繪制的。

圖12 肺實質分割結果Fig.12 Lung parenchyma segmentation results
為了證明所提出的肺實質分割方法的有效性,對文獻[4]、[6]、[7]中的方法進行實現、測試,并與LIDC-IDRI 數據集的同一組圖像樣本進行比較。從骰子系數、靈敏度、特異性、正確率等方面對其性能進行評價,結果見表3。

表3 不同方法肺分割性能比較Tab.3 Comparison of lung segmentation performance among different methods
在LIDC-IDRI數據集上,本文提出的方法在所有評價指標上都取得了較好的結果。為了更加直觀地對不同特征在分割過程中的結果進行分析,骰子系數箱型圖、靈敏度箱型圖、特異性箱型圖、正確率箱型圖如圖13所示。從箱型圖中可以直觀地看出,各個指標上四分位數與下四分位數的距離較小,表明數據比較集中,中位數都偏向于上四分位數,數據分布偏向于上分位數區域。對比不同評價指標發現,本文方法的正確率略低于文獻[7],但其他指標更好,綜合優于文獻[7]。與文獻[4]和[6]單一特征的分割方法相比,本文方法的性能指標明顯優于其分割指標,說明融合顏色特征與紋理特征在分割肺實質時可以使準確度大幅度提高,平均骰子系數也提高至0.937。

圖13 不同評價指標箱型圖Fig.13 Box charts of different evaluation indicators
為了進一步驗證顏色紋理特征與改進后的UNet 結合的方法能否有效提高肺實質的分割準確度,本文將單一特征和融合特征分別與該模型結合進行肺實質分割,不同特征肺分割性能比較結果如圖14所示。從圖14可以看出,使用單一顏色特征進行分割,特異性為0.92,靈敏度為0.86;使用單一紋理特征進行分割,特異性為0.92,靈敏度為0.87;使用融合特征時,特異性與靈敏度都達到0.96 以上,表明融合特征能有效提高肺實質的分割精度。

圖14 不同特征肺分割性能比較Fig.14 Comparison of lung segmentation performance among methods using different features
為了驗證裁剪后的U-Net 深度用于肺實質分割的優越性,將融合后的顏色特征、紋理特征與其他不同深度的U-Net結合并對分割表現進行對比,不同深度的U-Net 結構如圖15所示。采用相同的數據集進行不同深度的U-Net 分割實驗,最終L1、L2、L3 和L4層的肺實質分割平均準確率分別為0.860、0.882、0.971、0.953。由此可見,隨著U-Net 深度的增加,分割效果并非越深越好,當深度為3時,分割效果最優,當深度為4 時,分割精確度反而下降了,這是因為不同層次特征的重要性對于不同的數據集是不一樣的,原始4 層的U-Net 對于細胞數據集分割效果最優,但在進行肺部數據分割時,淺層結構可以抓取圖像簡單的特征,比如邊界、紋理和顏色等,而深層結構隨著感受野增大,卷積操作也隨之增多,能抓取到圖像更多抽象的特征,導致特征冗余問題,降低了分割精度,因此本文將原始U-Net 裁剪成深度為3 的模型對肺實質進行分割并得到了不錯的效果。

圖15 不同深度的U-NetFig.15 U-Net of different depths
本文提出了一種新的肺實質CT 圖像分割方法,提出了一種高階圖像統計的紋理特征提取方法,將其與顏色特征融合用于肺輪廓邊緣的增強,最后把DCGAN 網絡增強的數據與原始數據混合作為改進后的U-Net模型的輸入樣本,通過訓練模型得到肺實質分割結果,U-Net 模型結構簡單,通過少量帶有標注的肺部圖像就能得到較好效果,是深度學習框架中最適用肺實質分割的模型。實驗結果證明,所提出的方法在肺實質分割方面有顯著改善。與僅依靠單一特征(如灰度、顏色、運動、形狀、紋理特征等)的方法相比,特征融合有助于描繪更完整的肺輪廓,不會造成特征信息缺失而無法準確分割肺實質的問題。與原始的U-Net模型相比,裁剪后的模型更適于肺實質分割。該方法在驗證性實驗中獲得了最高的骰子系數、靈敏度和特異性。未來工作將尋求與醫學專家和研究人員的合作,將本文方法應用于臨床診斷和外科導航,如用于COPD定量評估和輔助肺結節檢測。