对于语义图像分割,我了解到您经常有一个包含图像的文件夹和一个具有相应遮罩的文件夹。就我而言,我有尺寸为(32、32、32)的灰度图像。掩模自然具有相同的尺寸。标签将保存为强度值(值1 =标签1,值2 =标签2等)。共4节课。想象一下,我发现了一个使用keras模型API构建的模型。我如何知道如何准备标签数据以供模型接受?是否取决于损失函数?是否在模型中定义(输入参数)。我是否只需添加另一个维度(4、32、32、32),其中4代表4个不同的类和一个热门代码呢?
我想建立一个3D卷积神经网络进行语义分割,但是我不明白如何正确地在keras中输入数据。预测的输出应该是4通道3D图像,每个通道显示每个像素属于特定类别的概率值。
答案 0 :(得分:0)
Input()
函数定义给定模型的输入张量的形状。对于3D图像,通常需要5D张量,例如(None, 32, 32, 32, 1)
,其中“无”是指批次大小。因此,训练图像和标签必须重塑。 Keras提供了to_categorical
函数来对标签数据进行一次热编码(这是必需的)。生成器的使用有助于输入数据。在这种情况下,我不能使用来自keras的ImageDataGenerator,因为它只能处理RGB和灰度图像,因此必须编写自定义脚本。