Repository navigation
Description
Checklist
- I've read the contribution guidelines.
- I've searched other issues and no duplicate issues were found.
- I'm convinced that this is not my fault but a bug.
Description
autoware_camera_streampetr expects its runtime parameters in the model's
ml_package_camera_streampetr.param.yaml. These are model_params.trt_precision, use_temporal,
backbone_path, head_path, position_embedding_path, the *_engine_path, workspace_size and the
post_process_params. The only published model does not contain them: Hugging Face
AutowareFoundation/camera_streampetr, tag v1.0, which is the one the ansible artifacts role downloads; main
is identical. With the official artifacts the node therefore cannot start.
The package's example config/ml_package_camera_streampetr.param.yaml has these parameters, but it is written for
a 7-class model (TRAFFIC_CONE, BARRIER), while the published model has 5 classes.
Expected behavior
ros2 launch autoware_camera_streampetr streampetr.launch.xml with the artifacts installed by the ansible role
(camera_streampetr v1.0) starts the node and builds the TensorRT engines.
Actual behavior
The node stops at startup: model_params.backbone_path (and the other runtime parameters) is not declared.
streampetr.launch.xml loads only:
model_param_path, i.e.$(var model_path)/ml_package_camera_streampetr.param.yamlfrom the artifact, which has
class_names(5),detection_range, the input size,num_proposals,rois_numberand the memory lengths;node_param_path, i.e.config/camera_streampetr.param.yaml, which has no model or runtime parameters.
Steps to reproduce
- Install the artifacts with the ansible role (
camera_streampetrrevision v1.0), e.g. Autoware 1.10 /
universe-devel-cuda-jazzy. ros2 launch autoware_camera_streampetr streampetr.launch.xml- The node fails on the undeclared
model_params.backbone_path.
To check the artifact directly:
curl -sL https://huggingface.co/AutowareFoundation/camera_streampetr/resolve/v1.0/ml_package_camera_streampetr.param.yaml
shows only the model parameters, with 5 classes. The tags of the repository are only v1.0.
Versions
- autoware_universe 0.53.0 (Autoware 1.10); same files on
main(2026-10-26) - Ubuntu 24.04, ROS 2 Jazzy, CUDA 13.0, TensorRT 10.13
- Artifact: AutowareFoundation/camera_streampetr v1.0
Possible causes
The configuration was split into node parameters and ML-package parameters, with the runtime parameters moved into
the ml_package file of the model, and the classes went from 5 to 7. The published artifact was not updated
accordingly, and the artifacts role still pins v1.0.
Either of these would fix it:
- publish a new artifact (e.g. v1.1) whose
ml_packageincludes the runtime parameters, and bump the artifacts
role. If the 7-class model is not available, thatml_packageshould keep 5 classes and post-process lists
sized for 5; - or keep the model-independent runtime parameters (precision, temporal flag, ONNX/engine paths relative to
$(var model_path), workspace) inconfig/camera_streampetr.param.yaml, so that a model-onlyml_packageworks.
The per-class post-process lists still need to matchclass_names.
Additional context
Our workaround is to pass the missing parameters in our launch, with the post-process lists sized for the 5
classes of v1.0:
<param name="model_params.trt_precision" value="fp16"/>
<param name="model_params.use_temporal" value="true"/>
<param name="model_params.backbone_path" value="$(var model_path)/simplify_extract_img_feat.onnx"/>
<param name="model_params.head_path" value="$(var model_path)/simplify_pts_head_memory.onnx"/>
<param name="model_params.position_embedding_path" value="$(var model_path)/simplify_position_embedding.onnx"/>
<param name="model_params.backbone_engine_path" value=""/>
<param name="model_params.head_engine_path" value=""/>
<param name="model_params.position_embedding_engine_path" value=""/>
<param name="model_params.workspace_size" value="32"/>
<param name="post_process_params.confidence_threshold" value="[0.36, 0.39, 0.38, 0.41, 0.43]"/>
<param name="post_process_params.circle_nms_dist_threshold" value="0.0"/>
<param name="post_process_params.iou_nms_search_distance_2d" value="10.0"/>
<param name="post_process_params.iou_nms_threshold" value="0.5"/>
<param name="post_process_params.yaw_norm_thresholds" value="[0.3, 0.3, 0.3, 0.3, 0.0]"/>With these, the engines build and the node runs on simulated camera images (CARLA 0.10).
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTo Triage
Activity