the training quality by avoiding variable effective batch sizes.

Training
--------

Our training set consists of several pairs of images ($I_1$, $I_2 \in I_{all} $) with known optical flow displacement between their pixels. We first subtract the mean from each image and divide it by its standard derivation. To create training samples, we randomly extract patches $p_1 \in I_1$ and their corresponding matching patches $p^+_2 \in I_2$, $p_1 \equiv  p^+_2$ for positive training samples. For each $p_1$, we also extract one non-matching patch $p^-_2 \in I_2$, $p_1 \neq p^-_2$ for negative training samples. Negative samples $p^-_2$ are sampled from a distribution $N(p^+_2)$ that prefers patches close to the matching patch $p^+_2$, with a minimum distance to it of 2 pixels, but it also allows to sample patches that are far from $p^+_2$. The exact distribution can be found in our supplementary material.

We only train with pairs of patches where the center pixel of $p_1$ is not occluded in the matching patch $p^+_2$. Otherwise, the network would train the occluding object as a positive match. However, if the patch center is visible we expect the network to be able to deal with a partial occlusion. We use a learning rate 