什么是图像分割的不平衡?

时间:2017-08-28 07:53:14

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

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

例如,我的任务是从卫星图像中掩盖云层,因此我将问题转换为两类分割,一类是云,另一类是背景。该数据集具有5800个4波段16位图像,大小为256 * 256。该体系结构是Segnet,损失函数是二进制交叉熵。

假设有两种情况:

  1. 所有样本中有一半完全由云覆盖,一半没有任何云。
  2. 在每张图片中,一半被云覆盖,一半则没有。
  3. 因此,案例2是平衡的我猜,但案例1怎么样?

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

    因此,样本总是包含三种类型的图像:

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

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

      提前致谢。

1 个答案:

答案 0 :(得分:6)

通常,在分割任务中,人们会考虑他/她的样本和平衡的#34;如果对于每个图像,属于每个类/段的像素数大致相同(问题中的情况2) 在大多数情况下,样本永远不会平衡,就像你的例子一样。

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

如何检测此类错误结果?您可以使"Accuracy"图层输出不仅具有整体精度,还可以per-class精度。如果您的模型被锁定"在单个班级上,所有其他班级的每班级准确度将非常低。

我该怎么办?您可以使用"InfogainLoss"图层为其他类的错误赋予更多权重,以抵消优势类的影响。