You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`TrackEvalEvaluator`| HOTA, MOTA, IDF1, and more | Industry-standard tracking accuracy metrics via the TrackEval library |
150
-
|`JitterEvaluator`|`rms_jerk`, `rms_jerk_gt`, `rms_jerk_ratio`, `acceleration_variance`, `acceleration_variance_gt`, `acceleration_variance_ratio`| Trajectory smoothness metrics based on numerical differentiation of 3D positions; GT and ratio variants allow comparing tracker-added jitter against test-data jitter |
151
150
|`DiagnosticEvaluator`|`LOC_T_X`, `LOC_T_Y`, `DIST_T` → summary scalars: `DIST_T_mean`, `LOC_T_X_mae`, `LOC_T_Y_mae`, `num_matches`| Per-frame location and distance error between matched tracker output tracks and ground-truth tracks; uses bipartite (Hungarian) assignment over overlapping frames |
151
+
|`JitterEvaluator`|`rms_jerk`, `rms_jerk_gt`, `rms_jerk_ratio`, `acceleration_variance`, `acceleration_variance_gt`, `acceleration_variance_ratio`| Trajectory smoothness metrics based on numerical differentiation of 3D positions; GT and ratio variants allow comparing tracker-added jitter against test-data jitter |
**Tests**: See [tests/test_trackeval_evaluator.py](tests/test_trackeval_evaluator.py) for comprehensive test suite with 16 test cases covering configuration, processing, evaluation, and integration workflows.
98
98
99
+
### DiagnosticEvaluator
100
+
101
+
**Purpose**: Per-frame location comparison and error analysis between matched output tracks and ground-truth tracks.
102
+
103
+
**Status**: **FULLY IMPLEMENTED** - Bipartite track matching with per-frame location and distance CSV/plot outputs.
104
+
105
+
**Supported Metrics**:
106
+
107
+
-**LOC_T_X**: Per-frame X position of each matched (output, GT) track pair
108
+
-**LOC_T_Y**: Per-frame Y position of each matched (output, GT) track pair
109
+
-**DIST_T**: Per-frame Euclidean distance error between each matched pair
110
+
111
+
**Key Features**:
112
+
113
+
-**Track Matching**: Bipartite assignment (Hungarian algorithm) minimizing mean Euclidean distance over overlapping frames. Requires a minimum of 10 overlapping frames (`MIN_OVERLAP_FRAMES`).
114
+
-**Missing Frame Handling**: Frames where only one side (output or GT) has data produce `NaN` in CSV output, preserving full temporal context.
115
+
-**CSV Output**: Per-metric CSV files with headers:
**Tests**: See [tests/test_diagnostic_evaluator.py](tests/test_diagnostic_evaluator.py) for unit tests covering track matching, scalar metrics, CSV output, and reset workflows.
148
+
99
149
### JitterEvaluator
100
150
101
151
**Purpose**: Evaluate tracker smoothness by measuring positional jitter in tracked object trajectories, and compare it against jitter already present in the ground-truth test data.
@@ -181,56 +231,6 @@ evaluators:
181
231
182
232
**Tests**: See [tests/test_jitter_evaluator.py](tests/test_jitter_evaluator.py).
183
233
184
-
### DiagnosticEvaluator
185
-
186
-
**Purpose**: Per-frame location comparison and error analysis between matched output tracks and ground-truth tracks.
187
-
188
-
**Status**: **FULLY IMPLEMENTED** - Bipartite track matching with per-frame location and distance CSV/plot outputs.
189
-
190
-
**Supported Metrics**:
191
-
192
-
- **LOC_T_X**: Per-frame X position of each matched (output, GT) track pair
193
-
- **LOC_T_Y**: Per-frame Y position of each matched (output, GT) track pair
194
-
- **DIST_T**: Per-frame Euclidean distance error between each matched pair
195
-
196
-
**Key Features**:
197
-
198
-
- **Track Matching**: Bipartite assignment (Hungarian algorithm) minimizing mean Euclidean distance over overlapping frames. Requires a minimum of 10 overlapping frames (`MIN_OVERLAP_FRAMES`).
199
-
- **Missing Frame Handling**: Frames where only one side (output or GT) has data produce `NaN` in CSV output, preserving full temporal context.
200
-
- **CSV Output**: Per-metric CSV files with headers:
**Tests**: See [tests/test_diagnostic_evaluator.py](tests/test_diagnostic_evaluator.py) for unit tests covering track matching, scalar metrics, CSV output, and reset workflows.
233
-
234
234
## Adding New Evaluators
235
235
236
236
To add support for a new metric computation library:
0 commit comments