I am reading the paper about the fully convolutional network (FCN).

I had some questions about the part where the authors discuss the filter rarefaction technique (I guess this is roughly equivalent to dilated convolution) as a trick to compensate for the cost of implementing a shift-and-stich method.

Consider a layer (convolution or pooling) with input stride $s$, and a subsequent convolution layer with filter weights $f_{i,j}$ (eliding the irrelevant feature dimensions). Setting the lower layer’s input stride to 1 upsamples its output by a factor of s.

  1. How does setting the input stride of the lower layer to 1 leads to upsampling (and not in the reduction of output dimension)? I am confused about what the terminologies lower/higher layer and input/output stride refer to here.

To reproduce the trick, rarefy the filter by enlarging it as
$f'_{i,j} = \begin{align} \begin{cases} f_{i/s,j/s} & \text{if $s$ divides both $i$ and $j$} \\ 0 & \text{otherwise} \end{cases} \end{align}$
(with $i$ and $j$ zero-based). Reproducing the full net output of the trick involves repeating this filter enlargement layer-by-layer until all subsampling is removed.

  1. I was wondering how the rarefaction defined here leads to the filter enlargement. Based on the equation, it seems that $f$ and $f'$ has the same size, with $f'$ having different filter weights based on $s$.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.