pub fn impl_yolo_split_segdet_float<B: BBoxTypeTrait, BOX: Float + AsPrimitive<f32> + Send + Sync, SCORE: Float + AsPrimitive<f32> + Send + Sync, MASK: Float + AsPrimitive<f32> + Send + Sync, PROTO: Float + AsPrimitive<f32> + Send + Sync>(
boxes_tensor: ArrayView2<'_, BOX>,
scores_tensor: ArrayView2<'_, SCORE>,
mask_tensor: ArrayView2<'_, MASK>,
protos: ArrayView3<'_, PROTO>,
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
Internal implementation of YOLO split detection segmentation decoding for float tensors.
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.