What is deconvolution operation used in Fully Convolutional Neural Networks?
Upsampling layer is used to increase the resolution of the image. In segmentation, we first downsample the image to get the features and then upsample the image to generate the segments. 

For deconvolution operation we pad the image with zeroes and then do a convolution operation on that, hence it is upsampled.

For eg: - If after downsampling the images becomes:

[[1, 1]
[1, 1]]


Then if we pad it with zeroes, 

[[0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0]
 [0, 0, 1, 1, 0, 0]
 [0, 0, 1, 1, 0, 0]
 [0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0]]


Now, if we do convolution on the above image with a 3 x 3 filter, we will get an image of shape (4, 4). Thus we upsampled an image of shape (2, 2) to (4, 4).