在Python中使用U-net与3通道输入图像进行图像分割。

问题描述 投票:0回答:1

我使用的是 联网 用于图像分割,使用概述的代码 在此.

我的输入图像是256x256x3.而对应的分割掩模是256x256。

我把输入的大小改成了Unet.而输出的网络则是256x256x1层。

def unet(pretrained_weights = None,input_size = (256,256,3)):

并得到一个256x256x1层的网络输出

conv2d_144 (Conv2D)             (None, 256, 256, 1)  2           conv2d_143[0][0]  

查看完整架构 此处.

当我尝试使用.fit_generator运行时,我得到以下错误。

ValueError: Error when checking target: expected conv2d_144 to have shape (256, 256, 1) but got array with shape (256, 256, 3)

我可以做什么来解决这个问题?请让我知道我可以提供什么额外的信息!

谢谢你

PS:我的输出中有三个类,可能是这个原因吗?

python keras image-segmentation unity3d-unet
1个回答
0
投票

你必须决定是否要为你的图像输入RGB或灰度:要么将你的图像转换为灰度,要么改变conv层。另一种选择是将256x256x3的输入扁平化为一个维度,并将其作为输入。

© www.soinside.com 2019 - 2024. All rights reserved.