二分类语义分割损失函数

2020-06-15 10:38:26 浏览数 (1)

图像语义分割损失函数loss盘点 汇总了常用语义分割损失函数.

这里针对二类图像语义分割任务,常用损失函数有:

1 - softmax 交叉熵损失函数(softmax loss,softmax with cross entroy loss)

2 - dice loss(dice coefficient loss)

3 - 二值交叉熵损失函数(bce loss,binary cross entroy loss).

其中,dice loss 和 bce loss 仅支持二分类场景.

对于二类图像语义分割任务,经常出现类别分布不均衡的问题,比如:工业产品的瑕疵检测、道路提取及病变区域提取等.

如,DeepGlobe比赛中道路提取(Road Extraction)中,训练数据道路占比为:4.5%. 如下为其图片样例, 可以看出道路在整张图片中的比例很小.

1. Dice Loss

Dice loss 有助于解决二分类语义分割中类别不均衡问题.

医学图像分割之 Dice Loss - AIUAI

Dice loss 的定义如:

image.pngimage.png

其中,Y 表示 groundtruth,P表示预测结果. $| cdot |$ 表示矩阵元素之和. 分子表示 Y 和 P 的共有元素数,实际通过求两者的逐像素乘积之和进行计算. 例如:

image.pngimage.png

其中,1 表示前景,0 表示背景.(GT图片中要求前景像素值为1,背景像素值为0).

Dice 系数 - 维基百科

2. Dice Loss 与类别不均衡

类别不均衡问题上,dice loss效果为什么比softmax 交叉熵 loss 更好?

Dice-coefficientlossfunctionvscross-entropy - AIUAI

首先,softmax 交叉熵 loss 的定义为:

image.pngimage.png

其中,y 表示 groundtruth, p 表示网络输出.

图像分割任务中,softmax 交叉熵loss 是对每一个像素点进行类别预测,然后平均所有的像素点. 其本质上仍是对图片的每个像素进行平等的学习,这就导致如果图像上的多种类别存在不平衡时,模型的训练会由最主流的类别所主导. 网络更偏向于对主流类别的学习,而降低了对非主流类别的特征提取能力.

而,Dice loss 通过预测和GT的交集除以它们的总体像素进行计算,将一个类别的所有像素作为一个整体进行考量,而且计算交集在总体中的比例,所以不会受大量主流像素的影响,能够提取更好的效果.

实际中,dice loss 往往与 bce loss 结合使用,以提升模型训练的稳定性.

0 人点赞