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-06-30 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
- Added comments to clarify the rationale behind the new threshold. This change aims to improve the filtering process in the voxel grid-based euclidean clustering algorithm. * max_num_points_per_cluster removed This change aims to enhance code readability and maintainability in the voxel grid-based euclidean clustering implementation. * Update README.md to clarify clustering parameters Revised descriptions for [min_cluster_size]{.title-ref} and [max_cluster_size]{.title-ref} to specify that they refer to the number of voxels instead of points. This change enhances the clarity of the documentation for the euclidean clustering methods. * Update README.md to correct clustering parameter descriptions Modified the descriptions for [min_cluster_size]{.title-ref} and [max_cluster_size]{.title-ref} in the README to clarify that they refer to the number of points instead of voxels. This change improves the accuracy of the documentation for the euclidean clustering methods. * Add max_voxel_cluster_for_output parameter to README.md Introduced a new parameter [max_voxel_cluster_for_output]{.title-ref} to the documentation, specifying the maximum number of voxel clusters to output. This addition enhances the clarity of the clustering configuration options available in the euclidean clustering methods. ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com> Co-authored-by: badai nguyen <<94814556+badai-nguyen@users.noreply.github.com>>
- Contributors: TaikiYamada4, lei.gu
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- chore: perception code owner update
(#10645)
- chore: update maintainers in multiple perception packages
* Revert "chore: update maintainers in multiple perception packages" This reverts commit f2838c33d6cd82bd032039e2a12b9cb8ba6eb584.
- chore: update maintainers in multiple perception packages
* chore: add Kok Seang Tan as maintainer in multiple perception packages ---------
- Contributors: Taekjin LEE, TaikiYamada4
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- Contributors: Hayato Mizushima, Yutaka Kondo
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat: tier4_debug_msgs changed to autoware_internal_debug_msgs in fil… (#9880) feat: tier4_debug_msgs changed to autoware_internal_debug_msgs in files perception/autoware_detection_by_tracker Co-authored-by: Taekjin LEE <<taekjin.lee@tier4.jp>>
- Contributors: Fumiya Watanabe, Vishal Chauhan
0.40.0 (2024-12-12)
- Revert "chore(package.xml): bump version to 0.39.0 (#9587)" This reverts commit c9f0f2688c57b0f657f5c1f28f036a970682e7f5.
- fix: fix ticket links in CHANGELOG.rst (#9588)
- chore(package.xml): bump version to 0.39.0
(#9587)
- chore(package.xml): bump version to 0.39.0
- fix: fix ticket links in CHANGELOG.rst
* fix: remove unnecessary diff ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- fix: fix ticket links in CHANGELOG.rst (#9588)
- 0.39.0
- update changelog
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
- chore(package.xml): bump version to 0.38.0
(#9266)
(#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
- Contributors: Esteve Fernandez, Fumiya Watanabe, Ryohsuke Mitsudome, Yutaka Kondo
0.39.0 (2024-11-25)
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
- fix: fix ticket links to point to https://github.com/autowarefoundation/autoware_universe (#9304)
- chore(package.xml): bump version to 0.38.0
(#9266)
(#9284)
- unify package.xml version to 0.37.0
- remove system_monitor/CHANGELOG.rst
- add changelog
* 0.38.0
- Contributors: Esteve Fernandez, Yutaka Kondo
0.38.0 (2024-11-08)
- unify package.xml version to 0.37.0
- feat(autoware_shape_estimation): add reference object based
corrector
(#9148)
- add object based corrector
- apply cppcheck suggestion
* fix typo ---------Co-authored-by: Taekjin LEE <<taekjin.lee@tier4.jp>>
- refactor(object_recognition_utils): add autoware prefix to object_recognition_utils (#8946)
- fix(autoware_detection_by_tracker): fix cppcheck warning of functionStatic (#8257) fix: deal with functionStatic warnings Co-authored-by: Yi-Hsiang Fang (Vivid) <<146902905+vividf@users.noreply.github.com>>
- refactor(shape_estimation): add package name prefix of autoware_
(#7999)
- refactor(shape_estimation): add package name prefix of autoware_
- style(pre-commit): autofix
- fix: mising prefix
* fix: cmake ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>
- fix(autoware_detection_by_tracker): fix funcArgNamesDifferent
(#8076)
- fix:funcArgNamesDifferent
* fix:funcArgNamesDifferent ---------
- refactor(euclidean_cluster): add package name prefix of autoware_
(#8003)
- refactor(euclidean_cluster): add package name prefix of autoware_
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>
- refactor(detection_by_tracker): add package name prefix of autoware_ (#7998)
- Contributors: Esteve Fernandez, Masaki Baba, Yutaka Kondo, badai nguyen, kobayu858, taisa1
0.26.0 (2024-04-03)
Wiki Tutorials
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]