Keras多类图像分割-类数?

时间:2020-06-22 11:42:14

标签: keras image-segmentation unity3d-unet

很抱歉,如果这是一个愚蠢的问题,但是我有一个数据集,其中有两个类,我希望尝试使用U-Net进行分类。

创建标签矩阵时,我是否需要显式定义null /基类(不是类的所有内容),还是Keras会自动计算?

例如,如果我有一组图像要分类有或这是的区域,我应该是否需要创建第三个标签矩阵来标记不是狗或猫的所有内容(因此,具有三个类)?

此外,空类主导了我希望分割的图像;如果我要使用class_weight,它似乎只接受字典作为输入,而我发誓要先指定一个列表,这样就足够了。

如果我将我的问题视为两类问题,则假定我也需要指定null类的权重,即class_weight = [nullweight, dogweight, catweight]

谢谢

edit:随附示例 enter image description here

上面的图像是两类还是三类问题?

1 个答案:

答案 0 :(得分:1)

您必须指定其他类别,因为网络需要区分狗,猫和背景。

关于class_weights参数,讨论稍微复杂一点,您无法像在简单的分类问题中那样进行分配。

实际上,在许多问题中,背景构成了图像的很大一部分,因此在解决这种不平衡的问题时,您需要格外小心。

您需要检查参数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