Interface ISAM2Image

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

Définit le contrat pour l'architecture SAM (Segment Anything Model).

public interface ISAM2Image : IDisposable
Inherited Members

Properties

Annotations

Obtient les annotations associées à chaque objet.

IReadOnlyDictionary<int, ISAMAnnotationSet>? Annotations { get; }

Property Value

IReadOnlyDictionary<int, ISAMAnnotationSet>

IsInitialized

Obtient une valeur indiquant si le modèle est initialisé.

bool IsInitialized { get; }

Property Value

bool

IsRunning

Obtient une valeur indiquant si le modèle est en cours d'exécution.

bool IsRunning { get; }

Property Value

bool

Methods

AddAnnotation(int, ISAMAnnotationPoint)

Ajoute une annotation pour un objet donné.

void AddAnnotation(int objectId, ISAMAnnotationPoint annotationPoints)

Parameters

objectId int

Identifiant de l'objet.

annotationPoints ISAMAnnotationPoint

Point d'annotation.

AddAnnotation(int, IList<ISAMAnnotationPoint>)

Ajoute une annotation pour un objet donné.

void AddAnnotation(int objectId, IList<ISAMAnnotationPoint> annotationPoints)

Parameters

objectId int

Identifiant de l'objet.

annotationPoints IList<ISAMAnnotationPoint>

Liste des points d'annotation.

AddAnnotation(int, float, float, AnnotationLabelEnum)

Ajoute une annotation pour un objet donné.

void AddAnnotation(int objectId, float x, float y, AnnotationLabelEnum label)

Parameters

objectId int

Identifiant de l'objet.

x float

Coordonnée X.

y float

Coordonnée Y.

label AnnotationLabelEnum

Label de l'annotation.

CleanModelFolder()

Nettoie le dossier contenant les modèles.

void CleanModelFolder()

ClearAllAnnotations()

Supprime toutes les annotations.

void ClearAllAnnotations()

ClearAnnotations(int)

Supprime les annotations pour un objet donné.

bool ClearAnnotations(int objectId)

Parameters

objectId int

Identifiant de l'objet.

Returns

bool

Indique si les annotations ont été supprimées avec succès.

ClearCurrentEmbedding()

Supprime l'embedding actuel.

void ClearCurrentEmbedding()

EncodeImageBgr(byte[], ImageSize)

Encode une image au format BGR.

Task<ISam2Embedding> EncodeImageBgr(byte[] packedBgrBuffer, ImageSize imageSize)

Parameters

packedBgrBuffer byte[]

Buffer contenant les données de l'image au format BGR.

imageSize ImageSize

Taille de l'image.

Returns

Task<ISam2Embedding>

Embedding résultant de l'encodage.

EncodeImagePlanar(byte[], byte[], byte[], ImageSize)

Encode une image au format planaire.

Task<ISam2Embedding> EncodeImagePlanar(byte[] planarBuffer_R, byte[] planarBuffer_G, byte[] planarBuffer_B, ImageSize imageSize)

Parameters

planarBuffer_R byte[]

Canal rouge de l'image.

planarBuffer_G byte[]

Canal vert de l'image.

planarBuffer_B byte[]

Canal bleu de l'image.

imageSize ImageSize

Taille de l'image.

Returns

Task<ISam2Embedding>

Embedding résultant de l'encodage.

GetDetections(int, ISam2Embedding?, bool)

Obtient les détections pour un objet donné.

Task<byte[]> GetDetections(int objectId, ISam2Embedding? externalEmbedding = null, bool usePreviousMask = false)

Parameters

objectId int

Identifiant de l'objet.

externalEmbedding ISam2Embedding

Embedding externe à utiliser (optionnel).

usePreviousMask bool

Indique si le masque précédent doit être utilisé.

Returns

Task<byte[]>

Masque de détection sous forme de tableau d'octets.

GetEncodeInputDimensions(int)

Obtient les dimensions des entrées pour l'encodeur en fonction de l'index de l'entrée.

IReadOnlyCollection<long> GetEncodeInputDimensions(int inputIndex = 0)

Parameters

inputIndex int

Index de l'entrée (par défaut 0).

Returns

IReadOnlyCollection<long>

Collection des dimensions de l'entrée.

GetEncodeInputDimensions(string)

Obtient les dimensions des entrées pour l'encodeur en fonction du nom de l'entrée.

IReadOnlyCollection<long> GetEncodeInputDimensions(string inputName)

Parameters

inputName string

Nom de l'entrée.

Returns

IReadOnlyCollection<long>

Collection des dimensions de l'entrée.

GetEncodeInputNames()

