any form of pre-training. The main differences with respect to the original implementation are the use of In-Place Activated Batch Norm (iABN) [@RotPorKon18a], which provides memory savings that enable the second difference, namely the joint training of forward and backward flow. We then run our trained flow network on pairs of consecutive frames in [KITTI Raw]{}in order to determine a *dense* pixel-to-pixel mapping between them. In more detail, for each frame $t$ we compute the backward mapping $\overleftarrow f_{t}:\mathbb R^2\to\mathbb R^2$, which provides for each pixel of frame $t$ the corresponding pixel in frame $t-1$.

![image](architecture.pdf){width="\textwidth"}

#### Tracklets generation.

In order to represent the tracklets that we have collected up to frame $t$, we use a graph ${\ensuremath{\mathcal{G}}}_t=({\ensuremath{\mathcal{V}}}_t, {\ensuremath{\mathcal{T}}}_t)$, where vertices are all segments that have been extracted until the $t$th frame, ${\ensuremath{\mathcal{V}}}_t=\bigcup_{j\geq 1}^t\mathcal S_j$, and edges ${\ensuremath{\mathcal{T}}}_t\subseteq {\ensuremath{\mathcal{V}}}_t^2$ provide the matching segments across consecutive frames. We start by initializing the graph in the first frame as ${\ensuremath{\mathcal{G}}}_1=({\ensuremath{\mathcal{S}}}_1, \emptyset)$. We construct ${\ensuremath{\mathcal{G}}}_{t}$ for $t>1$ inductively from ${\ensuremath{\mathcal{G}}}_{t-1}$ using the segments ${\ensuremath{\mathcal{S}}}_t$ extracted at time $t$ and the mapping $\overleftarrow f_{t}$ according to the following procedure. The vertex set ${\ensuremath{\mathcal{V}}}_t$ of graph ${\ensuremath{\mathcal{G}}}_t$ is given by the union of the vertex 