Akıllı telefonlarınız veya dijital fotoğraf makinenizle bir fotoğraf çektiğinizde, eğer ışık koşulları yeterli değilse, görüntüde karıncalanmalar görebilirsiniz. İşte bu karıncalanmaya ve bozulmaya gürültü/noise denir. Akıllı telefonların yapay zeka işlem birimleri genellikle ışık kullanımını verimli hale getirerek ve sahneyi algılayarak bu gürültünün önüne geçmeye çalışır. Aslına bakarsanız bu karıncalanmalar yalnızca fotoğraflarda değil, bilgisayar grafiklerinde de var.
Siyah noktalar, orijinal görüntünün bir parçası olmayan, rastgele parlaklık ve renk değişimleriyle meydana gelir. Görüntü işleme alanında yaygın olarak karşımıza çıkan bu karıncalanmanın giderilmesi “denoising (istenmeyen nesnelerden arındırma, temizleme)” olarak bilinir.
Denoising sürecinde grafiklerden ve render’lardan istenmeyen noktaları gidermek için gelişmiş algoritmalar kullanılmakta. Bu algoritmalarla birlikte görüntülerin kalitesi büyük değişime uğrayabilir. Eğer denoising teknolojisi olmasaydı fotogerçekçi görseller yaratmak, bunları kullanmak pek mümkün olmayacaktı.
Bilgisayar grafiklerinde kullanılan görüntülerde hem saf görseller hem de karıncalanmalar bulunabilir. Bahsettiğimiz gibi, bu noktalar görüntülerin netliğini azaltır, keskinlik ortadan kalkar. Arındırma işlemi gerçekleştikten sonra finalde istediğimiz net görüntü kalır, istenmeyen noktalar kaybolur. Bir görüntüyü denoize ederken kenarlar, köşeler, dokular ve diğer keskin yapılar gibi görsel ayrıntıları ve bileşenleri korumak da önemlidir.
Karıncalanmayı azaltırken görsel ayrıntıları etkilememek için görüntüdeki üç nokta önemli:
- Dağınıklık: Her yöne yansıyan dağınık aydınlatmalar.
- Speküler veya yansımalar: Belirli bir yönde yansıyan aydınlatmalar.
- Sonsuz ışık kaynağı gölgeleri: Son olarak, güneş ışığı, gölgeler ve diğer görünür ışık kaynakları.
En net görüntüyü elde etmek için dağınık ve speküler sinyalleri takip eden yönlerde binlerce ışın kullanmak gerekiyor. Öte yandan gerçek zamanlı ışın izleme senaryolarında genellikle piksel başına yalnızca bir ışın veya daha azı kullanılır.
Görüntü temizleme işlemi genellikle üç tekniğe dayanır: Uzamsal filtreleme, zamansal biriktirme ve makine öğrenimi/derin öğrenme.
Uzamsal filtreleme, benzer komşu pikselleri yeniden kullanarak bir görüntünün bazı kısımlarını değiştirir. Bu tekniğin avantajı, değişen akış koşullarında gecikme yaratmamasıdır. Kötü tarafına gelince, bulanıklık ve çamurlu görünümün yanı sıra görüntüdeki titreme ve görsel kusurları temsil eden zamansal istikrarsızlığı da beraberinde getirir.
Zamansal biriktirme, mevcut karede düzeltilebilecek herhangi bir yapaylık veya görsel anormallik olup olmadığını belirlemek için önceki karedeki verileri yeniden kullanır. Zamansal biriktirme zamansal gecikmeye neden olsa da bulanıklık yaratmaz. Bunun yerine, birden fazla karede titremeyi ve yapaylıkları azaltmak için zamansal kararlılık ekler.
Makine öğrenimi ve derin öğrenme tekniği, sinyali yeniden yapılandırmak için bir sinir ağı kullanır. Sinir ağı çeşitli karıncalı ve referans sinyaller kullanılarak eğitilir. Tek bir kare için yeniden yapılandırılan sinyal eksiksiz görünse de zaman içinde zamansal olarak kararsız hale gelebilir, bu nedenle bir tür zamansal stabilizasyon gereklidir.
Grafiklerde Denoising
Denoising kullanıcılara anında görsel geri bildirim sağlar. Böylece insanlar grafik ve tasarımları görebilir, bunlarla etkileşime girebilirler. Işık, malzemeler, görüş açısı ve gölgeler gibi değişkenler üzerinde değişiklik yapabilir.
NVIDIA Real-Time Denoisers (NRD) gibi çözümler ise denoising tekniklerini geliştiricilerin işlem hatlarına entegre etmesi için daha erişilebilir hale getiriyor. NRD, uygulama programlama arayüzlerinden bağımsız olan ve piksel başına düşük ışınlarla çalışmak üzere tasarlanmış bir uzamsal-zamansal denoising kütüphanesi olarak sunuluyor.