裴瀟倜,呂琳,黃鵬杰,陳兆學,林勇
上海理工大學醫(yī)療器械與食品學院,上海200093
結核病一直以來都是嚴重威脅人類生命健康的高發(fā)傳染病之一,臨床癥狀不明顯,容易漏檢。我國每年因結核病死亡的人數高達13 萬[1],因此對結核病的早期預防和治療工作非常重要。ELISPOT 是一種檢測患者體內是否存在釋放結核特異性γ干擾素的T 淋巴細胞,來判斷患者是否感染結核病的技術,具有較高的特異性和靈敏度[2]。斑點檢測實驗中,含有γ干擾素的T 淋巴細胞被臺酚藍染色,形成斑點圖像。通過檢測圖像中斑點的數量來判斷對象是否感染結核。
圖像分割是T 細胞斑點檢測的核心算法。基于區(qū)域生長的傳統(tǒng)圖像分割算法,根據圖像的局部空間信息,連通一些具有某種相似性質的像素,構成分割區(qū)域[3]。屈彬等[4]提出基于區(qū)域生長的快速邊緣跟蹤算法,將傳統(tǒng)區(qū)域生長算法中對整個目標區(qū)域像素的處理轉為對目標邊緣像素的處理。不影響分割結果的同時,降低算法的時間復雜度和空間復雜度。但該方法受圖像背景因素影響較大,導致分割結果不精確。魏寶剛等[5]提出的基于區(qū)域生長的零碎區(qū)域全并算法和多度量準則聚類算法,降低了區(qū)域生長分割結果的好壞受種子選取和區(qū)域生長次序的影響。但仍然無法解決受噪音因素影響的問題。張博[6]將邊緣檢測算法運用到細胞圖像分割,使用插值的方法平滑處理分塊閾值矩陣,依照形態(tài)學提取邊緣特征,消除圖像的塊狀效應,保證細胞邊緣的精確性。但同時會丟失少量的邊緣信息,不利于復雜圖像的邊緣檢測。由此可知,針對T 細胞斑點檢測,傳統(tǒng)的圖像分割方法仍然存在一定的不足,導致分割結果準確率不高,不利于結核感染的早期診斷和治療。
針對上述算法的不足,本文將深度學習的方法運用到圖像分割技術中。U-Net網絡[7]是在全卷積神經網絡的基礎上將上采樣與下采樣結合,底層信息與高層信息結合所提出來的一種深度學習網絡,具有分割精度高,學習能力強的特點。本文將U-Net方法運用于T細胞斑點檢測,通過不斷訓練,調整參數,優(yōu)化模型,改善當斑點數較多、背景不清晰時不能準確識別的難題,提高斑點圖像的識別效率和準確率,從而能夠幫助醫(yī)生判斷結核病感染狀況,具有重要的臨床價值和意義。
本文數據來源于結核感染T細胞斑點檢測實驗,在酶聯免疫斑點分析儀(CTL S6 Entry Analyzer)檢測的數據中選取5 組96 孔板的斑點圖像作為數據集。每組數據均包含陰性對照、陽性對照、抗原a 孔及抗原b 孔4 類??乖碳ふT導的斑點特征是清晰的深色圓點。由專業(yè)實驗人員根據斑點形態(tài)特征標注陽性斑點作為分割的標準[8]。選取其中4 組作為訓練集,1組作為測試集。
為了減少數據計算量,降低模型復雜度,使用灰度化操作將彩色圖像B、G、R 像素值分別以權重0.114、0.587、0.299 相加處理為灰度圖像。通過中值濾波操作,將相鄰的9 個像素值從小到大排序,將中間值設為當前像素值,去除椒鹽噪聲,增強圖像效果[9]。將標注過的標準json 文件轉化為png 圖像格式,設置閾值轉為二值圖像。以上圖像處理的方法均使用計算機視覺庫OpenCV 的算法實現。
深層神經網絡一般需要大量訓練數據才能獲得較好的結果。當數據量有限時,可以通過數據增強的方法來增加樣本多樣性,提高模型泛化能力。本文采用 Keras 深度學習庫ImageDataGenerator 圖片生成器,通過旋轉、變形、歸一化增強數據,擴充數據集大小,結合flow_from_directory 方法循環(huán)產生batch數據[10]。
U-Net 是一種基于圖像語義分割[11]的網絡,不包含任何全連接層,結構如圖1所示,由收縮路徑和擴展路徑兩部分組成。收縮路徑包括卷積層、激活函數和下采樣操作。擴展路徑包括上采樣操作、卷積層和激活函數。另外,串聯收縮路徑中對應層的特征圖,通過卷積操作將特征向量映射到所對應的分類。
1.2.1 網絡訓練將預處理后的樣本及對應的標注圖像作為訓練集訓練U-Net網絡,采用二分類交叉熵損失函數及Adam 優(yōu)化器優(yōu)化模型[12]。 以ModelCheckpoint 作為回調函數監(jiān)視loss 值,自動保存最優(yōu)網絡模型。
(1)損失函數:實驗采用二分類交叉熵損失函數檢測擬合結果與真實情況的不同。使用KL 散度[13](Kullback-Leibler divergence)衡量真實值與預測值的差異。KL計算公式如下所示:
其中,p(xi)代表真實值;q(xi)代表預測值;h(p(x))代表信息量。由于h(p(x))不變,直接使用交叉熵做loss指標評估模型。運用邏輯回歸損失函數[14],公式如下:
其中,xi代表真實值;yi代表預測值。
圖1 U-Net模型結構Fig.1 U-Net model structure
(2)優(yōu)化器:采用Adam 優(yōu)化器優(yōu)化網絡,通過計算每個參數的自適應學習率,綜合考慮梯度的一階估計和二階估計計算和更新步長。Adam 更新規(guī)則,計算t時間步的梯度,并綜合考慮時間步的動量。計算公式如下:
其中,β1、β2為指數衰減率,α為默認學習率。
1.2.2 網絡參數U-Net 模型輸入層尺寸為(256,256,1),其他各層的參數如表1所示。第4、5 層卷積結束進行一次參數為0.5的dropout操作,隨機刪除一些隱藏的神經元。6 到9 層以參數axis 為3 拼接相對應的1到4層。
表1 U-Net網絡各層參數Tab.1 U-Net network parameters
優(yōu)化算法Adam 參數,學習率α為1e-4。一階矩估計的指數衰減率β1設置為0.900,二階矩估計的指數衰減率β2設置為0.999,設置模糊因子epsilon 為10e-8。
1.2.3 斑點計數U-Net 模型輸出斑點mask 二值圖像,為了直觀查看分割效果,檢測分割準確率,使用圖像處理技術檢測斑點邊緣,計算斑點數量。設置閾值將mask 圖像的像素設置為0~1,使用數字圖片處理包skimage 的label 函數以8 連通方式標記二值圖像的連通區(qū)域,獲取斑點個數。為了加強斑點邊緣信息,采用dilation函數進行形態(tài)學腐蝕操作[15],以邊長為3的正方形濾波器對各區(qū)域膨脹濾波,將獨立的圖像元素分割出來,找出明顯的極值區(qū)域。
為獲取圖像形態(tài)邊緣,采用5×5高斯濾波器消除圖像噪音點。在水平和垂直方向上使用sobel算子[16]平滑圖像濾波,計算梯度大小和方向,檢測局部最大值,去除不構成邊緣像素。設置兩個閾值max 和min檢測圖像邊緣,梯度大于max 被確定為邊緣,小于min 被確定為非邊緣,介于二者之間的像素,根據其連通性被確定為邊緣或非邊緣。以上操作使用OpenCV 庫的Canny[17]函數實現。最后,將承載邊緣信息的二值圖像還原回樣本,通過PIL 庫中ImageDraw 方法將斑點數標注于圖片,結果如圖2所示。
圖2 斑點計數過程Fig.2 Spot counting
該網絡基于深度學習庫Keras,結合Python語言實現。使用計算機視覺庫OpenCV、圖像處理庫Skimage、PIL等處理圖像數據。編程軟件使用Anaconda集成環(huán)境的Spyder、Jupyter Notebook。實驗環(huán)境操作系統(tǒng)為Windows7、處理器Intel Core i7-8700、顯卡為NVIDIA GeForce RTX2080。
為了評估模型好壞,與其他模型直觀對比。采用以下常用的醫(yī)學圖像分割評價指標[18]:precision(查準率)、recall(查全率)、F1(綜合評價指標)。各項指標的定義如下:
其中,TP(True Positive)為真陽性,表示在實例中是陽性斑點像素,網絡預測中是斑點像素的個數。FP(False Positive)為假陽性,表示在實例中是背景像素,網絡預測中是斑點像素的個數。FN(False Negative)為假陰性,表示在實例中是斑點像素,網絡預測中是背景像素的個數。
實驗以10 個epoch 訓練,每個epoch 包含2 000樣本,以ModelCheckpoint作為回調函數監(jiān)視loss值,自動保存最優(yōu)網絡模型。選取1 組96 孔板數據作為測試集。對比U-Net模型和傳統(tǒng)分割模型的結果,計算兩種方法的precision、recall、F1。本文分別從少量斑點(斑點數為0~100)和較多斑點(斑點數為100~300)兩種情況進行檢測實驗。
2.2.1 少量斑點數實驗選取5個斑點數在0~100的樣本進行實驗,計算各個評價指標,結果如表2所示。
表2 少量斑點數實驗各評價指標的值Tab.2 Value of each evaluation index in the experiment with a small number of spots
由表2可知,U-Net模型的查準率均值為0.93,接近于傳統(tǒng)分割模型的0.95;查全率均值為0.95,明顯高于傳統(tǒng)分割模型的0.75。由以上數據可知,U-Net模型改善了傳統(tǒng)圖像分割方法容易漏檢斑點的不足。U-Net模型和傳統(tǒng)分割模型的綜合評價指標F1的均值分別為0.93和0.84,可以看出總體上U-Net模型的性能優(yōu)于傳統(tǒng)分割模型。抽取部分分割結果,如圖3所示。
圖3 少量斑點數實驗樣例展示Fig.3 Sample display of the experiment with a small number of spots
2.2.2 較多斑點數實驗選取5 個斑點數為100~300的樣本進行實驗,計算各個評價指標,結果如表3所示。由表3可知,與少量斑點數實驗相比,U-Net模型和傳統(tǒng)模型的precision、recall、F1 的值均有所下降,表明斑點密度會影響模型的分割效果。U-Net 模型的recall 仍明顯高于傳統(tǒng)分割模型,由數據可以判斷傳統(tǒng)圖像分割方法容易漏檢斑點。U-Net 模型和傳統(tǒng)分割模型的綜合評價指標F1的均值分別為0.89 和0.83,可以看出總體上U-Net 模型的性能仍優(yōu)于傳統(tǒng)分割模型。抽取部分分割結果,如圖4所示。
準確分割T 細胞斑點圖像對結核病的早期診斷尤為重要。為了改善傳統(tǒng)的圖像分割技術在分割過程中易漏檢、易受噪聲干擾的不足。本文運用深度學習U-Net 模型分割斑點圖像。由專業(yè)實驗人員根據形態(tài)特征標注陽性斑點,預處理后輸入網絡訓練,優(yōu)化網絡模型。實驗結果表明,基于U-Net 的分割模型性能上優(yōu)于傳統(tǒng)的區(qū)域分割模型。
該網絡目前還存在一些不足,比如分割效果受斑點密度的影響;錯誤分割部分假陽性斑點;不能精準識別一些粘連細胞。由于抗原刺激誘導的斑點特征是清晰的深色圓點,針對一些假陽性斑點僅僅依靠形態(tài)學特征不易精準識別,需要通過不斷標注斑點圖像來訓練網絡,提高斑點識別準確率。在未來的研究中,可以通過查找細胞核中心像素的方式,融合分水嶺[19]算法,檢測微弱的斑點邊緣,從而改進不能準確分割粘連細胞的難題。另外,可以改進網絡模型,將斑點圖像劃分為不同的分割域[20],設置卷積塊以窗口滑動的方式實現分割,改善以上的問題,從而達到更高的分割準確率,滿足結核病早期診斷的需求。
表3 較多斑點數實驗各評價指標的值Tab.3 Value of each evaluation index in the experiment with lots of spots
圖4 較多斑點數實驗樣例展示Fig.4 Sample display of the experiment with lots of spots