1.语义分割

 

        语义分割就是把每个像素都打上标签(这个像素点是人,树,背景等)(语义分割只区分类别,不区分类别中具体单位)



深度学习 图像分割 损失函数 分割的损失函数_深度学习


 

深度学习 图像分割 损失函数 分割的损失函数_损失函数_02

 2.实例分割

实例分割不光要区别类别,还要区分类别中每一个个体

深度学习 图像分割 损失函数 分割的损失函数_深度学习_03

 

深度学习 图像分割 损失函数 分割的损失函数_计算机视觉_04

3.分割任务的损失函数定义 

逐像素的交叉熵: 还经常需要考虑样本均衡问题

交叉熵损失函数公式如下:

深度学习 图像分割 损失函数 分割的损失函数_深度学习_05

增加难负样本的权重 

深度学习 图像分割 损失函数 分割的损失函数_损失函数_06


Gamma通常设置为2,例如预测正样本概率0.95, 如果预测正样本概率0.4, (相当于样本的难易权值)。再结合样本数量的权值就是Focal Loss




深度学习 图像分割 损失函数 分割的损失函数_人工智能_07


4.IOU计算

多分类任务时:iou_dog = 801 / true_dog + predict_dog - 801

深度学习 图像分割 损失函数 分割的损失函数_深度学习_08

 

深度学习 图像分割 损失函数 分割的损失函数_计算机视觉_09

IoU(Intersection over Union,交并比)

深度学习 图像分割 损失函数 分割的损失函数_深度学习_10

深度学习 图像分割 损失函数 分割的损失函数_人工智能_11

Dice系数和mIoU是语义分割的评价指标,在这里进行了简单知识介绍。讲到了Dice顺便在最后提一下Dice Loss,以后有时间区分一下在语义分割中两个常用的损失函数,交叉熵和Dice Loss。

一、Dice系数

1.概念理解

Dice系数是一种集合相似度度量函数,通常用于计算两个样本的相似度,取值范围在[0,1]:

深度学习 图像分割 损失函数 分割的损失函数_损失函数_12

 

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

对于语义分割问题而言,X-GT分割图像(Ground Truth),Y-Pred分割图像

看图一直观理解一下

深度学习 图像分割 损失函数 分割的损失函数_损失函数_13


图一 Dice系数示意图

公式就可以理解为 

深度学习 图像分割 损失函数 分割的损失函数_深度学习_14

2.实际计算

首先将 |X∩Y| 近似为预测图pred和label GT 之间的点乘,并将点乘的元素的结果相加:

(1)预测分割图与 GT 分割图的点乘:

深度学习 图像分割 损失函数 分割的损失函数_计算机视觉_15

 

(2)逐元素相乘的结果元素的相加和:

深度学习 图像分割 损失函数 分割的损失函数_深度学习_16

 

对于二分类问题,GT分割图是只有0,1两个值的,因此 |X∩Y| 可以有效的将在 Pred 分割图中未在 GT 分割图中激活的所有像素清零. 对于激活的像素,主要是惩罚低置信度的预测,较高值会得到更好的 Dice 系数.

(3)计算|X|和|Y|,这里可以采用直接元素相加,也可以采用元素平方求和的方法:

深度学习 图像分割 损失函数 分割的损失函数_损失函数_17

 

三、Dice Loss

Dice Loss的计算公式非常简单如下:

深度学习 图像分割 损失函数 分割的损失函数_深度学习_18

 

这种损失函数被称为 Soft Dice Loss,因为我们直接使用预测概率而不是使用阈值或将它们转换为二进制mask。

 Soft Dice Loss 将每个类别分开考虑,然后平均得到最后结果。比较直观如图三所示。

深度学习 图像分割 损失函数 分割的损失函数_计算机视觉_19


图三 soft dice loss

需要注意的是Dice Loss存在两个问题:

(1)训练误差曲线非常混乱,很难看出关于收敛的信息。尽管可以检查在验证集上的误差来避开此问题。

(2)Dice Loss比较适用于样本极度不均的情况,一般的情况下,使用 Dice Loss 会对反向传播造成不利的影响,容易使训练变得不稳定。

所以在一般情况下,还是使用交叉熵损失函数。