各种 Dice Loss 变体

各种 Dice Loss 变体_第1张图片

各种 Dice Loss 变体

语雀文档:https://www.yuque.com/lart/idh721/gpix1i

Dice Loss也是图像分割任务中非常常见的一个损失函数。本文基于 Generalised Wasserstein Dice Score for Imbalanced Multi-class Segmentation using Holistic Convolutional Networks 中的内容进行了整理。

hard dice score for binary segmentation

dice score 被广泛使用的针对二值分割图 S 和 G 之间成对比较的重叠度量方式。

其可以表示为集合操作或统计性度量的形式:

D h a r d = 2 ∣ S ∩ G ∣ ∣ S ∣ + ∣ G ∣ = 2 Θ T P 2 Θ T P + Θ F P + Θ F N = 2 Θ T P 2 Θ T P + Θ A E D_{hard}=\frac{2|S \cap G|}{|S|+|G|}=\frac{2\Theta_{TP}}{2\Theta_{TP}+\Theta_{FP}+\Theta_{FN}}=\frac{2\Theta_{TP}}{2\Theta_{TP}+\Theta_{AE}} Dhard=S+G2∣SG=2ΘTP+ΘFP+ΘFN2ΘTP=2ΘTP+ΘAE2ΘTP

这里涉及到几项,具体含义如下:

  • S & G S \& G S&G:待评估图像和参考图像
  • Θ T P \Theta_{TP} ΘTP:正阳性样本的数量,即 S S S G G G 都为真的位置的数量。
  • Θ F P \Theta_{FP} ΘFP S S S 中真而 G G G 中为假的位置的数量。
  • Θ F N \Theta_{FN} ΘFN S S S 中假而 G G G 中为真的位置的数量。
  • Θ A E = Θ F P + Θ F N \Theta_{AE} = \Theta_{FP} + \Theta_{FN} ΘAE=ΘFP+ΘFN S S S G G G 不一致的位置的数量。

soft dice score for binary segmentation

对于软二值分割的扩展依赖于概率分类对的不一致概念。

对于 S S S G G G 中的位置 i ∈ X i \in \mathbf{X} iX 对应的类别 S i S_i Si G i G_i Gi 可以被定义为标签空间 L = { 0 , 1 } \mathbf{L}=\{0,1\} L={0,1} 上的随机变量。

概率分割可以被表示为标签概率图,其中 P ( L ) P(\mathbf{L}) P(L) 表示标签概率向量的集合:

  • p = { p i : = P ( S i = 1 ) } i ∈ X p=\{p^i:=P(S_i=1)\}_{i \in \mathbf{X}} p={pi:=P(Si=1)}iX
  • g = { g i : = P ( G i = 1 ) } i ∈ X g=\{g^i:=P(G_i=1)\}_{i \in \mathbf{X}} g={gi:=P(Gi=1)}iX

由此可以将前面的关于数据的统计量 Θ T P & Θ A E \Theta_{TP} \& \Theta_{AE} ΘTP&ΘAE 扩展到软分割情形:

  • Θ A E = ∑ i ∈ X ∣ p i − g i ∣ \Theta_{AE}=\sum_{i \in \mathbf{X}} |p^i-g^i| ΘAE=iXpigi
  • Θ T P = ∑ i ∈ X g i ( 1 − ∣ p i − g i ∣ ) \Theta_{TP}=\sum_{i \in \mathbf{X}} g^i(1-|p^i-g^i|) ΘTP=iXgi(1pigi)

对于一般情形中的 g g g,即 ∀ i ∈ X , g i ∈ { 0 , 1 } \forall i \in \mathbf{X}, g^i \in \{0, 1\} iX,gi{0,1},此时有:

  • Θ A E = ∑ i ∈ X g i ( 1 − p i ) + ( 1 − g i ) p i = ∑ i ∈ X g i + p i − 2 g i p i \Theta_{AE}=\sum_{i \in \mathbf{X}} g^i(1-p^i)+(1-g^i)p^i=\sum_{i \in \mathbf{X}} g^i+p^i-2g^ip^i ΘAE=iXgi(1pi)+(1gi)pi=iXgi+pi2gipi
  • Θ T P = ∑ i ∈ X g i p i \Theta_{TP}=\sum_{i \in \mathbf{X}} g^ip^i ΘTP=iXgipi

对应的 soft dice score 可以表示为:

D s o f t ( p , g ) = 2 ∑ i g i p i ∑ i ( g i + p i ) D_{soft}(p,g)=\frac{2\sum_i g^ip^i}{\sum_i(g^i+p^i)} Dsoft(p,g)=i(gi+pi)2igipi

当然,也有引入平方形式的变体。

soft multi-class dice score

前面直接讨论的是二值分割的情形,而对于多分类情况则需要考虑不同类别计算的整合方式。

