Link to this sectionSAM 2: Segment Anything Model 2#
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.
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.

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:
| Metrik | SAM 2 | Önceki SOTA |
|---|---|---|
| Etkileşimli Video Segmentasyonu | En İyi | - |
| Gereken İnsan Etkileşimi | 3 kat daha az | Temel |
| Görüntü Segmentasyonu Doğruluğu | İyileştirildi | SAM |
| Çı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.

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ümesi | J&F | J | F |
|---|---|---|---|
| DAVIS 2017 | 82.5 | 79.8 | 85.2 |
| YouTube-VOS | 81.2 | 78.9 | 83.5 |
Link to this sectionEtkileşimli Segmentasyon#
Etkileşimli segmentasyon görevlerinde SAM 2, önemli bir verimlilik ve doğruluk gösterir:
| Veri Kümesi | NoC@90 | AUC |
|---|---|---|
| DAVIS Etkileşimli | 1.54 | 0.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 ultralyticsLink 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ıklar | Desteklenen Görevler | Çıkarım (Inference) | Doğrulama | Eğitim | Dışa Aktar |
|---|---|---|---|---|---|---|
| SAM 2 tiny | sam2_t.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2 small | sam2_s.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2 base | sam2_b.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2 large | sam2_l.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2.1 tiny | sam2.1_t.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2.1 small | sam2.1_s.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2.1 base | sam2.1_b.pt | Örnek Segmentasyonu | ✅ | ❌ | ❌ | ❌ |
| SAM 2.1 large | sam2.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#
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#
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#
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.

Link to this sectionTemel Özellikler#
Üç önemli geliştirme sunar:
- 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
- Sürekli Öğrenme: Zaman içinde model performansını iyileştirmek için mevcut örnekler için yeni istemler ekle
- 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
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")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#
| Ad | Varsayılan Değer | Veri Tipi | Açıklama |
|---|---|---|---|
max_obj_num | 3 | int | Önceden ayarlanmış maksimum kategori sayısı |
update_memory | False | bool | Belleğin yeni istemlerle güncellenip güncellenmeyeceği |
obj_ids | None | List[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:
| Model | Boyut (MB) | Parametreler (M) | Hız (CPU) (ms/im) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 41703 |
| Meta SAM2-b | 162 | 80.8 | 28867 |
| Meta SAM2-t | 78.1 | 38.9 | 23430 |
| MobileSAM | 40.7 | 10.1 | 23802 |
| FastSAM-s with YOLOv8 backbone | 23.9 | 11.8 | 58.0 |
| Ultralytics YOLOv8n-seg | 7.1 (11.0x daha küçük) | 3.4 (11.4x daha az) | 24.8 (945x daha hızlı) |
| Ultralytics YOLO11n-seg | 6.2 (12.6x daha küçük) | 2.9 (13.4x daha az) | 24.3 (964x daha hızlı) |
| Ultralytics YOLO26n-seg | 6.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:
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:
from ultralytics.data.annotator import auto_annotate
auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
data | str | gerekli | Etiketleme veya segmentasyon için hedef görüntüleri içeren dizinin yolu. |
det_model | str | 'yolo26x.pt' | İlk nesne tespiti için YOLO tespit modeli yolu. |
sam_model | str | 'sam_b.pt' | Segmentasyon için SAM model yolu (SAM, SAM 2, MobileSAM ve SAM 3 ağırlıklarını destekler). |
device | str | '' | Hesaplama cihazı (ör. 'cuda:0', 'cpu' veya otomatik cihaz tespiti için ''). |
conf | float | 0.25 | Zayıf tespitleri filtrelemek için YOLO tespit güven eşiği. |
iou | float | 0.45 | Çakışan kutuları filtrelemek için NMS (Non-Maximum Suppression) IoU eşiği. |
imgsz | int | 640 | Görüntüleri yeniden boyutlandırmak için giriş boyutu (32'nin katı olmalıdır). |
max_det | int | 300 | Bellek verimliliği için görüntü başına maksimum tespit sayısı. |
classes | list[int] | None | Algılanacak sınıf indekslerinin listesi (örneğin, kişi ve bisiklet için [0, 1]). |
output_dir | str | None | Açı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:
@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:
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.