SAM 3: Kavramlarla Her Şeyi Segmentleme

Artık Ultralytics İçinde Mevcut

SAM 3, sürüm 8.3.237 (PR #22897) itibarıyla Ultralytics paketine tamamen entegre edilmiştir. Metin tabanlı kavram segmentasyonu, örnek görüntü istemleri ve video takibi dahil tüm SAM 3 özelliklerine erişmek için pip install -U ultralytics komutuyla kur veya yükselt.

SAM 3 isteme dayalı kavram segmentasyonu genel bakış

SAM 3 (Segment Anything Model 3), Meta'nın İsteme Dayalı Kavram Segmentasyonu (PCS) için yayınladığı temel modeldir. SAM 2 üzerine inşa edilen SAM 3, temel olarak yeni bir yetenek sunar: metin istemleri, örnek görüntüler veya her ikisi tarafından belirtilen görsel bir kavramın tüm örneklerini tespit etme, segmentleme ve izleme. Her istem başına tek bir nesneyi segmentleyen önceki SAM sürümlerinden farklı olarak SAM 3, modern instance segmentation kapsamındaki açık uçlu kelime dağarcığı hedefleriyle uyumlu olarak, görüntülerde veya videolarda her yerde görünen bir kavramın her örneğini bulabilir ve segmentleyebilir.



Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos

SAM 3 artık ultralytics paketine tamamen entegre edilmiştir; metin istemleri, örnek görüntü istemleri ve video izleme yetenekleri ile kavram segmentasyonu için yerel destek sağlar.

Genel Bakış

SAM 3, etkileşimli visual segmentation için SAM 2'nin yeteneklerini koruyup geliştirirken, İsteme Dayalı Kavram Segmentasyonu'nda mevcut sistemlere göre 2 kat performans artışı sağlar. Model, kullanıcıların basit isim tamlamaları (örneğin "sarı okul otobüsü", "çizgili kedi") kullanarak veya hedef nesnenin örnek görüntülerini sağlayarak kavramları belirlemesine olanak tanıyan açık uçlu segmentasyonda mükemmeldir. Bu yetenekler, kolaylaştırılmış predict ve track iş akışlarına dayanan üretime hazır süreçleri tamamlar.

SAM 3 metin istemli segmentasyon örnekleri

İsteme Dayalı Kavram Segmentasyonu (PCS) nedir?

PCS görevi, girdi olarak bir kavram istemi alır ve eşleşen tüm nesne örnekleri için benzersiz kimliklere sahip segmentasyon maskeleri döndürür. Kavram istemleri şunlar olabilir:

  • Metin: zero-shot learning benzeri "kırmızı elma" veya "şapka takan kişi" gibi basit isim tamlamaları
  • Örnek görüntüler: Hızlı genelleme için örnek nesnelerin etrafındaki sınırlayıcı kutular (pozitif veya negatif)
  • Birleştirilmiş: Hassas kontrol için hem metin hem de örnek görüntüler bir arada

Bu, orijinal SAM family tarafından popüler hale getirilen ve yalnızca tek bir belirli nesne örneğini segmentleyen geleneksel görsel istemlerden (noktalar, kutular, maskeler) farklıdır.

Temel Performans Metrikleri

MetrikSAM 3 Başarısı
LVIS Zero-Shot Mask AP47.0 (önceki en iyi 38.5'e karşı, +%22 iyileştirme)
SA-Co KıyaslamasıMevcut sistemlerden 2 kat daha iyi
Çıkarım Hızı (H200 GPU)100'den fazla tespit edilen nesne ile görüntü başına 30 ms
Video Performansı~5 eşzamanlı nesne için gerçek zamana yakın
MOSEv2 VOS Kıyaslaması60.1 J&F (SAM 2.1'e göre +%25.5, önceki SOTA'ya göre +%17)
Etkileşimli İyileştirme3 örnek istemden sonra +18.6 CGF1 iyileştirmesi
İnsan Performansı AçığıSA-Co/Gold üzerinde tahmini alt sınırın %88'ine ulaşır

Üretimdeki model metrikleri ve ödünleşimler hakkında bağlam için model evaluation insights ve YOLO performance metrics sayfalarına bak.

Mimari

SAM 3, Perception Encoder (PE) görme omurgasını paylaşan bir detektör ve izleyiciden oluşur. Bu ayrık tasarım, görev çakışmalarını önlerken hem görüntü düzeyinde tespit hem de video düzeyinde izlemeyi mümkün kılar ve Ultralytics Python usage ve CLI usage ile uyumlu bir arayüze sahiptir.

Temel Bileşenler

  • Detektör: Görüntü düzeyinde kavram tespiti için DETR-based architecture

    • İsim tamlaması istemleri için metin kodlayıcı
    • Görüntü tabanlı istemler için örnek kodlayıcı
    • Görüntü özelliklerini istemlere göre koşullandırmak için füzyon kodlayıcı
    • Tanımayı ("ne") yerelleştirmeden ("nerede") ayıran yeni varlık başlığı (presence head)
    • Örnek segmentasyon maskeleri oluşturmak için maske başlığı
  • İzleyici: SAM 2'den miras alınan bellek tabanlı video segmentasyonu

    • İstem kodlayıcı, maske kod çözücü, bellek kodlayıcı
    • Nesne görünümünü kareler arasında saklamak için bellek bankası
    • Çoklu nesne ayarlarında Kalman filter gibi tekniklerle desteklenen zamansal belirsizlik giderme
  • Varlık Belirteci (Presence Token): Hedef kavramın görüntüde/karede olup olmadığını tahmin eden ve tanımayı yerelleştirmeden ayırarak tespiti iyileştiren öğrenilmiş bir küresel belirteç.

SAM 3 model mimarisi diyagramı

Temel Yenilikler

  1. Ayrıştırılmış Tanıma ve Yerelleştirme: Varlık başlığı kavram varlığını küresel olarak tahmin ederken, öneri sorguları yalnızca yerelleştirmeye odaklanarak çelişkili hedefleri önler.
  2. Birleşik Kavram ve Görsel İstemler: Tek bir modelde hem PCS (kavram istemleri) hem de PVS (SAM 2'nin tıklamaları/kutuları gibi görsel istemler) desteği sağlar.
  3. Etkileşimli Örnek İyileştirme: Kullanıcılar sonuçları yinelemeli olarak iyileştirmek için pozitif veya negatif örnek görüntüler ekleyebilir; model sadece bireysel örnekleri düzeltmek yerine benzer nesnelere genelleme yapar.
  4. Zamansal Belirsizlik Giderme: Videodaki tıkanmaları, kalabalık sahneleri ve izleme hatalarını ele almak için masklet tespit puanlarını ve periyodik yeniden istemleri kullanır; bu, instance segmentation and tracking en iyi uygulamalarıyla uyumludur.

SA-Co Veri Kümesi

SAM 3, Meta'nın bugüne kadarki en büyük ve en çeşitli segmentasyon veri kümesi olan ve COCO ve LVIS gibi yaygın kıyaslamaların ötesine geçen Segment Anything with Concepts (SA-Co) üzerinde eğitilmiştir.

Eğitim Verisi

Veri Kümesi BileşeniAçıklamaÖlçek
SA-Co/HQ4 aşamalı veri motorundan yüksek kaliteli insan tarafından açıklanmış görüntü verileri5.2M görüntü, 4M benzersiz isim tamlaması
SA-Co/SYNİnsan müdahalesi olmadan yapay zeka tarafından etiketlenmiş sentetik veri kümesi38M isim tamlaması, 1.4B maske
SA-Co/EXTZor negatiflerle zenginleştirilmiş 15 harici veri kümesiKaynağa göre değişir
SA-Co/VIDEOZamansal izleme içeren video ek açıklamaları52.5K video, 24.8K benzersiz isim tamlaması

Kıyaslama Verisi

SA-Co değerlendirme kıyaslaması, 126K görüntü ve video genelinde 214K benzersiz ifade içerir ve mevcut kıyaslamalardan 50 kat daha fazla kavram sağlar. Şunları içerir:

  • SA-Co/Gold: İnsan performansı sınırlarını ölçmek için üçlü açıklamalı 7 alan
  • SA-Co/Silver: 10 alan, tekli insan açıklaması
  • SA-Co/Bronze ve SA-Co/Bio: Kavram segmentasyonu için uyarlanmış 9 mevcut veri kümesi
  • SA-Co/VEval: 3 alanlı video kıyaslaması (SA-V, YT-Temporal-1B, SmartGlasses)

Veri Motoru Yenilikleri

SAM 3'ün ölçeklenebilir insan ve model döngüsü veri motoru, aşağıdakiler aracılığıyla 2 kat ek açıklama verimi sağlar:

  1. AI Açıklayıcılar: Llama tabanlı modeller, zor negatifler dahil çeşitli isim tamlamaları önerir
  2. AI Doğrulayıcılar: İnce ayarlı multimodal LLMs, maske kalitesini ve kapsayıcılığını insana yakın performansta doğrular
  3. Aktif Madencilik: İnsan çabasını yapay zekanın zorlandığı zorlu hata durumlarına odaklar
  4. Ontoloji Odaklı: Kavram kapsamı için Wikidata tabanlı geniş bir ontolojiden yararlanır

Kurulum

SAM 3, Ultralytics sürüm 8.3.237 ve sonraki sürümlerde mevcuttur. Kurmak veya yükseltmek için:

pip install -U ultralytics
Gerekli SAM 3 Model Ağırlıkları

Diğer Ultralytics modellerinin aksine, SAM 3 ağırlıkları (sam3.pt) otomatik olarak indirilmez. Öncelikle Hugging Face üzerindeki SAM 3 model sayfasından model ağırlıkları için erişim talebinde bulunmalı ve onaylandıktan sonra sam3.pt dosyasını o sayfadan indirmelisin. İndirilen sam3.pt dosyasını çalışma dizinine yerleştir veya modeli yüklerken tam yolu belirt.

`TypeError: 'SimpleTokenizer' object is not callable`

Tahmin sırasında yukarıdaki hatayı alırsan, yanlış clip paketi yüklü demektir. Aşağıdakini çalıştırarak doğru clip paketini yükle:

pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.git

SAM 3 Nasıl Kullanılır: Kavram Segmentasyonunda Çok Yönlülük

SAM 3, farklı tahmin arayüzleri aracılığıyla hem İsteme Dayalı Kavram Segmentasyonu (PCS) hem de İsteme Dayalı Görsel Segmentasyon (PVS) görevlerini destekler:

Desteklenen Görevler ve Modeller

Görev Türüİstem TürleriÇıktı
Kavram Segmentasyonu (PCS)Metin (isim tamlamaları), örnek görüntülerKavramla eşleşen tüm örnekler
Görsel Segmentasyon (PVS)Noktalar, kutular, maskelerTek nesne örneği (SAM 2 stili)
Etkileşimli İyileştirmeÖrnekleri veya tıklamaları yinelemeli olarak ekle/kaldırİyileştirilmiş doğrulukla rafine segmentasyon

Kavram Segmentasyonu Örnekleri

Metin İstemi ile Segmentasyon

Metin Tabanlı Kavram Segmentasyonu

Bir metin açıklaması kullanarak bir kavramın tüm örneklerini bul ve segmente et. Metin istemleri SAM3SemanticPredictor arayüzünü gerektirir.

from ultralytics.models.sam 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
    save=True,
)
predictor = SAM3SemanticPredictor(overrides=overrides)

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

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

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

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

Görüntü Örnekleri ile Segmentasyon

Görüntü Örneği Tabanlı Segmentasyon

Tüm benzer örnekleri bulmak için görsel istemler olarak sınırlayıcı kutular (bounding box) kullan. Bu ayrıca kavram tabanlı eşleştirme için SAM3SemanticPredictor gerektirir.

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True, save=True)
predictor = SAM3SemanticPredictor(overrides=overrides)

# 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]])

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

Verimlilik için Özellik Tabanlı Çıkarım

Görüntü Özelliklerinin Çoklu Sorgular İçin Yeniden Kullanımı

Verimliliği artırmak için görüntü özelliklerini bir kez çıkar ve bunları çoklu segmentasyon sorguları için yeniden kullan.

import cv2

from ultralytics.models.sam 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)
predictor2 = SAM3SemanticPredictor(overrides=overrides)

