"Arka planı sil" diyen araçların hepsi aynı işi yapıyor gibi görünüyor: fotoğrafı veriyorsunuz, zemin gidiyor. Altında olan şey ise bir tahmin ve tahminin nerede tuttuğunu, nerede tutmadığını bilmek çıktıyı düzeltmenin en kısa yolu.
Aşağıdakiler, bu işi yapan bir aracı yazarken ölçtüğümüz şeyler. Denemek için arka plan silme aracını kullanabilirsiniz.
Model neyi ölçüyor?
İşi yapan şey U²-Net adlı bir yapay sinir ağı. Eğitildiği soru "insan nerede" ya da "ürün nerede" değil: karede göze çarpan nesne hangisi? Bu ayrım pratikte önemli, çünkü modelin nesneyi tanıması gerekmiyor, çevresinden ayrıştığını görmesi yeterli.
Fotoğraf önce 320×320 piksellik bir kareye indiriliyor. Model her piksel için bir olasılık üretiyor: 0'a yakın değer "zemin", 1'e yakın değer "konu". Çıkan bu gri tonlamalı harita asıl çözünürlüğe geri büyütülüp saydamlık olarak uygulanıyor.
Buradan iki sonuç çıkıyor. Birincisi: maskenin çözünürlüğü 320 pikselden geliyor, yani tek bir saç teli zaten o karede birkaç pikselden ibaret. İkincisi: çıktıdaki kenar keskin bir çizgi değil, yarı saydam bir geçiş. İyi bir aracın işi bu geçişi silmek değil, doğru yönetmek.
Nerede iyi çalışıyor
- Tek ve belirgin bir konu. Düz zemin önünde bir insan, masada duran bir ürün, açık zeminde koyu bir nesne.
- Kontrast. Konu ile zemin arasında renk ya da parlaklık farkı olması, modelin işini yapabilmesinin ön şartı.
- Konu kadrajın içinde. Kenarlardan taşan bir nesnede model nerede bittiğini kestiremiyor.
Nerede yanılıyor
Üç durum tekrar tekrar karşımıza çıkıyor:
- Dağınık saç ve tüy. 320 piksellik karede tek tek teller yok; model saçın kütlesini buluyor, kenarını tahmin ediyor.
- Yarı saydam yüzeyler. Tül, cam, duman, arkasındaki zemin görünüyor ve "konu mu, zemin mi" sorusunun tek doğru cevabı yok.
- Zeminle aynı ton. Beyaz duvar önünde beyaz gömlek klasik örnek. Model burada ikisini ayıramıyor; sonuç ya gömleğin bir kısmını siliyor ya duvarın bir kısmını bırakıyor.
Bir dördüncüsü daha var ve gözden kaçıyor: nesnenin içindeki boşluklar. Bir kupanın kulbunun ortasındaki delik, bir sandalyenin sırt aralıkları, kolun gövdeyle arasındaki üçgen, model bunları çoğu zaman konunun parçası sayıp dolduruyor. Ölçtük: kulplu bir nesnede kulbun içi silinmedi. Saydam çıktıyı koyu bir zemine yerleştirdiğinizde bu hemen görünüyor.
Kenar sertliği ne işe yarıyor?
Modelin verdiği yarı saydam geçişi ne kadar koruyacağınızı seçiyorsunuz. Yumuşak kip geçişe hiç dokunmuyor: saç ve tüyde doğru olan bu, ama düz kenarlı bir nesnede kenarda soluk bir hale bırakabiliyor. Keskin kip dar bir aralığı 0–1'e geriyor: ürün fotoğrafında temiz duruyor, saçta merdiven bırakıyor. Ortası varsayılan.
Kenarda zeminden kalıntı görüyorsanız önce bunu değiştirin. Sonuç yine iyi değilse sorun ayarda değil karede: kontrastı yüksek bir fotoğraf çekmek, her ayardan daha çok işe yarıyor.
"Yüklenmiyor" ne demek?
Bu alandaki araçların neredeyse tamamı fotoğrafı bir sunucuya gönderiyor ve hesabı orada yapıyor. Bizim aracımızda tersi oluyor: model cihazınıza iniyor ve hesap sizin işlemcinizde yapılıyor. Farkı gördüğünüz yer bekleme süresi, ilk kullanımda 18 MB civarında bir indirme var ve bu bedeli sunucuda çalışan araçlar ödetmiyor.
Karşılığında elde ettiğiniz şey somut: fotoğraf hiçbir yere gitmiyor, saklanmıyor, bir hesabın parçası olmuyor. Ürün fotoğrafı için önemsiz olabilir; kimlik, çocuk fotoğrafı ya da müşteriye ait bir görselde durum değişiyor.
Vesikalıkta zemin
Kurumların çoğu düz ve açık zemin istiyor. Vesikalık aracımız zaten açık ve düz olan bir zemini beyaza taşıyabiliyor, model gerektirmeyen, ölçüme dayalı bir yol. Desenli ya da koyu zeminde o yol çalışmıyor ve boşluğu arka plan silme kapatıyor: önce zemini beyaz yapın, sonra kadrajı vesikalık aracında kurun.
Bir uyarı: bazı kurumlar fotoğrafın düzenlenmemiş olmasını şart koşuyor ve zemin değiştirmek de bir düzenlemedir. Vesikalığın neden geri çevrildiğini anlatan yazı, kabul edilmeme sebeplerinin tamamını topluyor.
Çıktıyı indirmeden önce
Saydam çıktı PNG oluyor ve PNG kayıpsız; büyük fotoğraflarda dosya beklediğinizden büyük çıkabiliyor. Bir yere yükleyecekseniz görsel sıkıştırma aracıyla hedef boyuta indirebilirsiniz, ancak saydamlık gerekiyorsa JPG'ye çevirmeyin: JPG saydamlık taşımıyor ve saydam pikselleri siyaha çeviriyor.