【问题标题】:Mask for neural network training用于神经网络训练的掩码
【发布时间】:2020-10-19 23:56:26
【问题描述】:

我正在训练一个神经网络,我发现了一个无人机拍摄的照片数据集。它说它有 20 个应该被检测到的类。然而面具看起来都是这样的(对不起,图像真的很暗!): This is my mask

当我尝试训练网络时,它总是说图像只有 3 个通道。 (我认为它可能是 RGB)。问题是我的网络期望掩码有 20 个通道输入(每个类别一个用于检测树、汽车、人类等)。有没有办法将图像转换为 20 通道图像?我查看了蒙版是否只有 20 个不同的像素颜色值,但它有 254 个,所以我认为这与此无关......

谢谢! (这是我在 StackOverflow 上的第一个问题,所以如果问题中有问题,请告诉我!:-))

【问题讨论】:

    标签: python machine-learning computer-vision pytorch multilabel-classification


    【解决方案1】:

    我不确定我是否正确理解了您的问题,但是是的,有一种方法可以对图像进行上采样以使其成为 20 通道输入。您所要做的就是获取原始图像(假设其大小为[batch, height, width, #channels])并将其与内核([#channels, height, width, 20])进行卷积,同时保持填充模式“相同”。这会将您的 3 通道图像转换为 20 通道阵列(不再称其为图像)。

    【讨论】:

    • 您好,感谢您的回答。如果我将我的掩码上采样到 20 通道输入,它不会将我的掩码分成不同的类别。我认为这可能是一个问题?我在想第一个通道就像树,第二个通道是汽车,第三个是人,等等。因为当我只有一个类来检测时,它真的很容易,因为掩码是由 1 和 0 组成的。但是,这里我有20节课。如果我只是通过卷积将我的掩码上采样到 20 个通道,我认为它不会起作用。我可能错了,如果是这样,请纠正我。
    • 我明白了,您的解决方案应该是为数据集中的每个对象创建一个单独的掩码。您所要做的就是获取聚合(联合)蒙版并将其拆分为每个对象,同时保持每个蒙版的大小与原始蒙版相同。我希望这能说明问题。
    • 是的,我想我明白我的错误了。我正在对我的样本进行插值调整,它改变了我的值。如果我不进行调整大小,我只会得到 20 个唯一值。我将首先将我的面具放入虚拟变量中,我会没事的!谢谢
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 2019-03-29
    • 2012-04-02
    • 2018-08-19
    • 2010-11-20
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多