pub struct Segmentation {
pub xmin: f32,
pub ymin: f32,
pub xmax: f32,
pub ymax: f32,
pub segmentation: Array3<u8>,
}Expand description
A segmentation result paired with the normalized bounding box that
describes the spatial extent of segmentation.
The xmin/ymin/xmax/ymax fields describe the mask region —
the proto-grid-aligned crop the [segmentation] tensor was sliced
from. They are quantized to the proto grid step (1/proto_height and
1/proto_width, typically 1/160), so the region’s origin floors and
its extent ceils relative to the companion DetectBox’s bbox. The
detection bbox itself stays un-snapped (see EDGEAI-1304); use
Segmentation bounds for rendering masks, and DetectBox.bbox for
IoU evaluation, drawing detection rectangles, etc. The mask region
always encloses the detection bbox.
Fields§
§xmin: f32Left-most normalized coordinate of the mask region (proto-grid
floor of the companion DetectBox.bbox.xmin).
ymin: f32Top-most normalized coordinate of the mask region (proto-grid
floor of the companion DetectBox.bbox.ymin).
xmax: f32Right-most normalized coordinate of the mask region (proto-grid
ceil of the companion DetectBox.bbox.xmax).
ymax: f32Bottom-most normalized coordinate of the mask region (proto-grid
ceil of the companion DetectBox.bbox.ymax).
segmentation: Array3<u8>3D segmentation array of shape (H, W, C).
For instance segmentation (e.g. YOLO): C=1 — per-instance mask with
continuous sigmoid confidence values quantized to u8 (0 = background,
255 = full confidence). Renderers typically threshold at 128 (sigmoid
0.5) or use smooth interpolation for anti-aliased edges.
For semantic segmentation (e.g. ModelPack): C=num_classes — per-pixel
class scores where the object class is the argmax index.
Trait Implementations§
Source§impl Clone for Segmentation
impl Clone for Segmentation
Source§fn clone(&self) -> Segmentation
fn clone(&self) -> Segmentation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Segmentation
impl Debug for Segmentation
Source§impl Default for Segmentation
impl Default for Segmentation
Source§fn default() -> Segmentation
fn default() -> Segmentation
Source§impl PartialEq for Segmentation
impl PartialEq for Segmentation
Source§fn eq(&self, other: &Segmentation) -> bool
fn eq(&self, other: &Segmentation) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Segmentation
Auto Trait Implementations§
impl Freeze for Segmentation
impl RefUnwindSafe for Segmentation
impl Send for Segmentation
impl Sync for Segmentation
impl Unpin for Segmentation
impl UnsafeUnpin for Segmentation
impl UnwindSafe for Segmentation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more