An m-by-n-by-1 image cannot be used as input image in the Fully Convolutional Network FCN ?
Show older comments
Hi, Can you help? I am trying to use the FCN (fully convolutional network) layers for semantic segmentation. Here's the function I used:
lgraph = fcnLayers(InputImageSize, NumberOfClasses);
net = trainNetwork(dstrain,lgraph,options);
Here's the error I got:
Error using trainNetwork (line 184) The training images are of size 256×256×1 but the input layer expects images of size 256×256×3. Error in network_bx (line 114)
My question: I would like to know if FCN layer does not work on m×n×1 or grayscale images. If it does, can you help me to understand why I got the above error when I used images with the size m×m×1?
Answers (2)
Matt J
on 8 Dec 2021
0 votes
I was able to modify the input size in deepNetworkDesigner. No idea what will happen when you try to train it.

14 Comments
Gobert
on 8 Dec 2021
Gobert
on 8 Dec 2021
Gobert
on 8 Dec 2021
Matt J
on 8 Dec 2021
No, it can' produce the same error. You're still training the original version of the network.
Matt J
on 8 Dec 2021
It's not at all clear how you implemented my suggestion. Did you open lgraph in deepNetworkDesigner? What did you do from that point onward?
Gobert
on 8 Dec 2021
Matt J
on 9 Dec 2021
I opened the exported version and did additional modifications and got the following warning:
I didn't get this warning. Not in deepNetworkDesigner at least.
Gobert
on 9 Dec 2021
Matt J
on 9 Dec 2021
I did not attempt to train. My GPU isn't that great.
yanqi liu
on 8 Dec 2021
0 votes
yes,sir,may be change the data load,such as
imageSize = [256 256 3];
augimds = augmentedImageDatastore(imageSize,dstrain,'ColorPreprocessing','gray2rgb');
1 Comment
yanqi liu
on 9 Dec 2021
yes,sir,may be use
trainingImages = imageDatastore('train',...
'IncludeSubfolders',true,...
'LabelSource','foldernames','ReadFcn',@data_preporcess);
function data = data_preporcess(file)
data = imread(file);
if ndims(data) == 2
data = cat(3, data, data, data);
end
data = imresize(data, [256 256], 'bilinear');
data = double(data);
Categories
Find more on Deep Learning for Image Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!