SAM 3: Kavramlarla Her Şeyi Segmentleme
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 (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.

İ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
| Metrik | SAM 3 Başarısı |
|---|---|
| LVIS Zero-Shot Mask AP | 47.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ştirme | 3 ö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ç.

Temel Yenilikler
- 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.
- 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.
- 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.
- 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şeni | Açıklama | Ölçek |
|---|---|---|
| SA-Co/HQ | 4 aşamalı veri motorundan yüksek kaliteli insan tarafından açıklanmış görüntü verileri | 5.2M görüntü, 4M benzersiz isim tamlaması |
| SA-Co/SYN | İnsan müdahalesi olmadan yapay zeka tarafından etiketlenmiş sentetik veri kümesi | 38M isim tamlaması, 1.4B maske |
| SA-Co/EXT | Zor negatiflerle zenginleştirilmiş 15 harici veri kümesi | Kaynağa göre değişir |
| SA-Co/VIDEO | Zamansal 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:
- AI Açıklayıcılar: Llama tabanlı modeller, zor negatifler dahil çeşitli isim tamlamaları önerir
- AI Doğrulayıcılar: İnce ayarlı multimodal LLMs, maske kalitesini ve kapsayıcılığını insana yakın performansta doğrular
- Aktif Madencilik: İnsan çabasını yapay zekanın zorlandığı zorlu hata durumlarına odaklar
- 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 ultralyticsDiğ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.
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.gitSAM 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üler | Kavramla eşleşen tüm örnekler |
| Görsel Segmentasyon (PVS) | Noktalar, kutular, maskeler | Tek 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
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
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
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
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 masksMetin İstemi ile Kavramları Takip Etme
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:
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 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ıyaslama | Metrik | SAM 3 | Önceki En İyi | Gelişme |
|---|---|---|---|---|
| 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 (semantic seg) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (semantic seg) | mIoU | 65.1 | 44.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ıyaslama | Metrik | SAM 3 | SAM 2.1 L | Gelişme |
|---|---|---|---|---|
| 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% |
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ıyaslama | 0-shot AP | 10-shot AP | Önceki En İyi (10-shot) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.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 İstemler | CGF1 Skoru | Sadece Metne Göre Kazanç | PVS Temeline Göre Kazanç |
|---|---|---|---|
| Sadece metin | 46.4 | temel | temel |
| +1 örnek | 57.6 | +11.2 | +6.7 |
| +2 örnek | 62.2 | +15.8 | +9.7 |
| +3 örnek | 65.0 | +18.6 | +11.2 |
| +4 örnek | 65.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ıyaslama | Doğruluk | MAE | En İyi MLLM'e karşı |
|---|---|---|---|
| CountBench | %95.6 | 0.11 | %92.4 (Gemini 2.5) |
| PixMo-Count | %87.3 | 0.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:
| Yetenek | SAM 3 | SAM 2 | YOLO26n-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.0 | Yok | Yok |
| MOSEv2 J&F | 60.1 | 47.9 | Yok |
| Hız (GPU, ms/im) | 2921 | 857 | 8.4 |
| Model Boyutu | 3.45 GB | 162 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:
| Model | Boyut (MB) | Parametreler (M) | Hız (GPU) (ms/im) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 1306 |
| Meta SAM2-b | 162 | 80.8 | 857 |
| Meta SAM2-t | 78.1 | 38.9 | 668 |
| Meta SAM3 | 3450 | 473.6 | 2921 |
| MobileSAM | 40.7 | 10.1 | 605 |
| FastSAM-s with YOLOv8 backbone | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6.7 (515 kat daha küçük) | 3.4 (139.1 kat daha az) | 17.4 (167 kat daha hızlı) |
| Ultralytics YOLO11n-seg | 5.9 (585 kat daha küçük) | 2.9 (163.1 kat daha az) | 12.6 (231 kat daha hızlı) |
| Ultralytics YOLO26n-seg | 6.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:
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ırma | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Varlık olmadan | 57.6 | 0.77 | 74.7 |
| Varlık ile | 63.3 | 0.82 | 77.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ü | 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 |
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ı | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Yalnızca harici | 30.9 | 0.46 | 66.3 |
| Harici + Sentetik | 39.7 | 0.57 | 70.6 |
| Harici + HQ | 51.8 | 0.71 | 73.2 |
| Üçü de | 54.3 | 0.74 | 73.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ıyaslama | Metrik | SAM 3 Ajanı (Gemini 2.5 Pro) | Önceki En İyi |
|---|---|---|---|
| ReasonSeg (doğrulama) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (test) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (doğrulama) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | Acc | 91.2 | 89.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
@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?
| Özellik | SAM 2 | SAM 3 |
|---|---|---|
| Görev | İstem başına tek nesne | Bir kavramın tüm örnekleri |
| İstem Türleri | Noktalar, kutular, maskeler | Metin ifadeleri, görüntü örnekleri |
| Algılama Yeteneği | Harici bir dedektör gerektirir | Dahili açık kelime dağarcıklı dedektör |
| Tanıma | Sadece geometri tabanlı | Metin ve görsel tanıma |
| Mimari | Sadece takipçi | Dedektö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ştirme | Sadece tıklamalar | Tı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.