Keras 中的语义分割数据和模型编译

数据挖掘 深度学习 喀拉斯 优化 损失函数 美国有线电视新闻网
2022-02-06 00:10:50

我有用于语义分割的多标签数据。对于一个类的语义分割,我得到了很高的准确度,但对于多类分割我做不到。

我有 6 个类标签,所以我的 Y 训练矩阵等于 [78,480,480,6](“通道最后一个”),其中 78 - 图像数量 480,480 - 图像大小,6 个掩码和 X 训练矩阵 [78, 480, 480 , 1]

我的 CNN 模型的最后几行:

l = Conv2D(filters=64, kernel_size=(1,1), activation='relu')(l)
output_layer = Conv2D(filters=6, kernel_size=(1,1), activation='sigmoid')(l)

model = Model(input_layer, output_layer)
model.compile(optimizer=Adam(2e-4), loss='categorical_crossentropy', metrics=['accuracy'])

我不知道我做错了什么,我的多标签语义分割模型没有正确的结果。

图像和蒙版:

图像和蒙版

1个回答

突出的两件事是您使用 sigmoid 作为用于二进制分类的激活(它只是将值压缩在 0 和 1 之间)。另一个是你的学习率比默认值低 5 倍。

也因为您正在对图像进行分类,我认为标题具有误导性;语义与“意义”相关联,即与语言相关联。