MICCAI 2018的论文
前言
深度学习的迅速发展,使得在医疗影像分割上也有很多深度学习模型。但是论文提出,大部分的网络只能处理数量较少的类别(<10),并且在3D影像分割中,很难处理小目标,解决数据极度不均衡的问题。本论文提出了新的3D网络网络结构和新的loss function。这个loss function是收到了focal loss的启发,称为指数对数损失函数(Exponential Logarithmic loss),可以通过不同标签的样本数量的相对大小,以及他们的分割难度来平衡各个标签。论文使用20个标签的脑分割图像,达到了DICE 82%,其中最大最小标签之间的大小比例是0.14%。训练不需要100个epoch便可以达到这个精度。
区域大小和Dice分数之间的相关性:
在使用DICE loss时,对小目标是十分不利的,因为小目标一旦有部分像素预测错误,那么就会导致DICE大幅度的下降。
先看一下GDL(the generalized Dice loss),公式如下(标签数量为2):
G
D
L
=
1
−
2
∑
l
=
1
2
w
l
∑
n
r
l
n
p
l
n
∑
l
=
1
2
w
l
∑
n
r
l
n
+
p
l
n
GDL = 1 - 2\frac{\sum_{l=1}^{2}w_l\sum_nr_{ln}p_{ln}}{\sum_{l=1}^{2}w_l\sum_nr_{ln} + p_{ln}}
GDL=1−2∑l=12wl∑nrln+pln∑l=12wl∑nrlnpln
其中
r
l
n
r_{ln}
rln为类别l在第n个像素的标准值(GT),而
p
l
n
p_{ln}
pln为相应的预测概率值。此处最关键的是
w
l
w_l
wl,为每个类别的权重。其中
w
l
=
1
(
∑
n
=
1
N
r
l
n
)
2
w_l = \frac{1}{(\sum_{n=1}^{N}r_{ln})^2}
wl=(∑n=1Nrln)21,直观的感觉就是将得到的DICE值除以每个label的所有的真值,说白了就是进行了均衡化的操作,将大物体和小物体放到同一水平上再进行对比。
打个比方吧,一立方米棉花和一立方分米的铁,分别切掉相同大小的东西,要比较对那个物体的影响最大,质量丢失的最多。如果直接比较切下来的部分那么:
切
下
的
棉
花
<
<
切
下
的
铁
切下的棉花 << 切下的铁
切下的棉花<<切下的铁
这对棉花不公平,那么改进为:
切
下
的
棉
花
所
有
的
棉
花
与
切
下
的
铁
所
有
的
铁
\frac{切下的棉花} {所有的棉花} 与 \frac{切下的铁} {所有的铁}
所有的棉花切下的棉花与所有的铁切下的铁
相比较,归一化到同一水平下,就可以同时兼顾大物体和小物体。
但是此篇论文觉得而且这种情况跟不同标签之间的相对尺寸无关,但是可以通过标签频率来进行平衡。
值得实验探究~~~
Exponential Logarithmic loss
结合了focal loss以及Dice loss。此loss的公式如下:
L
E
X
P
=
w
d
i
c
e
∗
L
D
i
c
e
+
w
C
r
o
s
s
∗
L
C
r
o
s
s
L_{EXP} = w_{dice}*L_{Dice} + w_{Cross}*L_{Cross}
LEXP=wdice∗LDice+wCross∗LCross,此时新增添了两个参数权重分别是
w
D
i
c
e
w_{Dice}
wDice和
w
C
r
o
s
s
w_{Cross}
wCross,而
L
D
i
c
e
L_{Dice}
LDice为 指数log Dice损失(the exponential logarithmic Dice loss),
L
C
r
o
s
s
L_{Cross}
LCross为指数交叉熵损失。
L
D
i
c
e
=
E
[
(
−
l
n
(
D
i
c
e
i
)
)
γ
D
i
c
e
]
L_{Dice} = E[(-ln({Dice}_i))^{\gamma_{Dice}}]
LDice=E[(−ln(Dicei))γDice],其中
D
i
c
e
i
=
2
(
∑
x
δ
i
l
(
x
)
p
i
(
x
)
)
+
ϵ
(
∑
x
δ
i
l
(
x
)
+
p
i
(
x
)
)
+
ϵ
Dice_i = \frac{2(\sum_x\delta_{il}(x)p_i(x)) + \epsilon}{(\sum_x\delta_{il}(x) + p_i(x) ) + \epsilon}
Dicei=(∑xδil(x)+pi(x))+ϵ2(∑xδil(x)pi(x))+ϵ,
L
C
r
o
s
s
=
E
[
w
l
(
−
l
n
(
p
l
(
x
)
)
)
r
C
r
o
s
s
]
L_{Cross} = E[w_l(-ln(p_l(x)))^{r_{Cross}}]
LCross=E[wl(−ln(pl(x)))rCross],x为体素的位置,i为label,l为在位置x的ground-truth。
p
i
(
x
)
p_i(x)
pi(x)为softmax之后的概率值。其中
w
l
=
(
∑
k
f
k
f
l
)
0.5
w_l = (\frac{\sum_kf_k}{f_l})^{0.5}
wl=(fl∑kfk)0.5,
f
k
f_k
fk为标签k的出现频率,这个参数可以减小出现频率较高的类别权重。
γ
D
i
c
e
\gamma^{Dice}
γDice和
γ
C
r
o
s
s
\gamma^{Cross}
γCross,提升非线性的作用,如下图显示的是不同的指数log非线性表现: