【深度学习】医学图像分割损失函数简介
在醫學圖像分割中,選取合適的損失函數是十分有必要的。已有的文獻中提出了許多的損失函數,但只有少部分的文章對提出的損失函數進行了具體的研究。
損失函數主要是用于評估模型的預測值和真實標簽的匹配程度的重要指標。在過去的幾年,不同的損失函數被提出并應用到醫學圖像分割上。一般形式上,損失函數 $ L $ 采用期望風險最小化的形式表示:
egin{align}
L=E(G,S)
end{align}
其中, $G=left { g_{i} ight },S=left { s_{i} ight } $ 分別表示真實標簽和預測的分割圖像。
1.基于分布的損失函數
基于分布的損失函數旨在最小化兩種分布的差異。這一類中最基本的是交叉熵,其他的都是基于交叉熵變換來的。
cross entropy(CE)
交叉熵是從Kullback-Leibler(KL)散度推導出來的,它是衡量兩種分布之間不同的度量。對于一般的機器學習任務,數據的分布是由訓練集給出的。因此最小化KL散度等價于最小化交叉熵。交叉熵被定義為:
egin{align}
L_{CE}=-frac{1}{N}sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c}logs_{i}^{c}
end{align}
其中, 如果標簽 $ c $ 是像素 $ i $ 的正確分類,則 $g_{i}^{c} $ 是二值指標;$s_{i}^{c}$ 是對應的預測概率。
weighted cross entropy(WCE)
加權交叉熵是交叉熵的一般擴展形式:
egin{align}
L_{WCE}=-frac{1}{N}sum_{i=1}^{N}sum_{c=1}^{C}w_{c}g_{i}^{c}logs_{i}^{c}
end{align}
其中,$w_{c} $ 是每類分類的權重;一般情況下, $w_{c} $ 是和類別頻率呈反比的。
TopK loss
TopK loss損失函數旨在強迫網絡在訓練過程中關注硬樣本。
egin{align}
L_{TopK}=-frac{1}{sum_{i=1}^{N}sum_{c=1}^{C}1left { g_{i}=c extrm{ and }p_{ic}<t ight }}(sum_{i=1}^{N}sum_{c=1}^{C}1left { y_{i}=c extrm{ and }s_{i}^{c}<t ight }logs_{i}^{c})
end{align}
其中, $tin (0,1] $ 是一個閾值, $1left { ... ight } $ 是一個二元指示函數。
Focal loss
Focal loss是采用標注的CE處理圖像中前景和背景分布不均勻,可以減小正確分類類別的損失值。
egin{align}
L_{FL}=-frac{1}{N}sum_{i}^{N}sum_{c}^{C}(1-s_{i}^{c})^{gamma }g_{i}^{c}logs_{i}^{c}
end{align}
Distance map penalized cross entorpy loss(DPCE)
DPCE損失旨在引導網絡將重點放在難以識別的圖像邊緣部分。
egin{align}
L_{DPCE}=-frac{1}{N}(1+D)circ sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c}logs_{i}^{c}
end{align}
其中 $ D $ 是懲罰距離, $circ $ 為哈達瑪積(Hadamard product)。具體來說,$ D $是通過計算ground truth的距離變換,然后將其還原得到的。
2.基于區域的損失函數
基于區域的損失函數旨在最小化ground truth $ G $ 和預測分割區域 $ S $ 二者不匹配的區域,或者最大化$ G $ 和$ S $ 重疊區域。主要代表由Dice loss。
sensitivity-specificity loss
sensitivity-specificity loss通過提高特異性的權重來解決類別不平衡的問題。
egin{align}
L_{SS}=wfrac{sum_{i=1}^{N}sum_{c}^{C}(g_{i}^{c}-s_{i}^{c})^{2}g_{i}^{c}}{sum_{i=1}^{N}sum_{c}^{C}g_{i}^{c}+epsilon }+(1-w)frac{sum_{i=1}^{N}sum_{c}^{C}(g_{i}^{c}-s_{i}^{c})^{2}(1-g_{i}^{c})}{sum_{i=1}^{N}sum_{c}^{C}(1-g_{i}^{c})+epsilon }
end{align}
其中參數 $ w $ 控制這第一項個第二項之間的平衡。
dice loss
dice loss損失可以直接優化dice coefficient,是最常用的分割指標之一。與交叉熵不同,它不需要對不平衡分割任務重新加權。
egin{align}
L_{Dice}=1-frac{2sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c}s_{i}^{c}}{sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c2}+sum_{i=1}^{N}sum_{c=1}^{C}s_{i}^{c2}}
end{align}
IoU loss
IoU loss和dice loss類似,是直接優化目標類別的分割指標。
egin{align}
L_{IoU}=1-frac{sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c}s_{i}^{c}}{sum_{i=1}^{N}sum_{c=1}^{C}(g_{i}^{c}+s_{i}^{c}-g_{i}^{c}s_{i}^{c})}
end{align}
Tversky loss
為了在精確度和召回率之間取得更好的平衡,Tversky損失重塑了dice loss并強調了錯誤的否定。
egin{align}
L_{Tversky}&=T(alpha ,eta )\
onumber
&=frac{sum_{i=1}^{N}sum_{c}^{C}g_{i}^{c}s_{i}^{c}}{sum_{i=1}^{N}sum_{c}^{C}g_{i}^{c}s_{i}^{c}+alpha sum_{i=1}^{N}sum_{c}^{C}(1-g_{i}^{c})s_{i}^{c}+eta sum_{i=1}^{N}sum_{c}^{C}g_{i}^{c}(1-s_{i}^{c})}
end{align}
其中, $ alpha $ 和 $ eta $ 是超參數,控制著假陰性(false negatives)和假陽性(false positives)的平衡。
generalized dice loss
generalized dice loss是dice loss多分類的擴展。
egin{align}
L_{GD}=1-2frac{sum_{c=1}^{C}w_{c}sum_{i=1}^{N}g_{i}^{c}s_{i}^{c}}{sum_{c=1}^{C}w_{c}sum_{i=1}^{N}(g_{i}^{c}+s_{i}^{c})}
end{align}
其中, $w_{c}=frac{1}{(sum_{i=1}^{N}g_{i}^{c})^{2}} $ 用于提供不同標簽集的屬性不變性。
Focal Tversky loss
egin{align}
L_{FTL}=(1-L_{Tversky})^{frac{1}{gamma }}
end{align}
其中, $gamma in [1, 3] $。
3.基于邊界的損失函數
基于邊界的損失函數是一種新的損失函數類型,旨在最小化ground truth和predicated segmentation的邊界距離。
boundary(BD)loss
為了以可微的形式計算兩個邊界間的距離 $(partial G,partial S) $ ,邊界損失使用邊界上的損失而不是使用區域內的不平衡積分來減輕高度不平衡分割的困難。
egin{align}
Dist(partial G,partial S)&=int_{partial G}left | qpartial S(p)-p ight |^{2}dp \
onumber
&approx 2int_{Delta S}D_{G}(p)dp \
onumber
&=2(int_{Omega }phi_{G}(p)s(p)dp-int_{Omega }phi_{G}(p)g(p)dp)
end{align}
其中, $Delta M=(S/G)cup (G/S) $ 為ground ttruth G和分割區域S的不匹配部分; $D_{G}(p) $ 為ground truth 的距離圖; $ s(p) $ 和 $ g(p) $ 為二元指標函數。 $phi_{G} $ 為邊界水平集表示:如果 $qin G $ , $phi _{G}=-D_{G}(q) $ ,否則 $phi _{G}=-D_{G}(q) $ 。 $ s(p) $ 表示網絡的softmax概率輸出 $s_{ heta }(p) $ ,最后一項與網絡參數無關。最終得到的邊界損失函數為:
egin{align}
L_{BD}=int_{Omega }phi _{G}(p)s_{ heta }(p)dp
end{align}
hausdorff distance(HD)loss
直接最小化HD是十分困難的。Karimi等人提出的了估計ground truth 和prediction segmentation的HD方法。用以下HD損失函數可以減小HD,并用于訓練:
egin{align}
L_{HD_{DT}}=frac{1}{N}sum_{i=1}^{N}[(s_{i})-g_{i}cdot (d_{Gi}^{2}+d_{Si}^{2})]
end{align}
其中, $ d_{G} $ 和 $ d_{S} $ 為ground truth和segmentation的距離轉換。
4.復合損失函數
combo loss
combo loss 是CE和dice loss 的加權和。
egin{align}
L_{Conbo}= alpha (-frac{1}{N}sum_{N}^{i=1}eta (g_{i}logs_{i})+(1-eta )[1-g_{i}log(1-s_{i})])-(1-alpha )(frac{2sum_{i=1}^{N}s_{i}g_{i}+epsilon }{sum_{i=1}^{N}s_{i}+sum_{i=1}^{N}g_{i}+epsilon })
end{align}
exponential logarithmic loss
Wong等人提出了對CE和dice loss進行指數和對數變換。這樣網絡就可以被迫的關注預測不準的部分。
egin{align}
L_{ELL}= w_{Dice}E[(-log(Dice_{c}))^{gamma Dice}]+w_{CE}E[w_{c}(-log(s_{i}^{c}))^{gamma CE}]
end{align}
其中, $Dice_{c}=frac{2sum_{i=1}^{N}g_{i}^{c}s_{i}^{c}+epsilon }{sum_{i=1}(g_{i}^{c}+s_{i}^{c})+epsilon } $
總結
以上是生活随笔為你收集整理的【深度学习】医学图像分割损失函数简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Groovy里使用CountDownLa
- 下一篇: 魔兽世界怀旧服地图矿点合集 魔兽世界怀旧