# 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
if masks is not None:
    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)

Video Kavram Segmentasyonu

Sınırlayıcı Kutularla Videoda Kavramları Takip Etme

Görsel İstemlerle Video Takibi

Sınırlayıcı kutu istemlerini kullanarak video kareleri boyunca nesne örneklerini tespit et ve takip et.

from ultralytics.models.sam 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

Metin İstemi ile Kavramları Takip Etme

Anlamsal Sorgularla Video Takibi

Metinle belirtilen kavramların tüm örneklerini video kareleri boyunca takip et.

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, save=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides)

# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=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,
)

Görsel İstemler (SAM 2 Uyumluluğu)

SAM 3, tek nesne segmentasyonu için SAM 2'nin görsel istem sistemiyle tam geriye dönük uyumluluğu korur:

SAM 2 Tarzı Görsel İstemler

Temel SAM arayüzü tıpkı SAM 2 gibi davranır ve yalnızca görsel istemlerle (noktalar, kutular veya maskeler) belirtilen spesifik alanı segmente eder.

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()
Görsel İstemler ve Kavram Segmentasyonu Karşılaştırması

Görsel istemlerle (noktalar/kutular/maskeler) SAM("sam3.pt") kullanmak, tıpkı SAM 2'de olduğu gibi o konumdaki yalnızca spesifik nesneyi segmente eder. Bir kavramın tüm örneklerini segmente etmek için, yukarıda gösterildiği gibi metin veya örnek istemleriyle SAM3SemanticPredictor kullan.

