陳志威, 趙 奎, 曹吉龍, 孫 靖, 馬慧敏
1(中國科學院 沈陽計算技術研究所, 沈陽 110168)
2(中國科學院大學, 北京 100049)
3(中國醫(yī)科大學附屬第四醫(yī)院, 沈陽 110032)
4(東軟集團股份有限公司 醫(yī)療解決方案事業(yè)本部, 沈陽 110179)
慢性傷口如靜脈性潰瘍、壓力性潰瘍、糖尿病性潰瘍等具有高發(fā)病率、高患病率、高費用等特點, 已成為醫(yī)療保健的一大難題. 這類傷口的愈合時間長達數(shù)周甚至數(shù)百天, 而住院條件無法滿足患者所有治療都在院內進行, 因此院外延續(xù)性護理成為了慢性傷口患者治療的重要組成形式. 皮膚病變的常規(guī)診斷是通過活組織和周圍皮膚的檢查, 傷口潰瘍可以通過傷口部位特定類型的組織進行預測[1–3]. 傷口觀察與分析是傷口治療的基礎, 所以在早些時候傷口護理通常是由患者和專業(yè)護理人員一對一進行. 通常慢性傷口的患者行動非常不便利, 近年來隨著互聯(lián)網(wǎng)的發(fā)展, 傷口護理也從線下轉到了線上, 由患者拍攝傷口部位的像片通過網(wǎng)絡傳送給專業(yè)護理人員進行分析和診療. 傷口護理人員嚴重依賴于傷口圖像進行正確的診斷和治療. 近年來隨著機器學習和深度學習的發(fā)展以及醫(yī)療設備的不斷更新, 部分人也開始利用機器學習和深度學習等算法輔助醫(yī)生閱片. 然而由患者拍攝的傷口圖像通常包含大量背景, 這對計算機閱片增加了許多干擾. 為了提高計算機閱片的精度,對傷口圖像進行分割, 去除背景, 提取出傷口區(qū)域成為了必不可少的環(huán)節(jié). 傷口圖像的分割不僅可以幫助醫(yī)生提取出傷口圖像中感興趣的區(qū)域, 并且可以為傷口圖像的分析提供形狀和結構特征. 傷口分割的準確度直接影響計算機對患者拍攝的傷口圖片中傷口面積的測量和組織分析. 但是由于缺乏帶有標記的傷口圖像, 目前關于使用深度方法進行傷口分割的研究很少. 在早些時候圖像分割主要采用一些傳統(tǒng)方法, 如閾值分割法, 區(qū)域生長法、區(qū)域分裂合并法等. 國內利用傳統(tǒng)方法對傷口圖像進行分割的研究較少, 國外有Song等[4]分別采用閾值分割、K-means聚類、邊緣檢測和區(qū)域增長4種方法對傷口圖像進行分割, 考慮到沒有哪一種方法是對所有傷口圖像有效的, 他們將4種方法進行集成, 對不同的傷口圖像調節(jié)節(jié)每個方法的參數(shù), 大大提升了分割系統(tǒng)的魯棒性. Fauzi等[5]先在修正的HSV顏色空間進行概率圖計算, 然后再用區(qū)域生長法和最優(yōu)閾值進行分割. Li等[6]利用深度神經網(wǎng)絡對傷口圖像進行分割, 并且利用分水嶺算法和動態(tài)閾值法分割結果進行校正, 實驗結果表明該方法在950張傷口圖片的數(shù)據(jù)集上取得了不錯的效果, 但是該方法比較繁瑣. Wang等[7]采用卷積神經網(wǎng)絡MobileNetV2[8]進行分割, 該網(wǎng)絡比傳統(tǒng)的卷積神經網(wǎng)絡速度更快. 由于缺乏大型的帶有標記的傷口數(shù)據(jù)集, 大多數(shù)研究人員都是在幾百張傷口圖片的小數(shù)據(jù)上進行訓練, 使用的網(wǎng)絡不夠深, 難以發(fā)揮深度神經網(wǎng)絡的優(yōu)勢, 在小數(shù)據(jù)集上的精度提高并無很大意義. 由于人工標記的傷口圖像需要大量的時間和精力.所以本文提出基于遷移學習的傷口圖像分割方法.
本文利用ResNet50[9]在ImageNet數(shù)據(jù)集上的進行預訓練, 將訓練好的ResNet50模型作為特征提取前端, 后接Danet網(wǎng)絡[10]形成傷口圖像分割網(wǎng)絡, 再在收集到的傷口圖像數(shù)據(jù)集上進行再訓練, 得到傷口圖像分割模型. 該方法在平均交并比上達到了87.92%, 比之前的方法效果都要好.
遷移學習(transfer learning)[11,12], 如圖1所示, 是指將已訓練好的模型參數(shù)遷移到新的模型, 從而達到加快模型的訓練的目的. 通過使用其他相關任務訓練模型的參數(shù), 即使只有一個小的數(shù)據(jù)集, 也可能達到很好的性能.
圖1 傳統(tǒng)機器學習與遷移學習
遷移學習按照遷移知識形式可以分為: 基于實例的遷移學習, 基于特征的遷移學習, 基于參數(shù)的遷移學習, 基于關系的遷移學習. 由于缺乏大型的傷口圖像數(shù)據(jù)集, 可以利用遷移學習, 使用在其他大型數(shù)據(jù)集上的預訓練模型作為目標任務模型的起點, 從而充分發(fā)揮深度神經網(wǎng)絡的優(yōu)勢, 優(yōu)化模型訓練效率. 本文利用ResNet50網(wǎng)絡在ImageNet數(shù)據(jù)集上的預訓練模型作為傷口圖像的特征提取前端.
通常, 在數(shù)據(jù)集足夠大的情況下, 神經網(wǎng)絡的深度越深, 模型的精度越高, 但是隨著網(wǎng)絡深度增加, 深度神經網(wǎng)絡的退化問題也隨之而來. 如果深層的網(wǎng)絡后面的層是恒等映射, 那么模型就退化成一個淺層網(wǎng)絡.ResNet網(wǎng)絡的提出正好解決了這個問題, 深度殘差網(wǎng)絡不在擬合一個恒等映射H(X)=X, 而是轉換為學習一個殘差函數(shù)F(X)=H(X)–X, 只要F(X)=H(X)–X. 只要F(X)=0, 就構成了一個恒等映射. 而擬合殘差比擬合恒等映射要容易得多. 本文利用一個在ImageNet數(shù)據(jù)集上預訓練的50層的ResNet網(wǎng)絡作為特征提取器, 來提取傷口圖像的特征.
Danet網(wǎng)絡是一種雙重注意力網(wǎng)絡, 在傳統(tǒng)的FCN網(wǎng)絡[11]之上附加兩種類型的注意力模塊, 用來捕捉空間和通道維度中的全局特征依賴關系. 使用空間注意力模塊[13]來學習特征的空間相互依賴性, 使用通道注意力模塊[14]來模擬通道的相互依賴性. 通過添加這兩個模塊可以進一步提升模型的特征表示, 提升模型的分割性能, 圖2(a)為空間注意力模塊, 圖2(b)為通道注意力模塊.
圖2 空間注意力模塊和通道注意力模塊
Danet網(wǎng)絡通過將這兩種注意力并聯(lián), 將提取的特征圖分別經過這兩種注意力機制處理后形成的分別具有空間注意力和通道注意力的特征圖, 再將這兩種特征圖進行按元素求和完成特征圖的聚合, 最后形成的特征圖就融合了空間注意力和通道注意力. 整體結構如圖3所示.
圖3 Danet結構
本文數(shù)據(jù)集包括預訓練數(shù)據(jù)集ImageNet和再訓練傷口圖像數(shù)據(jù)集. ImageNet數(shù)據(jù)集是一個大型公共的圖像分類數(shù)據(jù)集, 含120萬張, 1 000個類別的圖片,該數(shù)據(jù)集足夠大, 可以用來訓練深度神經網(wǎng)絡, 充分發(fā)揮深度神經網(wǎng)絡的性能. 本文利用該數(shù)據(jù)訓練的ResNet50網(wǎng)絡, 作為圖像分割的特征提取器. 傷口數(shù)據(jù)集總共有810張圖片, 利用labelme圖像標注軟件進行手工標注. 部分傷口圖像及標注圖像如圖4所示.
圖4 部分傷口圖像和標簽
由于傷口圖像數(shù)據(jù)集太小, 為了增加模型的泛化性,本文對訓練數(shù)據(jù)進行了增廣操作, 對讀取的每個小批量圖像進行隨機水平和豎直翻轉. 通過對圖像的隨機翻轉,可以使感興趣的物體出現(xiàn)在圖像的不同位置, 減輕模型對物體出現(xiàn)位置的依賴性, 從而提高模型的泛化能力.
ResNet50整體結構如圖5所示, 整體結構如下圖所示, 整個網(wǎng)絡層數(shù)為50層, 圖中“7×7, 64, 2”意為通過尺寸為7×7卷積層處理, 輸出通道為64個通道, 步長為2. 預訓練時對整個模型中的參數(shù)進行隨機初始化, 利用該網(wǎng)絡對ImageNet數(shù)據(jù)集進行圖像分類, 由于ImageNet數(shù)據(jù)集中有1 000個類別, 所以最后的連接層的輸出有1 000個類.
圖5 ResNet50 結構
由于傷口數(shù)據(jù)集比較少, 本文不從頭訓練ResNet50網(wǎng)絡, 而是直接將在ImageNet數(shù)據(jù)集上訓練的ResNet50網(wǎng)絡的參數(shù)遷移. 如圖5所示, 本文將圖像分類網(wǎng)絡最后的全局平均池化層和全連接層替換成Danet網(wǎng)絡進行圖像分割. 訓練時對特征提取器模塊不進行隨機初始化, 而是用預訓練網(wǎng)絡的參數(shù)權重. Danet模塊的權重進行隨機初始化.
傷口圖像與ImageNet網(wǎng)絡中的圖像差別比較大,ImageNet數(shù)據(jù)集并不包含傷口圖像, 所以對遷移的特征提取器中的網(wǎng)絡權重進行微調. Danet塊中的參數(shù)需要從頭開始學習所以設置較大學習率, 而作為特征提取器的ResNet50網(wǎng)絡只需要微調所以設置較小學習率. 同時為了使網(wǎng)絡更容易收斂, 本文對學習率還設置了衰減策略.
整個網(wǎng)絡由經過預訓練的ResNet50網(wǎng)絡作為特征提取器, 后接具有空間注意力機制和通道注意力機制的Danet網(wǎng)絡組成傷口圖像分割網(wǎng)絡再在傷口圖像數(shù)據(jù)集上進行再訓練得到傷口圖像分割模型. 傷口圖像首先由在InageNet數(shù)據(jù)集上預訓練的ResNet50網(wǎng)絡作為特征提取器提取出特征圖, 特征圖分別通過空間注意力機制模塊和通道注意力機制模塊. 空間注意力模塊學習特征的空間相互依賴性, 通道注意力模塊來模擬通道相互依賴性. 將兩個注意力模塊處理后的特征圖進行求和以完成特征融合最后生成結果圖像.
傷口圖像的分割結果最后將作為傷口圖像分析的基礎, 圖像分割的精度越高, 能夠為圖像分析排除大量圖像背景中無關信息的干擾, 圖像分析的準確率也越高. 均交并比(mean intersection over union,MIoU)[15]為圖像分割的標準度量. 其計算真實值和預測值的交集和并集之比, 之后求平均值, 公式如下:
其中,k表示共有k+1個類別(包含一個背景),Pij表示本屬于類i但被預測為類j的像素數(shù)量,Pii為預測正確的像素數(shù)量.
Kappa系數(shù)用于一致性檢驗, 也可以用于衡量分類精度. 通常Kappa系數(shù)落在[0, 1]之間. 計算公式為:
其中,po為準確率, 即每一類分類正確的樣本數(shù)量之和除以總樣本數(shù). , 其中ai為每一類的真實樣本個數(shù),bi為預測出來的每一類樣本個數(shù).Kappa值可分為5組來表示不同級別的一致性,如表1所示.
表1 Kappa值等級
本文實驗使用的PaddlePaddle框架完成, 硬件信息和框架版本如表2所示.
表2 硬件信息和框架版本
本文進行了多組對比試驗, 實驗結果如表3所示.Unet[16]是2015年提出的圖像分割網(wǎng)絡, 被廣泛運用于醫(yī)學圖像分割. Attention-Unet[17]是在Unet網(wǎng)絡結構上加上Attention模塊, ResNet50_Danet是從零開始在傷口圖像數(shù)據(jù)集進行訓練的模型, 沒有進行遷移學習.Pretrain_ResNet50_Danet是在將ResNet50在ImageNet進行預訓練作為特征提取器和再在傷口圖像數(shù)據(jù)集進行再訓練的模型. 從表3實驗結果可以看本文提出的基于遷移學習的Pretrain_ResNet50_Danet網(wǎng)絡達到了最好的效果, 平均交并比達到了0.879 2,Kappa系數(shù)也達到了最高的0.863 2, 達到了幾乎完全一致. 比醫(yī)學影像分割常用的網(wǎng)絡Unet和加注意力機制的Attention-Unet網(wǎng)絡在平均交并比上都有大幅提升. 同時, 基于遷移學習的Pretrain_ResNet50_Danet網(wǎng)絡比用傷口數(shù)據(jù)集從零訓練的ResNet_50-Danet網(wǎng)絡平均交并比高0.047 6.
表3 實驗結果
從實驗結果可以看出, 本文基于遷移學習傷口圖像分割算法在一定程度上解決了傷口圖像數(shù)據(jù)集小而導致的訓練的傷口分割模型精度低的問題, 通過在大數(shù)據(jù)集ImageNet上訓練ResNet50作為特征提取器,能有效提高傷口分割的精度. 部分分割結果如圖6所示. 第1行是原圖片, 第2行是手工利用labelme圖像標注軟件標注的圖片, 第3行是利用訓練好的Pretrain_ResNet50_Danet模型預測生成的偽彩色分割圖片, 第4行是該模型預測的分割圖與原圖的疊加圖.
圖6 分割結果圖與標注圖對照和原圖對比
本文將在ImageNet數(shù)據(jù)集上訓練的ResNet50網(wǎng)絡去除最后的全局平均池化和全連接層作為特征提取器遷移至傷圖像分割任務中, 提取的特征圖再通過Danet網(wǎng)絡處理. 由于傷口圖像數(shù)據(jù)集與ImageNet數(shù)據(jù)集存在較大差異, 我們對ResNet50網(wǎng)絡設置較小的學習率, 并設置權重衰減進行微調, 同時Danet網(wǎng)絡是從頭開始訓練的, 我們設置較大學習率. 實驗表明本文得方法取得最好的效果, 我們還對比了相同的網(wǎng)絡使用遷移學習和不使用遷移學習得分割精度, 實驗表明在傷口圖像數(shù)據(jù)集小的情況下, 使用遷移學習能取得精度更高的分割結果.