[논문리뷰] VR-GS: A Physical Dynamics-Aware Interactive Gaussian Splatting System in Virtual Reality
SIGGRAPH 2024. [Paper] [Page]
Ying Jiang, Chang Yu, Tianyi Xie, Xuan Li, Yutao Feng, Huamin Wang, Minchen Li, Henry Lau, Feng Gao, Yin Yang, Chenfanfu Jiang
UCLA | HKU | Utah | ZJU | Style3D Research | CMU | Amazon
30 Jan 2024
Introduction
상업용 VR(가상 현실) 및 MR(혼합 현실) 애플리케이션의 급성장으로 인해 컴퓨터 그래픽스(CG)와 컴퓨터 비전 커뮤니티 내에서 충실도가 높은 3D 콘텐츠에 대한 탐구가 촉진되고 있다. 3D 모델링 도구와 게임 엔진에 의존하는 기존의 3D/4D 콘텐츠 제작은 VR에서 효율적으로 렌더링할 수 있음에도 불구하고 시간 집약적이고 복잡하며, 전문가가 아닌 사용자가 접근할 수 없는 경우가 많다. 이러한 접근성 장벽은 고품질 콘텐츠 제작에 대한 광범위한 사용자 참여를 제한한다.
본 논문의 목표는 기존 그래픽스 파이프라인의 장점과 한계를 인식하고 현대적인 변형을 찾는 것이다. 비전문가 사용자를 위한 시각적 품질과 제작 용이성을 향상시키기 위해 그래픽스 파이프라인의 기존 3D 모델에서 벗어나 렌더링을 위한 SOTA radiance field 기술을 채택했다. 이러한 맥락에서 NeRF가 자연스러운 선택으로 등장하였다. NeRF의 볼륨 렌더링은 높은 프레임 속도를 요구하는 XR(확장 현실) 장치의 인터랙티브한 렌더링 효율성이 부족하다. 또한 inverse deformation map을 통해 쿼리 광선을 구부려야 하는 변형 처리에 대한 NeRF의 접근 방식은 느리다.
최근 NeRF에 대한 효율적이고 명시적인 대안으로 3D Gaussian Splatting(GS)이 도입되었다. 이 방법은 렌더링 효율성이 뛰어날 뿐만 아니라 직접 변형하거나 편집할 수 있는 명시적인 기하학적 표현을 제공한다. 3D-GS의 명시적 특성은 Gaussian 커널의 동작을 제어하는 편미분 방정식(PDE)을 해결하여 형상의 직접적인 조작을 단순화할 수 있다. 또한 GS는 충실도가 높은 메쉬, UV map, 텍스처가 필요하지 않으므로 자연스럽게 사실적인 외형을 구현할 수 있는 가능성을 제공한다. 많은 연구에서 이미 4D 역학을 위한 3D-GS의 사용과 보다 사실적인 4D 콘텐츠 생성 및 애니메이션이 가능한 아바타 생성을 위한 물리 기반 시뮬레이션의 통합을 입증했다는 점은 주목할 가치가 있다.
본 논문에서는 Gaussian Splatting으로 표현된 3D 콘텐츠의 몰입형 조작을 위한 인터랙티브한 물리 인식 가상 현실(VR) 시스템인 VR-GS를 소개한다. 인터랙티브한 경험을 위한 실시간 변형 시뮬레이션을 위해 고도로 적응성이 뛰어나고 통합된 물리 시뮬레이터인 eXtended Position-based Dynamics (XPBD)를 활용한다. 시뮬레이터를 GS에 직접 통합하는 것은 시뮬레이션과 렌더링 프로세스가 서로 다른 기하학적 표현을 가지기 때문에 문제가 된다. 이 문제를 해결하기 위해 분할된 각 Gaussian에 대해 사면체 케이지(tetrahedral cage)를 구성하고 Gaussian들을 해당 메쉬에 임베딩시킨다. XPBD에 의해 구동되는 변형된 메쉬는 이후 Gaussian의 변형을 가이드한다. 단순한 임베딩 기술이 Gaussian에서 바람직하지 않은 뾰족한 변형을 초래할 수 있으므로 저자들은 새로운 2단계 임베딩 접근 방식을 제안하였다. 이 방법을 사용하면 각 Gaussian이 주변 사면체의 스무딩된 평균 변형에 적응할 수 있다. 2단계 임베딩을 통한 GS와 XPBD의 복잡한 결합은 실시간 물리 기반 역학을 달성할 뿐만 아니라 고품질의 사실적인 렌더링을 유지하여 충실도가 높은 몰입형 VR 경험을 가능하게 한다.
Method
1. VR-GS Assets Preparation
VR 시스템의 각 3D 에셋은 충실도가 높은 3D-GS 재구성과 중간 해상도의 시뮬레이션 가능한 사면체 메쉬로 구성되어 실시간 물리 역학을 가능하게 한다. 이러한 준비는 다음을 포함하는 VR 환경 내에서 인터랙티브한 편집 전에 오프라인으로 수행된다.
- Segmented GS Generation: 분할된 GS의 재구성을 통해 대규모 장면에서 개별 개체와의 상호 작용을 지원한다.
- Inpainting: 물체와 해당 지지 평면 사이의 가려진 부분에는 일반적으로 텍스처가 없다. 2D 인페인팅 기술을 활용하여 3D-GS 표현을 인페인팅한다.
- Mesh Generation: 각 물체에 대해 시뮬레이션 가능한 사면체 메쉬가 생성된다.
Segmentation
Gaussian Splatting을 재구성하는 동안 분할된 GS가 구성된다. 먼저 2D segmentation 모델 Cutie를 활용하여 멀티뷰 RGB 이미지에 2D 마스크를 생성한다. 분할된 각 부분에는 다양한 뷰에서 일관되게 다른 색상이 지정된다. 그 후, 세 가지 추가 학습 가능한 RGB 속성을 3D Gaussian에 통합하여 장면 표현을 향상시킨다. 재구성 과정에서 각 3D Gaussian은 segmentation loss function $L_\textrm{seg}$를 활용하여 자신이 속한 물체를 자동으로 학습한다.
\[\begin{equation} L_\textrm{seg} = L_1 (M_\textrm{2d}, I) \end{equation}\]여기서 $M_\textrm{2d}$는 2D segmentation 결과를 나타내고 $I$는 SH에서 평가하는 대신 확장된 RGB 속성으로 대체된 색상을 사용하여 3D Gaussian의 렌더링을 나타낸다. 따라서 총 loss는 다음과 같다.
\[\begin{equation} L_\textrm{total} = (1 - \lambda) L_1 + \lambda L_\textrm{SSIM} + \lambda_\textrm{seg} L_\textrm{seg} \end{equation}\]여기서 $L_1$과 $L_\textrm{SSIM}$은 일반적으로 렌더링된 이미지와 멀티뷰 ground truth 사이에서 계산된다. 저자들은 모든 실험에서 $\lambda = 0.2$와 $\lambda_\textrm{seg} = 0.1$을 사용하였다.
Inpainting
3D-GS segmentation 후 장면에서 모든 물체를 추출한다. 그러나 이러한 물체 제거 과정으로 인해 이전에 막혔던 영역 내에 구멍이 생긴다. 문제를 완화하기 위해 2D 인페인팅 도구 LaMa를 활용하여 Gaussian의 3D 인페인팅을 가이드한다. 구멍 외부에 있는 Gaussian을 고정한 다음 inpainting loss
\[\begin{equation} L_\textrm{inpaint} = L_1 (I_\textrm{inpainted}, I) \end{equation}\]를 사용하여 현재 3D-GS 렌더링 $I$에 대해 2D 인페인팅 이미지 $I_\textrm{inpainted}$에 따라 Gaussian 패치를 최적화한다.
Mesh Generation
메쉬 기반 시뮬레이션을 사용하기로 한 디자인 선택으로 인해 분할된 3D Gaussian의 각 그룹에 대해 사면체 메쉬를 생성한다. 이러한 메쉬는 상호 작용 중에 렌더링되지 않으며 역학의 미디어 역할만 한다. 따라서 시스템 성능을 향상시키는 충실도가 높은 메쉬가 필요하지 않다. 메쉬를 구성하기 위해 먼저 PhysGaussian에서 제안한 내부 채우기를 사용하여 GS에서 재구성하지 못한 내부 영역에 입자를 채운다. 그런 다음 Gaussian 중심을 포인트 클라우드로 처리하고 이를 VDB 형식으로 표시되는 복셀 표현으로 변환한다. Marching cube를 사용하여 이 VDB에서 watertight mesh가 추출되며, 이는 TetGen에 의해 시뮬레이션 가능한 사면체 메쉬를 생성하기 위해 볼륨의 경계 역할을 한다.
2. Unified Framework for Simulation and Rendering
PhysGaussian에서 설명한 것처럼 Gaussian은 시뮬레이션에 의해 제공된 deformation map에 의해 변형될 수 있다. 저자들은 PhysGaussian의 Gaussian kinematics를 따르지만 실시간 상호 작용을 위해 시뮬레이션을 eXtended Position-Based Dynamics(XPBD)로 대체하였다. 저자들은 strain energy 제약 조건을 탄성 모델로 사용하고 XPBD 프레임워크에서 속도 기반 감쇠 모델을 채택하였다. 실시간으로 메쉬 간의 충돌을 해결하기 위해 점-삼각형 거리 제약 조건에 기반한 페널티 힘이 LBVH에서 감지된 가까운 삼각형 쌍에 추가된다.
메쉬 기반 시뮬레이션에서 deformation map은 조각별 선형 맵으로 제공되므로 deformation의 기울기는 각 사면체 내에서 일정하다. Rest-shape 구성이 \(\{x_0^0, x_1^0, x_2^0, x_3^0\}\)이고 현재 구성이 \(\{x_0, x_1, x_2, x_3\}\)인 사면체의 경우 deformation의 기울기는 다음과 같이 정의된다.
\[\begin{equation} F = [x_1 - x_0, x_2 - x_0, x_3 - x_0] [x_1^0 - x_0^0, x_2^0 - x_0^0, x_3^0 - x_0^0]^{-1} \end{equation}\]여기서 rest-shape basis의 역수는 시뮬레이션 전에 계산할 수 있다. 이 사면체 내부의 변형된 Gaussian의 평균 및 공분산 행렬은 다음과 같다.
\[\begin{equation} \mu = \sum_i w_i x_i, \quad \Sigma = F \Sigma_0 F^\top \end{equation}\]여기서 $w_i$는 rest-shape 구성에서 초기 중심 $\mu_0$의 무게 중심 좌표이고 $\Sigma_0$은 초기 공분산 행렬이다. 변형된 Gaussian은 splatting 절차를 통해 직접 렌더링될 수 있다. 그러나 Gaussian 중심을 직접 포함한다고 해서 모든 타원 모양이 시뮬레이션 메쉬 내부의 일부 사면체로 완전히 둘러싸이는 것을 보장할 수는 없다. 아래 그림에 표시된 것처럼 이로 인해 뾰족한 아티팩트가 발생할 수 있다.
사면체 내부에 완전히 있는 Gaussian은 항상 내부에 있어야 한다. 이는 저자들이 다음과 같은 2단계 임베딩 절차를 도입하도록 동기를 부여하였다.
- Local embedding: 가능한 한 단단한 사면체로 모든 Gaussian을 독립적으로 둘러싼다. 이러한 로컬 사면체 사이에는 연결성이 없다.
- Global embedding: 로컬 사면체의 꼭지점을 글로벌 시뮬레이션 메쉬에 임베딩한다.
글로벌 메쉬가 시뮬레이션에 의해 변형됨에 따라 로컬 사면체의 꼭지점이 경계 내부에 유지되어 Gaussian의 동역학적 변화를 가이드한다. 로컬 사면체는 여러 글로벌 사면체와 겹칠 수 있다. Deformation map은 주변의 글로벌 사면체의 평균으로 이해될 수 있으므로 날카롭고 뾰족한 아티팩트가 제거된다.
Shadow Map
장면의 원래 글로벌한 조명은 각 Gaussian의 spherical harmonics에 의해 정확하게 학습되고 baking될 수 있지만 그림자는 이동하거나 변형할 때 더 이상 물체와 정렬되지 않는다. GS 프레임워크에 shadow map을 도입하면 VR의 몰입감 있는 경험을 향상시킬 수 있다. 더 중요한 것은 물체 사이의 공간적 관계에 대한 사용자의 인식을 가이드할 수 있다는 것이다. 조작하는 동안 사용자는 그림자에 의존하여 물체 사이의 거리를 결정하게 된다. Shadow map은 빠른 실시간 알고리즘이며 GS rasterization 파이프라인과 잘 정렬된다. 다음과 같은 식에 따라 광원으로부터 depth map을 추정하고 이 depth map을 사용하여 각 Gaussian에 대한 visibility를 테스트한다.
\[\begin{equation} C = \sum_{i \in N} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j) \end{equation}\]Evaluation
Two-level Embedding
다음은 2단계 임베딩 접근 방식에 대한 ablation study 결과이다.
Inpainting
다음은 인페인팅의 예시이다.
Shadow Map
다음은 shadow map의 예시이다.
Experiment
1. Performance
다음은 SOTA 물리 기반 NeRF/GS 조작 방법과 시각적 품질 및 성능을 비교한 결과이다.
2. VR Demos
다음은 각 VR 데모들에 대한 디테일한 시뮬레이션 셋업 및 timing breakdown 결과이다.
Fox, Bear, and Horse Manipulation
위 그림은 Instant-NGP, Instruct-NeRF2NeRF, Tanks and Temples 데이터셋에서 각각 재구성된 여우, 곰, 말의 세 가지 데모에 대한 상호 작용 예시이다. 각 물체의 Gaussian은 장면에서 분할되어 사면체 메쉬로 변환되므로 물리 기반 조작이 가능하다.
Ring Toss
이 시나리오에서는 새로운 가상 물체를 기존 장면에 원활하게 통합하는 시스템의 능력을 보여준다. 저자들은 수집된 실제 데이터로 재구성된 방 장면과 Blender에서 모델링된 가상 링을 사용하여 링 던지기 게임을 만들었다. 식탁과 그 위의 물체는 링의 충돌 경계 역할을 한다. 위 그림에 표시된 이 상호 작용은 재구성된 물체와 가상 물체를 통합 프레임워크에 혼합하여 몰입형 VR 경험을 만드는 VR-GS의 능력을 보여준다.
Toy Collection
여러 인터랙티브한 물체를 사용하여 시스템의 효율성과 유효성을 추가로 평가하기 위해 저자들은 거실 장면과 장난감 세트를 재구성했으며 후자는 부분적으로 LucidDreamer를 사용하여 합성했다. 위 그림에 설명된 이 설정을 통해 사용자는 장난감과 현실적으로 상호 작용할 수 있으며, 실제 환경과 합성 환경에서 파생된 3D-GS 물체가 혼합된 복잡한 시나리오를 처리하는 VR-GS의 능력을 보여준다.