Performans Kıyaslamaları

Görüntü Segmentasyonu

SAM 3, LVIS ve COCO for segmentation gibi gerçek dünya veri kümeleri de dahil olmak üzere birçok kıyaslamada en iyi sonuçları elde eder:

KıyaslamaMetrikSAM 3Önceki En İyiGelişme
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 (semantic seg)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (semantic seg)mIoU65.144.2 (APE-D)+47.3%

Hızlı denemeler için Ultralytics datasets içerisindeki veri kümesi seçeneklerini keşfet.

Video Segmentasyon Performansı

SAM 3, DAVIS 2017 ve YouTube-VOS gibi video kıyaslamalarında SAM 2'ye ve önceki en iyi yöntemlere göre önemli gelişmeler gösterir:

KıyaslamaMetrikSAM 3SAM 2.1 LGelişme
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%

Az Örnekli (Few-Shot) Adaptasyon

SAM 3, data-centric AI iş akışları ile ilgili olan, az sayıda örnekle yeni alanlara uyum sağlamada mükemmeldir:

Kıyaslama0-shot AP10-shot APÖnceki En İyi (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

Etkileşimli İyileştirme Etkililiği

SAM 3'ün örneklerle kavram tabanlı istem kullanımı, görsel isteme göre çok daha hızlı yakınsar:

Eklenen İstemlerCGF1 SkoruSadece Metne Göre KazançPVS Temeline Göre Kazanç
Sadece metin46.4temeltemel
+1 örnek57.6+11.2+6.7
+2 örnek62.2+15.8+9.7
+3 örnek65.0+18.6+11.2
+4 örnek65.7+19.3+11.5 (platolar)

Nesne Sayma Doğruluğu

SAM 3, nesne sayma sürecinde yaygın bir gereksinim olan tüm örneklerin bölütlenmesi yoluyla doğru sayım sağlar:

KıyaslamaDoğrulukMAEEn İyi MLLM'e karşı
CountBench%95.60.11%92.4 (Gemini 2.5)
PixMo-Count%87.30.22%88.8 (Molmo-72B)

SAM 3, SAM 2 ve YOLO Karşılaştırması

Burada SAM 3'ün yeteneklerini SAM 2 ve YOLO26 modelleriyle karşılaştırıyoruz:

YetenekSAM 3SAM 2YOLO26n-seg
Kavram Bölütleme✅ Metin/örneklerden tüm örnekler❌ Desteklenmiyor❌ Desteklenmiyor
Görsel Bölütleme✅ Tekil örnek (SAM 2 uyumlu)✅ Tekil örnek✅ Tüm örnekler
Zero-shot Yeteneği✅ Açık kelime dağarcığı✅ Geometrik istemler❌ Kapalı küme
Etkileşimli İyileştirme✅ Örnekler + tıklamalar✅ Sadece tıklamalar❌ Desteklenmiyor
Video Takibi✅ Kimliklerle çoklu nesne✅ Çoklu nesne✅ Çoklu nesne
LVIS Mask AP (zero-shot)47.0YokYok
MOSEv2 J&F60.147.9Yok
Hız (GPU, ms/im)29218578.4
Model Boyutu3.45 GB162 MB (temel)6.4 MB

Hız, torch==2.9.1 ve ultralytics==8.4.19 ile NVIDIA RTX PRO 6000 üzerinde kıyaslanmıştır.

Önemli Çıkarımlar:

  • SAM 3: Metin veya örnek istemleri ile bir kavramın tüm örneklerini bulma konusunda, açık kelime dağarcığına sahip kavram bölütleme için en iyisidir.
  • SAM 2: Geometrik istemlerle görüntülerde ve videolarda etkileşimli tek nesne bölütleme için en iyisidir.
  • YOLO26: NMS gerektirmeyen uçtan uca çıkarımla gerçek zamanlı, yüksek hızlı bölütleme için en iyisidir; GPU'lar, CPU'lar ve uç cihazlarda dağıtım için birçok formata dışa aktarılabilir.

SAM ve YOLO Karşılaştırması

SAM 3, SAM 2, SAM, MobileSAM ve FastSAM modellerini Ultralytics YOLO bölütleme modelleri (YOLOv8, YOLO11, YOLO26) ile boyut, parametreler ve GPU çıkarım hızı açısından karşılaştırıyoruz:

ModelBoyut
(MB)
Parametreler
(M)
Hız (GPU)
(ms/im)
Meta SAM-b37593.71306
Meta SAM2-b16280.8857
Meta SAM2-t78.138.9668
Meta SAM33450473.62921
MobileSAM40.710.1605
FastSAM-s with YOLOv8 backbone23.711.855.9
Ultralytics YOLOv8n-seg6.7 (515 kat daha küçük)3.4 (139.1 kat daha az)17.4 (167 kat daha hızlı)
Ultralytics YOLO11n-seg5.9 (585 kat daha küçük)2.9 (163.1 kat daha az)12.6 (231 kat daha hızlı)
Ultralytics YOLO26n-seg6.4 (539 kat daha küçük)2.7 (175.2 kat daha az)8.4 (347 kat daha hızlı)

Bu karşılaştırma, SAM varyantları ile YOLO segmentasyon modelleri arasındaki model boyutları ve hızlarındaki önemli farkları göstermektedir. SAM benzersiz otomatik segmentasyon yetenekleri sunarken, YOLO modelleri, özellikle YOLOv8n-seg, YOLO11n-seg ve YOLO26n-seg, önemli ölçüde daha küçük, daha hızlı ve hesaplama açısından daha verimlidir.

Testler, torch==2.9.1 ve ultralytics==8.4.19 kullanılarak 96GB VRAM'li bir NVIDIA RTX PRO 6000 üzerinde çalıştırılmıştır. Bu testi yeniden oluşturmak için:

Örnek
from ultralytics import ASSETS, SAM, YOLO, FastSAM

# Profile SAM3, SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt", "sam3.pt"]:
    model = SAM(file)
    model.info()
    model(ASSETS)

# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)

# Profile YOLO models
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    model(ASSETS)

Değerlendirme Metrikleri

SAM 3, PCS görevi için tasarlanmış yeni metrikler sunar ve F1 skoru, kesinlik ve duyarlılık gibi bilinen ölçümleri tamamlar.

Sınıflandırma Kapılı F1 (CGF1)

Yerelleştirme ve sınıflandırmayı birleştiren temel metrik:

CGF1 = 100 × pmF1 × IL_MCC

Burada:

  • pmF1 (Pozitif Makro F1): Pozitif örnekler üzerinde yerelleştirme kalitesini ölçer
  • IL_MCC (Görüntü Düzeyinde Matthews Korelasyon Katsayısı): İkili sınıflandırma doğruluğunu ölçer ("kavram mevcut mu?")

Neden Bu Metrikler?

Geleneksel AP metrikleri kalibrasyonu hesaba katmaz, bu da modellerin pratikte kullanımını zorlaştırır. SAM 3'ün metrikleri, yalnızca 0.5 güven eşiğinin üzerindeki tahminleri değerlendirerek iyi bir kalibrasyonu zorunlu kılar ve etkileşimli predict ve track döngülerindeki gerçek dünya kullanım modellerini taklit eder.

Temel Ablasyonlar ve İçgörüler

Varlık Başlığının Etkisi

Varlık başlığı (presence head), tanımayı yerelleştirmeden ayırarak önemli iyileştirmeler sağlar:

YapılandırmaCGF1IL_MCCpmF1
Varlık olmadan57.60.7774.7
Varlık ile63.30.8277.1

Varlık başlığı, öncelikle tanıma yeteneğini (IL_MCC +6.5%) geliştirerek +5.7 CGF1 artışı (+9.9%) sağlar.

Zor Negatiflerin Etkisi

Zor Negatifler/GörüntüCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

Zor negatifler, açık sözcüklü tanıma için çok önemlidir ve IL_MCC değerini %54.5 oranında (0.44 → 0.68) iyileştirir.

Eğitim Verisi Ölçeklendirme

Veri KaynaklarıCGF1IL_MCCpmF1
Yalnızca harici30.90.4666.3
Harici + Sentetik39.70.5770.6
Harici + HQ51.80.7173.2
Üçü de54.30.7473.5

Yüksek kaliteli insan etiketleri, yalnızca sentetik veya harici verilere kıyasla büyük kazançlar sağlar. Veri kalitesi uygulamalarıyla ilgili arka plan bilgisi için veri toplama ve etiketleme bölümüne bakabilirsin.

Uygulamalar

SAM 3'ün kavram segmentasyonu yeteneği, yeni kullanım durumlarına olanak tanır:

  • İçerik Denetimi: Medya kütüphanelerindeki belirli içerik türlerinin tüm örneklerini bul
  • E-ticaret: Katalog görüntülerindeki belirli bir türdeki tüm ürünleri segmentlere ayırarak otomatik etiketlemeyi destekle
  • Tıbbi Görüntüleme: Belirli doku türlerinin veya anormalliklerin tüm örneklerini tanımla
  • Otonom Sistemler: Trafik işaretleri, yayalar veya araçların tüm örneklerini kategoriye göre takip et
  • Video Analitiği: Belirli kıyafetleri giyen veya belirli eylemleri gerçekleştiren tüm insanları say ve takip et
  • Veri Kümesi Etiketleme: Nadir nesne kategorilerinin tüm örneklerini hızla etiketle
  • Bilimsel Araştırma: Belirli kriterlere uyan tüm numuneleri ölç ve analiz et

SAM 3 Ajanı: Genişletilmiş Dil Muhakemesi

SAM 3, OWLv2 ve T-Rex gibi açık sözcüklü sistemlerin ruhuna benzer şekilde, muhakeme gerektiren karmaşık sorguları işlemek için Çok Modlu Büyük Dil Modelleri (MLLM) ile birleştirilebilir.

Muhakeme Görevlerinde Performans

KıyaslamaMetrikSAM 3 Ajanı (Gemini 2.5 Pro)Önceki En İyi
ReasonSeg (doğrulama)gIoU76.065.0 (SoTA)
ReasonSeg (test)gIoU73.861.3 (SoTA)
OmniLabel (doğrulama)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

Karmaşık Sorgu Örnekleri

SAM 3 Ajanı, muhakeme gerektiren sorguları işleyebilir:

  • "Oturan ama ellerinde hediye kutusu tutmayan insanlar"
  • "Kameraya en yakın olan ve tasma takmayan köpek"
  • "İnsanın elinden daha büyük kırmızı nesneler"

MLLM, SAM 3'e basit isim tamlaması sorguları önerir, döndürülen maskeleri analiz eder ve tatmin olana kadar yineler.

Sınırlamalar

SAM 3 büyük bir ilerlemeyi temsil etse de, belirli sınırlamaları vardır:

  • İfade Karmaşıklığı: En iyi basit isim tamlamaları için uygundur; uzun atıfta bulunan ifadeler veya karmaşık muhakeme MLLM entegrasyonu gerektirebilir
  • Belirsizlik Yönetimi: Bazı kavramlar doğası gereği belirsiz kalmaya devam eder (örneğin, "küçük pencere", "rahat oda")
  • Hesaplama Gereksinimleri: YOLO gibi özel tespit modellerinden daha büyük ve daha yavaştır
  • Kelime Dağarcığı Kapsamı: Atomik görsel kavramlara odaklanmıştır; MLLM yardımı olmadan kompozisyonel muhakeme sınırlıdır
  • Nadir Kavramlar: Performans, eğitim verilerinde iyi temsil edilmeyen son derece nadir veya ince taneli kavramlarda düşebilir

Atıf

Alıntı
@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}
}

