黃留揮,程輝
(江漢大學(xué)人工智能學(xué)院,武漢 430056)
舌象分割是中醫(yī)現(xiàn)代化的重要研究方向之一,它在臨床當(dāng)中為中醫(yī)的發(fā)展和診斷起到重要的作用,將舌象數(shù)字化和客觀化,能為醫(yī)師在診斷的過程中提供極大的便利。中醫(yī)診斷四步法——望、聞、問、切,從表面的特征出發(fā),一步一步深入到人體神經(jīng)脈絡(luò),全面了解人體內(nèi)的病情狀況,其中第一步望診,是通過觀察人的舌頭診斷,因為舌頭上神經(jīng)連著人體內(nèi)的五臟六腑,能夠很好反映出體內(nèi)的情況,但是舌頭易受外界環(huán)境的影響,給醫(yī)師的診斷帶來極大的困難,并且醫(yī)師的診斷也受限于醫(yī)師的中醫(yī)水平和臨床經(jīng)驗。因此,對舌象進行客觀化、數(shù)字化是一項重要的研究。
在2015年,Xu Qiang,Zeng Yu等人[1]首次利用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分割技術(shù)對舌象進行分割,提出一種基于多任務(wù)聯(lián)合學(xué)習(xí)(multi-task joint learning,MTL)的舌圖像分割分類方法,該方法很好地解決了傳統(tǒng)分割自動化弱的問題;Lin Bingqian,Qu Yanyun等人[2]針對舌象收到光線和大小等原因限制,提出一種基于ResNet的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練分割舌圖像方法;張新峰、郭宇桐等人[3]提出一種基于DCNN和全連接CRF的舌圖像分割算法,很大程度上提升分割精度;Zhou Changen等人[4]提出一種新的端到端多任務(wù)學(xué)習(xí)模型TongueNet,利用像素級先驗信息對深度卷積神經(jīng)網(wǎng)絡(luò)進行監(jiān)督訓(xùn)練;顏建軍、徐姿、郭睿等人[5]針對傳統(tǒng)技術(shù)分割精度不高、分割難度大等問題,首次提出一種基于Mask R-CNN的舌圖像分割研究;Li Lei,Luo Zhiming等人[6]注意到基于深度學(xué)習(xí)的方法在不同分布式數(shù)據(jù)集上退化顯著等問題,提出一種迭代跨區(qū)域舌象分割模型;Zeng Xinxi等人[7]提出一種新穎的端到端邊界引導(dǎo)分層網(wǎng)絡(luò)(BGHNet);Cai Yuanzheng等人[8]提出一種新的輔助損失函數(shù)來提高深度卷積神經(jīng)網(wǎng)絡(luò)(DCNNs)的分割性能;Zhou Chengen等人[9]首次提出一種基于半監(jiān)督舌象分割的重建增強概率模型。
基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的舌象分割方法研究,目前相對比較少,盧運西、李曉光等人[10]在文獻《醫(yī)舌象分割技術(shù)研究進展:方法、性能與展望》當(dāng)中,把當(dāng)前舌象分割進行總結(jié)分析,并把舌象分割應(yīng)用到FCN8s當(dāng)中;但是分割效果不理想,分割精度較低,分割結(jié)果當(dāng)中噪聲較多,對于邊緣分割不夠精準(zhǔn)。因此,本文提出一種FCN2s_2結(jié)構(gòu)模型,通過實驗驗證,相比較FCN8s分割模型,改進的FCN2s_2在評價指標(biāo)iou和Dice上都有所提升,分割效果比FCN8s優(yōu)。
FCN是Long J、Shelhamer E和Darrell T等人在2014年提出的,它的網(wǎng)絡(luò)結(jié)構(gòu)是基于VGG網(wǎng)絡(luò)結(jié)構(gòu)改進而得的,也具備VGG識別網(wǎng)絡(luò)的一些多層結(jié)構(gòu)自動獲取功能,并且可獲取不同層次的特征,在淺層的卷積層中感受野較少只能獲取局部特征,在深層的卷積層獲取感受野增大,可獲取抽象特征,抽象特征在識別當(dāng)中,對物體的表層信息敏感度較低,因此可提高網(wǎng)絡(luò)模型對目標(biāo)區(qū)域的識別能力。但是該方法也有不足,比如需要對圖像當(dāng)中某一個像素進行分類,則需要訓(xùn)練測試該像素周圍一塊區(qū)域,大大地增加計算量,導(dǎo)致計算效率低下,并且存儲的需求也增大,再識別過程中會導(dǎo)致物體細節(jié)丟失嚴(yán)重。因此針對這些問題,Long等人[11]提出Fully Convolutional Networks,它是將VGG網(wǎng)絡(luò)當(dāng)中的全連接層改為卷積層,從而讓網(wǎng)絡(luò)模型可以接受任意大小的輸入圖,不需要求訓(xùn)練圖和側(cè)視圖具有同樣的尺寸,并通過反卷積進行上采樣恢復(fù)圖像的分辨率,可以實現(xiàn)給每一個像素進行分類,實現(xiàn)像素之間進行端到端學(xué)習(xí),從而實現(xiàn)語義分割。
全連接層輸入,如圖1所示,將一個2×2的矩陣通過全連接得到一個4維向量的過程。卷積層和全連接層的相同之處在于卷積層和全連接層都是進行一個點乘操作,它們的函數(shù)形式相同,但是全連接層的權(quán)值是固定的,因此要求特征圖的大小和網(wǎng)絡(luò)模型開始輸入的圖像大小也需固定,而全連接層提取特征圖的局部特征,使用滑動窗口對特征進行提取,因此對特征圖的大小和網(wǎng)絡(luò)模型開始輸入大小不需固定。