Obtient les noms des entrées pour l'encodeur.

IReadOnlyDictionary<int, string>? GetEncodeInputNames()

Returns

IReadOnlyDictionary<int, string>

GetEncodeOutputDimensions(int)

Obtient les dimensions des sorties pour l'encodeur en fonction de l'index de la sortie.

IReadOnlyCollection<long> GetEncodeOutputDimensions(int outputIndex = 0)

Parameters

outputIndex int

Index de la sortie (par défaut 0).

Returns

IReadOnlyCollection<long>

Collection des dimensions de la sortie.

GetEncodeOutputDimensions(string)

Obtient les dimensions des sorties pour l'encodeur en fonction du nom de la sortie.

IReadOnlyCollection<long> GetEncodeOutputDimensions(string outputName)

Parameters

outputName string

Nom de la sortie.

Returns

IReadOnlyCollection<long>

Collection des dimensions de la sortie.

GetEncodeOutputNames()

Obtient les noms des sorties pour l'encodeur.

IReadOnlyDictionary<int, string> GetEncodeOutputNames()

Returns

IReadOnlyDictionary<int, string>

GetPredictInputDimensions(int)

Obtient les dimensions des entrées pour le prédicteur en fonction de l'index de l'entrée.

IReadOnlyCollection<long> GetPredictInputDimensions(int inputIndex = 0)

Parameters

inputIndex int

Index de l'entrée (par défaut 0).

Returns

IReadOnlyCollection<long>

Collection des dimensions de l'entrée.

GetPredictInputDimensions(string)

Obtient les dimensions des entrées pour le prédicteur en fonction du nom de l'entrée.

IReadOnlyCollection<long> GetPredictInputDimensions(string inputName)

Parameters

inputName string

Nom de l'entrée.

Returns

IReadOnlyCollection<long>

Collection des dimensions de l'entrée.

GetPredictInputNames()

Obtient les noms des entrées pour le prédicteur.

IReadOnlyDictionary<int, string>? GetPredictInputNames()

Returns

IReadOnlyDictionary<int, string>

Initialize(IOnnxSessionOptions, IOnnxSessionOptions, ISAMSegmentationPreprocessor, ISAMSegmentationPostprocessor)

Initialise le modèle SAM avec les options de session et les pré/post-processeurs.

void Initialize(IOnnxSessionOptions encoderOptions, IOnnxSessionOptions predictOptions, ISAMSegmentationPreprocessor preprocessor, ISAMSegmentationPostprocessor postprocessor)

Parameters

encoderOptions IOnnxSessionOptions

Options de session pour l'encodeur.

predictOptions IOnnxSessionOptions

Options de session pour le prédicteur.

preprocessor ISAMSegmentationPreprocessor

Préprocesseur pour la segmentation.

postprocessor ISAMSegmentationPostprocessor

Postprocesseur pour la segmentation.

InitializeAsync(IOnnxSessionOptions, IOnnxSessionOptions, ISAMSegmentationPreprocessor, ISAMSegmentationPostprocessor, CancellationToken)

Initialise SAM2 (encodeur + prédicteur) de manière asynchrone, en parallélisant la création des deux InferenceSession pour réduire la latence d'init quand les deux modèles sont lourds (ex: TRT engine compilation).

Task InitializeAsync(IOnnxSessionOptions encoderOptions, IOnnxSessionOptions predictOptions, ISAMSegmentationPreprocessor preprocessor, ISAMSegmentationPostprocessor postprocessor, CancellationToken cancellationToken = default)

Parameters

encoderOptions IOnnxSessionOptions

Options de session de l'encodeur.

predictOptions IOnnxSessionOptions

Options de session du prédicteur.

preprocessor ISAMSegmentationPreprocessor

Pré-processeur d'image.

postprocessor ISAMSegmentationPostprocessor

Post-processeur de masque.

cancellationToken CancellationToken

Jeton d'annulation.

Returns

Task

WarmUp(int, int)

Effectue un préchauffage du modèle avec un batch de taille spécifiée.

void WarmUp(int batchSize = 1, int iterations = 1)

Parameters

batchSize int

Taille du batch.

iterations int

Nombre d'itérations de préchauffage (défaut 1).

WarmUpAsync(int, int, CancellationToken)

Effectue un préchauffage asynchrone du modèle avec un batch de taille spécifiée.

Task WarmUpAsync(int batchSize = 1, int iterations = 1, CancellationToken cancellationToken = default)

Parameters

batchSize int

Taille du batch.

iterations int

Nombre d'itérations de préchauffage (défaut 1).

cancellationToken CancellationToken

Jeton d'annulation.

Returns

Task