Clear Filters
Clear Filters

How to train Unet semantic segmentation with only one single class/label?

33 views (last 30 days)
Hello, I'm currently working on a task to do a semantic segmentation on USG image to locate TMJ. I did my image labelling in Image Labeler App and only did one class so that the class region will be 1 and background is 0. I was about to train my model with unetLayers but it says "The value of 'numClasses' is invalid. Expected numClasses to be a scalar with value > 1."
I'm aware that someone asked this similar question here with an answer, but I want to ask, how to customize specifically unetLayers to accomodate single class? I see that unetLayers also has softmaxLayers but i can't find the pixel layers. Thank you in advance!

Answers (1)

Matt J
Matt J on 6 Aug 2024 at 2:55
Edited: Matt J on 6 Aug 2024 at 5:53
The value of 'numClasses' is invalid. Expected numClasses to be a scalar with value > 1
Because you have two classes (0 and 1). There is no such thing as a single class.
I see that unetLayers also has softmaxLayers but i can't find the pixel layers. Thank you in advance!
Where are you looking? The final layer should be the Pixel Classification Layer, as in the following example,
imageSize = [480 640 3];
numClasses = 5;
encoderDepth = 3;
lgraph = unetLayers(imageSize,numClasses,'EncoderDepth',encoderDepth);
lgraph.Layers(end-5:end)
ans =
6x1 Layer array with layers: 1 'Decoder-Stage-3-ReLU-1' ReLU ReLU 2 'Decoder-Stage-3-Conv-2' 2-D Convolution 64 3x3 convolutions with stride [1 1] and padding 'same' 3 'Decoder-Stage-3-ReLU-2' ReLU ReLU 4 'Final-ConvolutionLayer' 2-D Convolution 5 1x1 convolutions with stride [1 1] and padding 'same' 5 'Softmax-Layer' Softmax softmax 6 'Segmentation-Layer' Pixel Classification Layer Cross-entropy loss
  2 Comments
Al
Al on 6 Aug 2024 at 15:59
Edited: Al on 6 Aug 2024 at 16:02
Thank you so much! I think I was panicking with my assignment so I didn't properly notice the layers
Matt J
Matt J on 6 Aug 2024 at 16:33
You're welcome, but please Accept-click the answer to indicate that it resolved your quesiton.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!