Motivation
•
기존 rasterization 기반 3D Gaussian Splatting(이하 3DGS) 성능을 올리고자 하는 게 목표가 아님
•
다만, rasterization 방식으로 인해서 가지고 있는 application의 부재를 해결하고자, differentialble ray tracing 기반의 3D Gaussian 렌더링 방식을 제안
◦
Ray tracing을 사용할 시 아래와 같은 다양한 효과가 고려 가능
▪
Reflection
▪
Refraction
▪
Shadows
•
기존 ray tracing처럼 optimize를 하면 속도가 많이 느려, 3D gaussian을 위한 다양한 algorithm 변화
Challenges
•
3DGS 기반 work들은 다양한 효과들을 고려하기 위한 학습 방법을 제시하지만, 우리는 이보다 더욱 principled한 방식을 렌더링 과정에 도입해서 특별한 학습 방식을 필요로 하지 않도록 한다.
•
3D Gaussian들은 semi-transparent particles으로 본다면, 본 work은 volumetric ray tracing과 연관이 깊다. 그런데 volumetric ray tracing을 differentiable하게 만드는 연구는 크게 없었던 것으로 보인다.
Background
3D-GS
•
3DGS는 아래와 같은 3D Gaussian kernel의 differentiable semi-transparent particle을 optimize한다
•
자세한 방식은 추후에 3DGS 논문을 요약하면서…
Hardware-Accelerated Ray Tracing
•
하드웨어 기반 ray tracing은 OptiX라는 program interface를 통해서 가능하다.
•
OptiX는 무엇이 특별하길래?
◦
Ray-primitive intersection test를 RT core기반으로 빠르게 해준다!
◦
자세한건 내가 또 추후에 요약..
•
다만 아직 semi-transparent particle을 ray tracing하는 방식을 효율적으로 구축하기는 어려움
◦
모든 particle에서 trace를 하는 알고리즘과 이의 변형이 기반인데, 기존보다 너무 많은 computing을 요구함
•
본 연구는 보다 효율적인, 3D Gaussian (혹은 다른 kernel기반) particle의 ray tracing 알고리즘들을 소개함
Method
Bounding Primitives
•
OptiX는 BVH (Bounding Volume Hierarchy)를 통한 ray-primitive intersection test에 매우 특화된 interface임.
•
이를 통해서 ray와 gaussian들과의 intersection을 효과적으로 계산할 수 있음!
◦
기존 rasterization은 intersection은 고려 안하고 그냥 다 screen-space 로 투영, 각 gaussian의 spherical harmonics와 density 기반으로 최종 픽셀 색을 accumulate
◦
ray tracing을 통해서 관련 없는 gaussian은 고려하지 않을 수 있음
•
Gaussian, 혹은 다양한 kernel의 bounding box는 어떻게 구하나?
◦
정이십면체 (icosahedron)으로 bounding 후, stretch하고 크기를 clamping하여 결정
◦
Clamping 기준은 kernel function의 response 를 기준으로 함
•
하지만 kernel function은 매 optimization마다 달라지기에 매번 새로운 BVH를 구축해야 함
Ray tracing
•
OptiX가 가지고 있는 any-hit program을 통해서 ray와 intersect하는 BVH의 particle들을 찾아냄
◦
전체 transmittance가 threshold를 넘을 때까지 trace
▪
첫 K 개의 particle마다 trace
◦
원래 ray tracing은 closest-hit을 사용해서 닿는 mesh 를 찾고, surface material에 맞게 BSDF sampling을 해서 다음 tracing을 진행
◦