Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_detection_by_tracker at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukihiro Saito
- Yoshi Ri
- Taekjin Lee
- Lei Gu
Authors
autoware_detection_by_tracker
Purpose
This package feeds back the tracked objects to the detection module to keep it stable and keep detecting objects.
The autoware detection by tracker takes as input an unknown object containing a cluster of points and a tracker. The unknown object is optimized to fit the size of the tracker so that it can continue to be detected.
Inner-workings / Algorithms
The autoware detection by tracker receives an unknown object containing a point cloud and a tracker, where the unknown object is mainly shape-fitted using euclidean clustering. Shape fitting using euclidean clustering and other methods has a problem called under segmentation and over segmentation.
Simply looking at the overlap between the unknown object and the tracker does not work. We need to take measures for under segmentation and over segmentation.
Policy for dealing with over segmentation
- Merge the unknown objects in the tracker as a single object.
- Shape fitting using the tracker information such as angle and size as reference information.
Policy for dealing with under segmentation
- Compare the tracker and unknown objects, and determine that those with large recall and small precision are under segmented objects.
- In order to divide the cluster of under segmented objects, it iterate the parameters to make small clusters.
- Adjust the parameters several times and adopt the one with the highest IoU.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/initial_objects |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
unknown objects |
~/input/tracked_objects |
tier4_perception_msgs::msg::TrackedObjects |
trackers |
Output
| Name | Type | Description |
|---|---|---|
~/output |
autoware_perception_msgs::msg::DetectedObjects |
objects |
Parameters
| Name | Type | Description | Default value |
|---|---|---|---|
tracker_ignore_label.UNKNOWN |
bool |
If true, the node will ignore the tracker if its label is unknown. | true |
tracker_ignore_label.CAR |
bool |
If true, the node will ignore the tracker if its label is CAR. | false |
tracker_ignore_label.PEDESTRIAN |
bool |
If true, the node will ignore the tracker if its label is pedestrian. | false |
tracker_ignore_label.BICYCLE |
bool |
If true, the node will ignore the tracker if its label is bicycle. | false |
tracker_ignore_label.MOTORCYCLE |
bool |
If true, the node will ignore the tracker if its label is MOTORCYCLE. | false |
tracker_ignore_label.BUS |
bool |
If true, the node will ignore the tracker if its label is bus. | false |
tracker_ignore_label.TRUCK |
bool |
If true, the node will ignore the tracker if its label is truck. | false |
tracker_ignore_label.TRAILER |
bool |
If true, the node will ignore the tracker if its label is TRAILER. | false |
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
[1] M. Himmelsbach, et al. “Tracking and classification of arbitrary objects with bottom-up/top-down detection.” (2012).
[2] Arya Senna Abdul Rachman, Arya. “3D-LIDAR Multi Object Tracking for Autonomous Driving: Multi-target Detection and Tracking under Urban Road Uncertainties.” (2017).
[3] David Held, et al. “A Probabilistic Framework for Real-time 3D Segmentation using Spatial, Temporal, and Semantic Cues.” (2016).
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_detection_by_tracker
0.53.0 (2026-09-29)
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval (#12738)
- feat(label_based_euclidean_cluster): add per-label clustering parameter overrides and update clusterer retrieval
- style(pre-commit): autofix
- feat(label_based_euclidean_cluster): add support for merging confusable label pairs with configurable parameters
- feat(label_based_euclidean_cluster): refine clustering parameters and add hazard label configuration
- feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting
* Revert "feat(euclidean_cluster): add max_cluster_diagonal_size parameter for cluster splitting" This reverts commit cf4b9277535051df13c64fc5c5262acbe46cff8d.
- feat(voxel_grid_based_euclidean_cluster): enhance parameter descriptions
- feat(voxel_grid_based_euclidean_cluster): implement cluster splitting for oversized groups and update parameter descriptions
- Refactor Euclidean Cluster Parameters and Update Documentation
- Renamed parameters in the voxel grid based Euclidean cluster configuration for clarity:
- [min_points_number_per_voxel]{.title-ref} to [min_points_per_voxel]{.title-ref}
- [min_cluster_size]{.title-ref} to [min_points_per_cluster]{.title-ref}
- [max_cluster_size]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [max_voxel_cluster_for_output]{.title-ref} to [max_voxels_per_cluster]{.title-ref}
- [min_voxel_cluster_size_for_filtering]{.title-ref} to [point_capping_voxel_threshold]{.title-ref}
- Updated related documentation to reflect parameter name changes and their descriptions.
- Adjusted constructor signatures and member variables in the Euclidean cluster classes to accommodate new parameter names.
- Modified the logic in the clustering algorithms to utilize the updated parameters.
- Updated unit tests to ensure compatibility with the new parameter names and validate functionality.
- style(pre-commit): autofix
- feat(euclidean_cluster): rename parameters for clarity and consistency across configurations
- feat: standardize parameter naming to include suffix '_m' for tolerance and voxel leaf size across configurations
- feat: update voxel leaf size and max voxels per cluster, and improve label assignment logging
- feat: rename and update parameters for merged component size to use bounding circle diameter
- feat: add confusable cluster merger implementation and integrate into label-based clustering
- feat: improve comments for clarity and include string_view header in label-based clustering node
- feat: refactor clustering parameters and improve label mapping efficiency
- feat: streamline parameter documentation by removing redundant comments in voxel grid configuration
- feat: refine label clustering parameters and enhance documentation clarity
- feat: update clustering parameters for improved performance and accuracy
- feat: rename variables for clarity and consistency in clustering algorithms
- feat: enhance label clustering with per-label parameter overrides and confusable label merging
- feat: add validation for confusable label groups to ensure minimum label count and tolerance
- feat: enhance parameter retrieval with type checking for integers and floats
- feat: reorganize schema definitions for clarity and consistency in label clustering
* feat: add max_merged_size_m to required properties for label merging configuration ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(autoware_detection_by_tracker): adapt to 2 new object classes (#12674)
-
Contributors: Taekjin LEE, badai nguyen, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(perception): move perception node configuration file to each
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/detection_by_tracker.launch.xml
-
- input/tracked_objects [default: /perception/object_recognition/tracking/objects]
- input/initial_objects [default: /perception/object_recognition/detection/clustering/objects_with_feature]
- output [default: objects]
- detection_by_tracker_param_path [default: $(find-pkg-share autoware_detection_by_tracker)/config/detection_by_tracker.param.yaml]