I am not very clear about some technical details in implementing Fully Convolutional Networks for Semantic Segmentation. The paper discusses three models: fcn32, fcn16 and fcn18. According to this description, for fcn16, looks like the last deconvolutional layer has stride 16. But what is the stride for the skip layer from pool 4. Similarly, for fcn8, looks like the last deconvolutional layer has stride 8. But what is the stride for the skip layer from pool3 and poo4?
In the Tensorflow implementation of this model, author uses
stride=2 for all these skip level cases? Are there any justifications for this?
Moreover, for deconvolutional kernel, we also need to know the kernel size. The paper does not mention that. The above implementation using “kernel size = 4”, which can be found from the following definition, where ksize=4 is setup in defining the _upscore_layer. What should be the criteria for setting up this kernel size.