SSS

SAM 3 Ne Zaman Yayınlandı?

SAM 3, Meta tarafından 20 Kasım 2025 tarihinde yayınlandı ve 8.3.237 sürümü (PR #22897) itibarıyla Ultralytics'e tamamen entegre edildi. Tahmin modu ve takip modu için tam destek mevcuttur.

SAM 3 Ultralytics'e Entegre Edildi mi?

Yes! SAM 3 is fully integrated into the Ultralytics Python package, including concept segmentation, SAM 2–style visual prompts, and multi-object video tracking. SAM 3 also powers the smart annotation feature on Ultralytics Platform, where you can annotate images with just a few clicks.

İstemlenebilir Kavram Segmentasyonu (PCS) Nedir?

PCS, SAM 3'te tanıtılan ve bir görüntü veya videodaki bir görsel kavramın tüm örneklerini segmentlere ayıran yeni bir görevdir. Belirli bir nesne örneğini hedefleyen geleneksel segmentasyonun aksine, PCS bir kategorinin her bir oluşumunu bulur. Örneğin:

  • Metin istemi: "sarı okul otobüsü" → sahnedeki tüm sarı okul otobüslerini segmentlere ayırır
  • Görsel örneği: Bir köpeğin etrafındaki kutu → görüntüdeki tüm köpekleri segmentlere ayırır
  • Birleştirilmiş: "çizgili kedi" + örnek kutusu → örnekle eşleşen tüm çizgili kedileri segmentlere ayırır

Nesne tespiti ve örnek segmentasyonu hakkındaki ilgili arka plan bilgilerine bakabilirsin.

SAM 3, SAM 2'den Nasıl Farklıdır?

ÖzellikSAM 2SAM 3
Görevİstem başına tek nesneBir kavramın tüm örnekleri
İstem TürleriNoktalar, kutular, maskelerMetin ifadeleri, görüntü örnekleri
Algılama YeteneğiHarici bir dedektör gerektirirDahili açık kelime dağarcıklı dedektör
TanımaSadece geometri tabanlıMetin ve görsel tanıma
MimariSadece takipçiDedektör + Varlık başlığına sahip takipçi
Zero-Shot PerformansıYok (görsel istemler gerektirir)LVIS üzerinde 47.0 AP, SA-Co üzerinde 2× daha iyi
Etkileşimli İyileştirmeSadece tıklamalarTıklamalar + örnek genellemesi

SAM 3, SAM 2 görsel istemiyle geriye dönük uyumluluğunu korurken kavram tabanlı yetenekler ekler.

SAM 3 eğitilirken hangi veri setleri kullanılır?

SAM 3, Segment Anything with Concepts (SA-Co) veri seti üzerinde eğitilmiştir:

Eğitim Verisi:

  • 4M benzersiz isim öbeği (SA-Co/HQ) içeren 5.2M görüntü - yüksek kaliteli insan açıklamaları
  • 24.8K benzersiz isim öbeği (SA-Co/VIDEO) içeren 52.5K video
  • 38M isim öbeği (SA-Co/SYN) genelinde 1.4B sentetik maske
  • Zor negatiflerle zenginleştirilmiş 15 harici veri seti (SA-Co/EXT)

Kıyaslama Verisi:

  • 126K görüntü/video genelinde 214K benzersiz kavram
  • Mevcut kıyaslamalardan 50× daha fazla kavram (örneğin, LVIS yaklaşık 4K kavrama sahiptir)
  • İnsan performansı sınırlarını ölçmek için SA-Co/Gold üzerinde üçlü açıklama

Bu devasa ölçek ve çeşitlilik, SAM 3'ün açık kelime dağarcıklı kavramlar genelinde üstün zero-shot genellemesini mümkün kılar.

SAM 3, segmentasyon için YOLO26 ile nasıl karşılaştırılır?

SAM 3 ve YOLO26 farklı kullanım durumlarına hizmet eder:

SAM 3 Avantajları:

  • Açık kelime dağarcığı: Eğitim gerektirmeden metin istemleri aracılığıyla her türlü kavramı bölümler
  • Zero-shot: Yeni kategorilerde hemen çalışır
  • Etkileşimli: Örnek tabanlı iyileştirme benzer nesnelere genellenir
  • Kavram tabanlı: Bir kategorideki tüm örnekleri otomatik olarak bulur
  • Doğruluk: LVIS zero-shot örnek segmentasyonunda 47.0 AP

YOLO26 Avantajları:

  • Hız: NMS içermeyen uçtan uca tasarım ile çok daha hızlı çıkarım
  • Verimlilik: 539× daha küçük modeller (6.4MB vs 3.45GB)
  • Kaynak dostu: Uç cihazlarda ve mobil cihazlarda çalışır
  • Gerçek zamanlı: Üretim dağıtımları için optimize edilmiştir

Öneri:

  • Metin veya örneklerle açıklanan kavramların tüm örneklerini bulman gereken esnek, açık kelime dağarcıklı segmentasyon için SAM 3 kullan
  • Kategorilerin önceden bilindiği yüksek hızlı üretim dağıtımları için YOLO26 kullan
  • Geometrik istemlerle etkileşimli tek nesne segmentasyonu için SAM 2 kullan

SAM 3 karmaşık dil sorgularını işleyebilir mi?

SAM 3 basit isim öbekleri (örneğin, "kırmızı elma", "şapka takan kişi") için tasarlanmıştır. Akıl yürütme gerektiren karmaşık sorgular için, SAM 3'ü bir MLLM ile SAM 3 Agent olarak birleştir:

Basit sorgular (yerel SAM 3):

  • "sarı okul otobüsü"
  • "çizgili kedi"
  • "kırmızı şapka takan kişi"

Karmaşık sorgular (MLLM ile SAM 3 Agent):

  • "Oturmuş ama hediye kutusu tutmayan insanlar"
  • "Tasmasız, kameraya en yakın köpek"
  • "İnsanın elinden daha büyük kırmızı nesneler"

SAM 3 Agent, SAM 3'ün segmentasyonunu MLLM akıl yürütme yetenekleriyle birleştirerek ReasonSeg doğrulamasında 76.0 gIoU başarır (önceki en iyi değer olan 65.0'a kıyasla, +%16.9 iyileştirme).

SAM 3, insan performansına kıyasla ne kadar doğru?

Üçlü insan açıklamasına sahip SA-Co/Gold kıyaslamasında:

  • İnsan alt sınırı: 74.2 CGF1 (en tutucu açıklayıcı)
  • SAM 3 performansı: 65.0 CGF1
  • Başarı: Tahmini insan alt sınırının %88'i
  • İnsan üst sınırı: 81.4 CGF1 (en serbest açıklayıcı)

SAM 3, açık kelime dağarcıklı kavram segmentasyonunda insan düzeyinde doğruluğa yaklaşan güçlü bir performans sergiler; boşluk temel olarak belirsiz veya öznel kavramlarda (örneğin, "küçük pencere", "rahat oda") ortaya çıkar.

Yorumlar