April 30, 2024
Tracking objects in three-dimensional space is critical for autonomous driving. To ensure safety while driving, the tracker must be able to reliably track objects across frames and accurately estimate their states such as velocity and acceleration in the present. Existing works frequently focus on the association task while either neglecting the model’s performance on state estimation or deploying complex heuristics to predict the states. In this paper, we propose STT, a Stateful Tracking model built with Transformers, that can consistently track objects in the scenes while also predicting their states accurately. STT consumes rich appearance, geometry, and motion signals through long term history of detections and is jointly optimized for both data association and state estimation tasks. Since the standard tracking metrics like MOTA and MOTP do not capture the combined performance of the two tasks in the wider spectrum of object states, we extend them with new metrics called S-MOTA and MOTP\(_\text{S}\) that address this limitation. STT achieves competitive real-time performance on the Waymo Open Dataset.
3D Multi-Object Tracking (3D MOT) plays a pivotal role in various robotics applications such as autonomous vehicles. To avoid collisions while driving, robotic cars must reliably track objects on the road and accurately estimate their motion states, such as speed and acceleration. While development of 3D MOT has made much progress in recent years, most methods [1]–[3] still use approximated object states as intermediate features for data association without explicitly optimizing model performance on state estimation. Although some tracking methods [4]–[7] exist that predict motion states, they often do so by employing filter-based algorithms such as the Kalman filter (KF) with complex heuristic rules [1], [3], [8] to estimate object states and cannot easily utilize appearance features or raw sensor measurements in a data-driven fashion [9]. While there are machine learning-based methods [10] that add prediction heads to detection models to estimate motion states, they struggle to produce consistent tracks from long-term temporal information due to computational and memory limitations.
To address the limitations of existing approaches, we introduce STT, a Stateful Tracking model with Transformers, which combines data association and state estimation into a single model. At the core of our model architecture are a Track-Detection Interaction (TDI) module that performs data association by learning the interaction between a track and its surrounding detections and a Track State Decoder (TSD) that produces the state estimation of the tracks.
All the modules are jointly optimized (Figure 2), which allows STT to obtain superior performance while simplifying the system complexity.
Existing tracking evaluation mainly use multi-object tracking accuracy (MOTA) and multi-object tracking precision (MOTP) [11] to measure the association and localization quality, but they do not take the quality of other states into account such as velocity and acceleration. To explicitly capture the full state estimation quality of the tracking performance, we extend the existing evaluation metric MOTA to Stateful MOTA (S-MOTA) which enforces accurate state estimation during label-prediction matching, and MOTP to MOTP\(_\text{S}\) which applies to arbitrary state variables so that we can assess the quality of the state estimation beyond position.
To demonstrate the effectiveness of our STT model, we conduct extensive experiments on the large-scale Waymo Open Dataset (WOD) [12]. Our model achieves competitive performance with 58.2 MOTA and state-of-the-art results in our extended S-MOTA and MOTP\(_\text{S}\) metrics. We conduct comprehensive ablation studies for STT, which allows us to better understand its performance.
The contributions of this work are summarized as follows:
We propose a 3D MOT tracker which tracks objects and estimates their motion states in a single trainable model.
We extend the existing evaluation metrics to S-MOTA and MOTP\(_\text{S}\) to evaluate tracking performance that explicitly considers the quality of the state estimation.
Our proposed model achieves improved performance over strong baselines with standard metrics and state-of-the-art results with the newly extended metrics on the Waymo Open Dataset.

