4 puan yazan GN⁺ 2025-06-02 | 1 yorum | WhatsApp'ta paylaş
  • RenderFormer, üçgen mesh tabanlı sahnelerde global illumination etkilerini de doğrudan uygulayan bir neural rendering pipeline'ıdır
  • Her bir sahne için ayrı eğitim veya ince ayar süreci gerekmez
  • Renderingi sequence-to-sequence dönüşümü olarak tanımlayarak, üçgen token'larını doğrudan piksel yama token'larına dönüştürür
  • Tüm pipeline transformer tabanlı olarak tasarlanmıştır ve yalnızca asgari düzeyde ön kısıt uygulanır
  • Rasterization veya ray tracing kullanmadan görüntü üretir

Giriş

  • RenderFormer, üçgen tabanlı sahne gösteriminden doğrudan görüntü render eden bir neural pipeline'dır
  • Global illumination efektlerinin tamamen uygulandığı görüntüler üretir
  • Her sahne için ayrı eğitim veya fine-tuning gerektirmeyen bir yapıyla çalışır

Yaklaşım

  • Mevcut fizik tabanlı rendering yöntemlerinden farklı olarak, renderingi bir sequence-to-sequence dönüşüm problemi olarak yeniden tanımlar
    • Üçgenleri ve yansıma özelliklerini içeren token dizilerini, her biri küçük piksel yamalarına dönüştürülmüş çıktı token dizilerine çevirir

Pipeline yapısı

  • RenderFormer iki aşamalı bir yapıdan oluşur
    • Görüşten bağımsız aşama: üçgenler arası ışık aktarımı olgusunu modeller
    • Görüşe bağlı aşama: ışın demetlerini temsil eden token'ları piksel değerlerine dönüştürür. Bu sırada önceki aşamadaki üçgen dizisi kılavuz görevi görür
  • Her iki aşama da transformer mimarisini temel alır
  • Eğitim sırasında yalnızca asgari düzeyde ön kısıt verilir

Teknik özellikler

  • Rendering sırasında rasterization, ray tracing gibi geleneksel yöntemleri hiç kullanmaz
  • Transformer'ın dizi dönüştürme yeteneğinden aktif biçimde yararlanır

Sonuç

  • Mevcut neural rendering tekniklerine kıyasla, ek ön hazırlık veya sahne bazlı ayar gerektirmeden esnek ve yüksek kaliteli görüntüler üreten bir yaklaşımdır

