and random negatives, we also train on proposals generated by the RPN network. This helps the track branch becoming more robust to noise in the target location at time $t$. For this, we consider as positive any proposal that has an intersection-over-union (IoU) of at least 0.5 with a ground truth bounding box. Given a pair of frames, we compute this loss between every proposal in frame $t$ and its corresponding region in frame $t+\delta$ and then average over all of them. Finally, as an additional data augmentation we also compute the inverse tracking from $t+\delta$ to $t$, as this comes almost for free, given that the majority of the computation is spent obtaining the frames’ feature vectors from the CNN backbone (fig. \[figure:siamese\_track\_rcnn\]).

Re-id branch
------------

The track branch presented in the previous section only performs short-term tracking, as it can only continue tracks while they are visible. When heavy occlusion happens, we reinstate tracks when they become visible again by employing a re-identification branch that produces an instance-discriminatory embedding for every person instance.\
[**Training.**]{} We model our re-id branch as a fully-connected network and train it with a triplet loss [@hermans2017defense]: $$\ell_{reid} = \max(0, \max_{q \in \mathcal{P}^p} d(p, 