  Self-driving cars and other autonomous vehicles need to detect and track
objects in camera images. We present a simple online tracking algorithm that is
based on a constant velocity motion model with a Kalman filter, and an
assignment heuristic. The assignment heuristic relies on four metrics: An
embedding vector that describes the appearance of objects and can be used to
re-identify them, a displacement vector that describes the object movement
between two consecutive video frames, the Mahalanobis distance between the
Kalman filter states and the new detections, and a class distance. These
metrics are combined with a linear SVM, and then the assignment problem is
solved by the Hungarian algorithm. We also propose an efficient CNN
architecture that estimates these metrics. Our multi-frame model accepts two
consecutive video frames which are processed individually in the backbone, and
then optical flow is estimated on the resulting feature maps. This allows the
network heads to estimate the displacement vectors. We evaluate our approach on
the challenging BDD100K tracking dataset. Our multi-frame model achieves a good
MOTA value of 39.1% with low localization error of 0.206 in MOTP. Our fast
single-frame model achieves an even lower localization error of 0.202 in MOTP,
and a MOTA value of 36.8%.
