Meet YOLO26: next-gen vision AI.

Link to this sectionSAM 2: Segment Anything Model 2#

SAM Evrimi

SAM 2, video segmentasyon yetenekleriyle orijinal SAM üzerine inşa edilmiştir. Metin ve görüntü örnek istemleriyle İstemlenebilir Konsept Segmentasyonu için SAM 3 bölümüne bak.

Inference with Segment Anything 2 In Colab

Meta'nın Segment Anything Model (SAM) modelinin halefi olan SAM 2, hem görüntülerde hem de videolarda kapsamlı nesne segmentasyonu için tasarlanmış son teknoloji bir araçtır. Gerçek zamanlı işlemeyi ve sıfır-atışlı genellemeyi destekleyen birleşik, istemlenebilir bir model mimarisiyle karmaşık görsel verileri işlemede üstündür.

Ultralytics Platform üzerinde SAM 2

SAM 2.1 models power the smart annotation feature on Ultralytics Platform, enabling click-based segmentation for fast dataset labeling. See the annotation guide for details.

SAM 2 Örnek Sonuçları

Link to this sectionTemel Özellikler#



Watch: How to Run Inference with Meta's SAM2 using Ultralytics | Step-by-Step Guide 🎉

Link to this sectionBirleşik Model Mimarisi#

SAM 2, görüntü ve video segmentasyon yeteneklerini tek bir modelde birleştirir. Bu birleştirme, dağıtımı basitleştirir ve farklı medya türlerinde tutarlı performans sağlar. Kullanıcıların noktalar, sınırlayıcı kutular veya maskeler gibi çeşitli istem türleri aracılığıyla ilgilenilen nesneleri belirtmelerini sağlayan esnek, istem tabanlı bir arayüzden yararlanır.

Link to this sectionGerçek Zamanlı Performans#

Model, saniyede yaklaşık 44 kare işleyerek gerçek zamanlı çıkarım hızlarına ulaşır. Bu, SAM 2'yi video düzenleme ve artırılmış gerçeklik gibi anında geri bildirim gerektiren uygulamalar için uygun hale getirir.

Link to this sectionSıfır-Atışlı Genelleme#

SAM 2, daha önce hiç karşılaşmadığı nesneleri bölütleyebilir ve güçlü bir sıfır-atışlı genelleme sergiler. Bu, önceden tanımlanmış kategorilerin tüm olası nesneleri kapsayamayabileceği çeşitli veya gelişen görsel alanlarda özellikle yararlıdır.

Link to this sectionEtkileşimli İyileştirme#

Ek istemler sağlayarak segmentasyon sonuçlarını yinelemeli olarak iyileştirebilir, çıktınız üzerinde hassas kontrol elde edebilirsin. Bu etkileşim, video işaretleme veya tıbbi görüntüleme gibi uygulamalarda sonuçları ince ayarlamak için gereklidir.

Link to this sectionGörsel Zorlukların Gelişmiş Ele Alınması#

SAM 2, nesne tıkanıklığı ve yeniden ortaya çıkma gibi yaygın video segmentasyon zorluklarını yönetmek için mekanizmalar içerir. Nesneleri kareler boyunca takip etmek için gelişmiş bir bellek mekanizması kullanarak, nesneler geçici olarak gizlendiğinde veya sahneye girip çıktıklarında bile sürekliliği sağlar.

SAM 2'nin mimarisi ve yetenekleri hakkında daha derin bir anlayış için SAM 2 araştırma makalesini keşfet.

Link to this sectionPerformans ve Teknik Detaylar#

SAM 2, çeşitli metriklerde önceki modellerden daha iyi performans göstererek alanda yeni bir ölçüt belirler:

MetrikSAM 2Önceki SOTA
Etkileşimli Video SegmentasyonuEn İyi-
Gereken İnsan Etkileşimi3 kat daha azTemel
Görüntü Segmentasyonu DoğruluğuİyileştirildiSAM
Çıkarım Hızı6 kat daha hızlıSAM

