Passer au contenu

SAM 3 : Segment Anything with Concepts

Maintenant disponible dans Ultralytics

SAM est entièrement intégré au Ultralytics depuis version 8.3.237 (PR n° 22897). Installez ou mettez à jour avec pip install -U ultralytics pour accéder à toutes les fonctionnalités SAM , y compris la segmentation conceptuelle basée sur le texte, les invites d'exemples d'images et le suivi vidéo.

Présentation de SAM 3

SAM 3 (Segment Anything Model 3) est le modèle de fondation publié par Meta pour la segmentation de concepts incitables (PCS). S'appuyant sur SAM 2, SAM 3 introduit une capacité fondamentalement nouvelle : detect, segment et track toutes les instances d'un concept visuel spécifié par des invites textuelles, des exemples d'images, ou les deux. Contrairement aux versions précédentes de SAM qui segmentent des objets uniques par invite, SAM 3 peut trouver et segmenter chaque occurrence d'un concept apparaissant n'importe où dans des images ou des vidéos, s'alignant sur les objectifs de vocabulaire ouvert dans la segmentation d'instance moderne.

SAM est désormais entièrement intégré dans le ultralytics package, fournissant une prise en charge native de la segmentation conceptuelle avec des invites textuelles, des invites d'exemples d'images et des capacités de suivi vidéo.

Aperçu

SAM3 réalise un gain de performance de 2× par rapport aux systèmes existants dans la segmentation de concepts promptables tout en maintenant et en améliorant les capacités de SAM2 pour la segmentation visuelle interactive. Le modèle excelle dans la segmentation à vocabulaire ouvert, permettant aux utilisateurs de spécifier des concepts en utilisant de simples groupes nominaux (par exemple, "autobus scolaire jaune", "chat rayé") ou en fournissant des exemples d'images de l'objet cible. Ces capacités complètent les pipelines prêts pour la production qui reposent sur des flux de travail predict et track rationalisés.

Segmentation SAM 3

Qu’est-ce que la segmentation de concept amorçable (PCS) ?

La tâche PCS prend un concept en entrée et renvoie des masques de segmentation avec des identités uniques pour toutes les instances d'objets correspondantes. Les invites conceptuelles peuvent être :

  • Texte : Phrases nominales simples comme « pomme rouge » ou « personne portant un chapeau », semblables à l’apprentissage zéro-shot
  • Exemples d'images : Boîtes englobantes autour d'objets exemples (positifs ou négatifs) pour une généralisation rapide
  • Combiné : Exemples de texte et d’image combinés pour un contrôle précis

Cela diffère des prompts visuels traditionnels (points, boîtes, masques) qui segmentent uniquement une instance d'objet spécifique, comme popularisé par la famille SAM originale.

Indicateurs clés de performance

MétriqueRéalisation de SAM3
LVIS Zero-Shot Mask AP47,0 (contre 38,5, soit une amélioration de +22 %)
Benchmark SA-Co2 fois mieux que les systèmes existants
Vitesse d'Inference (GPU H200)30 ms par image avec plus de 100 objets detectés
Performance vidéoQuasi temps réel pour environ 5 objets simultanés
Benchmark MOSEv2 VOS60,1 J&F (+25,5 % par rapport à SAM 2.1, +17 % par rapport à SOTA précédent)
Affinement interactifAmélioration de +18,6 CGF1 après 3 invites exemplaires
Écart de performance humaineAtteint 88 % de la limite inférieure estimée sur SA-Co/Gold

Pour le contexte sur les métriques du modèle et les compromis en production, consultez informations sur l'évaluation du modèle et métriques de performance de YOLO.

Architecture

SAM3 se compose d'un detector et d'un tracker qui partagent un backbone de vision Perception Encoder (PE). Cette conception découplée évite les conflits de tâches tout en permettant la detect à l'échelle de l'image et le track à l'échelle de la vidéo, avec une interface compatible avec l'utilisation de python Ultralytics et l'utilisation de la CLI.

