评估分割任务的损失函数方案————Dice Loss

Dice损失函数是图像分割任务中常用的损失函数,适用于样本极度不均的情况,因而常用于医学图像的分割。其是在集合相似度度量函数Dice系数上设计的:

Dice系数公式:

Dice Coefficient = 2|X∩Y| / (|X| + |Y|),

其中|X∩Y|是X和Y的交集,|X|和|Y|分别表示X和Y中元素的个数。由于分母|X| + |Y|存在重复计算X和Y的共同元素,因此分子|X∩Y|的系数为2。

下面第一张图是视网膜浅层血管复合体的图像,中间是该图像的分割标签,右边是神经网络生成的分割预测结果。

我们可以将公式中的|X|理解为图像分割的真实标签。

|Y|可以理解为通过网络产生的预测结果。

分母|X| + |Y|为真实标签和预测结果的并集。

|X∩Y|为真值和预测正确的部分。

因此,Dice系数可以理解为:

2 * 预测正确的结果 / 真实标签 + 预测结果

example

以分割眼底OCTA图像二分类任务为例,图像中每个像素的真实标签只有0、1两个值,0表示背景,1表示OCTA图像中的血管。

在实际计算时,|X∩Y|可以近似为预测分割图与真实标签之间的点乘,并将点乘的元素结果相加。

由于真实的元素结果相加,预测分割图中未在标签中激活的所有像素将被忽略。

对于激活的像素,低真值的预测将被惩罚。惩罚系数以较高的Dice系数。

假设图像的分割标签|X|和经过模型得到的预测结果|Y|分别如下所示(这里的矩阵仅用于形象说明,不是线性代数里的矩阵):

|X| =

                    [[0  1  0  1]
                     [0  0  0  0]
                     [1  0  1  0]
                     [1  1  0  1]]
                    
|Y| =
                    [[0.02  0.73  0.13  0.85]
                     [0.11  0.03  0.05  0.09]
                     [0.98  0.15  0.89  0.10]
                     [0.93  0.82  0.07  0.97]]
                    

则真实标签与预测结果的点乘可以计算如下:

|X∩Y| =

                    [[0  1  0  1]   [[0.02  0.73  0.13  0.85]      [[0    0.73  0     0.85]
                     [0  0  0  0]    [0.11  0.03  0.05  0.09]  -    [0     0    0     0   ]
                     [1  0  1  0]    [0.98  0.15  0.89  0.10]  -    [0.98  0    0.89  0   ]
                     [1  1  0  1]]   [0.93  0.82  0.07  0.97]]      [0.93  0.82  0    0.97]]
                    

逐元素相乘的结果中所有元素相加的和为:

|X ∩ Y| =

                    [[0    0.73  0    0.85]
                     [0    0    0     0   ]
                     [0.98  0    0.89  0  ]
                     [0.93  0.82  0   0.97]]= 6.17
                    

而分母|X| + |Y|的计算,也一般采用元素直接相加或元素平均求和的方法。这里,我们采用元素直接相加的做法。则|X| + |Y|为:

|X| =

                    [[0  1  0  1]
                     [0  0  0  0]
                     [1  0  1  0]
                     [1  1  0  1]] = 7
                    
|Y| =
                    [[0.02  0.73  0.13  0.85]
                     [0.11  0.03  0.05  0.09]
                     [0.98  0.15  0.89  0.10]
                     [0.93  0.82  0.07  0.97]] = 6.92
                    

|X| + |Y| = 7 + 6.92 = 13.92

Dice损失是在Dice系数的基础上进行计算的,其计算公式如下:

Dice损失 L = 1 − Dice系数 = 1 − 2|X∩Y| / |X| + |Y|

其计算公式为:

L = 1 − 2|X∩Y| / |X| + |Y| = 1 − 2 × 6.17 / 13.92 ≈ 0.1135

Dice系数越大,表明集合越相似,则Dice损失越小;反之亦然。