最简单的方式就是直接考虑所有类别的平均。

可以称为 mean dice score,这里对应包含 ∣ L ∣ |\mathbf{L}| L 个不同的类别:

D m e a n ( p , g ) = 1 ∣ L ∣ ∑ l ∈ L 2 ∑ i g l i p l i ∑ i g l i + p l i D_{mean}(p,g)=\frac{1}{|\mathbf{L}|}\sum_{l \in \mathbf{L}}\frac{2\sum_{i}g^i_lp^i_l}{\sum_{i}g^i_l+p^i_l} Dmean(p,g)=L1lLigli+pli2iglipli

上式的推广形式可以通过引入类别权重参数 w l = 1 ( ∑ i g l i ) 2 , l ∈ L w_l = \frac{1}{(\sum_{i}g^i_l)^2}, l\in \mathbf{L} wl=(igli)21,lL 而得到。即从而将上式转化为加权平均的形式。这被称为 generalised soft multi-class dice score。

最终可以表示为:

D g e n e r a l i s e d ( p , g ) = 2 ∑ l w l ∑ i g l i p l i ∑ l w l ∑ i ( g l i + p l i ) D_{generalised}(p,g)=\frac{2\sum_l w_l \sum_i g^i_lp^i_l}{\sum_l w_l \sum_i (g^i_l+p^i_l)} Dgeneralised(p,g)=lwli(gli+pli)2lwliglipli

soft multi-class wasserstein dice score

前面的 dice score 的形式中,对于 p i p^i pi g i g^i gi 的相似性的度量方式可以看做是 L1 距离,而这里将 wasserstein distance 引入来自然地以一种语义上有意义的方式比较两个标签概率向量。

这里首先介绍 wasserstein distance。

wasserstein distance

这也被称为 earth mover’s distance。用于表示将一个概率向量 p p p 变换为另一个概率向量 q q q 所需要的最小成本。

对于所有的 l , l ′ ∈ L l,l' \in \mathbf{L} l,lL,从 l l l 移动到 l ′ l' l 的距离的集合定义为 l l l l ′ l' l 之间的距离矩阵 M l , l ′ M_{l,l'} Ml,l,这一矩阵是固定的,可以认为是已知的。

这是一种将 L \mathbf{L} L 上的距离矩阵 M M M(通常亦可以称为 ground distance matrix)映射为 P ( L ) P(\mathbf{L}) P(L) 上的距离的方式,这里用了关于 L \mathbf{L} L 的先验知识。

L \mathbf{L} L 为有限集合的情况下,对于 p , q ∈ P ( L ) p,q \in P(\mathbf{L}) p,qP(L),二者关于 M M M 的 wasserstein distance 可以被定义为一个线性规划问题的解。

W M ( p , q ) = min ⁡ T l , l ′ ∑ l , l ′ ∈ L T l , l ′ M l , l ′ subject to  ∀ l ∈ L , ∑ l ′ ∈ L T l , l ′ = p l ,  and  ∀ l ′ ∈ L , ∑ l ∈ L T l , l ′ = q l ′ \begin{align} W^{M}(p,q)&=\min_{T_{l,l'}}\sum_{l,l' \in \mathbf{L}}T_{l,l'}M_{l,l'} \\ \text{subject to } \forall l \in \mathbf{L}, \sum_{l' \in \mathbf{L}}T_{l,l'}&=p_l, \\ \text{ and } \forall l' \in \mathbf{L}, \sum_{l \in \mathbf{L}}T_{l,l'}&=q_{l'} \end{align} WM(p,q)subject to lL,lLTl,l and lL,lLTl,l=Tl,lminl,lLTl,lMl,l=pl,=ql

这里的 T = ( T l , l ′ ) l , l ′ ∈ L T=(T_{l,l'})_{l,l' \in \mathbf{L}} T=(Tl,l)l,lL ( p , q ) (p,q) (p,q) 的联合概率分布,且有着边界分布 p p p q q q

上式最小的 T ^ \hat{T} T^ 被称作对于距离矩阵 M M M p p p 和之间 q q q 的最优传输。

关于 wasserstein distance 的解释可以阅读:

  • Wasserstein GAN and the Kantorovich-Rubinstein Duality
  • https://chih-sheng-huang821.medium.com/%E9%82%84%E7%9C%8B%E4%B8%8D%E6%87%82wasserstein-distance%E5%97%8E-%E7%9C%8B%E7%9C%8B%E9%80%99%E7%AF%87-b3c33d4b942

soft multi-class wasserstein dice score

这里使用 wasserstein distance 来扩展标签概率向量对之间的差异性度量,从而得到如下扩展形式:

  • Θ A E = ∑ i ∈ X W M ( p i , g i ) \Theta_{AE}=\sum_{i \in \mathbf{X}}W^{M}(p^i,g^i) ΘAE=iXWM(pi,gi)
  • Θ T P l = ∑ i ∈ X g l i ( M l . b − W M ( p i , g i ) ) , ∀ l ∈ L ∖ { b } \Theta^l_{TP}=\sum_{i \in \mathbf{X}}g^i_l(M_{l.b}-W^M(p^i,g^i)), \forall l \in \mathbf{L} \setminus \{b\} ΘTPl=iXgli(Ml.bWM(pi,gi)),lL{b}

M M M 选择为使得背景类别 b b b 总是离其他类最远的情况。

Θ T P = ∑ i ∈ X α l Θ T P l \Theta_{TP}=\sum_{i \in \mathbf{X}}\alpha_l \Theta^l_{TP} ΘTP=iXαlΘTPl

这里同样使用加权的方式对各个类别的统计结果进行了组合。

通过选择 α l = W M ( l , b ) = M l , b \alpha_l = W^{M}(l, b) = M_{l,b} αl=WM(l,b)=Ml,b 来使得背景位置并不对 Θ T P \Theta_{TP} ΘTP 发挥作用。

最终,关于 M M M 的 wasserstein dice score 可以定义为:

D M ( p , q ) = 2 ∑ l M l , b ∑ i g l i ( M l , b − W M ( p i , g i ) ) 2 ∑ l M l , b ∑ i g l i ( M l , b − W M ( p i , g i ) ) + ∑ i W M ( p i , g i ) D^M(p,q)=\frac{2\sum_lM_{l,b}\sum_ig^i_l(M_{l,b}-W^M(p^i,g^i))}{2\sum_lM_{l,b}\sum_ig^i_l(M_{l,b}-W^M(p^i,g^i))+\sum_iW^M(p^i,g^i)} DM(p,q)=2lMl,bigli(Ml,bWM(pi,gi))+iWM(pi,gi)2lMl,bigli(Ml,bWM(pi,gi))

对于二值情况,可以设置:

M = [ 0 1 1 0 ] M = \begin{bmatrix} 0 & 1 \\ 1 & 0 \\ \end{bmatrix} M=[0110]

由此有

W M ( p i , g i ) = ∣ p i − g i ∣ , M l , b → l ≠ b W^M(p^i,g^i)=|p^i-g^i|, M_{l,b} \rightarrow l \ne b WM(pi,gi)=pigi,Ml,bl=b

此时 wasserstein dice score 就退化为了 soft binary dice score:

D M ( p , q ) = 2 ∑ i g i ( 1 − ∣ p i − g i ∣ ) 2 ∑ i g i ( 1 − ∣ p i − g i ∣ ) + ∑ i ∣ p i − g i ∣ = 2 ∑ i p i g i 2 ∑ i p i g i + ∑ i [ p i ( 1 − g i ) + ( 1 − p i ) g i ] = 2 ∑ i g i p i ∑ i ( g i + p i ) \begin{align} D^M(p,q) & =\frac{2\sum_ig^i(1-|p^i-g^i|)}{2\sum_ig^i(1-|p^i-g^i|)+\sum_i|p^i-g^i|} \\ & =\frac{2\sum_ip^ig^i}{2\sum_ip^ig^i+\sum_i[p^i(1-g^i)+(1-p^i)g^i]} \\ & =\frac{2\sum_ig^ip^i}{\sum_i(g^i+p^i)} \end{align} DM(p,q)=2igi(1pigi)+ipigi2igi(1pigi)=2ipigi+i[pi(1gi)+(1pi)gi]2ipigi=i(gi+pi)2igipi

曾经的基于 wasserstein distance 的损失受限于其计算成本,然而,对于这里主要考虑的分割情形中,优化问题的闭式解存在。

对于 ∀ l , l ′ ∈ L \forall l,l' \in \mathbf{L} l,lL,最优传输为 T l , l ′ = p l i g l ′ i T_{l,l'}=p^i_lg^i_{l'} Tl,l=pligli,并且因此 wasserstein distance 可以简化成:

W M ( p i , g i ) = ∑ l , l ′ ∈ L M l , l ′ p l i g l ′ i W^M(p^i,g^i)=\sum_{l,l' \in \mathbf{L}} M_{l,l'}p^i_lg^i_{l'} WM(pi,gi)=l,lLMl,lpligli

wasserstein dice loss

基于 M M M 可以定义为:

L D M : = 1 − D M L_{D^M} := 1-D^M LDM:=1DM

参考

  • 代码:https://github.com/LucasFidon/GeneralizedWassersteinDiceLoss/blob/master/generalized_wasserstein_dice_loss/loss.py

你可能感兴趣的:(#,深度学习实战总结,#,分割任务,深度学习,机器学习,人工智能,计算机视觉,深度学习,图像分割)