## Why do we use a softmax activation function in Convolutional Autoencoders?

2

I have been working on an image segmentation project where I have created a convolutional autoencoder. I saw this image and implemented it using Keras.

At the output layer, the author has used the softmax activation function. Shouldn't it be ReLU?

According to me, this seems to be a regression problem, where we need to predict the continuous values for the segmented image pixels. If so, why are we using a softmax function, instead of ReLU or a linear function?