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