# FCNs: Questions about the filter rarefaction in the CVPR paper [Long et al., 2015]

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$$.