Composants principaux

  • Détecteur : Architecture basée sur DETR pour la détection de concepts au niveau de l’image

    • Encodeur de texte pour les invites de groupes nominaux
    • Encodeur d'exemplaires pour les invites basées sur des images
    • Encodeur de fusion pour conditionner les caractéristiques de l'image sur les invites
    • Présence head novatrice qui découple la reconnaissance (« quoi ») de la localisation (« où »)
    • Tête de masque pour générer des masques de segmentation d'instance
  • Tracker : Segmentation vidéo basée sur la mémoire héritée de SAM 2

    • Encodeur d'invite, décodeur de masque, encodeur de mémoire
    • Banque de mémoire pour stocker l'apparence des objets à travers les images
    • Désambiguïsation temporelle facilitée par des techniques comme un filtre de Kalman dans des configurations multi-objets
  • Jeton de présence : Un jeton global appris qui prédit si le concept cible est présent dans l'image/trame, améliorant la détection en séparant la reconnaissance de la localisation.

Architecture de SAM3

Innovations clés

  1. Reconnaissance et localisation découplées : La tête de présence prédit la présence du concept globalement, tandis que les requêtes de proposition se concentrent uniquement sur la localisation, évitant ainsi les objectifs conflictuels.
  2. Concept unifié et invites visuelles : Prend en charge à la fois les PCS (invites conceptuelles) et les PVS (invites visuelles comme les clics/boîtes de SAM 2) dans un seul modèle.
  3. Affinement interactif d'exemplaires : Les utilisateurs peuvent ajouter des exemplaires d'images positifs ou négatifs pour affiner itérativement les résultats, le modèle se généralisant à des objets similaires plutôt que de simplement corriger des instances individuelles.
  4. Désambiguïsation temporelle : Utilise les scores de détection de masklets et le réinvite périodique pour gérer les occlusions, les scènes encombrées et les échecs de suivi dans la vidéo, en s’alignant sur les meilleures pratiques de segmentation et de suivi d’instances.

Dataset SA-Co

SAM 3 est entraîné sur Segment Anything with Concepts (SA-Co), l'ensemble de données de segmentation le plus vaste et le plus diversifié de Meta à ce jour, s'étendant au-delà des benchmarks courants tels que COCO et LVIS.

Données d'entraînement

Composant de l'ensemble de donnéesDescriptionÉchelle
SA-Co/HQDonnées d'images annotées par des humains de haute qualité provenant d'un moteur de données en 4 phases5,2 M d'images, 4 M d'expressions nominales uniques
SA-Co/SYNEnsemble de données synthétiques étiqueté par l'IA sans intervention humaine38M d'expressions nominales, 1,4B de masques
SA-Co/EXT15 jeux de données externes enrichis avec des faux négatifs difficilesVarie selon la source
SA-Co/VIDEOAnnotations vidéo avec suivi temporel52,5 K vidéos, 24,8 K expressions nominales uniques

Données de référence

Le SA-Co evaluation benchmark contient 214 000 expressions uniques réparties sur 126 000 images et vidéos, fournissant plus de 50 fois plus de concepts que les benchmarks existants. Il comprend :

  • SA-Co/Gold : 7 domaines, triple annotation pour mesurer les limites de performance humaine
  • SA-Co/Silver : 10 domaines, annotation humaine unique
  • SA-Co/Bronze et SA-Co/Bio : 9 jeux de données existants adaptés à la segmentation conceptuelle
  • SA-Co/VEval : Benchmark vidéo avec 3 domaines (SA-V, YT-Temporal-1B, SmartGlasses)

Innovations du moteur de données

Le moteur de données évolutif de SAM 3, avec intervention humaine et modèle en boucle, atteint un débit d'annotation 2× supérieur grâce à :

  1. Annotateurs IA : Les modèles basés sur Llama proposent divers groupes nominaux, y compris les faux négatifs difficiles.
  2. Vérificateurs IA : Les LLM multimodaux affinés vérifient la qualité et l’exhaustivité du masque avec des performances quasi humaines.
  3. Extraction active : Concentre les efforts humains sur les cas d’échec difficiles où l’IA a du mal à fonctionner.
  4. Basé sur l’ontologie : Tire parti d’une vaste ontologie ancrée dans Wikidata pour la couverture des concepts

Installation

SAM est disponible dans Ultralytics version 8.3.237 et ultérieures. Installez ou mettez à niveau avec :

pip install -U ultralytics

Poids requis pour le modèle SAM

Contrairement Ultralytics autres Ultralytics , SAM pondère (sam3.pt) sont pas téléchargé automatiquement. Vous devez télécharger manuellement les poids du modèle à partir du référentiel officiel SAM avant d'utiliser SAM . Placez le fichier téléchargé sam3.pt dans votre répertoire de travail ou spécifiez le chemin complet lors du chargement du modèle.

Vocabulaire BPE pour les invites de texte

Si vous prévoyez d'utiliser la segmentation conceptuelle basée sur le texte avec SAM3SemanticPredictor, vous devez également télécharger le fichier de vocabulaire BPE. bpe_simple_vocab_16e6.txt.gz de la Actifs SAM.

Comment utiliser SAM 3 : La polyvalence dans la segmentation conceptuelle

SAM prend en charge les tâches de segmentation conceptuelle promptable (PCS) et de segmentation visuelle promptable (PVS) via différentes interfaces de prédiction.

Tâches et modèles pris en charge

SAM 3 prend en charge les tâches de segmentation de concepts incitables (PCS) et de segmentation visuelle incitable (PVS) :

Type de tâcheTypes d'invitesSortie
Segmentation conceptuelle (PCS)Texte (groupes nominaux), exemples d'imagesToutes les instances correspondant au concept
Segmentation visuelle (PVS)Points, boîtes, masquesInstance d'objet unique (style SAM 2)
Affinement interactifAjouter/supprimer des exemplaires ou des clics de manière itérativeSegmentation affinée avec une précision améliorée

Exemples de segmentation conceptuelle

Segmenter avec des invites textuelles

Segmentation de concepts basée sur le texte

Recherchez et segment les occurrences d'un concept à l'aide d'une description textuelle. Les invites textuelles nécessitent le SAM3SemanticPredictor interface.

from ultralytics.models.sam.predict import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
)
predictor = SAM3SemanticPredictor(
    overrides=overrides,
    bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz",  # Required for text encoding
)

# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")

# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"], save=True)

# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"], save=True)

# Query with a single concept
results = predictor(text=["a person"], save=True)

Exigences en matière de codage des textes

L'argument bpe_path Le paramètre est requis pour l'encodage des invites textuelles. Téléchargez le fichier de vocabulaire BPE à partir du bpe_simple_vocab_16e6.txt.gz.

Segmenter avec des exemples d'images

Segmentation basée sur un exemple d'image

Utilisez des cadres de sélection comme repères visuels pour trouver toutes les instances similaires. Cela nécessite également SAM3SemanticPredictor pour la correspondance basée sur les concepts.

from ultralytics.models.sam.predict import SAM3SemanticPredictor

# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# Set image
predictor.set_image("path/to/image.jpg")

# Provide bounding box examples to segment similar objects
results = predictor(bboxes=[[480.0, 290.0, 590.0, 650.0]], save=True)

# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]], save=True)

Inférence basée sur les caractéristiques pour plus d'efficacité

Réutilisation des caractéristiques d'image pour plusieurs requêtes

Extrayez les caractéristiques de l'image une seule fois et réutilisez-les pour plusieurs requêtes de segmentation afin d'améliorer l'efficacité.

import cv2

from ultralytics.models.sam.predict import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors

# Initialize predictors
overrides = dict(conf=0.50, task="segment", mode="predict", model="sam3.pt", verbose=False)
predictor = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
predictor2 = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# Extract features from the first predictor
source = "path/to/image.jpg"
predictor.set_image(source)
src_shape = cv2.imread(source).shape[:2]

# Setup second predictor and reuse features
predictor2.setup_model()

# Perform inference using shared features with text prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, text=["person"])

# Perform inference using shared features with bounding box prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, bboxes=[439, 437, 524, 709])

# Visualize results
masks, boxes = masks.cpu().numpy(), boxes.cpu().numpy()
im = cv2.imread(source)
annotator = Annotator(im, pil=False)
annotator.masks(masks, [colors(x, True) for x in range(len(masks))])

cv2.imshow("result", annotator.result())
cv2.waitKey(0)

Segmentation conceptuelle vidéo

Suivre les concepts à travers la vidéo à l'aide de cadres de sélection

Suivi vidéo avec invites visuelles

Détectez et track les instances track dans les images vidéo à l'aide d'indicateurs de cadre de sélection.

from ultralytics.models.sam.predict import SAM3VideoPredictor

# Create video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3VideoPredictor(overrides=overrides)

# Track objects using bounding box prompts
results = predictor(source="path/to/video.mp4", bboxes=[[706.5, 442.5, 905.25, 555], [598, 635, 725, 750]], stream=True)

# Process and display results
for r in results:
    r.show()  # Display frame with segmentation masks

Suivre les concepts à l'aide d'invites textuelles

