No pixel label data found - using the pixelLabelTrainingData function...

7 views (last 30 days)
Hello!
I am working an image semantic segmentation project; I am using the pixelLabelTrainingData function to generate two datastores - one image datastore and the second a pixel datastore.
These are the steps I'm taking:
  1. Using the Image Labeler app to manually define pixel labels on a few images; output from this step is a gTruth object
  2. Use the gTruth object as input into pixelLabelTrainingData; output are two datastores - imds and pxdsTruth
  3. Here I will partition data, then create, train network.
BUT - I am stuck at step 2!
Error using pixelLabelTrainingData>sampleDataSource (line 175)
Unrecognized function or variable 'Error'.
No pixel label data found in any of the input ground truth objects.
Error in pixelLabelTrainingData (line 124)
sampleIndices = sampleDataSource(gTruth, labelDefs, samplingFactor);
Attached is the gTruth object I am using.... any help would be greatly appreciated!!
  2 Comments
Walter Roberson
Walter Roberson on 24 Dec 2021
My guess would be that at line 175 of pixelLabelTrainingData that there is a call to Error() that should have been a call to error()
The error that it is trying to show would be
No pixel label data found in any of the input ground truth objects.
and the corrected line would be
error(message('vision:pixelLabelTrainingData:NoPixelLabelsInGroundTruth'));
This is line 193 for R2021b but could well be earlier for your R2020a.
Emmanuel J Rodriguez
Emmanuel J Rodriguez on 24 Dec 2021
Thank you for this. Any suggestion as to how I can use this information to solve my issue?
The error indicates that there is...
NoPixelLabelsInGroundTruth
... but the attached gTruthTraining.mat file DOES contain PixelLabel. Thanks again.

Sign in to comment.

Answers (3)

yanqi liu
yanqi liu on 24 Dec 2021
yes,sir,when load the mat file,all field is empty, please check,such as
a = load('gTruthSeq.mat');
Warning: The data source points to a directory that cannot be found.
'C:\CFP\building'
Update the DataSource using changeFilePaths method.
a.gTruth.LabelDefinitions
ans = 3×5 table
Name Type PixelLabelID Group Description ____________ __________ ____________ ________ ___________ {'Sky' } PixelLabel {[ 1]} {'None'} {0×0 char} {'Lawn' } PixelLabel {[ 2]} {'None'} {0×0 char} {'Building'} Rectangle {0×0 double} {'None'} {0×0 char}
  6 Comments
Emmanuel J Rodriguez
Emmanuel J Rodriguez on 24 Dec 2021
Okay:
View exported pixel label data
unlabeledImg = readimage(imdsTrain,1); % Unlabeled
imshow(unlabeledImg);
Define categories for each pixel value in labeledImg.
labelIDs = [gTruth.LabelDefinitions.PixelLabelID{1},gTruth.LabelDefinitions.PixelLabelID{2}];
labelCats = ["Part", "Build_plate"];
Construct a categorical matrix using the image and the definitions.
buildLabelCats = categorical(pixelLabeledImg,labelIDs,labelCats);
Display the categories overlaid on the image.
figure;
imshow(labeloverlay(unlabeledImg,buildLabelCats))
Doesn't all of this look "normal"? - I don't understand why the below function is not working?
[imds,pxdsTruth] = pixelLabelTrainingData(gTruth,'SamplingFactor',5,'WriteLocation','TrainingData\');
No pixel label data found in any of the input ground truth objects.
sampleIndices = sampleDataSource(gTruth, labelDefs, samplingFactor);
yanqi liu
yanqi liu on 24 Dec 2021
yes,sir,i think the gTruth.LabelData , labelDefs may be empty,please debug,such as

Sign in to comment.


Chong Kian Chee
Chong Kian Chee on 5 Jan 2022
Edited: Chong Kian Chee on 9 Jan 2022
Hi, may I know if the issue is resolved? I am facing the same issue here!
%%%Updated on 8 January 2022%%
I hope this is stil helpful, the problem is due to the rectangle ROI which does not have PixelLabelID. This might due to the non-pixel labelling ROI that you had used to label ur dataset in the ImageLabeller. To convert this rectangle ROI into a pixel label with a pixel ID, refer to the link below:
https://www.mathworks.com/help/vision/ug/label-objects-using-polygons.html
Hope this resolve your issue , cheers :)

Jose Agustin Barrachina
Jose Agustin Barrachina on 28 Apr 2022
Same issue here... Any insight? What is exactly the issue? My LabelData looks like the attached image. I only labeled one of the 3 images (because I only care about that one). Is that the issue?

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!