Class NMS
- Namespace
- NT2I.ONNX.DataHandling.Cpu.Features
- Assembly
- NT2I.ONNX.DataHandling.Cpu.dll
Fournit des méthodes pour appliquer l'algorithme de Non-Maximum Suppression (NMS) et calculer l'Intersection over Union (IoU) entre des boîtes englobantes.
public static class NMS
- Inheritance
-
NMS
- Inherited Members
Methods
BoundingBoxIOU(IBoundingBox, IBoundingBox)
Calcule l'Intersection over Union (IoU) entre deux boîtes englobantes. Cette implémentation accepte directement IBoundingBox.
public static float BoundingBoxIOU(IBoundingBox boxA, IBoundingBox boxB)
Parameters
boxAIBoundingBoxLa première boîte.
boxBIBoundingBoxLa seconde boîte.
Returns
- float
La valeur de l'IoU (entre 0 et 1).
NonMaximumSuppression(List<IBoundingBox>, double, IComparer<IBoundingBox>?, NmsModeEnum)
Applique l'algorithme de Non-Maximum Suppression (NMS) sur une liste de boîtes englobantes.
public static List<IBoundingBox> NonMaximumSuppression(List<IBoundingBox> bbs, double nmsThr = 0.5, IComparer<IBoundingBox>? comparer = null, NmsModeEnum nMSMode = NmsModeEnum.IntraClass)
Parameters
bbsList<IBoundingBox>Liste complète des boîtes englobantes (toutes classes confondues).
nmsThrdoubleSeuil d'IoU (Intersection over Union) pour la suppression.
comparerIComparer<IBoundingBox>Comparateur pour trier les boîtes (typiquement par score de confiance).
nMSModeNmsModeEnumMode de NMS : IntraClass (par classe) ou InterClass (toutes classes).
Returns
- List<IBoundingBox>
Une nouvelle liste contenant les boîtes filtrées.