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
IsInitialized
Obtient une valeur indiquant si le modèle est initialisé.
bool IsInitialized { get; }
Property Value
IsRunning
Obtient une valeur indiquant si le modèle est en cours d'exécution.
bool IsRunning { get; }
Property Value
Methods
AddAnnotation(int, ISAMAnnotationPoint)
Ajoute une annotation pour un objet donné.
void AddAnnotation(int objectId, ISAMAnnotationPoint annotationPoints)
Parameters
objectIdintIdentifiant de l'objet.
annotationPointsISAMAnnotationPointPoint d'annotation.
AddAnnotation(int, IList<ISAMAnnotationPoint>)
Ajoute une annotation pour un objet donné.
void AddAnnotation(int objectId, IList<ISAMAnnotationPoint> annotationPoints)
Parameters
objectIdintIdentifiant de l'objet.
annotationPointsIList<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
objectIdintIdentifiant de l'objet.
xfloatCoordonnée X.
yfloatCoordonnée Y.
labelAnnotationLabelEnumLabel 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
objectIdintIdentifiant 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
packedBgrBufferbyte[]Buffer contenant les données de l'image au format BGR.
imageSizeImageSizeTaille 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_Rbyte[]Canal rouge de l'image.
planarBuffer_Gbyte[]Canal vert de l'image.
planarBuffer_Bbyte[]Canal bleu de l'image.
imageSizeImageSizeTaille 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
objectIdintIdentifiant de l'objet.
externalEmbeddingISam2EmbeddingEmbedding externe à utiliser (optionnel).
usePreviousMaskboolIndique si le masque précédent doit être utilisé.
Returns
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
inputIndexintIndex 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
inputNamestringNom 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
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
outputIndexintIndex 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
outputNamestringNom 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
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
inputIndexintIndex 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
inputNamestringNom 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
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
encoderOptionsIOnnxSessionOptionsOptions de session pour l'encodeur.
predictOptionsIOnnxSessionOptionsOptions de session pour le prédicteur.
preprocessorISAMSegmentationPreprocessorPréprocesseur pour la segmentation.
postprocessorISAMSegmentationPostprocessorPostprocesseur 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
encoderOptionsIOnnxSessionOptionsOptions de session de l'encodeur.
predictOptionsIOnnxSessionOptionsOptions de session du prédicteur.
preprocessorISAMSegmentationPreprocessorPré-processeur d'image.
postprocessorISAMSegmentationPostprocessorPost-processeur de masque.
cancellationTokenCancellationTokenJeton d'annulation.
Returns
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
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
batchSizeintTaille du batch.
iterationsintNombre d'itérations de préchauffage (défaut 1).
cancellationTokenCancellationTokenJeton d'annulation.