How to understant the Semantic Segmentation Problem

Hello, friends.

I am trying to perform a separated task of semantic segmentation but using the things I learned in the course.

However, I was checking the images and masks used in the course and I found out that the masks made available has only one masking value which is 1, rather then a series of segmentation objects with a different number each. Shouldn’t there be in the masks regions with 1 (trees), with 2 (houses), 3 (street), 4 (street paintings)?

I loaded one of the masks the 049296.png. Check the image and the mask:

the image:

Hi leodmachado,

The assignment uses 23 output channels, translated into 23 mask values. This is controlled by the n_classes variable. These 23 output channels relate to 23 values in the original masking used to mask various objects. Did you use these 23 values in your own task?

1 Like

Those points I understood… however I downloaded the masks used in the exercise expecting to find those 23 chanels in the mask images. Although I only founded 2 Chanel’s: 0 and 1. That’s what I didn’t get. Wasn’t there supposed to be those 23 Chanel’s (pixel values) or something between 1 and 23 channels?

In my experiment I’ll have only tow Chanel’s, 0 and 1. Foreground and background.

I am trying to understand the construction of the masks, so I can prepare my own experiments.

I guess I figured it out. The thing is the masks are RGB images… and the labeling info is in the channel 0. I was printing the image directly… that is why it was messy and meaningless.

Thanks again.

Yes, for anyone wondering about this, you can see all the labels if you use ‘for m in mask[:,:,0]: print(m)’