1 yorum

 
GN⁺ 2025-06-02
Hacker News görüşleri
  • En etkileyici kısım hız tarafı. Aynı sahnede RenderFormer 0.076 saniyede işi bitirirken, Blender Cycles 3.97 saniye sürüyor (veya daha yüksek ayarlarda 12.05 saniye). Buna rağmen yapısal benzerlik indeksi (SSIM) 0.9526; yani neredeyse fark yok denecek seviyede. Makaledeki Tablo 2 ve Tablo 1'e bakılması önerilir. Bunun pratikte anlamı, 3D tasarımcıların web ya da yerel uygulamalarda cihaz üzerinde çalışan transformer modelleriyle çok daha yüksek kalitede anlık render önizlemeleri görebilmesi. Elbette bu sonuçlar A100 GPU üzerinde, PyTorch optimizasyonu olmadan ölçülmüş; sıradan kullanıcı GPU'ları bu kadar hızlı olmayacaktır, ama yine de mevcut render yöntemlerine göre yeterince büyük bir hız artışı mümkün görünüyor. Ya da web tabanlı bir sistemde A100'ü backend'e bağlayıp sonuç görüntülerini tarayıcıya stream etmek de mümkün olabilir. Ancak sınırlamalar da açık. Sahne karmaşıklaştıkça doğruluk düşüyor; özellikle karmaşık gölgelerde (parçacıklar veya saç dahil) hata olasılığı yüksek, bu yüzden son render'ın hâlâ geleneksel yöntemlerle alınması gerekir; böylece yapay zeka tabanlı görüntü/video üretiminde sık görülen artifact'lerden kaçınılabilir. Yine de hız kazanımı yeterince büyükse, uzun metraj önizleme render'larına ihtiyaç duyan büyük animasyon stüdyolarında müzik veya hikâye incelemeleri gibi amaçlarla kullanılabileceğini düşünüyorum

    • Araştırmacıların bilerek gerçeği çarpıttığını düşünmüyorum ama Blender Cycles böyle bir GPU'da, makaledeki tüm sahneleri 4 saniyenin altında render edebilecek kapasitede olurdu. Makalede kullanılan sahneler zaten düşük karmaşıklıkta ve Blender 4.000 tekrar örnekleme yapacak şekilde ayarlanmış; oysa pratikte birkaç yüz örneklemede neredeyse nihai kaliteye ulaşılıyor ve geri kalanın etkisi çok az oluyor. Sonuç olarak GPU kaynakları gereksiz yere harcanmış oluyor. Ayrıca Blender'ın ilk render hazırlık süreci render süresine dahil edilmiş gibi görünüyor, ama transformer başlatma süresi hariç tutulmuş olabilir. Her iki sistemde ikinci kareyi render etmenin ne kadar sürdüğünü de merak ediyorum. Tahminim Blender'ın çok daha hızlı olacağı yönünde. Yine de makalenin sonuçları ilginç; sadece Blender ayarları ve zamanlama karşılaştırmasında bazı nüanslar var

    • Gösterilen sahnelere göre 76 ms aslında uzun bile sayılır. Elbette ileride çok daha hızlanacaktır ama mevcut hâliyle geleneksel render'dan daha iyi demek için erken olduğu izlenimindeyim

    • Makaledeki zaman karşılaştırması biraz hatalı. Ray tracing'de hata, örnek sayısının kareköküne göre azalır. Makale, referans görüntüyü üretirken gerçekçi olmayan kadar yüksek örnek sayısı kullanmış; oysa gerçek offline renderer'lar bunun 10 ila 100 kat daha azını kullanır. Makaledeki kadar yüksek örneklemeyle üretilen görüntüler kalite karşılaştırması için anlamlıdır ama bunlarla zaman karşılaştırması yapmak yaygın bir yöntem değildir. Sonuçlar katı anlamda adil değil; benzer şekilde yaklaşık sonuç veren başka render algoritmalarıyla kıyaslamak daha doğru olurdu. Günümüzde gerçek zamanlı path tracer + denoiser kombinasyonları da tüketici GPU'larında 16 ms altında, çok daha karmaşık sahneleri render edebiliyor. Özellikle transformer modelinde süre hem üçgen sayısına hem piksel sayısına göre karesel artıyor. Güncel makine öğrenimi araştırmalarında bunu iyileştiren şeyler olabilir ama geleneksel path tracer'ın O(log n triangles), O(n pixels) ölçeklenmesini geçmek zor olacaktır (hatta pratikte komşu pikseller arasındaki tutarlılık nedeniyle piksel artışına daha az duyarlıdır)

    • Hızın çok iyi olduğu iddiası bana şaşırtıcı geldi. Makaleye hızlıca baktım ama Blender Cycles'ın A100'ün CPU'sunu mu kullandığı, yoksa CUDA kernel'lerini mi çalıştırdığı net değildi. Tek karelik ölçümse renderer başlangıç süresi de kısmen dahil edilmiş olabilir. Eğer bir sekans render'ıysa kare başına süre ciddi biçimde düşer. Ayrıca başka birinin değindiği üçgen karmaşıklığı (O(n^2) ölçeklenme) de kesinlikle etkili olacaktır

    • Makalede şöyle deniyor: "Attention katmanlarının çalışma-zamanı karmaşıklığı token sayısına, yani bu durumda üçgen sayısına göre karesel olarak artar. Bu nedenle sahnedeki üçgen sayısını en fazla 4096 ile sınırlıyoruz"

  • Derin öğrenme, global illumination render görüntülerinin denoise edilmesinde de çok başarılı şekilde kullanılıyor. Geleneksel ray tracing ile kaba bir global illumination görüntüsü üretiliyor, ardından sinir ağı çıktı görüntüsündeki gürültüyü temizliyor. İlgili bağlantı: Open Image Denoise

    • Demo çıktı görüntüleri garip biçimde pürüzsüz hissettiriyor; sanki yapay zeka ile upscale edilmiş görüntüler gibiler. Kenarlar keskin kalıyor ama görüntüyü kaynaktaki verinin ötesine büyütmeye çalıştığınızda doku bilgisinin çoğu kayboluyor. (Ek) %100 büyütmede denoise karşılaştırmasına bakınca sonuç, %125 DPI ölçeklemesinden daha iyi görünüyor ve alttaki eğrelti otu da daha seçilebilir hâle geliyor
  • Film sektöründe gerçekten fizik tabanlı renderer geliştiren bir arkadaşım var; bu alandaki çalışma biçimini ve hikâyeleri dinlemek hep çok ilginç geliyor. Şu anda bu tür yetenekleri işe alan şirketlerin hangileri olduğunu merak ediyorum. Yapay zeka şirketleri de eğitim için ortam kurma amacıyla rendering mühendisi alıyor mu? Deneyimli rendering araştırma/üretim mühendislerini işe almak isteyen biri varsa, arkadaşım sosyal medya kullanmadığı için ben bağlantı kurabilirim

    • Arkadaşına Gmail üzerinden bana, benim kullanıcı adımla e-posta göndermesini söylemeni isterim
  • Örneklerin hiçbirinin kameranın arkasındaki nesneleri göstermemesi tuhaf geldi. Bunun örneklerin kuruluşundan mı yoksa yaklaşımın kendisinden mi kaynaklandığını bilmiyorum ama yansıma ve aydınlatma hesaba katıldığında kamera arkasındaki kısım oldukça önemli

  • Yine bir "the bitter lesson" anı gibi geliyor. Artık bu akım grafik rendering alanına da uygulanıyor. NeRF, ray tracing tabanlı prior'ları; Gaussian splat ise rasterization tabanlı prior'ları kısmen kullanıyordu. Bu yaklaşım ise bu tür alan bilgisi ve uzmanlıkların çoğunu bir kenara bırakıp yalnızca veri ve attention ile çözmeye çalışıyor. Gelecek sonunda bu yönde olacakmış gibi hissettiriyor

  • GPU etrafında rendering ile compute'un birbirini döngüsel biçimde beslediği yapının tamamlanmış olması etkileyici

  • Sonuçlar fena değil ama biraz bulanık görünüyor. Neural network ile klasik renderer'lar arasında daha fazla render süresi karşılaştırması görmek isterdim

    • Animasyonlarda (özellikle Animated Crab ve Robot Animation) yapay zeka sanatına özgü artifact'ler fark ediliyor; nesne veya kamera hareket ettiğinde modelin etrafında doğal olmayan girdaplanmalar oluşuyor

    • Makalede zaman karşılaştırmasına dair bir miktar tartışma var. Blender Cycles (path tracing) ile kıyaslandığında, en azından 4K üçgenin altındaki sahnelerde neural yaklaşım çok daha hızlı. Ancak bundan daha karmaşık sahnelerde pek uygun olmayabilir (çünkü attention çalışma süresi üçgen sayısının karesiyle artıyor). Makale bağlantısı: RenderFormer makalesi PDF. Bana göre neural yaklaşımı sadece dolaylı aydınlatma için kullanıp, temel görüntüyü geleneksel bir rasterizer ile üretip Global Illumination katmanını neural olarak eklemek daha gerçekçi bir yöntem olabilir

  • Belki konuya hâkim değilim ama bu sahneler sonuçta beklenen şekilde render ediliyorsa, bu yaklaşımın neden daha basit ve doğrudan yöntemlere göre avantajlı olduğunu merak ediyorum (daha hızlı da değilse kullanmak için özel bir neden var mı?)

    • Aslında bu yaklaşım göründüğünden daha ilginç sonuçlar da üretebilir. Örneğin sahnenin kendisini tek bir input weight yığını gibi ele alıp ona gürültü ekleyebilir ya da farklı sahneler arasında interpolate ederek beklenmedik sonuçlar elde edebilirsiniz

    • Sonuçta bunun daha çok "Cool Research" olduğunu düşünüyorum. Pratik kullanımı sınırlı, çünkü üçgen sayısı arttıkça maliyet karesel büyüyor. Zaten bu yüzden makalede sahne başına sınır 4096 olarak konmuş

    • Diğer yorumlarda da söylendiği gibi, bu yaklaşım aslında daha hızlı. Global illumination doğrudan yöntemlerle gerçekten çok yavaş

  • Bu bana yenilikçi bir araştırma gibi geldi. Transformer'ların yalnızca doğal dilde değil, çeşitli sürekli veri girdileri ve token'lar arası korelasyonların belirgin olduğu birçok alanda da uygulanabilir olması, metin dışı alanlardaki gelecekteki araştırmalar için heyecan verici. Hacker News kullanıcılarının, transformer'lara uygun olabilecek metin dışı alanlar arasında en ilginç buldukları şeylerin neler olduğunu merak ediyorum

  • Çok zekice ve ilgi çekici bir fikir. Üçgen kümelerine dayalı bir sahne tanımını 2D piksel dizisine çeviren bir transformer eğitiliyor ve sonuçta mevcut global illumination renderer'larının çıktısına neredeyse benzeyen görüntüler anında üretilebiliyor. Son beş yıldaki araştırmalara bakınca bunun mümkün olması artık şaşırtmamalı, ama yine de hâlâ çok etkileyici. Transformer mimarisinin gerçekten ne kadar çok yönlü olduğunu gösteriyor. Hızı da inanılmaz yüksek, Blender çıktısına çok yakın, model de yaklaşık 1B parametre boyutunda; fp16 mı 32 mi emin değilim ama dosya boyutu 2 GB olduğu için epey büyük. Daha gerçekçi sahneler için demo görmek isterdim ama bunu hemen Mac'ime indirip kendim deneyebilme fikri de hoşuma gidiyor