我基本上有一个图像分割问题,其中包含一个图像数据集和为每个图像创建的多个蒙版,其中每个蒙版都对应于图像中的单个对象。所有对象都是相同的类型,但是对象的数量可能会有所不同。我正在尝试使用此数据训练U-Net。

我可以简单地组合所有单独的遮罩以形成一个新的遮罩,并将其作为输出送入网络,但是我觉得与“单独识别对象”有关的有用信息可能会在组合这些遮罩的过程中以某种方式丢失。

我应该并且有办法利用附加信息吗?例如,使网络输出可变数量的掩码,而不是一个掩码(如果可能)。可能会改善网络性能吗?

最佳答案

我正在与您解决同一问题,所以我没有所有答案,但是如果您想分割遮罩,可以对它们进行一次热编码

from keras.utils import to_categorical
masks_one_hot = to_categorical(masks, num_classes=numMasks)


这会将包含多个对象的图像分成5类,因此我的输出向量是:

(numChannels, IMG_WIDTH, IMG_HEIGHT, numMasks)


根据您使用的目标函数,它可能会提高性能-在这种情况下,我认为分类交叉熵是合适的。

08-24 15:15