Keras 多 Class 图像分割 - 类 的数量?

Keras Multi-Class Image Segmentation - number of classes?

抱歉,如果这是一个愚蠢的问题,但我有一个包含 两个 classes 的数据集,我想尝试 classify 使用 U-网

创建标签矩阵时,我是否需要显式定义 null / base class(所有不是 class 的东西)或者 Keras 会自动计算这个?

例如,如果我有一组图像,我想在其中 class 化有 dog 的区域或这是 cat,我是否需要创建第三个标签矩阵来标记所有 不是狗或猫 的东西(因此,有 classes)?

此外,null class 支配着我希望分割的图像;如果我要使用 class_weight,它似乎只接受字典作为输入,而我发誓在我指定一个列表之前就足够了。

如果我将我的问题视为一个双 class 问题,我假设我也需要指定 null class 的权重,即 class_weight = [nullweight, dogweight, catweight].

谢谢

编辑:附例

上图是两个 class 还是三个 class 问题?

您必须指定另一个 class,因为网络需要区分狗、猫和背景。

至于 class_weights 参数,讨论有点复杂,不能像在简单的 classification 问题中那样赋值。

的确,在很多问题中,背景构成了图像的很大一部分,因此在处理此类不平衡问题时需要小心。

您需要检查参数 sample_weights,而不是 class_weights,您可以查看这些线程:

  1. https://datascience.stackexchange.com/questions/31129/sample-importance-training-weights-in-keras
  2. https://github.com/keras-team/keras/issues/3653
  3. Weighting samples in multiclass image segmentation using keras 使用 keras 进行图像分割