我正在尝试在cityscapes数据集上训练一个UNET模型,该模型有 20 个“有用的”语义类和一堆可以忽略的背景类(例如天空、自我车辆、山脉、路灯)。为了训练模型忽略这些背景像素,我在互联网上使用了以下流行的解决方案:
ignore_label(例如ignore_label=255:)cross_entropy每个像素预测的损失训练模型ignore_label在cross_entropy损失中提供参数,因此计算的损失会忽略具有不必要类别的像素。但是这种方法有问题。一旦经过训练,模型最终会将这些背景像素分类为属于 20 个类别之一。这是预期的,因为在损失中,我们不会因为模型对背景像素进行的任何分类而惩罚模型。
因此,第二个明显的解决方案是为所有背景像素使用一个额外的类。因此,它是城市景观中的第 21 级。然而,在这里我担心我会教它对这个额外的不必要的类进行分类,从而“浪费”我的模型的能力。
处理背景像素类的最准确方法是什么?
machine-learning deep-learning tensorflow pytorch semantic-segmentation