pub enum Nms {
Auto,
ClassAgnostic,
ClassAware,
}Expand description
NMS (Non-Maximum Suppression) mode for filtering overlapping detections.
This enum is used with Option<Nms>:
Some(Nms::Auto)— resolve from config or fall back toClassAgnosticSome(Nms::ClassAgnostic)— class-agnostic NMS: suppress overlapping boxes regardless of class labelSome(Nms::ClassAware)— class-aware NMS: only suppress boxes that share the same class label AND overlap above the IoU thresholdNone— bypass NMS entirely (for end-to-end models with embedded NMS)
Variants§
Auto
Let the builder resolve NMS mode from the model config (e.g.
edgefirst.json). Falls back to Nms::ClassAgnostic when no
config specifies a mode. This is the builder default — callers
should only use an explicit variant when they need to override
the config.
ClassAgnostic
Suppress overlapping boxes regardless of class label (default concrete behavior).
ClassAware
Only suppress boxes with the same class label that overlap.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Nms
impl<'de> Deserialize<'de> for Nms
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Nms
impl Eq for Nms
impl StructuralPartialEq for Nms
Auto Trait Implementations§
impl Freeze for Nms
impl RefUnwindSafe for Nms
impl Send for Nms
impl Sync for Nms
impl Unpin for Nms
impl UnsafeUnpin for Nms
impl UnwindSafe for Nms
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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