【发布时间】:2019-11-15 05:07:37
【问题描述】:
对于语义图像分割,据我了解,您通常有一个包含图像的文件夹和一个包含相应掩码的文件夹。就我而言,我有尺寸为(32、32、32)的灰度图像。面具自然具有相同的尺寸。标签保存为强度值(值 1 = 标签 1,值 2 = 标签 2 等)。一共4节课。想象一下,我找到了一个使用 keras 模型 API 构建的模型。我如何知道如何准备我的标签数据以使其被模型接受?它取决于损失函数吗?它是否在模型中定义(输入参数)。难道我只是添加另一个维度(4、32、32、32)其中的4代表4个不同的类和one-hot代码吗?
我想为语义分割构建一个 3D 卷积神经网络,但我不明白如何在 keras 中正确输入数据。预测的输出应该是一个 4 通道的 3D 图像,每个通道显示每个像素属于某个类别的概率值。
【问题讨论】:
-
所以你问的是如何输入图像,对于一些预训练模型,如 VGG16、Inception 等,使用你自己的大小?
-
它不必是预训练的模型,只要是适合 3D 灰度图像的任何模型,我都可以训练模型。我只是不明白它在哪里说我的标签数据必须是哪种格式...一般来说是 keras
-
大多数时候输入层是
0层。因此,model.layers[0] = Input(shape(width, height, num_of_channels))应该可以工作。对于不同的型号,可能会有所不同。 (未经测试!) -
这里是一个例子:def isensee2017_model(input_shape=(4, 128, 128, 128), n_base_filters=16, depth=5, n_segmentation_levels=3, n_labels=4, optimizer=Adam, initial_learning_rate= 5e-4,loss_function=weighted_dice_coefficient_loss,activation_name="sigmoid"):
标签: python image keras deep-learning conv-neural-network