W ostatnich latach renderowanie neuronowe stało się czołową i szybko rozwijającą się dziedziną badań nad grafiką komputerową. Jedną z przełomowych innowacji w tym obszarze jest koncepcja Neural Radiance Fields (NeRF), która zrewolucjonizowała modelowanie 3D. NeRF umożliwia tworzenie skomplikowanych scen 3D o wysokiej jakości, przy użyciu jedynie niewielkiego zestawu obrazów treningowych i odpowiadających im pozycji kamery. NeRF wykorzystuje zależności między istniejącymi widokami i podstawowe techniki grafiki komputerowej, takie jak śledzenie promieni (ang. ray tracing), w celu tworzenia realistycznych scen.
NeRF
NeRF wykorzystuje klasyczne architektury sieci neuronowych w pełni powiązanych. Sieci te przetwarzają współrzędne 5D obejmujące pozycje kamer i lokalizacje przestrzenne, aby wygenerować kolor i przezroczystość dla każdego punktu w scenie. Funkcja kosztu w przypadku NeRF czerpie inspirację z konwencjonalnych technik renderowania objętościowego. Informacja o kolorze każdego promienia przechodzącego przez scenę zapisywana jest w wagach sieci neuronowej.
Architektura NeRF uzyskuje znakomite wyniki w generowaniu wysokiej jakości scen 3D. Napotyka jednak wyzwania związane głównie z czasem treningu oraz inferencją w czasie rzeczywistym. Uczenie i inferencja modeli NeRF mogą pochłaniać niezwykle dużo czasu, co ogranicza ich zastosowanie w rzeczywistych sytuacjach.
Gaussian Splatting
W porównaniu z NeRF, Gaussian Splatting (GS) oferuje porównywalną jakość renderowania przy krótszym czasie uczenia i inferencji. GS osiąga to poprzez rezygnację z sieci neuronowych i zamiast tego koduje informacje o obiekcie w zestawie rozkładów Gaussa. GS modeluje sceny 3D za pomocą zbioru trójwymiarowych rozkładów Gaussa, zdefiniowanych przez położenie (średnie), macierz kowariancji, przezroczystość i kolor, reprezentowane przez harmoniki sferyczne (SH). Algorytm GS tworzy reprezentację sceny 3D poprzez szereg etapów optymalizacji wspomnianych parametrów. Kluczem do wydajności GS jest proces renderowania, który wykorzystuje projekcje komponentów Gaussa. Te komponenty można wykorzystać podobnie jak klasyczne siatki, co pozwala na szybki proces renderowania modeli, szczególnie w przypadku scen dynamicznych. Jednakże warunkowanie GS jest trudne, ponieważ duże sceny 3D wymagają dużej liczby komponentów Gaussa.
Zarówno NeRF, jak i GS mają wyraźne zalety i wady. Głównym celem naszego zespołu jest opracowanie nowych reprezentacji zarówno dla NeRF, jak i GS, aby sprostać podstawowym wyzwaniom w renderowaniu neuronowym.
– Przemysław Spurek