Output deconvolutional layer


Could you help clarify what the deconvolutional layer outputs?
I would have expected it to have the same dimensions as the input image for each filter of the deconvolutional layer, with the pixel with the highest value being the predicted joint location (like a probability distribution over pixels). However, it seems that the shapes of input and prediction are different.

Thank you

Hi @bramn22,

Welcome to the forum.

I’m not a deeplabcut expert, but I know some things about CNNs.
“Deconvolutional layer” is a confusing name for it. Better is a “transposed convolution.”

The top answer for this stackoverflow post explains it well.

And includes this nice visualization (which I’ll include here)

If its not clear after checking that out, post back!


Hi @bogovicj,

Thank you for your response.
I understand that the deconvolution layer performs a similar operation to upsampling and a standard convolutional layer, but I am still confused as to what the output of the deeplabcut model is. Is it correct that this is a probability distribution of the same dimensions as the input image (scaled down) where the “pixel” with the highest probability is selected as a body part location corresponding to the current deconvolutional filter?

Hi @bramn22,

I think you’ve got the right idea, but I’ll just rephrase. The output of the network will be N images, where N is the number of markers. Each of those output images corresponds to one marker, and you can interpret the value at a certain pixel in that image to be the probability of finding the corresponding marker at that point.

Fig 7 in this paper visualizes this idea.


1 Like