@@ -256,10 +256,16 @@ void MultiObjectTracker::onMeasurement(
256
256
(*itr)->predict (measurement_time);
257
257
}
258
258
259
+ /* filter by objects size before association */
260
+ autoware_auto_perception_msgs::msg::DetectedObjects filtered_objects;
261
+ autoware_auto_perception_msgs::msg::DetectedObjects unexpected_objects;
262
+ data_association_->filterMeasurementsBySize (
263
+ transformed_objects, filtered_objects, unexpected_objects);
264
+
259
265
/* global nearest neighbor */
260
266
std::unordered_map<int , int > direct_assignment, reverse_assignment;
261
267
Eigen::MatrixXd score_matrix = data_association_->calcScoreMatrix (
262
- transformed_objects , list_tracker_); // row : tracker, col : measurement
268
+ filtered_objects , list_tracker_); // row : tracker, col : measurement
263
269
data_association_->assign (score_matrix, direct_assignment, reverse_assignment);
264
270
265
271
/* tracker measurement update */
@@ -269,7 +275,7 @@ void MultiObjectTracker::onMeasurement(
269
275
if (direct_assignment.find (tracker_idx) != direct_assignment.end ()) { // found
270
276
(*(tracker_itr))
271
277
->updateWithMeasurement (
272
- transformed_objects .objects .at (direct_assignment.find (tracker_idx)->second ),
278
+ filtered_objects .objects .at (direct_assignment.find (tracker_idx)->second ),
273
279
measurement_time, *self_transform);
274
280
} else { // not found
275
281
(*(tracker_itr))->updateWithoutMeasurement ();
@@ -282,12 +288,12 @@ void MultiObjectTracker::onMeasurement(
282
288
sanitizeTracker (list_tracker_, measurement_time);
283
289
284
290
/* new tracker */
285
- for (size_t i = 0 ; i < transformed_objects .objects .size (); ++i) {
291
+ for (size_t i = 0 ; i < filtered_objects .objects .size (); ++i) {
286
292
if (reverse_assignment.find (i) != reverse_assignment.end ()) { // found
287
293
continue ;
288
294
}
289
295
std::shared_ptr<Tracker> tracker =
290
- createNewTracker (transformed_objects .objects .at (i), measurement_time, *self_transform);
296
+ createNewTracker (filtered_objects .objects .at (i), measurement_time, *self_transform);
291
297
if (tracker) list_tracker_.push_back (tracker);
292
298
}
293
299
0 commit comments