【深度学习】医学图像分割损失函数简介
在醫(yī)學(xué)圖像分割中,選取合適的損失函數(shù)是十分有必要的。已有的文獻中提出了許多的損失函數(shù),但只有少部分的文章對提出的損失函數(shù)進行了具體的研究。
損失函數(shù)主要是用于評估模型的預(yù)測值和真實標(biāo)簽的匹配程度的重要指標(biāo)。在過去的幾年,不同的損失函數(shù)被提出并應(yīng)用到醫(yī)學(xué)圖像分割上。一般形式上,損失函數(shù) $ L $ 采用期望風(fēng)險最小化的形式表示:
egin{align}
L=E(G,S)
end{align}
其中, $G=left { g_{i} ight },S=left { s_{i} ight } $ 分別表示真實標(biāo)簽和預(yù)測的分割圖像。
1.基于分布的損失函數(shù)
基于分布的損失函數(shù)旨在最小化兩種分布的差異。這一類中最基本的是交叉熵,其他的都是基于交叉熵變換來的。
cross entropy(CE)
交叉熵是從Kullback-Leibler(KL)散度推導(dǎo)出來的,它是衡量兩種分布之間不同的度量。對于一般的機器學(xué)習(xí)任務(wù),數(shù)據(jù)的分布是由訓(xùn)練集給出的。因此最小化KL散度等價于最小化交叉熵。交叉熵被定義為:
egin{align}
L_{CE}=-frac{1}{N}sum_{i=1}^{N}sum_{c=1}^{C}g_{i}^{c}logs_{i}^{c}
end{align}
其中, 如果標(biāo)簽 $ c $ 是像素 $ i $ 的正確分類,則 $g_{i}^{c} $ 是二值指標(biāo);$s_{i}^{c}$ 是對應(yīng)的預(yù)測概率。
weighted cross entropy(WCE)
加權(quán)交叉熵是交叉熵的一般擴展形式:
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} $ 是每類分類的權(quán)重;一般情況下, $w_{c} $ 是和類別頻率呈反比的。
TopK loss
TopK loss損失函數(shù)旨在強迫網(wǎng)絡(luò)在訓(xùn)練過程中關(guān)注硬樣本。
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 } $ 是一個二元指示函數(shù)。
Focal loss
Focal loss是采用標(biāo)注的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損失旨在引導(dǎo)網(wǎng)絡(luò)將重點放在難以識別的圖像邊緣部分。
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.基于區(qū)域的損失函數(shù)
基于區(qū)域的損失函數(shù)旨在最小化ground truth $ G $ 和預(yù)測分割區(qū)域 $ S $ 二者不匹配的區(qū)域,或者最大化$ G $ 和$ S $ 重疊區(qū)域。主要代表由Dice loss。
sensitivity-specificity loss
sensitivity-specificity loss通過提高特異性的權(quán)重來解決類別不平衡的問題。
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}
其中參數(shù) $ w $ 控制這第一項個第二項之間的平衡。
dice loss
dice loss損失可以直接優(yōu)化dice coefficient,是最常用的分割指標(biāo)之一。與交叉熵不同,它不需要對不平衡分割任務(wù)重新加權(quán)。
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類似,是直接優(yōu)化目標(biāo)類別的分割指標(biāo)。
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并強調(diào)了錯誤的否定。
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 $ 是超參數(shù),控制著假陰性(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}} $ 用于提供不同標(biāo)簽集的屬性不變性。
Focal Tversky loss
egin{align}
L_{FTL}=(1-L_{Tversky})^{frac{1}{gamma }}
end{align}
其中, $gamma in [1, 3] $。
3.基于邊界的損失函數(shù)
基于邊界的損失函數(shù)是一種新的損失函數(shù)類型,旨在最小化ground truth和predicated segmentation的邊界距離。
boundary(BD)loss
為了以可微的形式計算兩個邊界間的距離 $(partial G,partial S) $ ,邊界損失使用邊界上的損失而不是使用區(qū)域內(nèi)的不平衡積分來減輕高度不平衡分割的困難。
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和分割區(qū)域S的不匹配部分; $D_{G}(p) $ 為ground truth 的距離圖; $ s(p) $ 和 $ g(p) $ 為二元指標(biāo)函數(shù)。 $phi_{G} $ 為邊界水平集表示:如果 $qin G $ , $phi _{G}=-D_{G}(q) $ ,否則 $phi _{G}=-D_{G}(q) $ 。 $ s(p) $ 表示網(wǎng)絡(luò)的softmax概率輸出 $s_{ heta }(p) $ ,最后一項與網(wǎng)絡(luò)參數(shù)無關(guān)。最終得到的邊界損失函數(shù)為:
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損失函數(shù)可以減小HD,并用于訓(xùn)練:
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的距離轉(zhuǎn)換。
4.復(fù)合損失函數(shù)
combo loss
combo loss 是CE和dice loss 的加權(quán)和。
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進行指數(shù)和對數(shù)變換。這樣網(wǎng)絡(luò)就可以被迫的關(guān)注預(yù)測不準的部分。
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 } $
總結(jié)
以上是生活随笔為你收集整理的【深度学习】医学图像分割损失函数简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Groovy里使用CountDownLa
- 下一篇: Groovy里使用Runnable实现多