張 凱,余義斌
(五邑大學 智能制造學部,廣東 江門 529020)
深度學習已經徹底改變了從軟件到制造業的各個行業,FCN[1]奠定了語義分割深度模型的先驅,醫學界也從深度學習中受益。在疾病分割方面有多種創新,使用U-Net[2]網絡模型進行腫瘤分割,SegNet[3]網絡模型進行癌癥檢測等。圖像分割是深度學習社區對醫學領域的重要貢獻之一,除了說明某些疾病的存在外,它還顯示了疾病確切存在的位置,它極大地幫助創建了在各種類型的醫學掃描中檢測腫瘤、病變等的算法。在設計基于復雜圖像分割的深度學習體系結構時,有許多可變的參數,包括代價函數、優化器、學習率等,都會影響模型最終的結果。而代價函數對深度學習中神經網絡的訓練有非常重要的作用,對于不同的分割任務使用合適的代價函數可以提高最終的分割精度,最終得到很好的分割效果。
本文從代價函數的角度出發,針對解決分割中困難樣本的問題,國內外學者提出了各種各樣的代價函數。然而,在處理圖像分割任務中困難樣本的問題時,沒有一種損失能夠始終達到最佳性能。本文通過研究各類型代價函數的特性,總結背后的一般規律,最終構建一種通用關注困難樣本的代價函數,例如腦CT、胰腺、腎臟等圖像語義分割問題。
近幾年,隨著深度學習技術的快速發展,圖像語義分割算法的性能有明顯的的提升。在圖像分割方面,國內外學者提出了許多新的技術致力于提升其分割精度,主要包括對數據集的處理、網絡模型的修改、代價函數的改進以及優化器的調整等方面。針對代價函數,國內外學者提出各種各樣不同的代價函數用于提升分割效果,從最初的CE Loss,到后來的WCE Loss[2]、Sensitivity Specificity(SS) Loss[5]、Topk Loss[6]、Dice Loss[7]、IoU Loss[8]、Tversky Loss[9]、Lovasz Loss[10]、Focal Loss[11]、Boundary (BD) Loss[12]、Hausdorff Distance (HD) Loss[13]、Focal Tveraky Loss[15]、Asymmetric Similarity Loss[16]、DPCE Loss[17]、Generalized Dice Loss[18]、Penalty Loss[19]等,都是為了解決圖像語義分割中某些問題而提出,主要包括類不平衡問題、關注分割中困難樣本、關注分割邊界等,以及一些復合代價函數Combo Loss[20]、Exponential Logarithmic Loss(ELL)[21]等都是為了更好地解決這些問題。
對于分割中類不平衡的問題來說旨在通過提升不頻繁標簽的重要性來緩解損失偏差,主要有兩種常見的方法,其一是通過對標簽頻繁下采樣來重新平衡類別的先驗分布,然而這種方法限制了訓練圖像的信息;其二是通過類別與標簽頻率成反比的方法來設置權重,例如WCE Loss[2]、Generalized Dice Loss[18]等,盡管該方法對某些分割中的不平衡問題有效,但對于不常見的那些像素區域使用交叉熵計算有時會加入一些噪聲,并且使用大權重對其加權會放大該錯誤從而導致訓練不穩定。
對于分割中困難樣本來說旨在提升損失對困難樣本的關注度,同樣主要有3種常見的方法,其一是對單個像素進行加權,通過數字一減去預測像素概率值的方法加權損失,例如Focal Loss[11]等;其二是將計算好的損失整體加權,例如Focal Tveraky Loss[15]等;其三是使用權重控制FP(False Positive)和FN(False Negative)之間的平衡,例如Tveraky Loss[9]、Asymmetric Similarity Loss[16]、Penalty Loss[19]等。
對于分割邊界來說旨在提升損失對圖像邊界的關注度,例如DPCE Loss[17]、Boundary (BD) Loss[12]、Hausdorff Distance (HD) Loss[13]等,但本文認為圖像標簽多為人工標注,標注的標簽邊界區域或多或少都存在一些誤差,如果對標簽真值邊界的關注度過分大于對標簽真值內部的關注度,對于計算分辨率比較低的圖像是不適合的。
圖像分割的代價函數[4]伴隨著深度學習的發展,逐漸演化為4種類型,即基于分布、基于區域、基于邊界和基于復合的代價函數。
基于分布的代價函數旨在最小化兩個分布之間的差異,包括CE Loss、Topk Loss[6]、Focal Loss[11]、DPCE Loss[17]等,該類型代價函數是以交叉熵為基準進行變化,只關注標簽圖真值內部的損失,而對于真值之外的損失計算沒有涉及。交叉熵的計算公式如式(1)所示:
(1)
基于區域的代價函數旨在最小化不匹配或最大化真實值和預測分割之間的重疊區域,包括Sensitivity Specificity Loss[5]、Dice Loss[7]、IoU Loss[8]、Tversky Loss[9]、Lovasz Loss[10]、Focal Tveraky Loss[11]、Asymmetric Similarity Loss[16]、Generalized Dice Loss[18]、Penalty Loss[19]等,該類型代價函數都是以Dice Loss為基準進行變化,雖然對標簽圖真值內外的損失都進行了計算,但計算過于籠統,針對標簽真值內部以及外部關于分類正確或錯誤的像素區域都沒有進行精確區分。Dice Loss 的計算公式如式(2)所示:
(2)
基于邊界的代價函數[14]是一種相對較新的代價函數,旨在最小化真實值與預測分割之間的距離,包括Boundary (BD) Loss[12]、Hausdorff Distance (HD) Loss[13]等,該類型代價函數主要是通過距離圖加權計算損失值,BD Loss使用邊界匹配度去監督網絡的損失,而HD Loss使用真實值和分割的距離變換圖加權損失,兩者都容易導致損失值偏向距離邊界近的區域,而對于標簽真值內部的區域給予很少的關注。
基于復合的代價函數是基于分布、區域和邊界的代價函數之間的加權組合,包括Combo Loss[20]、Exponential Logarithmic Loss(ELL)[21等,該類型代價函數主要是為了解決單個代價函數不能很好的處理分割任務的問題,通常需要至少兩種及兩種以上的代價函數進行某種變換加權得到,但該種方法在實際應用中變得非常困難,需要用戶必須對各類型代價函數都有精準的估計,然后從中選擇適合處理某種任務的代價函數。
為了解決以上的這些問題,本文提出了一種新的代價函數Generalized Region Loss,該代價函數也是一種基于區域計算損失的代價函數,同以往基于區域的代價函數不同的是Generalized Region Loss致力于將圖像損失區域進行精確地分類計算,使計算的損失結果更加符合該區域的實際損失值,更加有利于激發算法的學習過程,使計算結果更容易收斂。
本文提出了一種基于像素區域細分計算的Generalized Region Loss代價函數用于圖像分割,其表達式如式(3)所示:
GR Loss=β·(l1+l3)+(1-β)·(l2+l4)
(3)
該代價函數主要是計算以下兩部分區域的損失值:真值內部區域和真值外部區域,具體如圖1所示。真值內部區域主要包括預測和真值重合區域l1、預測和真值非重合區域l3;真值外部區域主要包括預測和背景重合區域l2、預測和背景非重合區域l4。在式(3)中,參數β∈[0.01,0.1]控制代價函數第一項和第二項之間的平衡,在本函數中更加關注那些分類錯誤區域的損失,所以,此β參數設置參照Sensi-tivity Specificity Loss[3]而定,具體將其置為0.02,l1、l2、l3、l4詳細的計算方式在后邊給出。

圖1 真值內部區域和真值外部區域
其一針對預測和真值重合區域來說,即圖1當中的l1區域,在該區域中一般其預測概率已經達到了很大的值,說明該區域預測概率已經基本達到預測標準,但該部分仍就存在損失,需要通過公式log或者標簽和預測差值的方法得到其損失。在此公式中使用的是log計算方法,因為在實驗中發現使用此計算方法稍微優于另外一種,分析原因是log相比于另外一種計算方式對于那些困難樣本的懲罰更加嚴重。該區域損失的計算如式(4)所示:
(4)

其二針對預測和背景重合區域來說,即圖1當中的l2區域,在該區域中一般其預測概率達到了很大的值,說明該區域預測概率同預測標準差異較大,所以本文希望該區域概率變得很小,更加接近0,其單個像素點的預測概率值就是其單個像素點的損失。該區域損失的計算如式(5)所示:
(5)
其三針對預測和真值非重合區域來說,即圖1當中的l3區域,在該區域中一般其預測概率非常小,說明該區域預測概率同預測標準差異較大,所以本文希望該區域概率變得較大一些,更加接近1,需要通過公式log或者標簽和預測差值的方法得到單個像素損失值,具體計算本文是使用了log計算方法,同式(4)中是一致的。該區域損失的計算如式(6)所示:
(6)
其四針對預測和背景非重合區域來說,即圖1當中的l4區域,在該區域中一般其預測概率非常小,說明該區域預測概率同預測標準差異較小,但本文希望該區域概率變得更小,更加接近0,其單個像素點的預測概率值就是其單個像素點的損失。該區域損失的計算如式(7)所示:
(7)

圖2 使用FCN網絡結構訓練時,GR Loss代價函數使用和對Mean IoU的影響

圖3 使用FCN網絡結構訓練時,GR Loss代價函數使用和對Mean Class Accuracy的影響

圖4 使用FCN網絡結構訓練時,GR Loss代價函數α置為不同參數對Mean IoU的影響

圖5 使用FCN網絡結構訓練時,GR Loss代價函數α置為不同參數對Mean Class Accuracy的影響
通過對Generalized Region Loss代價函數的參數α進行測試,從圖4當中的對比實驗可以明顯看出,當α= 2、3、4時,該三條曲線增長趨勢基本一致;從圖5的對比實驗可以看出,當α= 2、3、4時,該三條曲線增長方式同樣基本一致。
仔細觀察圖5可以看到,α= 4的曲線會略微高于α= 3的曲線,但α= 4時公式的計算復雜度也同樣高于α= 3的計算復雜度。當α= 0.75、1時,從圖4和圖5來看,該兩條曲線的增長趨勢過于緩慢,在網絡訓練過程中會消耗比較多的時間復雜度和空間復雜度,因此在本文不作考慮。
所以綜上所述當α= 3時,Mean IoU以及Mean Class Accuracy效果提升都是比較明顯的,因此在后續實驗中Generalized Region Loss代價函數中的α采用此參數。
CamVid[22]數據集是一種由劍橋大學公開發布的城市道路場景的數據集,同時它也是第一個具有目標類別語義標簽的視頻集合。該數據集包含了700多張精準標注的圖片用于強監督學習,可分為訓練集、驗證集和測試集。同時,在CamVid 數據集中通常使用 11 種常用的類別來進行分割精度的評估。分別為:道路(Road)、交通標志(Symbol)、汽車(Car)、天空(Sky)、行人道(Sidewalk)、電線桿(Pole)、圍墻(Fence)、行人(Pedestrain)、建筑物(Building)、自行車(Bicyclist)、樹木(Tree)。
為了評估分割精度,本文使用了在圖像分割中4個常用的評估指標,主要包括有Dice similarity coefficien(DSC),Intersection over Union (IoU),精確率(Precision)和召回率(Recall)。DSC、IoU、Precision和Recall分別根據等式(8)~(11)定義:
(8)
(9)
(10)
(11)
網絡部署訓練過程中,在FCN網絡框架下,本文將CamVid數據集原圖和標簽統一中心裁剪為[3×256×480]大小的圖像,為的是可以一定程度上減少網絡訓練時間;并且采用了[[0.485,0.456,0.406][0.229,0.224,0.225]]的數據歸一化處理,從而消除奇異樣本產生異常數據導致的不良影響;優化器為Adam且初始學習率lr置為10-6,并且學習率伴隨著訓練次數的增加逐漸減小為之前的0.5倍,減小周期為50輪。而在U-Net網絡框架下,為適應網絡模型結構的輸入和輸出,本文將CamVid數據集原圖統一中心裁剪為[3×572×572]大小的圖像,標簽中心裁剪為[3×388×388]大小的圖像,其它參數像數據歸一化、優化器、學習率等同FCN訓練時保持一致。
本文實驗環境為Windows10操作系統,編程語言為Python3.6,深度學習框架為PyTorch,硬件環境CPU為2.90 GHz Intel(R) Xeon(R) W-2102 (8 G內存),GPU為NVIDIA Tesla T4(12 G顯存)。
在圖6和圖7當中使用FCN網絡結構進行測試實驗,通過對用于圖像分割的主流的12種代價函數進行測試,包括CE Loss、Wce Loss、Topk Loss、Focal Loss、DPCE、dice Loss、Lovasz Loss、Generalized Dice Loss、Tversky loss、Focal Tversky Loss、Asymmetric Similarity Loss、Sensitivity Specificity Loss。因測試曲線過多,在圖中不易區分,我們只將表現最好的代價函數曲線同其它代價函數曲線進行區分制線。

圖6 使用FCN網絡結構訓練時,改變其代價函數,將其它12種代價函數同GR Loss代價函數進行對比,對比它們之間的Mean IoU
觀察實驗結果,從圖6當中的Mean IoU 來看,雖然Mean IoU在30輪之前使用Generalized Region Loss代價函數提升精度的趨勢有緩慢,但在訓練30輪之后提升速度的趨勢明顯優于其它代價函數,并且Generalized Region Loss在訓練80輪左右達到的分割準確率在使用其它代價函數時至少需要100輪訓練才能達到,促進了網絡的收斂,大大節省訓練時間。
從圖7當中的Mean Class Accuracy來看,新提出的代價函數同Sensitivity Specificity Loss在15輪和65輪左右都出現了交點,在15輪之前,Sensitivity Specificity Loss提升速度略微高于Generalized Region Loss;15輪到65輪之間,Sensitivity Specificity Loss提升速度卻又低于Generalized Region Loss ;65輪之后Sensitivity Specificity Loss提升速度卻又略微高于Generalized Region Loss,可以看出新的代價函數與其也是不分伯仲。

圖7 使用FCN網絡結構訓練時,改變其代價函數,將其它12種代價函數同GR Loss代價函數進行對比,對比它們之間的Mean Class Accuracy
在圖8和圖9當中使用U-Net網絡進行測試實驗,由于圖6和圖7已經對12種代價函數在FCN網絡上做了測試,為了避免資源浪費,所以圖8和圖9是以圖6和圖7為依據,從12種代價函數中挑選出4個表現良好的,明顯可以促進網絡收斂的代價函數進行測試,主要包括有CE Loss、Topk Loss、Focal Loss、Sensitivity Specificity Loss。

圖8 使用U-Net網絡結構訓練時,改變其代價函數,將其它4種代價函數同GR Loss代價函數進行對比,對比它們之間的Mean IoU
觀察實驗結果,從圖8當中的Mean IoU和圖9當中的Mean Class Accuracy來看,將其它4種代價函數同新改進的Generalized Region Loss進行對比,實驗結果表明,雖然圖8當中的Mean IoU指標在70輪之前使用新的代價函數提升趨勢有些緩慢,但訓練70輪之后提升趨勢明顯優于其它4種代價函數,以及新的代價函數在訓練90輪左右達到的分割精度在使用其它代價函數時至少需要100輪訓練才能達到,同樣促進了網絡的收斂,大大節省了訓練時間。

表1 CamVid數據集上,使用FCN+5種代價函數對應的11種分類精度,黑體代表每種類別精度的最大值
從圖9當中的Mean Class Accuracy來看,新的代價函數的提升趨勢會略微低于Sensitivity Specificity Loss,但從總體來看,Generalized Region Loss函數也有其優異的地方。

圖9 使用U-Net網絡結構訓練時,改變其代價函數,將其它4種代價函數同GR Loss代價函數進行對比,對比它們之間的Mean Class Accuracy
通過在FCN和U-Net兩種網絡框架上,將表現良好的4種代價函數CE Loss、Topk Loss、Focal Loss、Sensitivity Specificity Loss以及新的代價函數Generalized Region Loss進行對比分析,從表1和表2可以看出,Generalized Region Loss代價函數對Sidewalk、Fence、Car分割精度明顯優于其他代價函數,尤其針對Sidewalk和Fence兩類分割小目標來說分割精度明顯提高。
從表3和表4來看,使用Generalized Region Loss代價函數在DSC、IoU、Recall幾項指標上表現得比較優異,明顯優于其它4種代價函數,而在Precision這項指標上會略微遜色于其它代價函數,可見Generalized Region Loss代價函數對誤報損失FP(False Positives)不太敏感。

表3 使用5種代價函數在FCN上訓練的結果,

表4 使用5種代價函數在U-Net上訓練的結果,
本文使用了4種代價函數對CamVid數據集進行了實際的測驗分割,具體分割結果如圖10所示。本文隨機挑選了CamVid數據集預測圖中的4張不同道路場景圖進行結果分析,橫向來看,第一列是道路真實場景圖;第二列是道路真實標簽圖;第三列是將代價函數置為CE Loss后的分割掩碼圖像,可以看到該類型代價函數在道路(Road)以及行人(Pedestrian)上的分割效果明顯不如其它3種;第四張是將代價函數置為Focal Loss后的分割掩碼圖像,可以看到該類型代價函數在道路(Road)以及行人(Pedestrian)上的分割效果略微優于使用CE Loss的分割效果,分割輪廓略微準確;第五張是將代價函數置為Sensitivity Specificity Loss后的分割掩碼圖像,可以看到該類型代價函數在交通標志(Symbol)上的分割效果明顯不如其它3種;而第六張是將代價函數置為Generalized Region Loss后的分割掩碼圖像,可以看到該類型代價函數不論是在在道路(Road)、行人(Pedestrian)或是交通標志(Symbol)上的分割效果明顯優于其它3種代價函數,分割輪廓相對來說比較清晰,在CamVid數據集上的整體分割效果已經基本達到了令人滿意的程度。

圖10 使用CE、Focal、SS以及GR在CamVid數據集上訓練150輪后的實際分割結果圖