Figure 1: Illustration of S-MOTA metric. MOTA [13] only considers IoUs in label-prediction matching, and does not reveal state errors (e.g., velocity error shown in the figure). This limitation is addressed by S-MOTA via an additional thresholding step to assess the accuracy of predicted state..
2D Multi-Object Tracking [13]–[15] aims to track objects in crowd scenes [10], [16]–[31], and the dominant methods follow a tracking-by-detection paradigm [32]–[36]. 2D MOT approaches rarely estimate the motion state of objects since it is challenging to perform 3D state estimation from 2D data and the motion states estimated from a perspective view are often not informative for downstream modules in autonomous driving.
3D Multi-Object Tracking is a popular problem in autonomous driving [37]–[42]. Compared to 2D tracking, this problem space is less explored. Prior works in 3D tracking have primarily relied on Kalman Filters [2], [3], [43], as seen in numerous state-of-the-art methods on the Waymo Open Dataset. Other works explore learning-based solutions [44], [45]. Unlike these works that either ignore or separate the state estimation task from association task, our STT model can learn these two tasks together.
State Estimation is a problem domain where the goal is to predict the state of an object including its dynamic attributes (e.g., speed, acceleration) and semantic attributes (e.g., object type, appearance). Existing tracking solutions primarily focus on the dynamic attributes for state estimation, as these are highly correlated with tracking performance. Common practices include predicting them using a motion filter that smooths estimations over time [2], [3] and including them as an output in an object detection model [10], [46]. Compared to these methods, our approach has a dedicated machine learning module that can encode the temporal features from a detection model and predict accurate object state.
In Multi-Object Tracking Evaluation, the most commonly used metric [12], [47] is the MOTA [11], [13]. It captures both the detection box quality and tracking performance. However, it only explicitly evaluates the position result and does not directly evaluate other object states. MOTP [11] also only considers the localization error of the positive matches in MOTA. The stateful metrics we propose consider a wider range of state estimates jointly with association, and thus better reflect the overall tracking quality. While MOTA can be combined with other standalone metrics for assessing the state estimation [47], S-MOTA uses a single unified metric that highlights the estimation quality across all states and MOTP\(_\text{S}\) offers fine-grained evaluation on any generic state. Other tracking metrics like IDF1 [48] and HOTA [49] put more emphasis on data association quality and are complementary to our proposed metrics.

