Gaussian Splatting Nedir? Gerçek Zamanlı 3D Sahne Sentezi (Gaussian Splatting)

3D sahneleri milyonlarca Gauss elipsoidiyle temsil ederek GPU üzerinde 100+ FPS gerçek zamanlı fotorealistik görüntü sentezi sağlayan SIGGRAPH 2023 yöntemi.

3D Gaussian Splatting (3DGS), SIGGRAPH 2023'te Inria araştırmacılarının (Kerbl vd.) sunduğu, üç boyutlu sahneleri milyonlarca elipsoidal Gauss primitifi aracılığıyla gerçek zamanlı olarak işleyen ve bilgisayarlı görü tarihinde NeRF dönemini kapatan çığır açıcı bir teknolojidir. Nöral ağ tabanlı implicit temsil yerine açık (explicit) ve düzenlenebilir bir geometrik temsil kullanır. Her Gauss birimi beş temel özellikle tanımlanır: 3D konumu (μ), şekil ve yönelimi belirleyen kovaryans matrisi (Σ), opaklık değeri (α) ve görüş açısına bağlı rengi kodlayan Küresel Harmonik (Spherical Harmonics, SH) katsayıları. Tipik bir sahnede 3 ila 6 milyon Gaussian kullanılır. Bu parametreler SSIM ile L1 kayıp fonksiyonlarının birleşimi kullanılarak gradient inişiyle optimize edilir. Eğitim süreci, COLMAP (Structure-from-Motion) ile elde edilen seyrek nokta bulutundan başlar. Adaptive Density Control mekanizması eğitim boyunca Gaussianları yoğun bölgelerde ikiye böler veya klonlar, seyrek bölgelerde ise budanmış olanları kaldırır; bu sayede temsil kalitesi aşamalı olarak artar. 30 ila 45 dakikada tamamlanan eğitim süresi, NeRF'e kıyasla onlarca kat daha hızlıdır. Render aşamasında GPU üzerinde döşeme tabanlı (tile-based) rasterizer devreye girer: tüm Gaussianlar derinlik sırasına göre sıralanır ve alfa-karışım (alpha-blending) ile ekrana yansıtılır. Sonuç: 1080p çözünürlükte saniyede 100+ kare işleme hızı ve 25-33 dB PSNR görsel kalitesi. NeRF'in yalnızca 5-10 FPS sunabildiği düşünüldüğünde bu 20 kata varan hızlanma gerçek zamanlı uygulamalar için devrimsel bir atılımdır. Bununla birlikte 3DGS'in bazı kısıtlamaları da mevcuttur: sahne başına depolama boyutu 100-700 MB arasında değişebilir; dinamik nesneler ve hareketli sahneler orijinal formatta sınırlı kalmaktadır; ayrıca kamera kapsamı dışına çıkıldığında görsel eserler (artifact) belirginleşebilir. Uygulama alanları arasında oyun motorlarına sahne entegrasyonu, AR/VR içerik üretimi, film VFX, dijital ikiz oluşturma ve robotik algı sistemleri yer alır. Dinamik 3DGS video sahnelerini, GaussianAvatars insan vücudu modellemesini, LangSplat ise dil özelliklerinin 3D sahnelere entegrasyonunu destekler. 2024 itibarıyla 3DGS ve türevleri, sahne temsil araştırmalarının fiili başlangıç noktası haline gelmiştir.

Temel Çalışma Prensibi

3DGS, bir sahneyi sürekli bir sinir ağı fonksiyonu olarak değil, ayrık Gauss elipsoidlerinin koleksiyonu olarak modelleyen eksplisit bir yöntemdir. Her Gaussian; merkez noktası (μ), kovaryans matrisi (şekil ve yön), opaklık (α) ve görünüme bağlı renk bilgisi (Spherical Harmonics katsayıları) ile tanımlanır. Eğitim, COLMAP ile üretilen seyrek nokta bulutundan başlar ve stochastic gradient descent ile Gaussianlar optimize edilir. Yoğun bölgelerde yeni Gaussianlar klonlanır veya bölünür, silik olanlar ise budanır.

NeRF ile Karşılaştırma

NeRF, sahneyi implicit bir sinir ağıyla kodlar ve her piksel için yüzlerce nokta üzerinden ışın yürüyüşü (ray marching) yapar; bu da yüksek hesaplama maliyeti getirir (~5 FPS). 3DGS ise GPU'nun hızlandırılmış rasterizasyon pipeline'ını kullanır ve Gaussianlar doğrudan ekrana projekte edilir. Sonuç: 100+ FPS, 30-45 dakika eğitim ve NeRF'le karşılaştırılabilir ya da daha yüksek PSNR değerleri. Dezavantaj olarak 3DGS daha fazla GPU belleği tüketir (Gaussian başına ~60 byte).

Uygulama Alanları

3DGS, VR/AR uygulamalarında sahne kopyalama, filmcilik sektöründe dijital set oluşturma, otonom araçlarda simülatör ortamı üretme ve e-ticarette 3D ürün görselleştirmede kullanılmaktadır. Polycam, Luma AI ve DJI Terra gibi profesyonel araçlar 3DGS'yi yerel olarak desteklemektedir. COLMAP-Free varyantlar ise kamera pozunu önceden bilmeden ardışık karelerden 3D sahne oluşturmayı mümkün kılar.

Sınırlılıklar ve Gelecek

3DGS'nin başlıca sınırlılıkları; yüzey keskinliğinin düşük olabilmesi, dinamik sahnelerin zorluğu ve büyük sahnelerde bellek tüketiminin artmasıdır. 4D Gaussian Splatting, dinamik nesneleri zamanla değişen Gaussianlar olarak modelleyerek bu sorunu çözmeye çalışmaktadır. Gaussian Opacity Fields ve GaussianCity gibi genişlemeler ise mesh çıkarma ve kentsel ölçekli 3D rekonstrüksiyona yönelik araştırmaları sürdürmektedir.

Sık Sorulan Sorular

  • check_circle 3DGS eğitimi için ne kadar veriye ihtiyaç var?: Tipik bir sahne için 100-300 fotoğraf yeterlidir. COLMAP bu görüntülerden kamera pozlarını ve seyrek nokta bulutunu otomatik oluşturur; ardından 3DGS eğitimi 30-45 dakikada tamamlanır.
  • check_circle GPU bellek gereksinimleri nedir?: Küçük sahneler için 8 GB VRAM yeterlidir; büyük ve yüksek detaylı sahnelerde 24 GB veya üzeri önerilir. Disk üzerinde sahne başına 100-700 MB alan gerekir.
  • check_circle 3DGS ile video oluşturmak mümkün mü?: 4D Gaussian Splatting ve Dynamic 3DGS yöntemleri hareketli sahneleri destekler. Eğitimli bir 3DGS sahnesinden herhangi bir kamera yolunu render etmek ise standart formatta doğrudan mümkündür.
  • check_circle Hangi açık kaynak araçlar kullanılabilir?: gaussian-splatting (Inria'nın resmi CUDA uygulaması), nerfstudio'nun splatfacto modülü ve gsplat kütüphanesi en yaygın açık kaynak seçenekleridir. WebGL tabanlı 3D Gaussian Splatting Viewer ile tarayıcıda da görüntüleme yapılabilir.