Image Matting
Görüntü matlama, doğal kesitler ve gerçekçi arka plan birleştirme için saç gibi ince ayrıntıları koruyarak ön planın piksel düzeyindeki saydamlığını tahmin eder.
Görüntü matlama, bir görüntüdeki her piksele ön planın ne ölçüde katkıda bulunduğunu tahmin etme işlemidir. Çıktısı olan alfa matı, tek tek saç telleri, kürk ve yumuşak kenarlar gibi kısmen saydam ayrıntıları koruyarak bir nesnenin başka bir arka planın önüne doğal biçimde yerleştirilmesini sağlar. Alfa matlama olarak da adlandırılan bu bilgisayarlı görü görevi, hassas kesitleri ve görüntü birleştirmeyi destekler. Fiziksel resim çerçeveleme paspartuları ve tıbbi zemin kaplamaları, "matlama" sözcüğünün farklı anlamlarıdır.
Alfa Matı Nasıl Çalışır#
Alfa matı, değerleri 0 ile 1 arasında olan tek kanallı bir görüntüdür: 0 arka planı, 1 tamamen opak ön planı, ara değerler ise kısmi ön plan kaplamasını veya saydamlığı temsil eder. Alfa değeri pikselin karışımını, bir modelin güven değeri ise tahminin kesinliğine ilişkin güven düzeyini ifade eder. İnce bir saç teli pikselin yalnızca bir kısmını kaplayabilir; telin kendisi opak olsa bile bu durum ara bir alfa değeri oluşturur.
Standart birleştirme ilişkisi şöyledir: image = alpha * foreground + (1 - alpha) * background. Matlama, bu bileşenleri mevcut bir görüntüden tahmin eder; birleştirme ise çıkarılan ön planı yeni bir arka planla bir araya getirir. Ön plan rengini tahmin etmek de önemlidir: saç çevresinde özgün arka planın rengini korumak, yeni birleştirilmiş görüntüde renkli saçaklar oluşturur.
Görüntü segmentasyonu pikselleri bölgelere ayırır. Anlamsal segmentasyon sınıf etiketleri atarken, örnek segmentasyonu tek tek nesneleri birbirinden ayırır. Matlama, ön plan opaklığını sürekli değerlerle tahmin eder. Ultralytics YOLO26 segmentasyonu, örnek maskelerini saydam kesitlere dönüştürerek nesneleri yalıtmayı destekler; bu maskeler, ayrı bir matlama iyileştirme aşaması için ilk ön plan sınırını sağlayabilir.
Trimapler ve Matlama Yöntemleri#
Bir trimap üç bölge tanımlar: bilinen ön plan, bilinen arka plan ve sınırları ya da saydam materyalleri içeren bilinmeyen bir bölge. Bu veri anotasyonu biçimi, tahmin problemini sınırlandırır. Etkileşimli segmentasyonda olduğu gibi, az miktarda girdiyle kullanıcıların çıkarma işlemine yön vermesini sağlar. Saçın kesin olarak arka plan olarak işaretlenmesi, alfa değerini sıfıra zorlayarak saçın kesitten çıkarılmasına yol açar.
Anat Levin, Dani Lischinski ve Yair Weiss tarafından 2006'da ortaya konan kapalı biçimli matlama, seyrek bir doğrusal sistem oluşturmak için yerel ön plan ve arka plan renk varsayımlarından yararlanır. Bu sistemin çözülmesi, bilinmeyen bölgedeki alfa değerini tahmin eder. Çalışma, Doğal Görüntü Matlaması için Kapalı Biçimli Bir Çözüm başlığını taşır.
Derin öğrenme yöntemleri, etiketli örneklerden görünüm ve sınır örüntülerini öğrenir. Ning Xu, Brian Price, Scott Cohen ve Thomas Huang, 2017'de Derin Görüntü Matlama yöntemini tanıttı; bu yöntem, iyileştirme aşamasıyla bir evrişimli sinir ağı kodlayıcı-kod çözücüyü birleştiriyordu. Adobe'nin matlama verileri ve Composition-1k test kümesi, yerleşik değerlendirme kaynakları hâline geldi. Ön planları çeşitli arka planlarla birleştirmek, veri artırma yoluyla eğitim verilerini genişletir.
Python ile Mat Tahmin Etme#
PyMatting alfa tahmin API'si, kapalı biçimli matlamayı uygular. pip install pymatting pillow ile yükle, ardından örnek görüntüde ön plan ve arka plan tohum bölgelerini kullan. Burada gri trimap değerleri, çözücünün tahmin etmesi için pikselleri açıkta bırakır.
from urllib.request import urlopen
import numpy as np
from PIL import Image
from pymatting import estimate_alpha_cf
with urlopen("https://ultralytics.com/images/bus.jpg") as response:
photo = Image.open(response).convert("RGB")
photo.thumbnail((256, 256))
image = np.asarray(photo, dtype=np.float64) / 255.0
# Gökyüzünü arka plan, otobüsün bir bölümünü ise ön plan olarak işaretle.
trimap = np.full(image.shape[:2], 0.5)
trimap[:20, :] = 0.0
trimap[120:145, 115:145] = 1.0
alpha = estimate_alpha_cf(image, trimap)
matte = Image.fromarray(np.uint8(np.clip(alpha, 0, 1) * 255))
matte.save("alpha_matte.png")Kaydedilen gri tonlamalı görüntü, tahmin edilen ön plan katkısını gösterir: ön plan tohumlarında beyaz, arka plan tohumlarında siyah ve diğer yerlerde tahmin edilen geçişler.
Uygulamalar ve Kalite Değerlendirmesi#
Portre düzenleme, ürün fotoğrafçılığı ve film birleştirme, arka plan değişimi sırasında ince sınırları korumak için matlardan yararlanır. Portre videosu matlama, bu işlemi karelere yayar; kararsız sınırlar görünür titremeye neden olur. MODNet, gerçek zamanlı çıkarım için RGB girdisinden trimap gerektirmeyen portre çıkarımına doğrulanabilir bir örnek sunar. Görüntü iç boyama ise seçilen bir bölgenin içindeki içeriği sentezler.
Matlama değerlendirmesi, tahmin edilen alfa değerlerini referans matlarla karşılaştırır. Christoph Rhemann ve çalışma arkadaşlarının 2009'da tanıttığı algısal temelli matlama kıyaslama testi, mutlak farkların toplamını, ortalama karesel hatayı, gradyan hatasını ve bağlantılılık hatasını kullanır. Bunlar, Kesişim/Birleşim gibi bölge örtüşme ölçütlerini tamamlar: gradyan hatası alfa geçişlerindeki uyumsuzlukları, bağlantılılık hatası ise bağlantılı ön plan yapısındaki bozulmaları ölçer.










