
Instead of taking one single latent vector as the input, each block of the generator takes a different latent vector to improve expressiveness. More specifically, we have \(C{=} (\mathbf {c}_0, \cdots , \mathbf {c}_{k-1})\)  for \(k\)  blocks, where each \(\mathbf {c}_i\)  corresponds to one latent vector. We find that this modification leads to outputs with fewer artifacts. This modification is also seen in previous works [1]}, [2]}, [3]}.

To allow conditioning on the additional features from the encoder, we use an additional convolution in each style block for feature fusion:
\(g_i ={\left\lbrace \begin{array}{ll}S_0(\mathbf {c}_0, f_{N}), & \text{if }i = 0, \\S_i(\mathbf {c}_{i}, g_{i-1}, f_{N-i}), & \text{otherwise},\end{array}\right.}\) 
where \(S_i\)  denotes the augmented style block with an additional convolution, and \(g_i\)  corresponds to the output feature of the \(i\) -th augmented style block.

Instead of directly generating outputs from the generator, we output the features \(\lbrace g_i\rbrace \)  and pass them to the decoder to better fuse the features from the latent bank and encoder.

