From 4af944dbb9e3049727d15dca228e0d3dfa65f16f Mon Sep 17 00:00:00 2001 From: Griswald Brooks Date: Tue, 4 Aug 2026 17:00:07 -0400 Subject: [PATCH] feat(factory_sim): switch SAM2 automasking to the ModelPool bundle manifest The GetMasks2DAutomask Behavior in moveit_pro/#21135 replaces its per-file-path ports (encoder_model_path, prompt_encoder_model_path, decoder_model_path) with model_bundle_manifest + runtime_id. Add the factory_sim SAM2 automask bundle manifest and update the three shipped objectives to match. needs: moveit_pro/#21135 --- src/factory_sim/models/sam2_automask_bundle.yaml | 10 ++++++++++ .../objectives/automask_camera_iterate_masks.xml | 5 ++--- src/factory_sim/objectives/automask_from_camera.xml | 5 ++--- src/factory_sim/objectives/automask_from_file.xml | 5 ++--- 4 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 src/factory_sim/models/sam2_automask_bundle.yaml diff --git a/src/factory_sim/models/sam2_automask_bundle.yaml b/src/factory_sim/models/sam2_automask_bundle.yaml new file mode 100644 index 000000000..b5e14d7c7 --- /dev/null +++ b/src/factory_sim/models/sam2_automask_bundle.yaml @@ -0,0 +1,10 @@ +schema_version: 1 +model_id: sam2_automask +model_version: sam2.1_hiera_l +graph_abi: moveit_pro.sam2_automask.v1 +runtimes: + onnxruntime: + image_encoder: {path: sam2.1_hiera_l_image_encoder.onnx, sha256: cbdbe1e1ad3b616985d0f9c071a5948f8f8342d8e55e98857159405678b70cec} + prompt_encoder: {path: sam2.1_prompt_encoder.onnx, sha256: eb2130a99f74bb2f6a430c0f1fe6af291b45ead4bf0beee715330c3def901206} + decoder: {path: sam2.1_decoder.onnx, sha256: e11609a8d694f2186f5974cf0d86e1588dbbb126088c4a7849adbc546b284e3a} +metadata: {input_size: "1024"} diff --git a/src/factory_sim/objectives/automask_camera_iterate_masks.xml b/src/factory_sim/objectives/automask_camera_iterate_masks.xml index 682580aa6..64086d8c5 100644 --- a/src/factory_sim/objectives/automask_camera_iterate_masks.xml +++ b/src/factory_sim/objectives/automask_camera_iterate_masks.xml @@ -14,9 +14,8 @@ mask_count="{mask_count}" masks2d="{masks2d}" score_threshold="0.800000" - decoder_model_path="models/sam2.1_decoder.onnx" - encoder_model_path="models/sam2.1_hiera_l_image_encoder.onnx" - prompt_encoder_model_path="models/sam2.1_prompt_encoder.onnx" + model_bundle_manifest="models/sam2_automask_bundle.yaml" + runtime_id="onnxruntime" nms_threshold="0.3" model_package="factory_sim" min_component_area="2000" diff --git a/src/factory_sim/objectives/automask_from_camera.xml b/src/factory_sim/objectives/automask_from_camera.xml index 3737ae62c..32b3ecd0a 100644 --- a/src/factory_sim/objectives/automask_from_camera.xml +++ b/src/factory_sim/objectives/automask_from_camera.xml @@ -22,9 +22,8 @@ min_component_area="2000" nms_threshold="0.200000" score_threshold="0.8" - decoder_model_path="models/sam2.1_decoder.onnx" - encoder_model_path="models/sam2.1_hiera_l_image_encoder.onnx" - prompt_encoder_model_path="models/sam2.1_prompt_encoder.onnx" + model_bundle_manifest="models/sam2_automask_bundle.yaml" + runtime_id="onnxruntime" model_package="factory_sim" />