圖1 全連接層輸入
反卷積上采樣實際上也是一種卷積,一般普通的卷積在特征提取階段會使得圖像分辨率降低,如圖2所示的卷積核去卷積4×4得到2×2的輸出。但是反卷積上采樣在卷積時,需要在圖像在像素之間補零,通過在像素之間進行補零,然后使用卷積核進行特征提取,從而得到一個高分辨的特征圖。

圖2 卷積和反卷積示意圖
由于FCN8s模型分割圖像時,準(zhǔn)確率較低,提出一種FCN2s_2網(wǎng)絡(luò)模型分割方法。首先對FCN8s模型結(jié)構(gòu)進行改變,如圖3所示,F(xiàn)CN2s在FCN8s的基礎(chǔ)上,進一步進行特征融合,把FCN8s最后一步對特征圖8倍上采樣改為2倍上采樣,和pool2最大池化得到的特征圖進行融合,進行2倍上采樣,得到的特征圖,繼續(xù)和pool1最大池化得到的特征圖進行融合,最后2倍上采樣輸出。以此對每一個經(jīng)過卷積層提取特征最大池化后得到的特征圖都進行融合,極大的豐富了語義信息。

圖3 FCN2s模型
針對FCN2s當(dāng)中,特征提取卷積層比較少,提取的特征不夠全面和詳細,改進雙支FCN2s網(wǎng)絡(luò)模型分割方法流程如圖4所示。該方法當(dāng)中,含有兩個FCN2s子模型,在個子模型當(dāng)中,將兩個子模型的pool1—pool5和conv7得到的特征圖分別進行融合,再把融合的特征,從conv7開始,反向進行2倍上采樣,分別與前一個融合的特征再進行融合,把所有特征融合以后,最后進行2倍上采樣,最后輸出分類分割圖。

圖4 雙支FCN2S_2模型
本文采取網(wǎng)上公開和手機收集的舌象數(shù)據(jù)集2000張,構(gòu)成TongueImages數(shù)據(jù)集,樣本如圖5所示。數(shù)據(jù)集分為90%為訓(xùn)練集,10%作為測試集,在使用本數(shù)據(jù)訓(xùn)練模型時,為了提高模型的泛化能力,需對數(shù)據(jù)集進行像素級標(biāo)注,分為背景和舌體。由于基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分割,數(shù)據(jù)集樣本數(shù)量的大小直接影響到深度模型的性能,樣本太少,模型會出現(xiàn)過擬合,因此為了防止過擬合,則需采取常用的方法進行增強處理,對樣本進行旋轉(zhuǎn)角度為0.2的隨機轉(zhuǎn)動、圖像寬度和高度偏移的幅度為0.05、剪切變換的程度為0.05、隨機縮放幅度為0.05、隨機水平翻轉(zhuǎn)和模式填充為最近鄰插值。

