Class SAM2SegmentationPostprocessor

Namespace
NT2I.ONNX.DataHandling.Cpu.SAM
Assembly
NT2I.ONNX.DataHandling.Cpu.dll

Gère le post-traitement des sorties du modèle SAM2. Cette implémentation est optimisée pour la performance en utilisant Span afin d'éviter les allocations mémoire intermédiaires.

public class SAM2SegmentationPostprocessor : ISAMSegmentationPostprocessor, IPostprocessor, IDisposable
Inheritance
SAM2SegmentationPostprocessor
Implements
Inherited Members

Constructors

SAM2SegmentationPostprocessor()

public SAM2SegmentationPostprocessor()

Methods

Dispose()

Libère les ressources. Dans ce cas, il n'y a pas de ressources non managées.

public void Dispose()

ExtractSegmentationLowResMask(int, float[], int)

Extrait le masque basse résolution (utilisé comme prompt pour l'itération suivante).

public float[] ExtractSegmentationLowResMask(int index, float[] lowResMasks, int totalMasksInBatch)

Parameters

index int

L'index global du masque à extraire dans le batch.

lowResMasks float[]

Le tableau aplati contenant tous les masques basse résolution du batch.

totalMasksInBatch int

Le nombre total de masques dans le tableau.

Returns

float[]

Un nouveau tableau de float contenant le masque basse résolution sélectionné.

ExtractSegmentationMask(int, float[], int)

Extrait un masque de segmentation binaire (0 ou 255) à partir du tenseur de sortie aplati.

public byte[] ExtractSegmentationMask(int index, float[] masks, int totalMasksInBatch)

Parameters

index int

L'index global du masque à extraire dans le batch.

masks float[]

Le tableau aplati contenant tous les masques du batch.

totalMasksInBatch int

Le nombre total de masques dans le tableau (batch_size * masques_par_prompt).

Returns

byte[]

Un tableau de bytes représentant le masque binarisé.