丁萬坤,周作建?,李紅巖,戰(zhàn)麗彬,王世東
(1. 南京中醫(yī)藥大學(xué),江蘇 南京 210046;2. 遼寧中醫(yī)藥大學(xué),遼寧 沈陽 100847;3. 北京中醫(yī)藥大學(xué)東直門醫(yī)院,北京 100700)
中醫(yī)學(xué)認為目與人體臟腑經(jīng)絡(luò)緊密相連,通過目診不僅能夠了解臟腑盛衰,還可以預(yù)測將要發(fā)生的疾病,體現(xiàn)了中醫(yī)“治未病”的思想。具體來看,中醫(yī)目診即通過觀察患者眼睛各方面的變化診斷疾病,是中醫(yī)望診的重要組成部分,其歷史悠久,簡單易行,診斷明確。中醫(yī)目診早已用于癌癥、糖尿病、高血壓等多種疾病的診斷[1?2],而現(xiàn)代中醫(yī)目診則進一步融合了不斷發(fā)展的目診理論與技術(shù),并借助多種現(xiàn)代化醫(yī)學(xué)設(shè)備進行眼部檢查和全身疾病診斷,如虹膜診斷法、眼底診斷法等。不僅如此,朱會明等[3]研究的中醫(yī)肝病目診系統(tǒng),完成了從目像采集、目像處理到目像分類的全過程,并基于中醫(yī)“五輪”理論完成各部分的識別提取,再利用特征增強算法去除背景,最終通過設(shè)定目表血管紋理描述符完成了目部特征提取。
然而目前中醫(yī)目診研究多集中于臨床診斷方面,對目像的自動化分割研究較少,對中醫(yī)目診的智能化研究相對欠缺。在醫(yī)學(xué)其他領(lǐng)域,深度學(xué)習(xí)算法早已被廣泛應(yīng)用于醫(yī)學(xué)圖像分割任務(wù)中[4?9]。例如王亞剛等[10]提出了一種基于改進DeeplabV3 + 的腸道息肉分割算法,編碼部分采用最優(yōu)DPC 架構(gòu)獲取多尺度特征,解碼部分采用3 層深度可分離卷積代替原有卷積,從而減少了上采樣中的信息丟失,有效提高了息肉分割精度。為有效實現(xiàn)中醫(yī)目診的標準化和智能化,針對捕獲的圖像進行精準的目像區(qū)域分割是智能目診的保障和基礎(chǔ)。本文提出的輕量化目像分割模型能夠快速識別并分割目像區(qū)域,且輕量化模型也可以嵌入微信小程序使用,從而保證模型在移動設(shè)備中也能快速部署和實現(xiàn),為現(xiàn)代化中醫(yī)目診提供了有效的目像分割方法,推動了中醫(yī)目診智能化診斷的發(fā)展。
MobileNetV2 是2018年由谷歌團隊提出的輕量級網(wǎng)絡(luò)模型[11],核心是深度可分離卷積模塊,大大減少了模型的參數(shù)量,從而使得網(wǎng)絡(luò)收斂速度加快。深度可分離卷積網(wǎng)絡(luò)包括深度卷積和逐點卷積,計算量如公式(1)~(3)所示。
其中,DK*DK代表標準卷積,M和N分別代表輸入通道數(shù)和輸出通道數(shù),DH代表特征圖的寬度和高度。C1代表深度卷積計算量,C2代表逐點卷積計算量,C代表深度可分離卷積計算量。
相比MobileNetV1,MobileNetV2 引入了線性瓶頸模塊和倒置殘差結(jié)構(gòu)[12],線性瓶頸模塊可有效防止ReLu 函數(shù)在低維空間破壞信息,經(jīng)過逐點卷積層之后直接輸出;倒置殘差結(jié)構(gòu)則與ResNet 結(jié)構(gòu)相反,先運用1*1 卷積進行升維,然后采用3*3 卷積進行特征提取,最后使用1*1 卷積作降維處理,保證在高維空間進行特征提取。見圖1。
DeeplabV3+是在DeeplabV3基礎(chǔ)上添加簡單的解碼模塊[13],構(gòu)建了一個帶空洞的空間金字塔池化(ASPP)的編解碼結(jié)構(gòu)[14?15],可以通過控制空洞卷積率的大小確定編碼模塊輸出特征圖分辨率的大小。DeeplabV3取消條件隨機場(CRF)結(jié)構(gòu)后,DeeplabV3+利用編解碼結(jié)構(gòu)增強邊緣分割效果,提高圖像分割精度。
DeeplabV3+的編碼模塊對輸入圖像進行下采樣,空間金字塔池化模塊可實現(xiàn)多尺度特征提取,DeeplabV3+編碼結(jié)構(gòu)將空洞卷積與金字塔池化模塊相連接,并將改進后的Xception 卷積應(yīng)用到解碼層,且在每次3*3卷積后加入批歸一化層(BN層)和ReLu激活函數(shù)。解碼模塊首先將底層特征進行1*1 卷積降維,與4倍雙線性插值上采樣操作的高級特征圖進行多尺度特征融合,通過3*3卷積和上采樣后輸出完整預(yù)測圖像。
精確度Dice[16?17]、平均交并比(MIoU)[18]是圖像分割中常用的評價指標。模型參數(shù)量是深度學(xué)習(xí)中衡量模型大小的常用指標。本文采用Dice、MIoU 和模型參數(shù)量作為評價指標分析目像分割結(jié)果。Dice是一種集合相似度度量函數(shù),常用于計算兩個樣本之間的相似度,Dice取值為[0,1]。MIoU是一種語義分割的度量標準,計算預(yù)測值和真實值的交集與并集比值的平均值。
Dice和MIoU系數(shù)計算公式如下:
公式(4)代表Dice 計算過程,其中X代表預(yù)測像素,Y代表真實像素,|X∩Y|代表預(yù)測像素和真實像素的交集,|X|和|Y|分別代表預(yù)測像素和真實像素數(shù)量。
公式(5)中k代表分割類別數(shù)(不包含背景),TP代表真正例,F(xiàn)N代表假反例,F(xiàn)P代表假正例。
卷積神經(jīng)網(wǎng)絡(luò)的模型參數(shù)量代表模型的空間復(fù)雜度,由卷積層參數(shù)量和全連接層參數(shù)量組成,池化層不含參數(shù)。模型參數(shù)量計算如公式(6)所示。
公式(6)中,kw*kh代表卷積核大小,nin代表卷積層輸入通道數(shù),nout代表卷積層輸出通道數(shù),kw*kh*nin*nout代表模型卷積層參數(shù)量;min代表全連接層輸入通道數(shù),mout代表全連接層輸出通道數(shù),min*mout代表模型全連接層參數(shù)量,二者之和即為模型參數(shù)量P。
本文提出了基于MobileNetV2優(yōu)化的DeeplabV3+模型實現(xiàn)目像分割的方法,具體實現(xiàn)主要包括目像數(shù)據(jù)集準備和目像分割模型構(gòu)建兩個部分。其中,目像數(shù)據(jù)集準備階段進行數(shù)據(jù)增強和目像標注等圖像預(yù)處理操作,目像分割模型構(gòu)建部分則設(shè)計了模型的整體架構(gòu)。
本實驗中目像數(shù)據(jù)通過MyEyeD-10 白睛無影照相機進行采集,分別采集雙目左、右、上、下和正視五個角度的目像數(shù)據(jù),每個數(shù)據(jù)的圖像分辨率為960*640。
2.1.1 數(shù)據(jù)增強
神經(jīng)網(wǎng)絡(luò)模型通常包括大量參數(shù),模型訓(xùn)練時需要輸入海量數(shù)據(jù)。當獲取的目像數(shù)據(jù)較少時,往往難以滿足模型訓(xùn)練需要,極易產(chǎn)生過擬合現(xiàn)象。本實驗將通過縮放、旋轉(zhuǎn)、鏡像、平移以及調(diào)節(jié)亮度、色度、對比度等方法進行數(shù)據(jù)增強操作[19],將目像數(shù)據(jù)集擴充至310張,并按26∶4∶1比例分為訓(xùn)練集、測試集和驗證集。
2.1.2 目像標注
Lableme是跨平臺的標注工具,可根據(jù)任務(wù)的需要進行多邊形、多線段、矩形、圓形等不同形式的標注。本文在進行訓(xùn)練數(shù)據(jù)的準備工作中即采用Labelme 進行目像區(qū)域的標注,同時標注信息生成json 文件。為便于卷積神經(jīng)網(wǎng)絡(luò)讀取標簽文件,將json 文件轉(zhuǎn)換成png 文件,包括Labelme 標注圖像和標簽可視化圖像。見圖2。
本實驗采用基于MobileNetV2 優(yōu)化的DeeplabV3+網(wǎng)絡(luò)模型(以下簡稱DeeplabV3+_MobileNetV2),整體架構(gòu)如圖3 所示。利用MobileNetV2 代替Xception 網(wǎng)絡(luò)作為主干特征提取網(wǎng)絡(luò),優(yōu)化現(xiàn)有的DeeplabV3 + 算法,既能大大減少模型參數(shù)量,實現(xiàn)模型的輕量化設(shè)計,又可以保證深度卷積在高維度完成特征提取,提升模型計算性能。
在編碼層中,通過MobileNetV2網(wǎng)絡(luò)和空洞率為6、12和18的ASPP模塊進行目像特征提取,對并行卷積后產(chǎn)生的特征信息進行特征融合(concatenate),送入1*1卷積層壓縮,輸出高級語義特征信息;在解碼層中,將編碼層產(chǎn)生的低級語義信息通過1*1卷積降維,與經(jīng)過4倍上采樣之后的高級語義信息進行特征融合(concatenate),最終將融合后的特征圖進行3*3卷積和4倍上采樣操作,恢復(fù)圖像空間分辨率,經(jīng)過SoftMax層后輸出目像分割結(jié)果圖。SoftMax分類器輸出如公式(7)所示。
公式(7)中,k代表類別個數(shù),本實驗中將圖像分為眼球和背景兩類,因此k=2,x代表像素位置,αk(x)代表輸出像素x對應(yīng)的第k個通道的值,Pk(x)代表像素x屬于第k類的概率。
模型輸入為目像數(shù)據(jù),首先通過resize 操作將目像大小轉(zhuǎn)換成(416*416*3),對輸入數(shù)據(jù)進行np.random. shuffle 處理,模型訓(xùn)練過程中批處理尺寸batch_size 設(shè)定為2,采用Adam 算法進行優(yōu)化,共進行50 輪訓(xùn)練(Epoch = 50)。實驗?zāi)繕耸菍⒊醪讲杉哪肯穹譃檠矍蚝捅尘皟深?,為衡量預(yù)測值與真實值之間的概率分布差異,損失函數(shù)采用二值交叉熵損失函數(shù)(binary_crossentropy),如公式(8)所示。
公式(8)中,N代表樣本數(shù),yi代表標簽0 或1,pi代表預(yù)測值。
由于原始目像數(shù)據(jù)集數(shù)量有限,難以滿足模型訓(xùn)練的需求,導(dǎo)致模型準確率下降。針對上述問題,在小樣本數(shù)據(jù)集上采用在ImageNet 上訓(xùn)練好的MobileNetV2模型預(yù)訓(xùn)練權(quán)重進行遷移學(xué)習(xí),并在此基礎(chǔ)上進行微調(diào),不僅可以提高模型的泛化能力,減輕過擬合現(xiàn)象,還可以減少模型訓(xùn)練時間,同時提高目像分割算法的精度和效率。
本文實驗硬件環(huán)境為Intel(R)Core(TM)i5-9400F CPU @ 2.90 GHz、RAM 為16 G DDR4、顯存為6 G 的NVIDIA GeForce GTX 1660,實驗軟件環(huán)境為Windows 10專業(yè)版、python3.6 版本的 Anaconda3-5.2.0、tensorflow-gpu1.13.1、keras2.2.4,基于tensorflow 和keras混合編碼搭建模型。
為評價目像分割結(jié)果,選用Dice、MIoU 和模型參數(shù)量等指標綜合評價本文方法,在測試集上計算Dice、MIoU 的平均值,DeeplabV3 + _MobileNetV2 模型的Dice 和MIoU 分別為96.31%和95.85%。為進一步驗證本文方法的有效性,實驗與DeeplabV3 + 模型和基于MobileNetV2 的PSPNet 模型(以下簡稱PSPNet_MobileNetV2)進行了對比。PSPNet核心結(jié)構(gòu)是金字塔池化模塊(PPM),與ASPP 模塊有相似之處,但是PPM缺少空洞卷積和空間池化層。
幾種不同方法的結(jié)果經(jīng)比較,DeeplabV3+的Dice和MIoU 分別為93.89%和93.24%,PSPNet_MobileNetV2 的Dice和MIoU分別為96.02%和95.54%,兩個模型的分割精度均低于DeeplabV3+_MobileNetV2模型。在參數(shù)量方面,DeeplabV3+_MobileNetV2優(yōu)勢更加明顯,其參數(shù)量不足DeeplabV3 + 的1/15、PSPNet_MobileNetV2 的1/4。見表1。
表1 目像分割評價指標
DeeplabV3 + _MobileNetV2 模型訓(xùn)練準確率和損失曲線見圖4。訓(xùn)練集和驗證集準確率隨Epoch 增加而升高,Loss 隨Epoch 增加逐漸下降,最終趨于0 且穩(wěn)定,訓(xùn)練集Loss 趨近于0.008,驗證集Loss 趨近于0.018,訓(xùn)練集和驗證集Loss 均將低于0.1,表明DeeplabV3+_MobileNetV2模型最終收斂。
此外,筆者還對目像分割結(jié)果進行了定性分析。為使其可視化,隨機展示一張測試集圖片分割結(jié)果,同時,為更好地顯示邊緣分割效果,圖中將放大局部區(qū)域進行展示,見圖5。 結(jié)果顯示,DeeplabV3 + _MobileNetV2 模型分割結(jié)果最好,邊緣分割最為平滑;其次是PSPNet_MobileNetV2模型,邊緣分割不平滑,呈現(xiàn)鋸齒狀;分割結(jié)果最差的是DeeplabV3+模型,邊緣分割不夠準確。
中醫(yī)目診作為望診的組成部分之一,在中醫(yī)診病和疾病預(yù)測中起到了重要作用,然而目前中醫(yī)目診智能化發(fā)展仍處于起步階段,依然存在很多問題。本文提出了基于MobileNetV2與DeeplabV3+相結(jié)合的目像智能化分割算法,實現(xiàn)了輕量化的目像分割模型設(shè)計。將MobileNetV2作為目像特征提取網(wǎng)絡(luò),大大減少了模型參數(shù)量;通過DeeplabV3+解碼層實現(xiàn)特征融合,有效提升特征利用率,實現(xiàn)目像區(qū)域精準分割,模型分割精度可達96.31%。表明實驗提出的基于MobileNetV2 優(yōu)化的DeeplabV3+模型能夠?qū)崿F(xiàn)中醫(yī)目像的自動化、智能化分割,從而為中醫(yī)目診智能化發(fā)展提供了新方法和新思路。