圖5 部分舌象數(shù)據(jù)集
為了更好的對模型進行訓(xùn)練和評估,在訓(xùn)練中對網(wǎng)絡(luò)參數(shù)設(shè)置為:batch_size=2、迭代次數(shù)為500、優(yōu)化器為Adam、損失函數(shù)為dice_coef_loss、調(diào)正學(xué)習(xí)率為reduce_lr(對val_loss的值進行監(jiān)測,學(xué)習(xí)率的值將0.1*lr的形式被減少,當(dāng)2epoch過去而模型不能提升時,學(xué)習(xí)率減少的工作將會被觸發(fā))。
該方法使用當(dāng)前語義分割中比較流行的兩個指標(biāo)進行評價。

k為數(shù)據(jù)集中的總類數(shù),p ii表示被正確分類的數(shù)量,p ij表示第i類數(shù)據(jù)被標(biāo)記為第j類的數(shù)量,p j i表示第j類數(shù)據(jù)被標(biāo)記為第i類的數(shù)量。

Dice系數(shù)是一種計算集合相似度度量的函數(shù),通常用于GAN網(wǎng)絡(luò)分割模型的準(zhǔn)確率評價,它主要計算真實特征X和生成特征Y的相似度,值的范圍為[0,1]。X∩Y表示集合X和Y的交集,|X|和 |Y|表示對應(yīng)集合的元素個數(shù)。
3.3.1 總損失函數(shù)結(jié)果分析
如圖6所示,為模型在迭代過程中的損失總函數(shù)變化趨勢圖,該圖橫軸為模型的迭代次數(shù),縱軸為損失函數(shù)的值,總損失函數(shù)為(loss-1),因此損失函數(shù)越小表示擬合程度越好。從圖中可以看出,三個模型的損失函數(shù)相差不多,迭代次數(shù)在130前,F(xiàn)CN8s和FCN2s損失函數(shù)比FCN2s_2低,迭代次數(shù)在130后,F(xiàn)CN2s_2的就比這兩個低。并且從中可以看出,F(xiàn)CN2s一直都比FCN8s低。

圖6 總損失函數(shù)趨勢
3.3.2 評價指標(biāo)分析
為了更好地分析不同模型之間的分割精度,該實驗采取IoU和Dice評價指標(biāo)對模型進行評價分析。為了保證公平性,在訓(xùn)練過程中,模型迭代次數(shù)、訓(xùn)練過程和實驗設(shè)置都應(yīng)一樣,各模型的差異性主要是模型不一致,評價加過如表1所示,從中可以看出,不管是IoU評價指標(biāo)還是Dice評價指標(biāo),F(xiàn)CN2s_s模型都為最優(yōu),F(xiàn)CN8s分割精度最低,從改進的模型來看,改進的FCN2s比FCN8s模型好,評價指標(biāo)IoU提高2.27%,評價指標(biāo)Dice提高1.33%。改進的FCN2s_s比FCN8s模型評價指標(biāo)IoU提高9.31%,評價指標(biāo)Dice提高5.94%,比FCN2s模型評價指標(biāo)IoU提高7.04%,評價指標(biāo)Dice提高4.61%。

表1 實驗平臺

表2 評價指標(biāo)
3.3.3 可視化分割結(jié)果分析
如圖2所示為不同模型分割結(jié)果可視化和原圖像與標(biāo)簽圖像對比圖,第一行為原圖像,圖像取自TongueImages數(shù)據(jù)集,第二行為標(biāo)簽圖像,第三行到第五行為模型分割結(jié)果可視圖。從圖7可以看出,F(xiàn)CN8s分割結(jié)果存在一些不足,對舌象邊緣的分割不夠精準(zhǔn),F(xiàn)CN2s和FCN2s_2基本上可以把舌體分割出來。

圖7 分割結(jié)果可視化
本文提出一種新的雙支FCN2s_2的舌象分割算法。通過增加低級語義信息融合的程度,從而豐富特征提取的語義信息,獲取到更多的邊界細節(jié),再結(jié)合雙支的網(wǎng)絡(luò)結(jié)果,增強特征提取能力,實現(xiàn)了對舌象的準(zhǔn)確的提取。為了驗證算法的有效性,文中采用TongueImages數(shù)據(jù)集進行實驗,和FCN8s相比,該方法在分割當(dāng)中,分割精度更高,分割邊緣更準(zhǔn)確。