【问题标题】:What is imbalance in image segmentation?什么是图像分割的不平衡?
【发布时间】:2018-02-05 10:34:59
【问题描述】:

我知道猫与狗分类等图像分类问题中的不平衡,如果猫图像太多而狗图像太少。但我不知道如何解决分割问题中的不平衡问题。

例如,我的任务是从卫星图像中屏蔽云层,所以我将问题转化为两类分割,一类是云,一类是背景。该数据集有 5800 张 4-band-16bits 图像,大小为 256*256。架构是Segnet,损失函数是二元交叉熵。

假设有两种情况:

  1. 一半的样本完全被云覆盖,一半没有任何云。
  2. 在每张图片中,一半被云覆盖,一半没有。

所以,我猜情况 2 是平衡的,但情况 1 呢?

在现实和我的任务中,这两种情况在源卫星图像中是不可能的,因为云层相对于背景总是相对较小,但是如果图像样本由于尺寸大而从源图像中裁剪,就会出现一些新情况.

因此,样本始终包含三种类型的图像:

  1. 完全被云层覆盖(5800 个样本中的 254 个)。
  2. 没有任何云(5800 个样本中的 1241 个)。
  3. 有些区域被云覆盖,有些区域没有。 (5800 中 4305,但我不知道云百分比,在某些样本中可能很高,在其他样本中可能很少)

我的问题:

样本是否不平衡,我该怎么办?

提前致谢。

【问题讨论】:

    标签: image-processing machine-learning keras caffe image-segmentation


    【解决方案1】:

    通常,在分割任务中,如果对于每个图像,属于每个类/段的像素数大致相同(您的问题中的情况 2),则认为他/她的样本“平衡”。
    在大多数情况下,样本永远不会平衡,就像您的示例一样。

    会出什么问题?当有一个片段/类支配样本时,模型可能会发现将所有像素输出为属于主要类/片段更容易。这种持续的预测虽然没有提供信息,但仍然可以产生高精度和小损失。

    我怎样才能检测到这样的错误结果?你可以让"Accuracy"层输出不仅是整体精度,还可以是per-class精度。如果您的模型被“锁定”在一个类上,那么所有其他类的每类准确率将非常低。

    我能做什么?您可以使用"InfogainLoss" 层来赋予其他类上的错误更多的权重,以抵消主导类的影响。

    【讨论】:

    • 感谢您的更正和回复。我将在 caffe 中尝试“InfogainLoss”层。
    • 谁知道如何像 caffe 在 keras 中那样输出每类准确率?
    猜你喜欢
    • 2019-09-24
    • 2020-10-11
    • 2011-10-10
    • 2019-09-05
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    相关资源
    最近更新 更多