Figure 2: Overview of STT. We first use the Detection Encoder to encode all of the 3D detections and extract temporal features for each track. The temporal features are fed into the Track-Detection Interaction module to aggregate information from surrounding detections and produce association scores and predicted states for each track. The Track State Decoder also takes the temporal features to produce track states in the previous frame \(t-1\). All modules are jointly optimized..
In this section, we will first formalize the tracking problem and then describe the architecture of our STT model. We will cover its training and inference process and discuss our new tracking metrics that cover a wide spectrum of the object states. An overview of STT is shown in Figure 2.
The goal of the tracking problem discussed in this paper is to maintain a set of tracks \(\vec{\tau}_1^t, \vec{\tau}_2^t, \ldots, \vec{\tau}^t_{N^t}\) for the \(N^t\) objects in a scene at time \(t\), where each tracklet \(\vec{\tau}_n^t = [S_n^{t_{k}}, \ldots, S_n^t]\) consists of a list of state vectors \(S_n^t\) from \(t_{k}\) to the current time \(t\). The state vector \(S_n^t\) is defined as \(S_n^t = [\{s\}|_{s \in \mathcal{S}}]\), where \(s \in \mathbb{R}^{d_s}\) is a \(d_s\)-dimensional vector representing state type \(s\), \(\mathcal{S}\) is the set of state types being considered, and \([\cdot]\) is the concatenation operation. In this work, we model states \(S_n^t = [\mathbf{x}, \mathbf{v}, \mathbf{a}] \in \mathbb{R}^6\), i.e., the concatenation of position \(\mathbf{x} \in \mathbb{R}^2\), velocity \(\mathbf{v}\in \mathbb{R}^2\), and acceleration \(\mathbf{a}\in \mathbb{R}^2\). Each state type is defined over the \(XY\) plane, as objects on the road rarely move alone the \(Z\) direction. Nevertheless, the problem can be easily generalized to the \(Z\) direction.
Assume that the tracks are given as \(\vec{\tau}_1^{t-1}, \vec{\tau}_2^{t-1}, \ldots, \vec{\tau}^{t-1}_{N^{t-1}}\) at time \(t-1\), and a new set of 3D detection are given at time \(t\) as \(p_1, p_2, \ldots, p_{N^t}\), where \(p_i = (b_i, o_i, f_i)\) with bounding box \(b_i\), appearance features \(o_i\), and confidence score \(f_i \in [0, 1]\). The box \(b_i \in \mathbb{R}^7\) contains the position \((x, y, z)\), sizes (width, length, height), and heading. The tracking problem is then defined as computing the tracks \(\vec{\tau}_1^t, \ldots, \vec{\tau}^t_{N^t}\) and their states \(S_1^t, \ldots, S_{N^t}^t\) at time \(t\). Note that \(N^t\) can be different from \(N^{t-1}\), as new tracks can be created and the existing tracks can be deleted due to the lack of observations.
As a tracking model, STT can interact with arbitrary 3D detection models. To ensure that STT can learn a descriptive embedding that captures the geomtry, appearance, and motion features of the detection, we design a Detection Encoder (DE) to encode the detection outputs:
\[\text{emb}(\text{det}_i) = \text{DE}(g_i, a_i, m_i, \mathbf{\theta}_{\text{DE}})\] Let \(\text{det}_i\) denote the \(i\)th detection, and let \(g_i, a_i, m_i\) be the corresponding geometry, appearance, and motion features for this detection respectively. \(\mathbf{\theta}_{\text{DE}}\) are the learned parameters of DE. DE is implemented as a multilayer perceptron (MLP) in our model.
After the DE comes a Temporal Fusion (TF) model that combines these detection embeddings over time to create a temporal embedding that describes each track’s history. To better model the historical context of a track \(\vec{\tau}_j^{t-1}\), we apply a self-attention model to the associated detection embeddings and obtain the track query \(Q_{\vec{\tau}_j^{t-1}}\) at time \(t-1\): \[\label{eq1} \begin{align} Q_{\vec{\tau}_j^{t-1}} = \text{TF}(\{\text{emb}(\text{det}_i)|i=1,...,t-1\}, \mathbf{\theta}_{\text{TF}}) \end{align}\tag{1}\] where \(\text{det}_i \in \mathbf{Det}(\vec{\tau}_j^{t-1})\), and \(\mathbf{Det}(\vec{\tau}_j^{t-1})\) is the set of associated detections for track \(\vec{\tau}_j^{t-1}\) until time \(t-1\). After self-attention, TF aggregates the embeddings \(\mathbb{R}^{1\times T \times D_q}\) across time and outputs the self-attended embedding in \(\mathbb{R}^{1 \times D_q}\) at time \(t-1\). \(T\) is the track length, \(D_q\) is the feature size, and \(\mathbf{\theta}_{\text{TF}}\) are the learned parameters.
For a track \(\vec{\tau}_j^{t-1}\) at time \(t\), the track query \(Q_{\vec{\tau}_j^{t-1}}\) encodes its history up to time \(t-1\). Therefore, we can directly predict the state \(\mathbf{S}_{t-1}\) for every track with a light-weight Track State Decoder (TSD) module: \[\boldsymbol{S}_{t-1} = G(\mathbf{Q}_{t-1}, \mathbf{\theta_g})\] where \(\mathbf{Q}_{t-1}\) is the list of all the track queries. \(G\) is a MLP and \(\mathbf{\theta_g}\) are its learned parameters. TSD helps us supervise the track embedding, but it is also useful as a stand-alone state estimator for a given track embedding at any given timestamp. We will elaborate more on how this decoder is used during a typical tracker update loop in Section 3.4.
The Track-Detection Interaction (TDI) module calculates the relationship between tracks and their surrounding context detections at time \(t\). For each track \(\vec{\tau}_j^{t-1}\) from time \(t-1\), we select \(k\) context detections \(\mathbf{K}_n\) from all the detections \(\mathbf{M}\) at time \(t\) in a small area around the track: \[\mathbf{K}_n = \{b_i |D(\text{pred}(\vec{\tau}_j^{t-1}), b_i) < d, b_i \in p_i, p_i \in \mathbf{M}\}\] where \(D\) computes the distance between detection \(b_i\) and the track’s state estimation \(\text{pred}(\vec{\tau}_j^{t-1})\) at time \(t\). During training, we directly use the ground truth state at time \(t\) to represent \(\text{pred}(\vec{\tau}_j^{t-1})\). During inference, we extrapolate the estimated track state at time \(t-1\) to time \(t\) to search for the context detections effectively before running the model. In practice, we set threshold \(d\) to be small enough for efficiency, but large enough to ensure that all the detections of true positive association for track \(\vec{\tau}_j^{t-1}\) are included in the context set \(\mathbf{K}_n\).
We use the same Detection Encoder to create the detection embeddings \(\mathbf{C_i}\) in \(\mathbf{K}_n\). The TDI module then takes the list of queries \(\mathbf{Q}_{t}\) and \(\mathbf{C_i}\) as input to predict the association scores for all the tracks and detections: \[\mathbf{AS} = \text{TDI}(\mathbf{Q}_{t}, \mathbf{C_i}, \mathbf{\theta}_{\text{TDI}})\] where \(\mathbf{\theta}_{\text{TDI}}\) are learned parameters. \(\mathbf{AS}=\{AS\}\), where \(AS \in \mathbb{R}^{1\times k}\) are the association scores between a track query \(Q_{\vec{\tau}_j^{t-1}}\) and the \(k\) context detections. TDI is a transformer-based model [50] with an added MLP to predict the track state at time \(t\) after cross-attending to the context detections.
Our model is jointly trained using a data association loss \(L_d^t\) and state estimation losses \(L_s^{t}\), \(L_s^{t-1}\): \[L_{\text{total}} = \gamma L_d^t + \lambda L_s^{t} + \alpha L_s^{t-1}\] where \(\gamma\), \(\lambda\), and \(\alpha\) are the weight of each loss term. We optimize the per-track query with per box association loss. Let \(AS_i\) be the association score between the track query \(Q_{\vec{\tau}_j^{t-1}}\) and one of its context detections \(\text{det}_i\). And let \(y\) be the ground-truth association with 0 as “not associated” or 1 as “association” Then the loss of this pair is: \[L(Q_{\vec{\tau}_j^{t-1}}, \text{det}_i) = -{(y\log(AS_i) + (1 - y)\log(1 - AS_i))}\] For each track query, the total association loss is computed against all of its context detections as: \[L_d^t = \sum_{i=1}^{k} L(Q_{\vec{\tau}_j^{t-1}}, \text{det}_i)\] where \(k\) is the number of context detections.
The state estimation losses are the L1 loss between the predicted states and the ground truth states for each track at time \(t\) (via the output of TDI module) and \(t-1\) (via the output of the TSD module): \[L_s^t = \left|\boldsymbol{S}_j^t - \boldsymbol{S}_j^{*t} \right|, L_s^{t-1} = \left|\boldsymbol{S}_j^{t-1} - \boldsymbol{S}_j^{*t-1} \right|\] where \(S_j^{*t}\) and \(S_j^{*t-1}\) is the ground truth state for the track \(\vec{\tau}_j^{t}\) and \(\vec{\tau}_j^{t-1}\) respectively.
During tracking inference, we apply STT over the laser stream frame by frame. For each frame at time \(t\), a 3D object detection model is first applied over the laser spin to get all \(N\) detection boxes. For each detection box, its geometry features, appearance features, and confidence score are collected as \({p_n^t}\), while \(p^t\) is the list of all the detections’ feature vectors. For all tracks produced from the previous frame at time \(t-1\), we cache their learned track query \(\mathbf{Q}_{t-1}\). Then, the TDI module is applied over the queries \(\mathbf{Q}_{t-1}\) and all detection embeddings \(\mathbf{emb}(p^t)\) to produce the association likelihood 2D matrix \(\mathbf{AS}\) between all the tracks and boxes.
The Hungarian matching algorithm [51] is then applied over \(\mathbf{AS}\) to produce the assignment result. If the association score is lower than a pre-defined threshold, a new track will be created. Otherwise, the detection will be assigned to an existing track query and appended to its history. For the first frame of a track, all the detected boxes are treated as new tracks and their initial states (e.g. velocity and acceleration) will be set to \(0\). For all the subsequent frames, we use TSD to predict state for the track at time \(t\) as we find that it is slightly better than the output of TDI.
MOTA [11] is one of the most commonly used metrics for multiple object tracking. Computing MOTA involves a matching step similar to the evaluation of object detection. A given prediction-label pair \((p, g)\) is only considered for matching if their IoU is larger than a given threshold: \[C(p, g) = \begin{cases} 1 - U(p, g), & \text{if U(p, g) > t_u} \\ +\infty, &\text{otherwise} \end{cases}\] \(U(\cdot)\) is the IoU function and \(t_u\) is a class-specific threshold. \(C(\cdot)\) denotes the cost function of the matching algorithm. Consequently, MOTA primarily evaluates the quality of the detections as well as the predicted associations. The only component of the states defined in Section 3.1 evaluated here is the location (i.e., the detection box center), and the prediction accuracies of other states are only indirectly evaluated through the improvements they may bring to association.
To better evaluate data association and state estimation, we extend the MOTA to Stateful Multiple Object Tracking Accuracy (S-MOTA). This is computed using the same procedure as standard MOTA, but with additional requirements in the state estimation for a given prediction-label pair to be matched. Accurate state estimation such as a vehicle’s velocity is critical for autonomous driving. In S-MOTA, the state estimation error of each pair must be below a class- and state-dependent threshold to allow matching: \[C(p, g) = \begin{cases} 1 - U(p, g), & \parbox{1.2in}{if U(p, g) > t_u and \cap_{s \in \mathcal{S}} \|p_s - g_s\| < t_{u,s}} \\ +\infty, &\text{otherwise} \end{cases}\] Let \(p_s\) and \(g_s\) denote predicted/ground-truth state vectors of type \(s\). \(\mathcal{S}\) is the set of states considered for the evaluation, and \(t_{u,s}\) is the threshold for state type \(s\) and class \(u\). Hence, maximizing S-MOTA requires track predictions to both have proper associations across time as well as reasonably close state predictions. For this work, \(\mathcal{S}\) consists of velocity and acceleration. In principle, however, any combination of state types from a tracker can be used to derive a S-MOTA metric.
The extended S-MOTA metric is designed to provide a comprehensive evaluation of tracking performance, including state estimation. As a complement, we extend the MOTP to Multiple Object Tracking Precision for General States (MOTP\(_\text{S}\)) to provide more fine-grained evaluation on the state estimation accuracy. Given the set \(\mathcal{M}\) containing pairs of predictions \(p\) and label \(g\) which are matched during MOTA computation, MOTP\(_\text{S}\) computes the average L2 error for each state type to measure the magnitude of the state error, i.e., for each state type \(s \in \mathcal{S}^*\): \[\text{MOTP}_s(\mathcal{M}) = \tfrac{1}{|\mathcal{M}|}\sum_{(p, g) \in \mathcal{M}}\|p_s - g_s\|\]
We can further measure the count of objects with large state estimation errors, i.e., \[\left|\text{MOTP}_s(\mathcal{M})\right| = \left|\{(p, g) \in \mathcal{M} ~~| ~~\|p_s - g_s\| > \alpha_s\}\right|\] where \(\alpha_s\) is a threshold for state \(s\). Note that MOTP\(_\text{S}\) is consistent with the definition of MOTP. In fact, the latter is a specific version of the former in the localization state. Rather than defining a single metric that aggregates across states, we use separate MOTP\(_\text{S}\) metrics for each state type to highlight the performance of each type of state individually.
The evaluation dataset has a disproportionate amount of stationary objects. To ensure that the metrics properly evaluate performance on objects with different types of motion, we report the L2 state error in three different speed breakdowns: static, slow moving objects, and fast moving objects. We also count the number of predictions with L2 error larger than the threshold \(\alpha_s\) to focus on challenging cases where the predictions are off significantly.
| Method | Vehicle | Pedestrian | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2-6 (lr)7-11 | S-MOTA\(\uparrow\) | MOTA\(\uparrow\) | FP\(\downarrow\) | Miss\(\downarrow\) | Missmatch\(\downarrow\) | S-MOTA\(\uparrow\) | MOTA\(\uparrow\) | FP\(\downarrow\) | Miss\(\downarrow\) | Missmatch\(\downarrow\) |
| CenterPoint [8] | - | 55.1 | 10.8 | 33.9 | 0.26 | - | 54.9 | 10.0 | 34.0 | 1.13 |
| SimpleTrack [1] | - | 56.1 | 10.4 | 33.4 | 0.08 | - | 57.8 | 10.9 | 30.9 | 0.42 |
| CenterPoint++ [8] | - | 56.1 | 10.2 | 33.5 | 0.25 | - | 57.4 | 11.1 | 30.6 | 0.94 |
| Immortal Tracker [3] | - | 56.4 | 10.2 | 33.4 | 0.01 | - | 58.2 | 11.3 | 30.5 | 0.26 |
| Kalman Filter (Ours) | 34.6 | 56.5 | 10.6 | 32.8 | 0.1 | 41.8 | 59.7 | 10.1 | 29.6 | 0.5 |
| STT (Ours) | 48.0 | 58.2 | 10.4 | 31.3 | 0.1 | 55.2 | 59.9 | 10.2 | 29.6 | 0.3 |
| TrajectoryFormer [52] | - | 59.7 | 11.7 | 28.4 | 0.19 | - | 61.0 | 8.8 | 29.8 | 0.37 |
Datasets. We evaluate our STT model on the Waymo Open Dataset [12], which contains \(798\) sequences for training, \(202\) sequences for validation, and \(150\) sequences for testing. Each sequence lasts \(20\) seconds at \(10\) Hz. Following other popular methods, we evaluate our method on vehicles and pedestrians for the LEVEL 2 difficulty setting [12], which is more diffcult than LEVEL 1 because it includes objects with fewer than five laser points in their boxes. LEVEL 2 also includes all the objects in LEVEL 1.
Training details. Our model is jointly trained on \(16\) TPUs with a batch size of \(512\). The AdamW [53] optimizer is used with \(0.03\) weight decay. The initial learning rate is \(0.0001\) with linear learning rate decay of \(0.5\). The model is trained for \(125,000\) steps, including \(1,000\) warm-up steps. We set association loss weight \(\gamma=10\) and we have different loss weights for different states: \(1\) for both position and velocity and \(10\) for acceleration. Unless explicitly specified, we set the maximum track length \(T=10\) for encoding track history and select a maximum of \(20\) context detections for training the model. We use SWFormer [54] as our detection backbone.
To demonstrate the effectiveness of our STT model, we compare it with published state-of-the-art methods on the Waymo Open Dataset. The majority of the 3D MOT algorithms adopt the tracking-by-detection paradigm, and each of them uses different detection backbones for their tracking algorithms [1], [3], [8], [52], [55], [56]. As STT is a stateful tracker that can be used with arbitrary detection models, we need to compare it with a tracking method that uses the same detection model as STT. Following [1], [2], [12], we develop a Kalman Filter baseline that uses the same detection backbone as STT.
We first compare our model with these state-of-the-art methods as well as our KF baseline on the official 3D tracking metrics of the Waymo Open Dataset. These metrics includes MOTA, MOTP, False Positives (FP), False Negatives (FN), and mismatches (Identity Switches). The results are shown in Table 1. Our KF baseline, which uses a strong detection backbone [54], already achieves competitive performance compared with other existing methods. STT achieves a MOTA score that is +1.7 higher than our KF baseline on the vehicle type and on-par results on other metrics, demonstrating the benefit of including state estimation into the learning process of our tracking model. Note that the miss rate of the KF and STT models are slightly different due to the different cut-off scores used by the two methods. The strong performance of the KF baseline also indicates that these official metrics heavily rely on the quality of the detections. A simple tracker can achieve better performance than other highly-tuned approaches by using a stronger object detector (e.g. our KF baseline vs. CenterPoint [8]).
To demonstrate STT’s advantage on state estimation over the KF baseline, we further compare them using the stateful metric S-MOTA, as shown in Table 1. This metric requires prediction/ground-truth matches to have sufficiently high predicted velocity and acceleration quality. The velocity and acceleration thresholds are set to \(1.0\) m/s and \(1.0\) m/s\(^2\) for vehicles and \(0.5\) m/s and \(0.5\) m/s\(^2\) for pedestrians. The S-MOTA score of STT is \(13.4\) higher than the KF baseline for both vehicles and pedestrians. This shows that while STT performance is close to the KF baseline on the data association metrics, it actually outperforms the KF model significantly on state estimation. This result also indicates that the S-MOTA metric is useful to distinguish between methods having similar association quality in MOTA results.
To evaluate inference time, we compile the STT model with XLA [57] and run inference on the same scenario as reported in [54]. We use a Nvidia PG189 GPU which shares the same hardware architecture as Nvidia T4 GPU but with less memory to meet the power constraints of autonomous vehicles. The inference time for STT alone is \(2.9\) ms. Combined with the fastest version of SWFormer as reported in their paper, we can achieve real-time performance for the end-to-end tracking.
We also compare our method to TrajectoryFormer [52], which is the current state-of-the-art 3D MOT method on the WOD. We report their CenterPoint [8] configuration. It has higher MOTA score than STT due to improved FN (vehicle) and FP (pedestrian) achieved by taking the trajectory hypothesis from track history as model input. We highlight it in a separate row for that a direct comparison with ours is unfair, as TrajectoryFormer uses extra detection boxes. This improvement is orthogonal to our approach. STT still performs better in other two sub-metrics of MOTA. Moreover, TrajectoryFormer does not predict or evaluate on full state estimates, nor does it run in real-time.
| Tracker | Detector | Track Length | Joint Optimization w/ State Estimation | Vehicle | Pedestrian | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 5-6 (lr)7-8 | MOTA\(\uparrow\) | S-MOTA\(\uparrow\) | MOTA\(\uparrow\) | S-MOTA\(\uparrow\) | ||||||
| Joint Optimization of Association and State Estimation | ||||||||||
| STT | SWFormer[54] | 10 | N | 56.4 | 30.9 | 55.9 | 13.1 | |||
| STT | SWFormer[54] | 10 | Y | 58.2 | 48.0 | 59.9 | 55.2 | |||
| Long-term Temporal Modeling | ||||||||||
| STT | SWFormer[54] | 3 | Y | 58.1 | 37.7 | 59.9 | 52.9 | |||
| STT | SWFormer[54] | 5 | Y | 58.2 | 40.4 | 60.0 | 54.1 | |||
| STT | SWFormer[54] | 10 | Y | 58.2 | 48.0 | 59.9 | 55.2 | |||
| STT | SWFormer[54] | 20 | Y | 58.2 | 49.2 | 60.0 | 55.4 | |||
| Tracking Performance with Different Detectors | ||||||||||
| Kalman Filter | UPillar[58] | N/A | N/A | 55.7 | 34.0 | 57.1 | 39.8 | |||
| STT | UPillar[58] | 10 | Y | 57.1 | 46.3 | 57.4 | 52.1 | |||
| Kalman Filter | SWFormer[54] | N/A | N/A | 56.5 | 34.6 | 59.7 | 41.8 | |||
| STT | SWFormer[54] | 10 | Y | 58.2 | 48.0 | 59.9 | 55.2 | |||
To further understand the improvements of STT on state estimation, we report the MOTP\(_\text{S}\) metric results for STT and two baselines: i) Kalman Filter, and ii) SWFormer+State Head (SH), for which we add a state head to the original SWFormer detector to predict velocity and acceleration for each detected box. The three methods all use the same detection model, which removes the impact of detection quality and allows us to concentrate on the performance of state estimation itself.
As shown in Table ¿tbl:table:state?, our STT model achieves the best overall state estimation results compared with the two baselines. In terms of velocity estimation, SWFormer+SH is surprisingly the best state estimator for static objects, but STT performs better for moving objects. SWFormer+SH also produces the highest value of \(\left|\text{MOTP}_\text{velocity}\right|\) whereas STT has the lowest, indicating that the superior performance of SWFormer+SH on static objects may due to overfitting. On the other hand, the KF baseline struggles to predict accurate states for static objects but can achieve decent performance on moving ones. This may be because small jittering from static objects can create large noise in KF state estimation while learning-based methods are more robust to this.
The relative gain of STT is more prominent for the acceleration estimation. STT achieves the best acceleration for moving objects and comparable performance with the SWFormer+SH on static objects. STT has the lowest variance compared to the two baselines as reflected by \(\left|\text{MOTP}_\text{acceleration}\right|\). Acceleration, as a second order statistic, is more challenging to estimate. Therefore, models must be able to robustly handle small noise and effectively reason about long-term motion. STT possesses both of these qualities, and its robustness and consistency are reflected in the metric results.
One of the key innovations of STT is its unified learning framework which jointly optimizes for both data association and state estimation tasks. To validate the claim that the joint optimization with state estimation can improve the data association performance, we create a STT baseline that is only trained with the data association loss. The results are reported in the first two rows of Table 2. With the joint optimization of state estimation and data association, STT achieves MOTA improvement of +1.8 and +4 for the vehicle and pedestrian classes, respectively. Similarly, S-MOTA improvements of +17.1 and +42.1 are observed for these two classes from STT. These results suggest that data association and state estimation are highly complementary tasks that should be jointly optimized.
Longer-term temporal modeling improves data association quality with more accurate state estimation. To verify the impact of the temporal features on tracking performance, we evaluate STT with different track history lengths. The results, shown in rows 3 to 6 of Table 2, demonstrate that longer track history can lead to improved tracking performance. The MOTA score increases as the track history length increases to 5, after which it saturates. However, the S-MOTA score continues to increase by a large margin, even for track history lengths of 20. This suggests that longer-term temporal modeling is critical for data association and state estimation tasks.
As our KF baseline experiment shows, the performance of a tracking system can be significantly affected by the quality of the upstream object detector. To understand the sensitivity of STT to different detectors, we compared STT and KF using two different detectors: SWFormer [54] and UPillar [58]. The results in Table 2 show that our STT model outperforms the Kalman Filter on all metrics with different object detectors, which indicates that our model is robust to the choice of detector.
In this paper, we propose STT, a transformer-based model that jointly conducts data association and state estimation in one model. We emphasize the importance of this joint estimation task for autonomous driving, which requires consistent tracking and accurate state estimation for objects in 3D real-world-space. To address the limitations of existing evaluation methods, we extend MOTA metrics to S-MOTA, which enforces the consideration of state estimation quality when evaluating association quality, and MOTP to \(\text{MOTP}_s\), which captures broader motion state of objects. Evaluation has shown that STT achieves the competitive results on the Waymo Open Dataset with strong performance in state estimation. We hope that our proposed solutions and extended metrics will facilitate future work in this area.
Acknowledgements. We would like to thank Luming Tang, Andy Tsai, Shirley Chung, Yang Wang, Chao Jia, Zhaoqi Leng, Yu Zhu, Nichola Abdo, Henrik Kretzschmar, Marshall Tappen, and Dragomir Anguelov for their invaluable contributions to this paper.