基於深度學習的自然圖像和醫學圖像分割:損失函數設計(2)


這篇介紹一下損失函數在醫學圖像分割問題中的應用。

1. 損失函數在醫學圖像分割中的應用

上一篇文章中我們討論了標准的交叉熵損失函數及其加權版本,這些損失函數也都廣泛應用在醫學圖像分割問題中。但是針對大背景中的小前景對象分割問題(常見於醫學圖像,典型的類別不平衡),基於重疊度的損失函數(例如Dice Loss),優化效果要好於原始的交叉熵損失函數。醫學圖像種類豐富,具體的分割問題可以加入先驗知識來提高優化效果,下面介紹一些在醫學圖像分割問題中比較經典的損失函數。

1. Li提出了一種對交叉熵損失函數進行改進的正則化項:

其中, [公式] 和 [公式] 是針對輸入圖像 [公式] 的不同擾動或噪聲(例如高斯噪聲,網絡Dropout策略,隨機數據增廣) 。

2. Xu提出了將傳統的主動輪廓能量最小化應用到卷積神經網絡優化的損失函數:

第一項中的 [公式] 和 [公式]中的[公式] 和 [公式] 分別表示水平和垂直方向。

第二項中 [公式] 和 [公式] 分別表示預測結果和給定圖像(GT),C1設置為1,c2設置為0,並且將輪廓回歸項添加到加權交叉熵損失函數中。

3. Karimi提出了一種基於Hausdorff距離(HD)的損失函數:

其中第二項是Dice Loss。

第一項可以用三種不同版本的Hausdorff Distance替換, 式中的 [公式] 和 [公式] 分別表示Ground Truth和分割預測結果。三個可替換版本分別為:

Loss(p,q)版本一

其中,參數 [公式] 決定較大誤差的懲罰級別。 [公式] 是Ground-truth分割的距離圖,即到邊界 [公式] 的無符號距離。 同樣 [公式] 被定義為到 [公式] 的距離。 [公式] 表示的是hadamard操作,即同階矩陣對應元素相乘作為矩陣元素,也可以認為是矩陣點乘。

Loss(p,q)版本二

其中, [公式] 表示k次連續腐蝕操作,腐蝕結構元為:

腐蝕結構元 Loss(p,q)版本三

其中, [公式] , [公式] 表示軟化閾值。Br表示半徑為r的圓形卷積核。 Br的元素經過歸一化以使其元素和為1。 [公式] 。式中的 [公式] 和 [公式] 分別表示Ground Truth和分割預測結果。

4. Caliva等人提出通過測量每個體素到對象邊界的距離,並使用權重矩陣對邊界誤差進行懲罰。 Kim等人提出使用水平集能量最小化( level-set energy minimization)作為正則化器,再加上標准的多類交叉熵損失函數,來用於半監督的腦MRI圖像分割,損失函數如下所示:

其中, [公式] 是輸入, [公式] 是softmax層的輸出, [公式] 表示可學習參數。

5. Taghanaki等人發現使用單獨的基於重疊度的損失函數存在風險,並提出將基於重疊度的損失函數(Dice Loss)作為正則化項與加權交叉熵(WCE)結合構成新的損失函數——Combo Loss,以處理輸入和輸出不平衡問題,公式如下所示:

其中, [公式] 因子用來控制Dice Loss(第二部分)對Loss函數的貢獻, [公式] 越大對Loss的貢獻越大。 [公式] 用來控制模型對FN/FP的懲罰程度:當 [公式] 設置為小於0.5的值時,由於給予 [公式] 權重更大,因此對FP的懲罰要大於FN,反之亦然。 在具體的實現中,為防止除零問題出現,我們使用了加一平滑(加性/拉普拉斯/里德斯通平滑等),即向Dice Loss項的分母和分子都加上單位常數S 。

小結:本文討論的大多數方法都嘗試通過在損失函數中加入權重/懲罰項來處理輸入圖像中的類不平衡問題,即小前景與大背景的問題。 還有一些先檢測后分割(級聯分割)的方法,首先檢測感興趣對象,然后在檢測框(矩形框)內完成分割任務(類似於mask-rcnn), 這種級聯的方法已應用於脊髓多發性硬化病灶的分割。

2. 總結

上面提到的損失函數是一些設計的比較出色的損失函數。不同於自然圖像,類不平衡問題在醫學圖像中很常見,在上一篇損失函數設計:李慕清:基於深度學習的自然圖像和醫學圖像分割:損失函數設計(1)中,在文末我們對比了不同損失函數的優化效果,這里我們再來總結一下,如下圖所示:

上圖將不同損失函數的表現進行了可視化(分別為分割大型(左)和小型對象(右))。 其中每張小圖底部的可視化分割結果,從左向右,預測結果和GroundTruth的重疊逐漸變小,即產生更多的假陽性(FP)和假陰性(FN)。 理想情況下,Loss函數的值應隨着預測更多的假陽性和假陰性而單調增加。 對於大型對象(左圖),幾乎所有現象都遵循此假設; 但是,對於小型對象(右圖),只有combo loss和focal loss會因較大的誤差而單調增大更多。 換句話說,在分割大/小對象時,基於重合度(重疊度)的損失函數波動很大,這導致優化過程的不穩定。 使用交叉熵作為基礎的損失函數和重疊度作為加權正則函數的損失(combo loss)函數在訓練過程中顯示出更高的穩定性。

損失函數作為深度學習模型里的獨立模塊,可以自由替換,所以可以在訓練的不同階段選擇不同的損失函數。設計醫學圖像分割的損失函數加入先驗信息是有效的,但同時也限制了其對其他類型數據的泛化能力,有得有失,只能權衡一下了。

后續再對這些常用的這些損失函數進行Python(pytorch框架)實現。

參考文獻:

  1. Deep Semantic Segmentation of Natural and Medical Images: A Review


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM