抑制所有黑色像素的自定义 Tensorflow 损失函数

人工智能 神经网络 张量流 目标函数 图像分割
2021-11-07 18:50:25

我正在训练一个 Tensorflow 模型,它接收图像并将图像分割成前景和背景。也就是说,如果输入图像是w x h x 3,那么神经网络输出一个's 和's 的w x h x 1图像,其中代表背景,代表前景。0101

我已经计算出大约 75% 的真实掩码是背景,因此神经网络只是训练了一个输出 all 的模型0并获得 75% 的准确度。

为了解决这个问题,我正在考虑实现一个自定义损失函数,该函数检查是否有超过一定百分比的0',如果是,则在损失中添加一个非常大的数字以抑制 all0的策略。

问题是这个损失函数变得不可微。

我应该从这里去哪里?

1个回答

背景是不平衡类是图像分割中众所周知的问题。在深入研究自定义损失之前,您应该查看解决此特定问题的现有损失,例如Dice LossFocal Loss,后者更可调,具有可以优化的额外超参数。您可以在 github 上轻松找到两者的 tensorflow 实现。
有关其他类似损失的更详细比较和参考,您还可以查看本文