Makaleler · arXiv 2304.02643
Segment Anything
Yayımlanma cs.CVcs.AIcs.LG arXivPDF
Üç satırda özet
- 🎯 Göreve özgü ince ayar (fine-tuning) yapmadan görülmemiş görsel kavramları bölümleme ve çeşitli alt bölümleme görevlerine uyum sağlama.
- 🔧 Komut tabanlı bir bölümleme görevi, amorti edilmiş gerçek zamanlı bir maske kod çözücüsüne sahip Segment Anything Model (SAM) ve üç aşamalı bir veri motoru sunar.
- 📈 11M görsel genelinde 1,1 milyar maske içeren SA-1B üzerinde eğitilen SAM; kenar algılama, nesne önerisi üretimi ve örnek bölümleme görevlerine sıfır vuruşla aktarılmakta ve 23 veri kümesinin 16'sında etkileşimli referans modelleri geride bırakmaktadır.
Özet
Segment Anything (SA) projesini sunuyoruz: görüntü bölümleme için yeni bir görev, model ve veri kümesi. Verimli modelimizi bir veri toplama döngüsünde kullanarak, 11 milyon lisanslı ve gizliliğe saygılı görsel üzerinde 1 milyardan fazla maske içeren, bugüne kadarki (açık ara) en büyük bölümleme veri kümesini oluşturduk. Model, komut verilebilir (promptable) olacak şekilde tasarlanmış ve eğitilmiştir; bu sayede yeni görüntü dağılımlarına ve görevlerine sıfır vuruşlu (zero-shot) olarak aktarılabilir. Yeteneklerini çok sayıda görevde değerlendirdik ve sıfır vuruşlu performansının etkileyici olduğunu gördük; genellikle önceki tam denetimli sonuçlarla rekabet edebilmekte, hatta onları geride bırakmaktadır. Bilgisayarla görme alanında temel model araştırmalarını teşvik etmek amacıyla Segment Anything Model (SAM) ve 1 milyar maske ile 11 milyon görselden oluşan ilgili veri kümesini (SA-1B) https://segment-anything.com adresinde paylaşıyoruz.
Orijinal özet (İngilizce)
We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dataset to date (by far), with over 1 billion masks on 11M licensed and privacy respecting images. The model is designed and trained to be promptable, so it can transfer zero-shot to new image distributions and tasks. We evaluate its capabilities on numerous tasks and find that its zero-shot performance is impressive -- often competitive with or even superior to prior fully supervised results. We are releasing the Segment Anything Model (SAM) and corresponding dataset (SA-1B) of 1B masks and 11M images at https://segment-anything.com to foster research into foundation models for computer vision.
Okuma rehberi
Problem ve motivasyon
Web ölçeğindeki verilerle önceden eğitilmiş temel modeller, NLP ve görüntü-dil uyumunda (ör. CLIP) devrim yarattı; ancak genel bilgisayarla görme alanı, çeşitli bölümleme görevleri genelinde kapsamlı sıfır vuruşlu genelleme yeteneğine sahip temel bir sistemden yoksundur. Görüntü bölümleme için mevcut veri kümeleri, web ölçeğindeki görüntü-metin külliyatlarına kıyasla küçüktür ve geleneksel bölümleme mimarileri genellikle sabit anlamsal sınıflara veya özel etkileşimli kurulumlara bağlıdır.
Bölümleme için bir temel görme modeli oluşturmak amacıyla yazarlar üç temel unsuru aynı anda ele almaktadır:
- Görev: Hangi amaç işlevi genel sıfır vuruşlu aktarıma olanak tanır?
- Model: Doğal görsel belirsizliği çözerken esnek komut istemini gerçek zamanlı olarak hangi mimari destekler?
- Veri: İnternet verileri yoğun maske etiketlerinden yoksun olduğunda, web ölçeğinde bölümleme maskeleri nasıl elde edilebilir?
Önemli fikirler
- Komut Tabanlı Bölümleme Görevi (Promptable Segmentation Task): Model; ön plan/arka plan noktaları, sınırlayıcı kutular, yoğun maskeler veya serbest biçimli metin gibi herhangi bir komut verildiğinde geçerli bir bölümleme maskesi döndürmelidir. Bir komut belirsiz olduğunda (örneğin bir gömlek üzerindeki tek bir nokta), model birden fazla olası hiyerarşik maske (alt parça, parça, bütün) üretmelidir.
- Asimetrik Amorti Edilmiş Mimari (SAM): Ağır hesaplama gerektiren bir görüntü kodlayıcı, bir gömme (embedding) üretmek için görsel başına bir kez çalışırken, hafif bir komut kodlayıcı ve iki katmanlı Transformer kod çözücü, komutları bir web tarayıcısındaki CPU üzerinde içinde değerlendirir.
- Çark Veri Motoru (Flywheel Data Engine): Üç aşamalı bir etiketleme hattı:
- Destekli-manuel: SAM, tarayıcıda etiketleyicilere yardımcı olarak maske başına etiketleme süresini 34 saniyeden 14 saniyeye düşürdü (4,3 milyon maske toplandı).
- Yarı otomatik: SAM, etiketleyicileri etiketlenmemiş, daha az belirgin nesnelere yönlendirmek için kendinden emin olduğu maskeleri algılar (5,9 milyon ek maske toplandı).
- Tam otomatik: SAM, tekdüze bir nokta ızgarası ve yakınlaştırılmış görüntü kırpmaları üzerinde tetiklenerek SA-1B'deki 1,1 milyar maskeyi üretti.
Yöntem
Model Mimarisi
SAM üç bileşenden oluşur:
- Görüntü Kodlayıcı (Image Encoder): girişleri işleyerek 256 kanallı bir gömme üretmek üzere pencereli dikkat (windowed attention) ve dört genel dikkat bloğu ile uyarlanmış, MAE ile önceden eğitilmiş bir Vision Transformer (varsayılan ViT-H/16).
- Komut Kodlayıcı (Prompt Encoder):
- Seyrek komutlar: Noktalar ve sınırlayıcı kutular, öğrenilmiş tip gömmeleriyle toplanan konumsal kodlamalar kullanılarak 256 boyutlu vektörlere dönüştürülür. Serbest biçimli metin, CLIP'in metin kodlayıcısı kullanılarak kodlanır.
- Yoğun komutlar: Girdi maskeleri ( daha düşük çözünürlükte), adım büyüklüğüne (stride-2) sahip evrişimler yoluyla alt örneğe dönüştürülür ve görüntü gömme vektörüne eleman bazında eklenir.
- Maske Kod Çözücü (Mask Decoder): İki katmanlı, değiştirilmiş bir Transformer kod çözücüsü. Dönüşümlü komut öz-dikkati (self-attention) ve iki yönlü çapraz dikkat (cross-attention; komutlardan görüntüye ve görüntüden komutlara) yoluyla komut belirteçlerini ve görüntü gömmelerini günceller. Görüntü öznitelikleri, devrik evrişimler (transposed convolutions) yoluyla büyütülür ve bir MLP, büyütülmüş özniteliklere nokta bazında uygulanan dinamik bir doğrusal sınıflandırıcı üretmek üzere çıktı belirtecini yansıtır.
Belirsizliğe Duyarlı Çıktı ve Kayıp Fonksiyonu
Tek bir komut genellikle birden fazla iç içe yapıyı tanımlar. SAM, ilgili tahmini IoU skorlarıyla birlikte aynı anda 3 maske tahmin ederek belirsizliği çözer. Eğitim sırasında geri yayılım yalnızca adaylar arasındaki minimum kayba uygulanır: Yardımcı bir başlık, tahmin edilen IoU ile temel gerçeklik IoU arasındaki ortalama kare hatasını en aza indirir: Birden fazla komut sağlandığında SAM, dördüncü bir özel çıktı belirteci kullanarak tek bir belirgin maske üretir.
Sonuçlar
- Sıfır Vuruşlu Noktadan Maskeye Aktarım (Zero-Shot Point-to-Mask Transfer): 23 farklı bölümleme veri kümesinde (benmerkezci, su altı, hava ve mikroskopi görüntüleri dahil), SAM, tek bir merkez noktası komutu kullanarak 23 veri kümesinin 16'sında RITM'den daha iyi performans gösterir ( IoU'ya varan farklarla). Belirsizlik, SAM'in 3 tahmini üzerinde bir kâhin (oracle) seçici aracılığıyla çözüldüğünde SAM, 23 veri kümesinin tamamında RITM'i geride bırakır. İnsan kalite değerlendirmeleri tutarlı bir şekilde SAM'i önemli ölçüde daha yüksek puanlamaktadır (10 üzerinden 7 ila 9 arasında).
- Sıfır Vuruşlu Kenar Algılama (BSDS500): Sobel filtreleme ve kenar NMS ile bir ızgara kullanılarak sıfır vuruşla değerlendirilen SAM, 0,768 ODS ve 0,928 R50 elde ederek HED gibi denetimli modellerle rekabetçi bir performans sergiler (ODS 0,788, R50 0,923).
- Sıfır Vuruşlu Nesne Önerileri (LVIS v1): SAM, sınıf denetimi olmaksızın 59,3 AR@1000 puanı alarak orta ölçekli nesnelerde (81,6'ya karşı 80,8), büyük nesnelerde (86,9'a karşı 87,0) ve nadir kategorilerde (65,8'e karşı 58,3) tam denetimli bir ViTDet-H referans modelini geride bırakır.
- Sıfır Vuruşlu Örnek Bölümleme (Zero-Shot Instance Segmentation): ViTDet sınırlayıcı kutuları ile komut verildiğinde SAM, COCO'da 46,5 AP'ye ve LVIS'te 44,7 AP'ye ulaşır. İnsan değerlendirmelerinde etiketleyiciler, SAM maskelerini tam denetimli ViTDet çıktılarından tutarlı olarak daha temiz ve daha yüksek kaliteli olarak puanlamaktadır.
Sınırlılıklar ve açık sorular
- İnce ayrıntılar ve aşırı yakınlaştırma: Doğrudan kırpmalara yakınlaştırma yapan yoğun hesaplamalı etkileşimli yöntemlerle karşılaştırıldığında SAM, son derece ince yapıları kaçırabilir veya küçük kopuk bileşenler üretebilir.
- Tüm boru hattı gecikmesi: Komut çözme gerçek zamanlı olsa da (), ağır ViT-H görüntü kodlayıcısını çalıştırmak gerçek zamanlı değildir.
- Anlamsal kavrayış: SAM sınıftan bağımsız maskeler üretir; harici sınıflandırıcılar olmadan yerel olarak anlamsal veya panoptik kategori etiketleri sağlamaz.
- Metinden maskeye yönlendirme: Sıfır vuruşlu CLIP uyumlu metin komutu boru hattı, geometrik komutlara kıyasla henüz başlangıç aşamasındadır ve hassastır.
Temel terimler
- promptable segmentation task
- Noktalar, sınırlayıcı kutular, maskeler veya metin gibi isteğe bağlı girdi komutları verildiğinde geçerli bir bölümleme maskesi üretme hedefini tanımlayan görev.
- SAM
- Segment Anything Model; ağır bir ViT görüntü kodlayıcı, bir komut kodlayıcı ve amorti edilmiş gerçek zamanlı hafif bir maske kod çözücüden oluşan bir görme modeli.
- SA-1B
- 11 milyon yüksek çözünürlüklü, gizliliği koruyan görsel genelinde 1,1 milyardan fazla otomatik olarak üretilmiş maske içeren Segment Anything 1-Billion veri kümesi.
- data engine
- Maske etiketlemeyi web ölçeğine çıkarmak için kullanılan üç aşamalı model döngüde (model-in-the-loop) çerçevesi (destekli-manuel, yarı otomatik ve tam otomatik).
- ambiguity-aware modeling
- Kod çözücünün tek bir komut için 3 hiyerarşik maske ve bunların tahmini IoU değerlerini ürettiği, eğitim gradyanlarını yalnızca en düşük kayba sahip tahminden hesapladığı bir tasarım tercihi.
- amortized real-time inference
- Daha sonraki komut koşullu maske çözümlerinin CPU üzerinde yaklaşık 50 ms'de çalışması için görüntü başına bir kez ağır bir görüntü gömmesi hesaplama yaklaşımı.
- zero-shot transfer
- Önceden eğitilmiş komut tabanlı modelin, ağırlıklara ince ayar yapmadan komut mühendisliği kullanarak alt görevlerde ve görülmemiş görüntü dağılımlarında değerlendirilmesi.
- stable mask filtering
- Logit olasılık haritaları ile arasında eşiklendiğinde ikili şekilleri ihmal edilebilir düzeyde değişen maskeleri seçen bir kalite filtresi.
Sorular
Tek bir nokta birden fazla nesne anlamına gelebildiğinde SAM belirsizliği nasıl çözer?
SAM, tahmini IoU güven puanlarıyla birlikte aynı anda üç maske üretir (genellikle alt parça, parça ve bütünü temsil eder). Eğitim sırasında, kaybı yalnızca en düşük hataya sahip tahminden geri yayar.
SA-1B'deki 1,1 milyar maske manuel olarak mı etiketlendi?
Hayır, SA-1B'de yayınlanan maskelerin %99,1'i, güvenilirlik ve kararlılık açısından kapsamlı filtrelemeler yapılarak, 11 milyon görseldeki tekdüze nokta ızgaraları üzerinde SAM komutlandırılarak tam otomatik olarak üretildi.
SAM bir görüntüyü metin açıklamalarına dayalı olarak bölümleyebilir mi?
Evet, keşifsel bir kavram kanıtlama olarak bunu yapabilir. SAM, eğitim sırasında maskelerin CLIP görüntü gömmelerini komut belirteçleri olarak alacak şekilde eğitilmiştir; bu da çıkarım sırasında CLIP'in metin kodlayıcısından gelen metin gömmelerinin SAM'i yönlendirmesine olanak tanır.
İnsanlar SAM'in maskelerini daha yüksek puanlıyorsa SAM'in maske AP değeri COCO'da neden ViTDet'ten daha düşüktür?
Denetimli modeller, COCO temel gerçekliğinde bulunan veri kümesine özgü çokgen yanlılıklarını, sınır düzeltme yapaylıklarını ve amodal kuralları öğrenir; oysa sıfır vuruşlu SAM, insan algısıyla eşleşen ancak yanlı etiketlemelere karşı IoU cezası alan net, modal görsel sınırlar üretir.
Bu sayfadaki açıklama yapay zekâ tarafından makaleden yazılmıştır ve hata içerebilir. Ayrıntılar için makaleyi okuyun.