Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_shape_estimation at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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-12-03 |
| 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
- Kaan Colak
- Taekjin Lee
- Lei Gu
- Masaki Baba
Authors
autoware_shape_estimation
Purpose
This node estimates refined 3D object shapes from point cloud clusters using object labels. It supports both rule-based algorithms (L-shape fitting, cylinder, convex hull with filtering and correction) and ML-based estimation (PointNet) for vehicles, incorporating reference information from prior detections to improve shape accuracy and orientation estimation.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
detected objects with labeled cluster |
Output
| Name | Type | Description |
|---|---|---|
output/objects |
autoware_perception_msgs::msg::DetectedObjects |
detected objects with refined shape |
Parameters
{{ json_to_markdown(“perception/autoware_shape_estimation/schema/shape_estimation.schema.json”) }}
Inner-workings / Algorithms
Rule-based algorithms
This rule-based geometric algorithms applies object-type-specific shape fitting (L-shape for vehicles, cylinder for pedestrians, convex hull for unknown objects), followed by filtering and correction stages that incorporate reference information from prior detections to ensure geometric consistency and improve orientation accuracy.
The shape fitting algorithm pipeline consists of following three stages.
- Shape Estimation
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
-
L-shape Fitting Algorithm (
fitLShapefunction):-
Implements search-based rectangle fitting from IV2017 paper by Zhang et al.
-
Angle Optimization:
- Default search range: 0 to 90 degrees for full angular sweep
- Reference yaw constraint: +/-search_angle_range around reference when available
- Two optimization methods: Standard iterative search or Boost-based Brent optimization
-
Closeness Criterion: Evaluates fitting quality using Algorithm 4 from referenced paper
- Distance thresholds: d_min (0.01m squared), d_max (0.16m squared)
- Point-to-boundary distance calculation for quality assessment
-
3D Bounding Box Construction:
- Projects points onto orthogonal axes e1 and e2
- Calculates intersection points to determine center and dimensions
- Height derived from point cloud Z-range with minimum epsilon (0.001m)
- Output Validation: Ensures minimum dimensions to prevent degenerate boxes
-
-
L-shape Fitting Algorithm (
- Pedestrian (PEDESTRIAN):
- Cylinder shape estimation using cv::minEnclosingCircle
- Other/Unknown Objects:
- Convex hull shape estimation using cv::convexHull
- Vehicle Objects (CAR, TRUCK, BUS, TRAILER, MOTORCYCLE, BICYCLE):
- Filtering
- Vehicle Type-specific Filtering:
- Car Filter: Vehicle size validity verification
- Truck Filter: Truck-specific shape constraints
- Bus Filter: Bus-specific dimension checks
- Trailer Filter: Trailer shape validation
-
Physical validity checks of estimated shapes
- Exclusion of invalid estimation results
- Vehicle Type-specific Filtering:
- Corrector
-
Reference Information-based Correction:
- Orientation correction using reference yaw information
- Dimension correction using reference shape size (minimum/fixed value modes)
-
Shape Correction Algorithm (
correctWithDefaultValuefunction):-
Purpose: Rule-based bounding box correction using default vehicle dimensions when estimated shapes violate physical constraints
-
Correction Vector Application:
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Updates shape dimensions:
shape.dimensions += correction_vector * 2.0 - Adjusts pose position:
pose.position += rotation_matrix * correction_vector
- Computes correction vector based on conditions by correctWithDefaultValue Function
- Orientation Normalization: Ensures longest dimension aligns with x-axis (90 degree rotation if needed)
-
-
Vehicle Type-specific Correctors:
- Vehicle Corrector: General vehicle correction
- Dedicated correction logic for each vehicle type
- Geometric consistency assurance
-
Reference Information-based Correction:
- Fallback Mechanism
- Automatic fallback to UNKNOWN label with convex hull estimation when any stage fails
ML Based Shape Implementation
The model takes a point cloud and object label(provided by camera detections/Apollo instance segmentation) as an input and outputs the 3D bounding box of the object.
File truncated at 100 lines see the full file
Changelog for package autoware_shape_estimation
0.48.0 (2025-11-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
- chore(perception): add maintainer (#11458) add maintainer
- Contributors: Masaki Baba, Ryohsuke Mitsudome, Tim Clephas
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
- style(pre-commit): autofix (#10982) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Contributors: Ryohsuke Mitsudome
0.46.0 (2025-06-20)
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)
-
Merge remote-tracking branch 'origin/main' into humble
-
chore(perception): code owner revision (#10358)
- feat: add Masato Saeki and Taekjin Lee as maintainer to multiple package.xml files
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
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)
- refactor: add autoware_cuda_dependency_meta (#10073)
- Contributors: Esteve Fernandez, 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(autoware_shape_estimation): tier4_debug_msgs chnaged to autoware_internal_debug_msgs in autoware_shape_estimation
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/shape_estimation.launch.xml
-
- input/objects [default: labeled_clusters]
- output/objects [default: shape_estimated_objects]
- node_name [default: shape_estimation]
- data_path [default: $(env HOME)/autoware_data]
- model_path [default: $(var data_path)/shape_estimation/pointnet.onnx]
- config_file [default: $(find-pkg-share autoware_shape_estimation)/config/shape_estimation.param.yaml]