Suivi vidéo avec requêtes sémantiques

Suivez toutes les occurrences des concepts spécifiés par le texte dans les images vidéo.

from ultralytics.models.sam import SAM3VideoSemanticPredictor

# Initialize semantic video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=640, model="sam3.pt", half=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True, save=True)

# Process results
for r in results:
    r.show()  # Display frame with tracked objects

# Alternative: Track with bounding box prompts
results = predictor(
    source="path/to/video.mp4",
    bboxes=[[864, 383, 975, 620], [705, 229, 782, 402]],
    labels=[1, 1],  # Positive labels
    stream=True,
    save=True,
)

Invites visuelles (Compatibilité SAM 2)

SAM conserve une compatibilité totale avec les invites visuelles SAM pour la segmentation d'un seul objet :

Prompts visuels de style SAM2

Le basique SAM L'interface se comporte exactement comme SAM , en segmentant uniquement la zone spécifique indiquée par des repères visuels (points, cadres ou masques).

from ultralytics import SAM

model = SAM("sam3.pt")

# Single point prompt - segments object at specific location
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()

# Multiple points - segments single object with multiple point hints
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# Box prompt - segments object within bounding box
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()

Indications visuelles vs segmentation conceptuelle

L'utilisation de SAM("sam3.pt") avec des repères visuels (points/boîtes/masques) segment uniquement l'objet spécifique à cet endroit, tout comme SAM . Pour segment tous les exemples d'un concept, utilisez SAM3SemanticPredictor avec des invites textuelles ou des exemples comme indiqué ci-dessus.

Bancs d'essai de performance

Segmentation d'image

SAM3 obtient des résultats de pointe sur plusieurs benchmarks, y compris des ensembles de données du monde réel comme LVIS et COCO pour la segmentation:

BenchmarkMétriqueSAM 3Meilleur précédentAmélioration
LVIS (zero-shot)Mask AP47.038.5+22.1%
SA-Co/GoldCGF165.034,3 (OWLv2)+89.5%
COCO (zero-shot)Box AP53.552,2 (T-Rex2)+2.5%
ADE-847 (seg. sémantique)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458,5 (APE-D)+1.5%
Cityscapes (segmentation sémantique)mIoU65.144,2 (APE-D)+47.3%

Explorez les options d'ensembles de données pour une expérimentation rapide dans Ultralytics datasets.

Performance de la segmentation vidéo

SAM 3 montre des améliorations significatives par rapport à SAM 2 et à l'état de l'art précédent sur les benchmarks vidéo tels que DAVIS 2017 et YouTube-VOS :

BenchmarkMétriqueSAM 3SAM 2.1 LAmélioration
MOSEv2J&F60.147.9+25.5%
DAVIS 2017J&F92.090.7+1.4%
LVOSv2J&F88.279.6+10.8%
SA-VJ&F84.678.4+7.9%
YTVOS19J&F89.689.3+0.3%

Adaptation Few-Shot

SAM3 excelle dans l'adaptation à de nouveaux domaines avec un minimum d'exemples, ce qui est pertinent pour les flux de travail d'IA centrée sur les données:

