Interactive Segmentation
Etkileşimli segmentasyon, kullanıcının tıklamalarını, kutularını veya karalamalarını nesne maskelerine dönüştürür ve düzeltici tıklamalarla maskeleri iyileştirir; GrabCut'tan Meta'nın SAM modeline kadar.
Etkileşimli segmentasyon, bir kişinin tıklama, sınırlayıcı kutu veya karalama gibi birkaç ipucundan nesnenin piksel düzeyinde hassas maskesini üretir ve kişi düzeltmeler ekledikçe maskeyi iyileştirir. Pozitif tıklama nesneye ait bir noktayı, negatif tıklama ise nesneye ait olmayan bir noktayı işaretler; böylece her turda kullanıcının yalnızca kalan en büyük hatayı göstermesi yeterlidir. Bu yaklaşım sınıftan bağımsızdır: Model, eğitim sırasında hiç görmediği nesneler dahil kullanıcının belirttiği her şeyi segmentlere ayırır. Bu nedenle veri anotasyonu, fotoğraf düzenleme ve tıbbi taramalardaki yapıları belirleme için standart bir araçtır. Bu, insan katılımlı döngü biçiminde bir görüntü segmentasyonu yöntemidir.
Tıklama Döngüsü Nasıl Çalışır#
Model, görüntüyü şimdiye kadarki tüm tıklamalarla birlikte alır; birçok model önceki maskeyi de kullanır ve ardından yeni bir maske tahmin eder. Maske yeterince iyi olana kadar bu döngü tekrarlanır:
Karşılaştırmalar bu kullanıcıyı taklit eder: her yeni tıklama en büyük hata bölgesinin merkezine yapılır ve puan, GrabCut, Berkeley ve DAVIS gibi veri kümelerinde gerçek değerle kesişim/birleşim oranının %85'e veya %90'a ulaşması için gereken tıklama sayısıdır; bu değer NoC@85 ve NoC@90 olarak raporlanır.
Ultralytics paketi, nokta istemleriyle Meta'nın SAM modellerini çalıştırır; burada 1 etiketi pozitif tıklamayı, 0 ise negatif tıklamayı belirtir:
from ultralytics import SAM
# Meta's SAM 2.1 base model, run through the Ultralytics package
model = SAM("sam2.1_b.pt")
image = "https://ultralytics.com/images/bus.jpg"
# Round 1: a single positive click on the pedestrian's dark coat
results = model(image, points=[[[250, 620]]], labels=[[1]])
print(f"1 click: {int(results[0].masks.data.sum())} mask pixels")
# Round 2: add a positive click on the pedestrian's jeans and a negative click on the bus
results = model(image, points=[[[250, 620], [290, 760], [420, 560]]], labels=[[1, 1, 0]])
print(f"3 clicks: {int(results[0].masks.data.sum())} mask pixels")
results[0].save(filename="interactive_mask.jpg")Tek tıklamadan sonra 32.598, üç tıklamadan sonra 33.120 maske pikseli yazdırır; yani montun üzerindeki tek tıklama yayaların neredeyse tamamını seçmiştir ve ek tıklamalar maskeyi yaklaşık 500 piksel iyileştirir. Ultralytics Platform, aynı döngüyü etiketleme düzenleyicisinde çalıştırır: Akıllı modda mevcut SAM maskesinin dışına yapılan bir tıklama o bölgeyi ekler, içine yapılan tıklama ise bölgeyi çıkarır. Tamamlanan maske, veri kümesinin görevine uygun çokgen, sınırlayıcı kutu veya döndürülmüş kutu olarak kaydedilir.
Grafik Kesimlerinden İstemlenebilir Modellere#
İlk araçlar, sınırları doğrudan iyileştiriyordu. Intelligent Scissors (1995), çizilen dış çizgiyi belirgin kenarlara oturtuyordu. Microsoft Research tarafından 2004'te yayımlanan ve OpenCV'ye eklenen GrabCut, ön plan ve arka plan için renk modellerini yinelemeli biçimde uydurup grafik kesimi çözerek, kullanıcının çizdiği bir kutunun içindeki nesneyi bölümlere ayırır. 2016'dan bu yana kullanılan derin öğrenme yöntemleri, tıklamaları görüntünün yanında ek girdi kanalları olarak kodlar ve maskeyi bir evrişimli sinir ağı ile öğrenir; daha sonraki modeller maskeyi iyileştirmek için önceki maskeyi de girdi olarak alır.
Meta'nın 2023'te yayımladığı Segment Anything Model (SAM), etkileşimin neredeyse anında gerçekleşmesi için işi ikiye ayırdı: büyük bir görüntü Transformer'ı görüntüyü bir kez kodlar; hafif bir istem kodlayıcı ve maske kod çözücü ise her yeni tıklama kümesini yaklaşık 50 milisaniyede maskeye dönüştürür. SAM, kendi etkileşimli döngüsüyle de eğitildi: SA-1B veri kümesi oluşturulurken etiketleyiciler, modelin art arda gelen sürümlerini kullanarak nesneleri bölümlere ayırmak için tıkladı ve maske başına ortalama süre 34 saniyeden 14 saniyeye düştü. SAM 2, maskeyi kareler boyunca yayarak tıklamaları videoya taşır; SAM 3 ise istemlenebilir kavram bölümleme özelliğini ekleyerek kısa bir metin ifadesiyle eşleşen tüm örnekleri bulur.
Etkileşimli ve Otomatik Bölümleme#
Örnek bölümleme modelleri, insan girdisi olmadan sabit bir eğitim sınıfı kümesini otomatik olarak bölümlere ayırır; bu, her kareyi işlemesi gereken üretim hatları için uygundur. Etkileşimli bölümleme bu otomasyonu esneklik karşılığında feda eder ve bu tür modellerin eğitim maskeleri çoğunlukla böyle oluşturulur; genellikle aktif öğrenme döngüsü içinde modelin en az emin olduğu görüntüler etiketleyicilere gönderilir. Görsel istemleme, bir görüntü modelini noktalar, kutular veya örnek görüntülerle yönlendirme fikrinin genel adıdır; etkileşimli bölümleme ise bunun yinelemeli ve maske üreten biçimidir.
Gerçek Dünya Uygulamaları#
- Veri kümesi etiketleme: Etiketleyiciler, yüzlerce çokgen köşesini izlemek yerine nesnelerin dış hatlarını birkaç tıklamayla belirler. SAM destekli etiketleyiciler maske başına 14 saniyeye ihtiyaç duydu; bu, COCO'daki elle maske etiketlemeden 6,5 kat daha hızlıdır.
- Tıbbi görüntüleme: Radyologlar, BT ve MRI taramalarında tümörleri ve organları kutular ve düzeltici tıklamalarla sınırlandırır. MedSAM, 10 görüntüleme yöntemini kapsayan 1.570.263 tıbbi görüntü-maske çiftiyle ince ayar yaparak SAM'ı tıp alanına uyarladı.










