Instance Segmentation
Örnek segmentasyonu, görüntüdeki her nesnenin ana hatlarını kendine ait bir piksel maskesiyle belirler; böylece aynı sınıfa ait bitişik nesneler ayrı kalır. Modeller, metrikler ve kod.
Örnek segmentasyonu, görüntüdeki her nesneyi bulan, ona bir sınıf atayan ve kendi piksel düzeyindeki maskesiyle ana hatlarını çıkaran bir bilgisayarlı görü görevidir. Nesne tespitinin nesne başına akıl yürütmesini görüntü segmentasyonunun piksel hassasiyetiyle birleştirir: algılayıcı arka planı da içeren dikdörtgen bir sınırlayıcı kutu çizerken, bir örnek segmentasyonu modeli hangi piksellerin hangi nesneye ait olduğunu tam olarak işaretler. Omuz omuza duran iki kişi, iki ayrı etiket içeren iki ayrı maskeye dönüşür; böylece nesneleri tek tek kesip çıkarmak, saymak ve ölçmek mümkün olur.
Örnek, Anlamsal ve Panoptik Segmentasyon#
Örnek segmentasyonu, etiketin anlamına göre farklılaşan üç segmentasyon görevinden biridir:
- Anlamsal segmentasyon: Her piksele bir sınıf etiketi atar ve aynı sınıfa ait tüm nesneleri tek bir bölgede birleştirir; böylece park hâlindeki üç araba tek bir "araba" alanına dönüşür. Yol ve gökyüzü gibi arka plan bölgelerini de etiketler.
- Örnek segmentasyonu: Sayılabilir her nesneye, yani "şeye", kendi maskesini ve kimliğini verir; böylece üç araba araba 1, araba 2 ve araba 3 olur. Tespit edilen hiçbir nesneye ait olmayan pikseller etiketsiz kalır.
- Panoptik segmentasyon: Her piksele bir sınıf atar ve sayılabilir nesnelere ayrıca örnek kimliği vererek iki görünümü tek bir çıktıda birleştirir.
Meta'nın Segment Anything Model (SAM) gibi istemle yönlendirilebilen modelleri etkileşimli segmentasyon yapar: sabit bir sınıf listesi olmadan, tıklama, kutu veya metin isteminin işaret ettiği her şey için maske üretir.
Örnek Segmentasyonu Modelleri Nasıl Çalışır#
İki aşamalı modeller önce tespit, sonra segmentasyon yapar. 2017'den beri başvurulan tasarım olan Mask R-CNN, aday bölgeler önerir, her kutuyu sınıflandırıp iyileştirir ve ayrı bir maske dalı kullanarak her kutunun içinde 28×28 boyutunda küçük bir maske tahmin eder.
Tek aşamalı modeller, kutuları ve maskeleri tek geçişte tahmin eder; bu da gerçek zamanlı çıkarım için uygundur. YOLACT, YOLO segmentasyon modellerinin de kullandığı prototip tasarımını tanıttı: ağ, tüm görüntü için ortak bir prototip maske kümesi ve tespit edilen her nesne için kısa bir maske katsayıları vektörü tahmin eder. Her nesnenin maskesi, prototiplerin katsayılarla ağırlıklandırılmış toplamıdır; nesnenin kutusuna göre kırpılır ve eşiklenerek ikili maskeye dönüştürülür.
Mask2Former gibi Transformer tabanlı modeller üçüncü bir yaklaşım izler: sabit sayıda maske sorgusu tahmin eder ve anlamsal, örnek ve panoptik segmentasyon için aynı mimariyi kullanır.
Maskeler, Çokgenler ve Metrikler#
Eğitim etiketleri genellikle her nesnenin çevresinden çizilen çokgenlerdir; COCO JSON veya nesne başına bir sınıf kimliği ve normalleştirilmiş köşe noktalarının listesini içeren YOLO metin dosyaları gibi biçimlerde saklanır. Çıkarım sırasında modeller her örneği ikili maske olarak verir; saklamak veya çizmek için bu maske çokgen ana hatlarına dönüştürülebilir. Doğruluk, kutu mAP'si gibi hesaplanan maske ortalama kesinliği (mAP) ile raporlanır; tek fark, Kesişim/Birleşim (IoU) değerinin tahmin edilen ve gerçek maskeler arasında ölçülmesidir. Her nesnenin çevresine çokgen çizmek kutu çizmeye kıyasla çok daha uzun sürdüğünden, SAM gibi istemle yönlendirilebilen modeller, etiketleyicinin daha sonra düzelttiği bir taslak maskeyi tek tıklamayla oluşturmada yaygın olarak kullanılır.
-seg sonekiyle belirtilen Ultralytics YOLO26 segmentasyon modelleri, her tespit için 32 prototip ve 32 katsayı içeren prototip tasarımını kullanır ve her örneği sınıfı, kutusu, maskesi ve çokgen ana hattıyla birlikte döndürür:
from ultralytics import YOLO
# Load a YOLO26 instance segmentation model pretrained on the 80 COCO classes
model = YOLO("yolo26n-seg.pt")
# Segment every object instance in the image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each instance has its own class and mask outline, even when classes repeat
for class_id, polygon in zip(result.boxes.cls.int().tolist(), result.masks.xy):
print(f"{result.names[class_id]}: outline with {len(polygon)} points")
result.save(filename="instance_segmentation.jpg")Algılanan her kişi kendi dış çizgisiyle ayrı bir satırda yazdırılır; kaydedilen görüntüde de her örneğin maskesi ayrı renklendirilir. Kendi verini etiketleyip model eğitmek için YOLO26'yı örnek segmentasyonu için özel olarak nasıl eğiteceğine veya Ultralytics Academy'nin Örnek Segmentasyonunu Etiketleme ve Eğitme dersine bak.
Gerçek Dünya Uygulamaları#
Örnek maskeleri, tek tek nesnelerin tam şeklinin veya sayısının kararları belirlediği her yerde önemlidir:
- Robotik toplama: Dağınık bir kutudan parça alan robot kolunun, komşu parçalara çarpmayacak bir kavrama noktası seçebilmesi için her parçanın tam ana hattına ihtiyacı vardır.
- Hücre biyolojisi: Mikroskopi işlem hatları, birbirine değenler de dâhil olmak üzere hücreleri ve çekirdekleri tek tek segmentlere ayırarak sayar, boyut ve şekillerini ölçer.
- Tarım: Hasat robotları ve verim tahmin sistemleri, yoğun taç yapraklı bitki örtüsünde meyveleri tek tek ayırarak sayar ve maske alanından boyutlarını tahmin eder.
- Videoda nesne takibi: Örnek maskelerini bir takipçiyle birleştirmek, her nesnenin tam siluetini kareden kareye izler.
- Otonom araçlar: Cityscapes gibi sürüş veri kümeleri, sekiz insan ve araç sınıfı için örnek düzeyinde etiketler sunar; böylece algı modelleri kalabalıktaki her yayayı birbirinden ayırabilir.










