pub fn decode_yolo_split_segdet<BOX: PrimInt + AsPrimitive<f32> + Send + Sync, SCORE: PrimInt + AsPrimitive<f32> + Send + Sync, MASK: PrimInt + AsPrimitive<i64> + AsPrimitive<i128> + AsPrimitive<f32> + Send + Sync, PROTO: PrimInt + AsPrimitive<i64> + AsPrimitive<i128> + AsPrimitive<f32> + Send + Sync>(
boxes: (ArrayView2<'_, BOX>, Quantization),
scores: (ArrayView2<'_, SCORE>, Quantization),
mask_coeff: (ArrayView2<'_, MASK>, Quantization),
protos: (ArrayView3<'_, PROTO>, Quantization),
score_threshold: f32,
iou_threshold: f32,
nms: Option<Nms>,
output_boxes: &mut Vec<DetectBox>,
output_masks: &mut Vec<Segmentation>,
)where
f32: AsPrimitive<SCORE>,Expand description
Decodes YOLO split detection segmentation outputs from quantized tensors into detection boxes and segmentation masks.
Boxes are expected to be in XYWH format.
Expected shapes of inputs:
- boxes_tensor: (4, num_boxes)
- scores_tensor: (num_classes, num_boxes)
- mask_tensor: (num_protos, num_boxes)
- protos: (proto_height, proto_width, num_protos)
§Panics
Panics if shapes don’t match the expected dimensions.