Skip to main content

decode_yolo_split_segdet

Function decode_yolo_split_segdet 

Source
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>,
) -> Result<(), DecoderError>
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)

ยงErrors

Returns DecoderError::InvalidShape if bounding boxes are not normalized.