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).
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
boxesDatafloat[]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].logitsDatafloat[]Tableau plat de float représentant le tenseur
logits [B, N, C]— scores bruts de classe pour chaque query de détection.inputWidthsint[]Largeurs originales des images d'entrée (pour dénormalisation).
inputHeightsint[]Hauteurs originales des images d'entrée (pour dénormalisation).
batchSizeintNombre d'images dans le batch (
B).numDetectionsintNombre de queries de détection (
N).numClassesintNombre de classes (
C).classConfidenceThresholdsfloat[]Seuils de confiance. Si un seul seuil est fourni, il est appliqué à toutes les classes.
normalizeCoordinatesboolSi
true, les coordonnées retournées restent normalisées dans [0, 1]. Sifalse(défaut), les coordonnées sont exprimées en pixels de l'image originale.blacklistedClassIdsint[]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
boxesDatafloat[]Tableau plat
boxes [B, N, 4].logitsDatafloat[]Tableau plat
logits [B, N, C].batchSizeintNombre d'images dans le batch.
numDetectionsintNombre de queries de détection (
N).numClassesintNombre de classes (
C).classConfidenceThresholdsfloat[]Seuils de confiance.
blacklistedClassIdsint[]IDs de classe à exclure.
Returns
- IBatchDetections<float>
Structure IBatchDetections<T> d'accès efficace aux détections.