Package Summary
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.46.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 | 2025-07-31 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
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.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(autoware_euclidean_cluster): enhance VoxelGridBasedEuclideanCluster with Large Cluster Filtering Parameters (#10618)
* Squashed commit of the following: commit cf3035909ccad94003b2b06f8608b6cb887b221a Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:34:32 2025 +0900 debugging impl removed commit 17ee5fc61053e1ff816294a962d9f61dc73cd164 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 11:24:04 2025 +0900 parameters reading finished commit 6731b5150344515fce11bf5c0128a20145a0b6a8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Tue May 13 09:50:47 2025 +0900 euclidean cluster filter commit 4a65dafec7728209dc4015c513920215d259ddae Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:46:07 2025 +0900 Squashed commit of the following: commit 699e657c3997e0c3457d9c1f5fffe1081c4433cc Merge: 4833afd811 e876ece2f8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 11:14:48 2025 +0900 Merge branch 'main' into feat/autoware_perception_rviz_plugin/detected_objects_with_feature_display commit 4833afd8114364625a4a9a82b237e72a09c737be Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri May 9 02:13:09 2025 +0000 style(pre-commit): autofix commit d7bf97d85c1c97300adf52b7ace62a7c08b78402 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 10:53:33 2025 +0900 fix all problems of rviz commit 91ec2882a505df6996d49a2395f977eae1841314 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 19:22:56 2025 +0900 format fix commit fa1e680ab138253831398c51c415dd3861ea298b Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 17:56:16 2025 +0900 helper to better structure commit 2e4ba008e8c3351fc12f33b79f2fe41c492b1f3c Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 16:26:16 2025 +0900 colorbar visualization optimized commit 25e4b9f4131cf38ce89c9b8b28dee0ed6562a4c3 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 15:42:48 2025 +0900 basic functions all implemented commit 3e3db86a1f3ff266cb00b8b83fa57231ee8e2fb8 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu May 8 10:31:02 2025 +0900 colorbar commit a6be3ce4a2a3fc48b54ba798af7875d6b071d88b Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 18:05:45 2025 +0900 colormap fully implemented commit 46762b344541580d3411f61ea78828e5f35d9cfb Author: lei.gu <<lei.gu@tier4.jp>> Date: Wed May 7 17:49:07 2025 +0900 colormap implemented commit e3024f1d2865ca76c0b8e338fa5c2d6bd282dd22 Author: lei.gu <<lei.gu@tier4.jp>> Date: Thu Apr 17 10:30:24 2025 +0900 feat(euclidean_cluster): add markers for clusters remove filter profiling rviz detected_objects_with_feature detected objects stage all commits Revert non-visualization changes to state of 43480ef7 commit daef21efb35bc0c4dc2fe9009906199d2b3cf9b1 Author: lei.gu <<lei.gu@tier4.jp>> Date: Fri May 9 15:36:16 2025 +0900 colorbar
- style(pre-commit): autofix
- corresponding part of VoxelGridBasedEuclideanCluster used in detection by tracker
- style(pre-commit): autofix
- cluster point number diag removed
- add max_num_points_per_cluster
- euclidean cluster diag impl restored
- add comments for the parameters
- readme updated
- diag removed
- random point and exclude extreme large cluster
- fix index problem
- Refactor voxel grid parameters to improve clarity and functionality
- Renamed [max_num_points_per_cluster]{.title-ref} to [max_voxel_cluster_for_output]{.title-ref} for better understanding of its purpose.
- Updated related code and configuration files to reflect this change.
- Adjusted logic in the clustering algorithm to utilize the new parameter name. This change enhances the readability of the code and aligns parameter naming with their intended use.
- Add uniform point cloud generation function for voxel clustering tests
- Introduced [generateClusterWithinVoxelUniform]{.title-ref} to create a uniform point cloud for testing.
- Updated test case to utilize the new function, adjusting the number of generated points.
- Modified [max_voxel_cluster_for_output]{.title-ref} to reflect the new clustering logic. This enhances the testing framework by providing a more controlled point cloud generation method, improving test reliability.
- Update voxel grid parameters for euclidean clustering
- Reduced [min_voxel_cluster_size_for_filtering]{.title-ref} from 150 to 65 to better accommodate medium-sized trucks, considering LiDAR occlusion.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
tier4_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]