An m-by-n-by-1 image cannot be used as input image in the Fully Convolutional Network FCN ?
1 view (last 30 days)
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?
2 Comments
Answers (2)
Matt J
on 8 Dec 2021
I was able to modify the input size in deepNetworkDesigner. No idea what will happen when you try to train it.
14 Comments
yanqi liu
on 8 Dec 2021
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);
See Also
Categories
Find more on Image Data Workflows 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!