Link to this sectionModel Mimarisi#

Link to this sectionTemel Bileşenler#

  • Görüntü ve Video Kodlayıcı: Hem görüntülerden hem de video karelerinden üst düzey özellikleri çıkarmak için Transformer tabanlı bir mimari kullanır. Bu bileşen, her zaman adımındaki görsel içeriği anlamaktan sorumludur.
  • İstem Kodlayıcı: Segmentasyon görevini yönlendirmek için kullanıcı tarafından sağlanan istemleri (noktalar, kutular, maskeler) işler. Bu, SAM 2'nin kullanıcı girdisine uyum sağlamasına ve sahnedeki belirli nesneleri hedeflemesine olanak tanır.
  • Bellek Mekanizması: Bir bellek kodlayıcı, bellek bankası ve bellek dikkat modülü içerir. Bu bileşenler toplu olarak geçmiş karelerden gelen bilgileri depolar ve kullanır, modelin zaman içinde tutarlı nesne takibi sağlamasına olanak tanır.
  • Maske Kod Çözücü: Kodlanmış görüntü özelliklerine ve istemlere dayanarak nihai segmentasyon maskelerini üretir. Videoda, kareler boyunca doğru takibi sağlamak için bellek bağlamını da kullanır.

SAM 2 Mimari Diyagramı

Link to this sectionBellek Mekanizması ve Tıkanıklık Ele Alma#

Bellek mekanizması, SAM 2'nin video verilerindeki zamansal bağımlılıkları ve tıkanıklıkları ele almasını sağlar. Nesneler hareket edip etkileşime girdikçe, SAM 2 özelliklerini bir bellek bankasına kaydeder. Bir nesne tıkandığında, model yeniden ortaya çıktığında konumunu ve görünümünü tahmin etmek için bu belleğe güvenebilir. Tıkanıklık kafası, nesnelerin görünür olmadığı senaryoları özel olarak ele alır ve bir nesnenin tıkanma olasılığını tahmin eder.

Link to this sectionÇoklu Maske Belirsizlik Çözümü#

Belirsizlik durumlarında (örneğin, örtüşen nesneler), SAM 2 birden fazla maske tahmini oluşturabilir. Bu özellik, tek bir maskenin sahnenin inceliklerini yeterince tanımlayamayabileceği karmaşık sahneleri doğru bir şekilde temsil etmek için çok önemlidir.

Link to this sectionSA-V Veri Kümesi#

SAM 2'nin eğitimi için geliştirilen SA-V veri kümesi, mevcut en büyük ve en çeşitli video segmentasyon veri kümelerinden biridir. Şunları içerir:

  • 51.000+ Video: 47 ülkede çekilmiş, çok çeşitli gerçek dünya senaryoları sağlar.
  • 600.000+ Maske İşaretlemesi: Tüm nesneleri ve parçaları kapsayan, "masklets" olarak adlandırılan ayrıntılı uzamsal-zamansal maske işaretlemeleri.
  • Veri Kümesi Ölçeği: Önceki en büyük veri kümelerinden 4,5 kat daha fazla video ve 53 kat daha fazla işaretleme içererek benzeri görülmemiş bir çeşitlilik ve karmaşıklık sunar.

Link to this sectionKarşılaştırmalar#

Link to this sectionVideo Nesne Segmentasyonu#

SAM 2, büyük video segmentasyon karşılaştırmalarında üstün performans göstermiştir:

Veri KümesiJ&FJF
DAVIS 201782.579.885.2
YouTube-VOS81.278.983.5

Link to this sectionEtkileşimli Segmentasyon#

Etkileşimli segmentasyon görevlerinde SAM 2, önemli bir verimlilik ve doğruluk gösterir:

Veri KümesiNoC@90AUC
DAVIS Etkileşimli1.540.872

Link to this sectionKurulum#

SAM 2'yi kurmak için şu komutu kullan. Tüm SAM 2 modelleri ilk kullanımda otomatik olarak indirilecektir.