BenchmarkAP 0-shotAP 10-shotMeilleur précédent (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733,7 (gDino-T)

Efficacité du raffinement interactif

Le prompting basé sur des concepts avec des exemples de SAM 3 converge beaucoup plus rapidement que le prompting visuel :

Invites ajoutéesScore CGF1Gain vs Text-OnlyGain vs PVS Baseline
Texte uniquement46.4baselinebaseline
+1 exemple57.6+11.2+6.7
+2 exemples62.2+15.8+9.7
+3 exemples65.0+18.6+11.2
+4 exemples65.7+19.3+11,5 (plateau)

Précision du comptage d'objets

SAM 3 fournit un comptage précis en segmentant toutes les instances, une exigence courante dans le comptage d'objets :

BenchmarkPrécisionMAEvs Meilleur MLLM
CountBench95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

Comparaison SAM 3 vs SAM 2 vs YOLO

Ici, nous comparons les capacités de SAM 3 avec SAM 2 et les modèles YOLO11 :

CapacitéSAM 3SAM 2YOLO11n-seg
Segmentation conceptuelle✅ Toutes les instances à partir de texte/exemplaires❌ Non pris en charge❌ Non pris en charge
Segmentation visuelle✅ Instance unique (compatible SAM 2)✅ Instance unique✅ Toutes les instances
Capacité Zero-shot✅ Vocabulaire ouvert✅ Prompts géométriques❌ Ensemble fermé
Affinement interactif✅ Exemplaires + clics✅ Clics uniquement❌ Non pris en charge
Suivi vidéo✅ Multi-objets avec identités✅ Multi-objets✅ Multi-objets
LVIS Mask AP (zero-shot)47.0N/AN/A
MOSEv2 J&F60.147.9N/A
Vitesse d'Inference (H200)30 ms (plus de 100 objets)~23 ms (par objet)2-3 ms (image)
Taille du modèleGrand (~400+ Mo attendus)162 Mo (base)5,9 Mo

Principaux points à retenir :

  • SAM 3 : Idéal pour la segmentation conceptuelle à vocabulaire ouvert, trouvant toutes les instances d’un concept avec du texte ou des invites d’exemplaires
  • SAM 2 : Idéal pour la segmentation interactive d’objets uniques dans les images et les vidéos avec des invites géométriques
  • YOLO11 : Idéal pour la segmentation en temps réel à haute vitesse dans les déploiements aux ressources limitées, grâce à des pipelines d’exportation efficaces comme ONNX et TensorRT.

Métriques d'évaluation

SAM 3 introduit de nouvelles métriques conçues pour la tâche PCS, complétant les mesures familières telles que le score F1, la précision et le rappel.

F1 à barrière de classification (CGF1)

La métrique principale combinant la localisation et la classification:

CGF1 = 100 × pmF1 × IL_MCC

Où :

  • pmF1 (Positive Macro F1) : Mesure la qualité de la localisation sur des exemples positifs
  • IL_MCC (Coefficient de Corrélation de Matthews au Niveau de l'Image) : Mesure la précision de la classification binaire (« le concept est-il présent ? »)

Pourquoi ces métriques ?

Les métriques AP traditionnelles ne tiennent pas compte de la calibration, ce qui rend les modèles difficiles à utiliser en pratique. En évaluant uniquement les prédictions supérieures à 0,5 de confiance, les métriques de SAM 3 imposent une bonne calibration et imitent les modèles d'utilisation du monde réel dans les boucles interactives de predict et de track.

Principales ablations et observations

Impact de la présence de l'en-tête

La tête de présence découple la reconnaissance de la localisation, offrant des améliorations significatives:

ConfigurationCGF1IL_MCCpmF1
Sans présence57.60.7774.7
Avec présence63.30.8277.1

La tête de présence fournit un gain de +5,7 CGF1 (+9,9%), améliorant principalement la capacité de reconnaissance (IL_MCC +6,5%).

Effet des négatifs stricts

Négatifs difficiles/ImageCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

Les négatifs difficiles sont essentiels pour la reconnaissance de vocabulaire ouvert, améliorant IL_MCC de 54,5 % (0,44 → 0,68).

Mise à l'échelle des données d'entraînement

Sources de donnéesCGF1IL_MCCpmF1
Externe seulement30.90.4666.3
Externe + Synthétique39.70.5770.6
Externe + HQ51.80.7173.2
Tous les trois54.30.7473.5

Des annotations humaines de haute qualité offrent des gains importants par rapport aux seules données synthétiques ou externes. Pour plus d'informations sur les pratiques de qualité des données, consultez la collecte et l'annotation des données.

Applications

La capacité de segmentation conceptuelle de SAM 3 permet de nouveaux cas d'utilisation :

  • Modération de contenu : Trouvez toutes les instances de types de contenu spécifiques dans les bibliothèques multimédias
  • Commerce électronique : Segmenter tous les produits d’un certain type dans les images de catalogue, en prenant en charge l’annotation automatique
  • Imagerie médicale : Identifier toutes les occurrences de types de tissus ou d’anomalies spécifiques
  • Systèmes autonomes : Suivre toutes les instances de panneaux de signalisation, de piétons ou de véhicules par catégorie
  • Analyse vidéo : Compter et suivre toutes les personnes portant des vêtements spécifiques ou effectuant des actions
  • Annotation de l'ensemble de données : Annoter rapidement toutes les instances de catégories d'objets rares
  • Recherche Scientifique : Quantifier et analyser tous les spécimens correspondant à des critères spécifiques

Agent SAM3 : Raisonnement linguistique étendu

SAM3 peut être combiné avec des modèles de langage multimodaux (MLLM) pour traiter des requêtes complexes nécessitant un raisonnement, dans un esprit similaire aux systèmes à vocabulaire ouvert comme OWLv2 et T-Rex.

Performance sur les tâches de raisonnement

BenchmarkMétriqueAgent SAM3 (Gemini 2.5 Pro)Meilleur précédent
ReasonSeg (validation)gIoU76.065.0 (SoTA)
ReasonSeg (test)gIoU73.861,3 (SoTA)
OmniLabel (validation)AP46.736,5 (REAL)
RefCOCO+Préc91.289.3 (LISA)

Exemple de requêtes complexes

L'agent SAM3 peut traiter des requêtes nécessitant un raisonnement:

  • "Personnes assises mais ne tenant pas de boîte cadeau dans leurs mains"
  • "Le chien le plus proche de la caméra qui ne porte pas de collier"
  • "Objets rouges plus grands que la main de la personne"

Le MLLM propose des requêtes simples de groupes nominaux à SAM 3, analyse les masques renvoyés et itère jusqu'à satisfaction.

Limites

Bien que SAM 3 représente une avancée majeure, il présente certaines limitations :

  • Complexité des phrases : Convient mieux aux syntagmes nominaux simples ; les expressions référentielles longues ou les raisonnements complexes peuvent nécessiter l'intégration de MLLM.
  • Gestion de l’ambiguïté : Certains concepts restent intrinsèquement ambigus (p. ex., « petite fenêtre », « pièce confortable »)
  • Exigences de calcul : Plus grand et plus lent que les modèles de détection spécialisés comme YOLO
  • Portée du vocabulaire : Axé sur les concepts visuels atomiques ; le raisonnement compositionnel est limité sans l’aide de MLLM
  • Concepts rares : Les performances peuvent se dégrader sur des concepts extrêmement rares ou précis qui ne sont pas bien représentés dans les données d’entraînement.

Citation

@inproceedings{sam3_2025,
  title     = {SAM 3: Segment Anything with Concepts},
  author    = {Anonymous authors},
  booktitle = {Submitted to ICLR 2026},
  year      = {2025},
  url       = {https://openreview.net/forum?id=r35clVtGzw},
  note      = {Paper ID: 4183, under double-blind review}
}

FAQ

Quand SAM est-il sorti ?

SAM a été lancé par Meta le 20 novembre 2025 et est entièrement intégré à Ultralytics la version 8.3.237 (PR #22897). Une prise en charge complète est disponible pour track prédiction et track .

SAM est-il intégré à Ultralytics?

Oui ! SAM est entièrement intégré auPython Ultralytics , y compris la segmentation conceptuelle, les invites visuelles SAM et le suivi vidéo multi-objets. Vous pouvez exporter vers des formats tels que ONNX et TensorRT pour le déploiement, avec un Python et CLI .

Qu’est-ce que la segmentation de concept amorçable (PCS) ?

PCS est une nouvelle tâche introduite dans SAM 3 qui segment toutes les instances d'un concept visuel dans une image ou une vidéo. Contrairement à la segmentation traditionnelle qui cible une instance d'objet spécifique, PCS trouve chaque occurrence d'une catégorie. Par exemple :

  • Invite textuelle : « autobus scolaire jaune » → segment tous les autobus scolaires jaunes de la scène
  • Exemple d'image : Boîte autour d'un chien → segment tous les chiens de l'image
  • Combiné : « chat tigré » + boîte exemplaire → segmente tous les chats tigrés correspondant à l’exemple

Consultez les informations générales connexes sur la détection d'objets et la segmentation d'instances.

En quoi SAM 3 diffère-t-il de SAM 2 ?

FonctionnalitéSAM 2SAM 3
TâcheUn seul objet par promptToutes les instances d'un concept
Types d'invitesPoints, boîtes, masques+ Phrases textuelles, exemples d'images
Capacité de détectionNécessite un détecteur externeDétecteur de vocabulaire ouvert intégré
ReconnaissanceBasé uniquement sur la géométrieTexte et reconnaissance visuelle
ArchitectureTracker uniquementDétecteur + Tracker avec présence head
Performance Zero-ShotN/A (nécessite des invites visuelles)47,0 AP sur LVIS, 2× mieux sur SA-Co
Affinement interactifClics uniquementClics + généralisation exemplaire

SAM 3 maintient la rétrocompatibilité avec le prompting visuel de SAM 2 tout en ajoutant des capacités basées sur des concepts.

Quels ensembles de données sont utilisés pour former SAM 3 ?

SAM 3 est entraîné sur l'ensemble de données Segment Anything with Concepts (SA-Co) :

Données d’entraînement :

  • 5,2 millions d’images avec 4 millions d’expressions nominales uniques (SA-Co/HQ) - annotations humaines de haute qualité
  • 52,5 000 vidéos avec 24,8 000 expressions nominales uniques (SA-Co/VIDEO)
  • 1,4 milliard de masques synthétiques sur 38 millions de groupes nominaux (SA-Co/SYN)
  • 15 ensembles de données externes enrichis avec des négatifs difficiles (SA-Co/EXT)

Données de référence :

  • 214 000 concepts uniques répartis sur 126 000 images/vidéos
  • 50 fois plus de concepts que les benchmarks existants (par exemple, LVIS a environ 4 000 concepts)
  • Triple annotation sur SA-Co/Gold pour mesurer les limites de performance humaine

Cette échelle et cette diversité massives permettent à SAM 3 d'obtenir une généralisation zéro-shot supérieure à travers des concepts de vocabulaire ouvert.

Comment SAM 3 se compare-t-il à YOLO11 pour la segmentation ?

SAM3 et YOLO11 servent différents cas d'utilisation:

Avantages de SAM 3 :

  • Vocabulaire ouvert : Segmente n’importe quel concept via des invites textuelles sans formation
  • Zéro-shot : Fonctionne immédiatement sur les nouvelles catégories
  • Interactif : L'affinage basé sur des exemplaires se généralise à des objets similaires
  • Basé sur des concepts : Trouve automatiquement toutes les instances d’une catégorie
  • Précision : 47,0 AP sur la segmentation d’instance zéro-shot LVIS

Avantages de YOLO11 :

  • Vitesse : inférence 10 à 15 fois plus rapide (2 à 3 ms contre 30 ms par image)
  • Efficacité : modèles 70 fois plus petits (5,9 Mo contre ~400 Mo attendus)
  • Écologique : Fonctionne sur les appareils edge et mobiles
  • Temps réel : Optimisé pour les déploiements de production

Recommandation :

  • Utilisez SAM 3 pour une segmentation flexible à vocabulaire ouvert où vous devez trouver toutes les instances de concepts décrits par du texte ou des exemples
  • Utilisez YOLO11 pour les déploiements de production à haute vitesse où les catégories sont connues à l'avance
  • Utilisez SAM 2 pour la segmentation interactive d'objets uniques avec des invites géométriques

Est-ce que SAM peut gérer des requêtes complexes en langage naturel ?

SAM 3 est conçu pour des groupes nominaux simples (par exemple, "pomme rouge", "personne portant un chapeau"). Pour les requêtes complexes nécessitant un raisonnement, combinez SAM 3 avec un MLLM comme SAM 3 Agent :

Requêtes simples (SAM natif 3) :

  • "Autobus scolaire jaune"
  • "Chat tigré"
  • "Personne portant un chapeau rouge"

Requêtes complexes (SAM 3 Agent avec MLLM) :

  • "Personnes assises mais ne tenant pas de boîte cadeau"
  • "Le chien le plus proche de la caméra sans collier"
  • "Objets rouges plus grands que la main de la personne"

L'agent SAM3 atteint 76.0 gIoU sur la validation ReasonSeg (contre 65.0 le meilleur précédent, +16.9% d'amélioration) en combinant la segmentation de SAM3 avec les capacités de raisonnement MLLM.

Quelle est la précision de SAM 3 par rapport aux performances humaines ?

Sur le benchmark SA-Co/Gold avec triple annotation humaine :

  • Limite inférieure humaine : 74,2 CGF1 (annotateur le plus prudent)
  • Performance de SAM 3 : 65.0 CGF1
  • Réalisation : 88 % de la limite inférieure humaine estimée
  • Limite supérieure humaine : 81,4 CGF1 (annotateur le plus permissif)

SAM3 atteint de solides performances approchant la précision du niveau humain sur la segmentation de concepts à vocabulaire ouvert, l'écart se situant principalement sur des concepts ambigus ou subjectifs (par exemple, "petite fenêtre", "pièce confortable").



📅 Créé il y a 2 mois ✏️ Mis à jour il y a 0 jour
glenn-jocherRizwanMunawarLaughing-qY-T-G

Commentaires