【问题标题】:Keras Multi-Class Image Segmentation - number of classes?Keras 多类图像分割 - 类数?
【发布时间】:2020-10-12 06:24:09
【问题描述】:

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

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

例如,如果我有一组图像,我想对存在 狗 或 猫 的区域进行分类,我是否需要创建第三个标签矩阵来标记所有不是狗或猫的东西(因此,有三个类)?

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

如果我将我的问题视为二分类问题,我假设我也需要指定空类的权重,即class_weight = [nullweight, dogweight, catweight]。

谢谢

编辑:附加示例

上图是二类还是三类问题?

【问题讨论】:

    标签: keras image-segmentation unity3d-unet


    【解决方案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 进行图像分割

    【讨论】:

    • 感谢您的回复。因此,用负类和第 1 类和第 2 类(总共三个类)重新构建问题是非常直接的。这些对问题进行加权的示例使背景(负类)的权重低于其他类似乎相当复杂
    • 是的,有点复杂。顺便说一句,如果我的回答在某种程度上对您有所帮助,如果您支持它(不一定接受答案),我将不胜感激。它对我、你和其他有同样问题的人都有帮助。
    猜你喜欢
    • 2021-03-20
    • 2021-03-17
    • 2020-04-08
    • 2020-04-18
    • 2020-08-04
    • 2019-01-06
    • 2020-03-15
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多