Class YoloV12DetectionPostprocessorDynNMS

Namespace
NT2I.ONNX.DataHandling.Cpu.Yolo.Detection
Assembly
NT2I.ONNX.DataHandling.Cpu.dll

Classe responsable du post-traitement des détections pour le modèle YOLOv12. Cette classe utilise un algorithme de suppression non maximale (NMS) dynamique pour filtrer les boîtes englobantes redondantes.

public class YoloV12DetectionPostprocessorDynNMS : IYoloDetectionPostprocessor, IPostprocessor, IDisposable
Inheritance
YoloV12DetectionPostprocessorDynNMS
Implements
Inherited Members

Constructors

YoloV12DetectionPostprocessorDynNMS(int, float)

Initialise une nouvelle instance de la classe YoloV12DetectionPostprocessorDynNMS.

public YoloV12DetectionPostprocessorDynNMS(int classCount = 80, float nmsThreshold = 0.45)

Parameters

classCount int

Nombre total de classes dans le modèle.

nmsThreshold float

Seuil de suppression non maximale (NMS).

Methods

Dispose()

Libère les ressources utilisées par l'objet. Cette méthode est implémentée pour respecter l'interface IDisposable.

public void Dispose()

ExtractBoundingBoxes(float[], int[], int[], int, int, float[], int, bool, int[]?)

Extrait les boîtes englobantes (bounding boxes) à partir des données de sortie du modèle. Cette méthode ajuste les coordonnées des boîtes en fonction des dimensions originales des images et applique des seuils de confiance pour filtrer les détections.

public IEnumerable<IEnumerable<IBoundingBox>> ExtractBoundingBoxes(float[] outputData, int[] originalWidths, int[] originalHeights, int networkInputWidth, int networkInputHeight, float[] classConfidenceThresholds, int batchSize, bool normalizeCoordinates, int[]? blacklistedClassIds)

Parameters

outputData float[]

Tableau contenant les données de sortie du modèle.

originalWidths int[]

Largeurs originales des images d'entrée.

originalHeights int[]

Hauteurs originales des images d'entrée.

networkInputWidth int

Largeur d'entrée du réseau (après prétraitement).

networkInputHeight int

Hauteur d'entrée du réseau (après prétraitement).

classConfidenceThresholds float[]

Seuils de confiance pour chaque classe.

batchSize int

Nombre d'images dans le batch.

normalizeCoordinates bool

Indique si les coordonnées doivent être normalisées entre 0 et 1.

blacklistedClassIds int[]

Liste des classes à exclure des résultats.

Returns

IEnumerable<IEnumerable<IBoundingBox>>

Une collection imbriquée de boîtes englobantes pour chaque image.

ProcessOutputForSpans(float[], int, float[], int[]?)

Traite les données de sortie pour générer des détections sous forme de Spans. Cette méthode est optimisée pour les performances et applique un algorithme de suppression non maximale (NMS).

public IBatchDetections<float> ProcessOutputForSpans(float[] outputData, int batchSize, float[] classConfidenceThresholds, int[]? blacklistedClassIds)

Parameters

outputData float[]

Tableau contenant les données de sortie du modèle.

batchSize int

Nombre d'images dans le batch.

classConfidenceThresholds float[]

Seuils de confiance pour chaque classe.

blacklistedClassIds int[]

Liste des classes à exclure des résultats.

Returns

IBatchDetections<float>

Un objet IBatchDetections<T> contenant les détections organisées par image.