芮迎迎,孔祥勇,劉亞楠,董鑫,蔡健,盧嚴(yán)磚,況忠伶
上海理工大學(xué)醫(yī)療器械與食品學(xué)院,上海200093
移動(dòng)健康技術(shù)在中醫(yī)和遠(yuǎn)程醫(yī)療中的應(yīng)用呈增長(zhǎng)趨勢(shì),尤其是在新型冠狀病毒肺炎(COVID-19)爆發(fā)期間。舌診是中醫(yī)診斷中的重要環(huán)節(jié),因其無(wú)接觸、有效、無(wú)創(chuàng)、實(shí)時(shí)、便捷、成本低等西醫(yī)檢測(cè)無(wú)法比擬的優(yōu)勢(shì),能在任何時(shí)間、任何地點(diǎn)進(jìn)行輔助診斷,滿足全球初級(jí)保健系統(tǒng)的需求。舌象能夠反映內(nèi)臟虛實(shí)、氣血盛衰、病位深淺、預(yù)后好壞[1-2]。通過(guò)對(duì)舌象的客觀化研究,能夠觀察COVID-19 患者的舌象特征及變化,為防治COVID-19 提供治療依據(jù)[3-4]。由于傳統(tǒng)舌診主要依據(jù)醫(yī)師個(gè)人經(jīng)驗(yàn),易受環(huán)境影響,存在主觀性、評(píng)判標(biāo)準(zhǔn)不一致等問(wèn)題。因此,越來(lái)越多的計(jì)算機(jī)研究人員開(kāi)始將其結(jié)合計(jì)算機(jī)視覺(jué)領(lǐng)域,建立客觀、定量的中醫(yī)輔助舌診系統(tǒng)。
齒痕舌的客觀化研究具有重要性和挑戰(zhàn)性,齒痕舌是中醫(yī)診斷的一個(gè)重要指標(biāo)。臨床實(shí)驗(yàn)結(jié)果表明在不同臨床分型COVID-19患者的舌形分布研究中,齒痕舌易見(jiàn)于普通型患者。據(jù)研究,人群中的齒痕舌占比56%,其中嚴(yán)重者占比11%[5]。齒痕舌的識(shí)別更具挑戰(zhàn)性,主要原因?yàn)椋海?)齒痕形狀多樣,變化大,如不同顏色、不同形狀、不同類型的齒痕;(2)由于個(gè)人隱私和圖像獲取的限制,舌部的圖像數(shù)量有限;(3)用于金標(biāo)準(zhǔn)的圖像數(shù)量有限。舌象的判讀需要多個(gè)專家的參與,但專家在有限時(shí)間內(nèi)只能將圖片分類為有齒痕和無(wú)齒痕,并未在圖片上標(biāo)注出齒痕的位置,無(wú)法提供齒痕的位置分布、大小、深度等信息。
舌體分割[6-9]、舌象特征提取及分類取得一定進(jìn)展,越來(lái)越多的學(xué)者研究舌象特征與疾病、處方之間的關(guān)系[10-12]。Li 等[13]等針對(duì)當(dāng)齒痕舌不是凹入?yún)^(qū)域時(shí),利用凹入?yún)^(qū)域信息對(duì)齒痕舌進(jìn)行分類性能不穩(wěn)定這一問(wèn)題,提出一種使用多示例學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)三階段的方法。Sun 等[14]提出一種視覺(jué)解釋方法來(lái)解決神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征可視化問(wèn)題,該方法將整個(gè)舌頭作為輸入,使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取特征,然后對(duì)舌頭進(jìn)行分類并生成粗略的定位圖,最后使用梯度加權(quán)類激活映射齒痕標(biāo)記區(qū)域。Kanawong 等[15]使用機(jī)器學(xué)習(xí)方法中的AdaBoost 和SVM 以及多層感知網(wǎng)絡(luò)建立舌象和相應(yīng)的癥之間的關(guān)系,通過(guò)對(duì)舌頭上的瘀斑點(diǎn)大小、尺寸、分布,來(lái)研究其與胃炎之間的聯(lián)系。Xiao 等[16]通過(guò)使用CNN構(gòu)建舌診的寒癥、熱癥、正常3種狀態(tài)的識(shí)別,實(shí)驗(yàn)結(jié)果表明該模型對(duì)二分類問(wèn)題識(shí)別準(zhǔn)確率高于三分類問(wèn)題。Hu等[17]構(gòu)建真實(shí)世界的舌部圖像和相應(yīng)處方對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,為移動(dòng)醫(yī)療系統(tǒng)中的醫(yī)療服務(wù)提供新思路。
深度學(xué)習(xí)的對(duì)象檢測(cè)取得巨大成功[18],為提高舌象特征識(shí)別準(zhǔn)確率提供了契機(jī)[19]。本文針對(duì)齒痕形狀大小多樣難以識(shí)別、用于金標(biāo)準(zhǔn)的舌象數(shù)據(jù)有限等問(wèn)題,提出一種基于Mask Scoring R-CNN(以下簡(jiǎn)稱MS R-CNN)[20]和遷移學(xué)習(xí)的舌象特征識(shí)別方法,能夠識(shí)別齒痕特征、準(zhǔn)確定位齒痕位置、標(biāo)定齒痕大小、提取齒痕個(gè)數(shù),可以在一定程度上降低小樣本數(shù)據(jù)上應(yīng)用深度學(xué)習(xí)技術(shù)的難度系數(shù),獲得較高的分類準(zhǔn)確度。
本實(shí)驗(yàn)舌象分類流程如圖1所示。在離線訓(xùn)練階段,首先篩選符合條件的舌部圖片,構(gòu)建舌象數(shù)據(jù)集。接著對(duì)圖片進(jìn)行預(yù)處理,并由多個(gè)中醫(yī)專家對(duì)舌象進(jìn)行標(biāo)注,最后使用遷移學(xué)習(xí)的方法訓(xùn)練模型。在線測(cè)試階段,使用測(cè)試圖片對(duì)模型進(jìn)行測(cè)試,并評(píng)估模型性能。
圖1 舌象特征識(shí)別實(shí)驗(yàn)流程圖Fig.1 Flowchart of tongue feature recognition experiment
本課題組與上海中醫(yī)藥大學(xué)附屬曙光醫(yī)院合作,根據(jù)采集標(biāo)準(zhǔn)使用專業(yè)采集設(shè)備,采集1 500 張臨床舌象照片。為了提高后續(xù)研究舌象特征的準(zhǔn)確率,由多位專業(yè)中醫(yī)從業(yè)人員幫助標(biāo)注,完成一致性評(píng)價(jià)確認(rèn)。本次實(shí)驗(yàn)共篩選出無(wú)齒痕舌400例,齒痕舌756例,分辨率為2 816×2 112。對(duì)篩選后的圖片首先進(jìn)行統(tǒng)一命名,接著使用訓(xùn)練好的舌部分割網(wǎng)絡(luò)模型對(duì)采集到的舌部圖像進(jìn)行裁剪,如圖2所示。一是以減少圖片中面部其他區(qū)域?qū)罄m(xù)工作的影響;二是原圖像數(shù)據(jù)分辨率大小為2 816×2 112,分辨率較大會(huì)增大網(wǎng)絡(luò)訓(xùn)練的難度和訓(xùn)練時(shí)長(zhǎng)。最終得到的圖片分辨率大小為563×397,可以直接輸入神經(jīng)網(wǎng)絡(luò)。
圖2 原始圖像與處理后的圖像Fig.2 Original image and processed image
MS R-CNN 網(wǎng)絡(luò)的訓(xùn)練不僅需要圖像還要有與之相對(duì)應(yīng)的掩膜信息。使用基于Python 的Labelme開(kāi)源圖像標(biāo)注軟件,對(duì)舌部區(qū)域進(jìn)行標(biāo)注和制作掩膜,得到舌體圖像中齒痕的分割信息,如圖3所示。為了保證有充分的數(shù)據(jù)用于模型的訓(xùn)練,同時(shí)預(yù)留一定量的數(shù)據(jù)用于驗(yàn)證和測(cè)試,避免因數(shù)據(jù)劃分引入其他偏差,參考數(shù)據(jù)集劃分的常見(jiàn)方法:留出法。將所有標(biāo)注完成的數(shù)據(jù)隨機(jī)分為訓(xùn)練集、驗(yàn)證集、測(cè)試集,最后將訓(xùn)練集和驗(yàn)證集的注釋信息按照COCO數(shù)據(jù)集格式整合到JSON格式文件中。
圖3 使用標(biāo)注軟件Labelme對(duì)舌象特征進(jìn)行標(biāo)注Fig.3 Marking tongue features by Labelme
1.3.1 特征提取網(wǎng)絡(luò)模型構(gòu)建MS R-CNN 是首個(gè)解決實(shí)例分割假設(shè)打分問(wèn)題的框架,簡(jiǎn)單、有效、通用。Huang 等[20]在Mask R-CNN 的基礎(chǔ)上增加用于了解預(yù)測(cè)掩碼質(zhì)量的網(wǎng)絡(luò)塊,可以檢測(cè)目標(biāo)并同時(shí)能夠更準(zhǔn)確地評(píng)估預(yù)測(cè)的質(zhì)量[21-22]。該網(wǎng)絡(luò)結(jié)合了用于目標(biāo)檢測(cè)的Faster R-CNN 和用于語(yǔ)義分割的FCN,在Faster R-CNN 檢測(cè)到目標(biāo)后,將FCN 用于掩膜預(yù)測(cè)、邊框回歸、分類、掩膜評(píng)分。MS R-CNN 在Mask R-CNN 的基礎(chǔ)上增加一個(gè)網(wǎng)絡(luò)塊,用來(lái)學(xué)習(xí)預(yù)測(cè)的實(shí)例掩膜的質(zhì)量。掩膜評(píng)分策略校正掩膜質(zhì)量與掩膜得分之間的偏差,提高實(shí)例分割性能,為實(shí)例分割的改進(jìn)提供一個(gè)新的方向。
MS R-CNN方法分為4個(gè)階段,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。第一階段為特征提取,將預(yù)處理后的舌圖片輸入ResNet+FPN的主干網(wǎng)絡(luò),從特征金字塔的不同層次提取特征。第二階段為感興趣區(qū)域(ROI)生成,通過(guò)RPN提取出候選ROI。第三階段使用ROIAlign從每個(gè)候選ROI中提取特征,并進(jìn)行邊框回歸、softmax分類和掩膜預(yù)測(cè)。最后一個(gè)階段是MaskIoU Head,在預(yù)測(cè)的掩膜和groundtruth掩膜之間進(jìn)行回歸運(yùn)算。
圖4 基于Mask Scoring R-CNN 的舌象特征提取網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Network architecture of tongue feature extraction based on Mask Scoring R-CNN
1.3.2 遷移學(xué)習(xí)的應(yīng)用本文應(yīng)用遷移學(xué)習(xí)方法減少訓(xùn)練時(shí)間,防止神經(jīng)網(wǎng)絡(luò)的過(guò)擬合。盡管盡量減少神經(jīng)網(wǎng)絡(luò)模型參數(shù)可以避免過(guò)擬合,然而醫(yī)學(xué)圖像本身數(shù)據(jù)難以采集、可以作為金標(biāo)準(zhǔn)的數(shù)據(jù)量少,無(wú)法與十幾萬(wàn)的開(kāi)源數(shù)據(jù)集相比。遷移學(xué)習(xí)是將在一個(gè)任務(wù)上訓(xùn)練好的模型通過(guò)調(diào)整應(yīng)用到另一個(gè)任務(wù)上[23-26]。在本實(shí)驗(yàn)中,使用在COCO 數(shù)據(jù)集上預(yù)訓(xùn)練的ResNet 主干網(wǎng)絡(luò),刪除預(yù)訓(xùn)練模型的最后一層。因?yàn)轭A(yù)訓(xùn)練的模型是為了不同的分類任務(wù)而訓(xùn)練的,去除全連接層和與分類得分、邊界框預(yù)測(cè)、掩膜預(yù)測(cè)層相關(guān)的權(quán)重和偏差。使用未經(jīng)訓(xùn)練的層來(lái)替換移除的層,將類別調(diào)整為3 類,最后將數(shù)據(jù)集和相關(guān)的掩碼輸入到MS R-CNN 模型架構(gòu)中,如圖5所示。
圖5 用于舌象數(shù)據(jù)集上遷移學(xué)習(xí)的Mask Scoring R-CNN 結(jié)構(gòu)Fig.5 Mask Scoring R-CNN architecture adopted for transfer learning on the tongue image data set
本實(shí)驗(yàn)采用深度學(xué)習(xí)中目標(biāo)檢測(cè)任務(wù)常用的評(píng)價(jià)指標(biāo):準(zhǔn)確率、精確率、召回率(recall)、F1分?jǐn)?shù)。將神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)類別與真實(shí)類別的組合劃分為真陽(yáng)性(TN)、假陰性(FN)、真陰性(TN)、假陽(yáng)性(FP),以判別非齒痕舌和齒痕舌為例,若真實(shí)類別為齒痕舌,預(yù)測(cè)類別相同為真陽(yáng)性,預(yù)測(cè)類別為非齒痕舌則為假陰性;若真實(shí)類別為非齒痕舌,預(yù)測(cè)類別相同為真陰性,相反為假陽(yáng)性,具體計(jì)算公式如下所示:
模型訓(xùn)練在Ubuntu64 位操作系統(tǒng)中離線完成,CPU 為Intel Core i7-9700F,內(nèi)存32 G,GPU 為GeForce GTX 2080Ti。本文選取Pytorch 作為學(xué)習(xí)框架,與Tensorflow 相比,PyTorch 的優(yōu)點(diǎn)是動(dòng)態(tài)圖,能夠在強(qiáng)大的GPU 加速的基礎(chǔ)上實(shí)現(xiàn)張量和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。而Tensorflow等都是靜態(tài)圖,不利于擴(kuò)展。
實(shí)驗(yàn)中使用的主干網(wǎng)絡(luò)是由50 層或101 層殘差神經(jīng)網(wǎng)絡(luò)(ResNet-50、ResNet-101)衍生而來(lái)的特征金字塔網(wǎng)絡(luò),使用ResNet-50 主干網(wǎng)絡(luò)模型的計(jì)算量低于ResNet-101,使用ResNet-101可以在不改變模型或者訓(xùn)練的情況下顯著改善結(jié)果。
本實(shí)驗(yàn)使用最初在COCO 數(shù)據(jù)集上訓(xùn)練的Resnet-101 網(wǎng)絡(luò),并刪除全連接層,因?yàn)轭A(yù)訓(xùn)練的模型識(shí)別88 類樣本。全連接層的去除刪除了與classscore、Bbox 預(yù)測(cè)、mask 預(yù)測(cè)層相關(guān)的權(quán)重,然后使用未經(jīng)訓(xùn)練的層替換。接著將數(shù)據(jù)集和相應(yīng)的掩膜輸入到MS R-CNN模型架構(gòu)中。
在遷移學(xué)習(xí)階段,凍結(jié)預(yù)訓(xùn)練的Resnet-101主干網(wǎng)絡(luò)的權(quán)重,使模型能夠從舌象數(shù)據(jù)中提取通用的低級(jí)特征。然后訓(xùn)練新添加的全連接層,根據(jù)新數(shù)據(jù)集的分布調(diào)整權(quán)值。在模型訓(xùn)練中,網(wǎng)絡(luò)進(jìn)行了更新和微調(diào)。
使用232 張舌部測(cè)試圖片(包含無(wú)齒痕和不同齒痕嚴(yán)重程度的齒痕舌)對(duì)模型進(jìn)行評(píng)估。TP=101,F(xiàn)N=15,F(xiàn)P=1,TN=115,得到模型F1分?jǐn)?shù)為0.95,準(zhǔn)確率為0.93,精確率為0.99,召回率為0.914。從預(yù)測(cè)結(jié)果來(lái)看,該模型具有良好的泛化性,針對(duì)齒痕舌不同嚴(yán)重程度(圖6)(輕度、中度、重度),舌型(圖7)(圓形、三角形、橢圓形、方形等),不同伸舌方向(圖8)具有較好的識(shí)別效果。其中,共有15 例無(wú)齒痕舌被誤識(shí)別為齒痕舌,通過(guò)與中醫(yī)專家共同分析得出,被模型識(shí)別錯(cuò)誤的無(wú)齒痕舌中包含先天性和由牙齒畸形導(dǎo)致的非齒痕凹陷。因此,在下一步工作中將加入更多非齒痕凹陷信息。
圖6 對(duì)不同齒痕程度的齒痕舌識(shí)別效果Fig.6 Recognition of different degrees of tooth marks
圖7 對(duì)不同形狀的齒痕舌識(shí)別效果Fig.7 Recognition of different shapes of tooth marks
圖8 對(duì)不同伸舌方向的齒痕舌識(shí)別效果Fig.8 Recognition of tongue marks with different tongue extension directions
從可視化角度來(lái)看,相比于簡(jiǎn)單給出舌象的分類,該模型通過(guò)提供齒痕部分位置和大小的局部高分辨率可視化,結(jié)合置信度、齒痕的數(shù)量使研究者更好地理解網(wǎng)絡(luò),為齒痕嚴(yán)重程度分析提供依據(jù),更加適用于移動(dòng)醫(yī)療、遠(yuǎn)程醫(yī)療。
本實(shí)驗(yàn)將圖像處理領(lǐng)域的最新研究成果應(yīng)用到中醫(yī)齒痕舌象特征提取及分類中,解決目前舌象識(shí)別方法未提供齒痕部分位置和大小的局部高分辨率可視化,深度學(xué)習(xí)技術(shù)難以應(yīng)用在小樣本醫(yī)學(xué)數(shù)據(jù)的問(wèn)題,提高齒痕舌象分類精度,對(duì)提高舌診客觀化分析準(zhǔn)確度和醫(yī)療保健中的實(shí)際應(yīng)用具有重要意義。該方法首先根據(jù)舌象特征識(shí)別任務(wù)的特點(diǎn)結(jié)合深度學(xué)習(xí)選擇合適的神經(jīng)網(wǎng)絡(luò);然后為提高算法的分類準(zhǔn)確率和多種場(chǎng)景下齒痕舌象分類的魯棒性,采用遷移學(xué)習(xí)方法。最后對(duì)模型進(jìn)行測(cè)試和分析,得到較高的齒痕舌象分類準(zhǔn)確率、準(zhǔn)確的齒痕位置和齒痕數(shù)量。
未來(lái),該研究將朝著以下3個(gè)方向繼續(xù)深入。首先,提升模型的準(zhǔn)確率。接下來(lái)將針對(duì)舌診客觀化改進(jìn)模型,使模型更具輕量化,并提高準(zhǔn)確率。其次,通過(guò)MS R-CNN 的分析與實(shí)驗(yàn),已了解MS RCNN 在處理中醫(yī)舌象分類具有良好的表現(xiàn)。齒痕只是中醫(yī)舌象中的一種,該研究繼續(xù)將問(wèn)題擴(kuò)展到更多分類問(wèn)題,研究更多舌象分類問(wèn)題可以更好地幫助診斷和治療。最后,該實(shí)驗(yàn)重點(diǎn)研究舌象特征提取與分類,然而,從中醫(yī)的角度來(lái)看,要分析一個(gè)人的身體健康,應(yīng)收集望、聞、問(wèn)、切這四診的所有信息。因此在接下來(lái)的工作中,將結(jié)合先前的面診、問(wèn)診等研究,建立更全面的深度神經(jīng)網(wǎng)絡(luò)。希望該工作可以促進(jìn)醫(yī)療健康信息化進(jìn)一步發(fā)展!