pip install ultralytics

Link to this sectionSAM 2 Nasıl Kullanılır: Görüntü ve Video Segmentasyonunda Çok Yönlülük#

Aşağıdaki tablo mevcut SAM 2 modellerini, önceden eğitilmiş ağırlıklarını, desteklenen görevleri ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi farklı çalışma modlarıyla uyumluluğunu detaylandırır.

Model TipiÖnceden Eğitilmiş AğırlıklarDesteklenen GörevlerÇıkarım (Inference)DoğrulamaEğitimDışa Aktar
SAM 2 tinysam2_t.ptÖrnek Segmentasyonu
SAM 2 smallsam2_s.ptÖrnek Segmentasyonu
SAM 2 basesam2_b.ptÖrnek Segmentasyonu
SAM 2 largesam2_l.ptÖrnek Segmentasyonu
SAM 2.1 tinysam2.1_t.ptÖrnek Segmentasyonu
SAM 2.1 smallsam2.1_s.ptÖrnek Segmentasyonu
SAM 2.1 basesam2.1_b.ptÖrnek Segmentasyonu
SAM 2.1 largesam2.1_l.ptÖrnek Segmentasyonu

Link to this sectionSAM 2 Tahmin Örnekleri#

SAM 2, gerçek zamanlı video düzenleme, tıbbi görüntüleme ve otonom sistemler dahil olmak üzere geniş bir görev yelpazesinde kullanılabilir. Hem statik hem de dinamik görsel verileri bölütleme yeteneği, onu araştırmacılar ve geliştiriciler için çok yönlü bir araç haline getirir.

Link to this sectionİstemlerle Segmentasyon#

İstemlerle Segmentasyon

Görüntülerdeki veya videolardaki belirli nesneleri bölütlemek için istemleri kullan.

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference with bboxes prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Run inference with single point
results = model(points=[900, 370], labels=[1])

# Run inference with multiple points
results = model(points=[[400, 370], [900, 370]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 0]])

Link to this sectionHer Şeyi Segmentle#

Her Şeyi Segmentle

Belirli istemler olmaksızın tüm görüntü veya video içeriğini bölütle.

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference
model("path/to/video.mp4")

Link to this sectionVideoyu Segmentle ve nesneleri Takip et#

Videoyu Segmentle

Belirli istemlerle tüm video içeriğini bölütle ve nesneleri takip et.

from ultralytics.models.sam import SAM2VideoPredictor

# Create SAM2VideoPredictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=1024, model="sam2_b.pt")
predictor = SAM2VideoPredictor(overrides=overrides)

# Run inference with single point
results = predictor(source="test.mp4", points=[920, 470], labels=[1])

