Semantic segmentation using numeric array training input

Illustration
tiyakar_12 - 2021-05-27T19:53:33+00:00
Question: Semantic segmentation using numeric array training input

I have a series of P images, each MxNxC (in other words C channels) organized as a 4D numeric array X where size(X) is [M,N,C,P]. I have a corresponding series of P label maps organized as a 3D numeric array Y where size(Y) is [M,N,P].   Question: How do I convert this input to a form that can be fed to trainNetwork() in a semantic image segmentation application?   I know that trainNetwork has an input syntax,   trainedNet = trainNetwork(X,Y,layers,options) but the documentation does not discuss the format of Y for semantic segmentation problems.

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

In case you have images with their ground truth image files, you can create image datastore and a pixelLabelDatastore and pass it to trainNetwork function using the following command.
 
 
%imds = imageDatastore(imageDirectory); %Image DataStore
%pxds = pixelLabelDatastore(pixelatedImageDirectory,classNames,pixelLabelID); %PixelLabel DataStore
trainingData = pixelLabelImageDatastore(imds,pxds); 
net = trainNetwork(trainingData,layers,opts); 

Currently the support for directly using a 4D Numeric array is not present so you may have to convert the array into set of images and store then in files accordingly.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!