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.

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.

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étrique | Réalisation de SAM3 |
|---|---|
| LVIS Zero-Shot Mask AP | 47,0 (contre 38,5, soit une amélioration de +22 %) |
| Benchmark SA-Co | 2 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éo | Quasi temps réel pour environ 5 objets simultanés |
| Benchmark MOSEv2 VOS | 60,1 J&F (+25,5 % par rapport à SAM 2.1, +17 % par rapport à SOTA précédent) |
| Affinement interactif | Amélioration de +18,6 CGF1 après 3 invites exemplaires |
| Écart de performance humaine | Atteint 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.

Innovations clés
- 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.
- 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.
- 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.
- 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ées | Description | Échelle |
|---|---|---|
| SA-Co/HQ | Données d'images annotées par des humains de haute qualité provenant d'un moteur de données en 4 phases | 5,2 M d'images, 4 M d'expressions nominales uniques |
| SA-Co/SYN | Ensemble de données synthétiques étiqueté par l'IA sans intervention humaine | 38M d'expressions nominales, 1,4B de masques |
| SA-Co/EXT | 15 jeux de données externes enrichis avec des faux négatifs difficiles | Varie selon la source |
| SA-Co/VIDEO | Annotations vidéo avec suivi temporel | 52,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 à :
- Annotateurs IA : Les modèles basés sur Llama proposent divers groupes nominaux, y compris les faux négatifs difficiles.
- Vérificateurs IA : Les LLM multimodaux affinés vérifient la qualité et l’exhaustivité du masque avec des performances quasi humaines.
- Extraction active : Concentre les efforts humains sur les cas d’échec difficiles où l’IA a du mal à fonctionner.
- 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âche | Types d'invites | Sortie |
|---|---|---|
| Segmentation conceptuelle (PCS) | Texte (groupes nominaux), exemples d'images | Toutes les instances correspondant au concept |
| Segmentation visuelle (PVS) | Points, boîtes, masques | Instance d'objet unique (style SAM 2) |
| Affinement interactif | Ajouter/supprimer des exemplaires ou des clics de manière itérative | Segmentation 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:
| Benchmark | Métrique | SAM 3 | Meilleur précédent | Amélioration |
|---|---|---|---|---|
| LVIS (zero-shot) | Mask AP | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34,3 (OWLv2) | +89.5% |
| COCO (zero-shot) | Box AP | 53.5 | 52,2 (T-Rex2) | +2.5% |
| ADE-847 (seg. sémantique) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58,5 (APE-D) | +1.5% |
| Cityscapes (segmentation sémantique) | mIoU | 65.1 | 44,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 :
| Benchmark | Métrique | SAM 3 | SAM 2.1 L | Amélioration |
|---|---|---|---|---|
| MOSEv2 | J&F | 60.1 | 47.9 | +25.5% |
| DAVIS 2017 | J&F | 92.0 | 90.7 | +1.4% |
| LVOSv2 | J&F | 88.2 | 79.6 | +10.8% |
| SA-V | J&F | 84.6 | 78.4 | +7.9% |
| YTVOS19 | J&F | 89.6 | 89.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:
| Benchmark | AP 0-shot | AP 10-shot | Meilleur précédent (10-shot) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33,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ées | Score CGF1 | Gain vs Text-Only | Gain vs PVS Baseline |
|---|---|---|---|
| Texte uniquement | 46.4 | baseline | baseline |
| +1 exemple | 57.6 | +11.2 | +6.7 |
| +2 exemples | 62.2 | +15.8 | +9.7 |
| +3 exemples | 65.0 | +18.6 | +11.2 |
| +4 exemples | 65.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 :
| Benchmark | Précision | MAE | vs Meilleur MLLM |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88.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 3 | SAM 2 | YOLO11n-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.0 | N/A | N/A |
| MOSEv2 J&F | 60.1 | 47.9 | N/A |
| Vitesse d'Inference (H200) | 30 ms (plus de 100 objets) | ~23 ms (par objet) | 2-3 ms (image) |
| Taille du modèle | Grand (~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:
| Configuration | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Sans présence | 57.6 | 0.77 | 74.7 |
| Avec présence | 63.3 | 0.82 | 77.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/Image | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| 0 | 31.8 | 0.44 | 70.2 |
| 5 | 44.8 | 0.62 | 71.9 |
| 30 | 49.2 | 0.68 | 72.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ées | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Externe seulement | 30.9 | 0.46 | 66.3 |
| Externe + Synthétique | 39.7 | 0.57 | 70.6 |
| Externe + HQ | 51.8 | 0.71 | 73.2 |
| Tous les trois | 54.3 | 0.74 | 73.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
| Benchmark | Métrique | Agent SAM3 (Gemini 2.5 Pro) | Meilleur précédent |
|---|---|---|---|
| ReasonSeg (validation) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (test) | gIoU | 73.8 | 61,3 (SoTA) |
| OmniLabel (validation) | AP | 46.7 | 36,5 (REAL) |
| RefCOCO+ | Préc | 91.2 | 89.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 2 | SAM 3 |
|---|---|---|
| Tâche | Un seul objet par prompt | Toutes les instances d'un concept |
| Types d'invites | Points, boîtes, masques | + Phrases textuelles, exemples d'images |
| Capacité de détection | Nécessite un détecteur externe | Détecteur de vocabulaire ouvert intégré |
| Reconnaissance | Basé uniquement sur la géométrie | Texte et reconnaissance visuelle |
| Architecture | Tracker uniquement | Détecteur + Tracker avec présence head |
| Performance Zero-Shot | N/A (nécessite des invites visuelles) | 47,0 AP sur LVIS, 2× mieux sur SA-Co |
| Affinement interactif | Clics uniquement | Clics + 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").