# Run inference with multiple points
results = predictor(source="test.mp4", points=[[920, 470], [909, 138]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 0]])
  • Bu örnek, herhangi bir istem (bbox'lar/noktalar/maskeler) sağlanmadığında SAM 2'nin bir görüntünün veya videonun tüm içeriğini bölütlemek için nasıl kullanılabileceğini gösterir.

Link to this sectionDinamik Etkileşimli Bölütleme ve Takip#

SAM2DynamicInteractivePredictor, SAM2'nin birden fazla kareyle dinamik etkileşimi ve sürekli öğrenme yeteneklerini mümkün kılan gelişmiş, eğitim gerektirmeyen bir uzantısıdır. Bu tahminleyici, görüntü dizileri boyunca iyileştirilmiş takip performansı için gerçek zamanlı istem güncellemelerini ve bellek yönetimini destekler. Orijinal SAM2 ile karşılaştırıldığında, SAM2DynamicInteractivePredictor, ek eğitim gerektirmeden önceden eğitilmiş SAM2 modellerinden en iyi şekilde yararlanmak için çıkarım akışını yeniden yapılandırır.

SAM 2 Örnek Sonuçları

Link to this sectionTemel Özellikler#

Üç önemli geliştirme sunar:

  1. Dinamik Etkileşimli: Video işleme sırasında herhangi bir anda sonraki karelerde birleştirilecek/takip edilmeyen yeni örnekler için yeni istemler ekle
  2. Sürekli Öğrenme: Zaman içinde model performansını iyileştirmek için mevcut örnekler için yeni istemler ekle
  3. Bağımsız Çoklu Görüntü Desteği: Bellek paylaşımı ve görüntüler arası nesne takibi ile birden fazla bağımsız görüntüyü (bir video dizisinden gelmesi şart olmayan) işle

Link to this sectionTemel Yetenekler#

  • İstem Esnekliği: İstem olarak sınırlayıcı kutuları (bounding boxes), noktaları ve maskeleri kabul eder
  • Bellek Bankası Yönetimi: Nesne durumlarını kareler boyunca saklamak için dinamik bir bellek bankasını korur
  • Çoklu Nesne Takibi: Bireysel nesne kimlikleri (IDs) ile birden fazla nesnenin eşzamanlı takibini destekler
  • Gerçek Zamanlı Güncellemeler: Önceki kareleri yeniden işlemeye gerek kalmadan çıkarım sırasında yeni istemler eklenmesine izin verir
  • Bağımsız Görüntü İşleme: Görüntüler arası nesne tutarlılığı için paylaşılan bellek bağlamı ile bağımsız görüntüleri işle
Dinamik Nesne Ekleme
from ultralytics.models.sam import SAM2DynamicInteractivePredictor

# Create SAM2DynamicInteractivePredictor
overrides = dict(conf=0.01, task="segment", mode="predict", imgsz=1024, model="sam2_t.pt", save=False)
predictor = SAM2DynamicInteractivePredictor(overrides=overrides, max_obj_num=10)

# Define a category by box prompt
predictor(source="image1.jpg", bboxes=[[100, 100, 200, 200]], obj_ids=[0], update_memory=True)

# Detect this particular object in a new image
results = predictor(source="image2.jpg")

# Add new category with a new object ID
results = predictor(
    source="image4.jpg",
    bboxes=[[300, 300, 400, 400]],  # New object
    obj_ids=[1],  # New object ID
    update_memory=True,  # Add to memory
)
# Perform inference
results = predictor(source="image5.jpg")

# Add refinement prompts to the same category to boost performance
# This helps when object appearance changes significantly
results = predictor(
    source="image6.jpg",
    points=[[150, 150]],  # Refinement point
    labels=[1],  # Positive point
    obj_ids=[1],  # Same object ID
    update_memory=True,  # Update memory with new information
)
# Perform inference on new image
results = predictor(source="image7.jpg")
Not

SAM2DynamicInteractivePredictor, SAM2 modelleriyle çalışacak şekilde tasarlanmıştır ve SAM2'nin yerel olarak desteklediği tüm kutu/nokta/maske istemleri ile kategorilerin eklenmesini/iyileştirilmesini destekler. Özellikle video açıklama veya etkileşimli düzenleme görevleri gibi nesnelerin zamanla ortaya çıktığı veya değiştiği senaryolar için kullanışlıdır.

Link to this sectionArgümanlar#

AdVarsayılan DeğerVeri TipiAçıklama
max_obj_num3intÖnceden ayarlanmış maksimum kategori sayısı
update_memoryFalseboolBelleğin yeni istemlerle güncellenip güncellenmeyeceği
obj_idsNoneList[int]İstemlere karşılık gelen nesne kimlikleri listesi

Link to this sectionKullanım Durumları#

SAM2DynamicInteractivePredictor şunlar için idealdir:

  • Dizi sırasında yeni nesnelerin göründüğü Video açıklama iş akışları
  • Gerçek zamanlı nesne ekleme ve iyileştirme gerektiren Etkileşimli video düzenleme
  • Dinamik nesne takip ihtiyaçları olan Gözetim uygulamaları
  • Anatomik yapıları zaman serileri boyunca takip etmek için Tıbbi görüntüleme
  • Uyarlanabilir nesne algılama ve takip gerektiren Otonom sistemler
  • Bağımsız görüntüler arasında tutarlı nesne bölütlemesi için Çoklu görüntü veri setleri
  • Nesnelerin farklı sahneler boyunca takip edilmesi gereken Görüntü koleksiyonu analizi
  • Farklı görüntü bağlamlarından gelen belleği kullanan Etki alanıler arası bölütleme
  • Minimum manuel müdahale ile verimli veri seti oluşturma için Yarı otomatik açıklama

Link to this sectionSAM ve YOLO Karşılaştırması#

Burada, en küçük SAM2-t varyantı da dahil olmak üzere Meta'nın SAM 2 modellerini, YOLO26n-seg dahil olmak üzere Ultralytics bölütleme modelleriyle karşılaştırıyoruz:

ModelBoyut
(MB)
Parametreler
(M)
Hız (CPU)
(ms/im)
Meta SAM-b37593.741703
Meta SAM2-b16280.828867
Meta SAM2-t78.138.923430
MobileSAM40.710.123802
FastSAM-s with YOLOv8 backbone23.911.858.0
Ultralytics YOLOv8n-seg7.1 (11.0x daha küçük)3.4 (11.4x daha az)24.8 (945x daha hızlı)
Ultralytics YOLO11n-seg6.2 (12.6x daha küçük)2.9 (13.4x daha az)24.3 (964x daha hızlı)
Ultralytics YOLO26n-seg6.7 (11.7x daha küçük)2.7 (14.4x daha az)25.2 (930x 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.

SAM hızları PyTorch ile, YOLO hızları ONNX Runtime ile ölçülmüştür. Testler 16GB RAM'e sahip 2025 Apple M4 Air üzerinde torch==2.10.0, ultralytics==8.4.31 ve onnxruntime==1.24.4 kullanılarak gerçekleştirilmiştir. Bu testi tekrarlamak için:

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

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

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

# Profile YOLO models (ONNX)
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    onnx_path = model.export(format="onnx", dynamic=True)
    model = YOLO(onnx_path)
    model(ASSETS)

Link to this sectionOtomatik Açıklama: Verimli Veri Seti Oluşturma#

Otomatik açıklama, SAM 2'nin kullanıcıların önceden eğitilmiş modellerden yararlanarak hızlı ve doğru bir şekilde bölütleme veri setleri oluşturmasını sağlayan güçlü bir özelliğidir. Bu yetenek, kapsamlı manuel çaba gerektirmeden büyük, yüksek kaliteli veri setleri oluşturmak için özellikle yararlıdır.

Link to this sectionSAM 2 ile Nasıl Otomatik Açıklama Yapılır#



Watch: Auto Annotation with Meta's Segment Anything 2 Model using Ultralytics | Data Labeling

Veri setinizi SAM 2 kullanarak otomatik olarak açıklamak için şu örneği izle:

Otomatik Açıklama Örneği
from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")
ArgümanTürVarsayılanAçıklama
datastrgerekliEtiketleme veya segmentasyon için hedef görüntüleri içeren dizinin yolu.
det_modelstr'yolo26x.pt'İlk nesne tespiti için YOLO tespit modeli yolu.
sam_modelstr'sam_b.pt'Segmentasyon için SAM model yolu (SAM, SAM 2, MobileSAM ve SAM 3 ağırlıklarını destekler).
devicestr''Hesaplama cihazı (ör. 'cuda:0', 'cpu' veya otomatik cihaz tespiti için '').
conffloat0.25Zayıf tespitleri filtrelemek için YOLO tespit güven eşiği.
ioufloat0.45Çakışan kutuları filtrelemek için NMS (Non-Maximum Suppression) IoU eşiği.
imgszint640Görüntüleri yeniden boyutlandırmak için giriş boyutu (32'nin katı olmalıdır).
max_detint300Bellek verimliliği için görüntü başına maksimum tespit sayısı.
classeslist[int]NoneAlgılanacak sınıf indekslerinin listesi (örneğin, kişi ve bisiklet için [0, 1]).
output_dirstrNoneAçıklamalar için kaydetme dizini (varsayılan: <data>_auto_annotate_labels dizini).

Bu işlev, projelerini hızlandırmayı hedefleyen araştırmacılar ve geliştiriciler için ideal olan yüksek kaliteli bölütleme veri setlerinin hızla oluşturulmasını kolaylaştırır.

Link to this sectionSınırlamalar#

Güçlü yönlerine rağmen, SAM 2'nin belirli sınırlamaları vardır:

  • Takip Kararlılığı: SAM 2, uzun diziler veya önemli bakış açısı değişiklikleri sırasında nesnelerin takibini kaybedebilir.
  • Nesne Karışıklığı: Model bazen, özellikle kalabalık sahnelerde, birbirine benzeyen nesneleri karıştırabilir.
  • Çoklu Nesne ile Verimlilik: Nesneler arası iletişim eksikliği nedeniyle birden fazla nesneyi aynı anda işlerken bölütleme verimliliği düşer.
  • Detay Doğruluğu: Özellikle hızlı hareket eden nesnelerde ince detayları kaçırabilir. Ek istemler bu sorunu kısmen çözebilir, ancak zamansal pürüzsüzlük garanti edilmez.

Link to this sectionAlıntılar ve Teşekkürler#

SAM 2, araştırma veya geliştirme çalışmalarınızın önemli bir parçasıysa, lütfen aşağıdaki referansı kullanarak ona atıfta bulun:

Alıntı
@article{ravi2024sam2,
  title={SAM 2: Segment Anything in Images and Videos},
  author={Ravi, Nikhila and Gabeur, Valentin and Hu, Yuan-Ting and Hu, Ronghang and Ryali, Chaitanya and Ma, Tengyu and Khedr, Haitham and R{\"a}dle, Roman and Rolland, Chloe and Gustafson, Laura and Mintun, Eric and Pan, Junting and Alwala, Kalyan Vasudev and Carion, Nicolas and Wu, Chao-Yuan and Girshick, Ross and Doll{\'a}r, Piotr and Feichtenhofer, Christoph},
  journal={arXiv preprint},
  year={2024}
}

Bu çığır açan model ve veri seti ile AI topluluğuna yaptıkları katkılardan dolayı Meta AI'ya minnettarız.

Link to this sectionSSS#

Link to this sectionSAM 2 nedir ve orijinal Segment Anything Model'i (SAM) nasıl geliştirir?#

Meta'nın Segment Anything Model'inin (SAM) halefi olan SAM 2, hem görüntülerde hem de videolarda kapsamlı nesne bölütlemesi için tasarlanmış son teknoloji bir araçtır. Gerçek zamanlı işlemeyi ve zero-shot genellemesini destekleyen birleşik, istem verilebilir bir model mimarisi aracılığıyla karmaşık görsel verileri işlemede mükemmeldir. SAM 2, orijinal SAM'e göre aşağıdakiler dahil çeşitli iyileştirmeler sunar:

  • Birleşik Model Mimarisi: Görüntü ve video bölütleme yeteneklerini tek bir modelde birleştirir.
  • Gerçek Zamanlı Performans: Saniyede yaklaşık 44 kare işleyerek anlık geri bildirim gerektiren uygulamalar için uygun hale getirir.
  • Zero-Shot Genelleme: Daha önce hiç karşılaşmadığı nesneleri bölütler, çeşitli görsel alanlarda kullanışlıdır.
  • Etkileşimli İyileştirme: Kullanıcıların ek istemler sağlayarak bölütleme sonuçlarını yinelemeli olarak iyileştirmesine olanak tanır.
  • Görsel Zorlukların Gelişmiş Yönetimi: Nesne tıkanıklığı ve yeniden görünme gibi yaygın video bölütleme zorluklarını yönetir.

SAM 2'nin mimarisi ve yetenekleri hakkında daha fazla ayrıntı için SAM 2 araştırma makalesini incele.

Link to this sectionSAM 2'yi gerçek zamanlı video bölütleme için nasıl kullanabilirim?#

SAM 2, istem verilebilir arayüzünden ve gerçek zamanlı çıkarım yeteneklerinden yararlanarak gerçek zamanlı video bölütleme için kullanılabilir. İşte temel bir örnek:

İstemlerle Segmentasyon

Görüntülerdeki veya videolardaki belirli nesneleri bölütlemek için istemleri kullan.

from ultralytics import SAM

# Load a model
model = SAM("sam2_b.pt")

# Display model information (optional)
model.info()

# Segment with bounding box prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Segment with point prompt
results = model("path/to/image.jpg", points=[150, 150], labels=[1])

Daha kapsamlı kullanım için SAM 2 Nasıl Kullanılır bölümüne bak.

Link to this sectionSAM 2'yi eğitmek için hangi veri setleri kullanılır ve performansını nasıl artırırlar?#

SAM 2, mevcut en büyük ve en çeşitli video bölütleme veri setlerinden biri olan SA-V veri setinde eğitilmiştir. SA-V veri seti şunları içerir:

  • 51.000+ Video: 47 ülkede çekilmiş, çok çeşitli gerçek dünya senaryoları sağlar.
  • 600.000+ Maske İşaretlemesi: Tüm nesneleri ve parçaları kapsayan, "masklets" olarak adlandırılan ayrıntılı uzamsal-zamansal maske işaretlemeleri.
  • Veri Seti Ölçeği: Önceki en büyük veri setlerinden 4.5 kat daha fazla video ve 53 kat daha fazla açıklama içererek benzeri görülmemiş bir çeşitlilik ve karmaşıklık sunar.

Bu kapsamlı veri seti, SAM 2'nin ana video bölütleme kıyaslamalarında üstün performans elde etmesini sağlar ve zero-shot genelleme yeteneklerini geliştirir. Daha fazla bilgi için SA-V Veri Seti bölümüne bak.

Link to this sectionSAM 2, video bölütlemesinde tıkanıklıkları ve nesne yeniden görünmelerini nasıl yönetir?#

SAM 2, video verilerindeki zamansal bağımlılıkları ve tıkanıklıkları yönetmek için gelişmiş bir bellek mekanizması içerir. Bellek mekanizması şunlardan oluşur:

  • Bellek Kodlayıcı ve Bellek Bankası: Geçmiş karelerden gelen özellikleri saklar.
  • Bellek Dikkat Modülü: Zaman içinde tutarlı nesne takibini sürdürmek için depolanmış bilgileri kullanır.
  • Tıkanıklık Kafası (Occlusion Head): Özellikle nesnelerin görünmediği senaryoları yönetir, bir nesnenin tıkanma olasılığını tahmin eder.

Bu mekanizma, nesneler geçici olarak gizlendiğinde veya sahneden çıkıp tekrar girdiğinde bile sürekliliği sağlar. Daha fazla ayrıntı için Bellek Mekanizması ve Tıkanıklık Yönetimi bölümüne bak.

Link to this sectionSAM 2, YOLO26 gibi diğer bölütleme modelleriyle nasıl karşılaştırılır?#

Meta'nın SAM2-t ve SAM2-b gibi SAM 2 modelleri, güçlü zero-shot bölütleme yetenekleri sunar ancak YOLO modellerine kıyasla önemli ölçüde daha büyük ve daha yavaştır. Örneğin, YOLO26n-seg, CPU üzerinde SAM2-b'den yaklaşık 24 kat daha küçük ve 1145 kattan fazla daha hızlıdır. SAM 2 çok yönlü, istem tabanlı ve zero-shot bölütleme senaryolarında mükemmelken, YOLO26 hız, verimlilik ve NMS-free uçtan uca çıkarım ile gerçek zamanlı uygulamalar için optimize edilmiştir, bu da onu kaynak kısıtlı ortamlarda dağıtım için daha uygun hale getirir.

Yorumlar