Interface IRFDetrDetectionPostprocessor

Namespace
NT2I.ONNX.Abstractions.Interfaces.RFDetr
Assembly
NT2I.ONNX.Abstractions.dll

Définit le contrat pour un post-processeur spécifique aux modèles de détection RF-DETR.

RF-DETR produit deux tenseurs de sortie distincts :

  • boxes [B, N, 4] — boîtes englobantes au format (cx, cy, w, h) normalisé dans [0, 1].
  • logits [B, N, C] — scores bruts de classe (avant sigmoid / softmax).
RF-DETR, contrairement à YOLO, ne requiert pas de NMS : le transformeur garantit l'unicité des assignations par construction.

L'implémentation par défaut (RFDetrDetectionPostprocessor) applique un sigmoid indépendant sur chaque score de classe, puis filtre par seuil de confiance.

public interface IRFDetrDetectionPostprocessor : IPostprocessor, IDisposable
Inherited Members

Methods

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

Extrait et filtre les boîtes englobantes à partir des deux sorties brutes du modèle RF-DETR.

IEnumerable<IEnumerable<IBoundingBox>> ExtractBoundingBoxes(float[] boxesData, float[] logitsData, int[] inputWidths, int[] inputHeights, int batchSize, int numDetections, int numClasses, float[] classConfidenceThresholds, bool normalizeCoordinates = false, int[]? blacklistedClassIds = null)

Parameters

boxesData float[]

Tableau plat de float représentant le tenseur boxes [B, N, 4] — chaque boîte encodée comme (cx, cy, w, h) dans [0, 1].

logitsData float[]

Tableau plat de float représentant le tenseur logits [B, N, C] — scores bruts de classe pour chaque query de détection.

inputWidths int[]

Largeurs originales des images d'entrée (pour dénormalisation).

inputHeights int[]

Hauteurs originales des images d'entrée (pour dénormalisation).

batchSize int

Nombre d'images dans le batch (B).

numDetections int

Nombre de queries de détection (N).

numClasses int

Nombre de classes (C).

classConfidenceThresholds float[]

Seuils de confiance. Si un seul seuil est fourni, il est appliqué à toutes les classes.

normalizeCoordinates bool

Si true, les coordonnées retournées restent normalisées dans [0, 1]. Si false (défaut), les coordonnées sont exprimées en pixels de l'image originale.

blacklistedClassIds int[]

IDs de classe à exclure des résultats.

Returns

IEnumerable<IEnumerable<IBoundingBox>>

Collection de listes de boîtes englobantes, une liste par image du batch.

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

Traite les sorties brutes du modèle RF-DETR pour fournir un accès performant aux détections via des IBatchDetections<T> / Spans.

IBatchDetections<float> ProcessOutputForSpans(float[] boxesData, float[] logitsData, int batchSize, int numDetections, int numClasses, float[] classConfidenceThresholds, int[]? blacklistedClassIds)

Parameters

boxesData float[]

Tableau plat boxes [B, N, 4].

logitsData float[]

Tableau plat logits [B, N, C].

batchSize int

Nombre d'images dans le batch.

numDetections int

Nombre de queries de détection (N).

numClasses int

Nombre de classes (C).

classConfidenceThresholds float[]

Seuils de confiance.

blacklistedClassIds int[]

IDs de classe à exclure.

Returns

IBatchDetections<float>

Structure IBatchDetections<T> d'accès efficace aux détections.