[CV/논문리뷰] Reconstruction and Simulation of Elastic Objects with Spring-Mass 3D Gaussians

Jinn Aha·2025년 2월 28일

Paper Review

목록 보기
8/8
post-thumbnail

SpringGaus는 ECCV 2024에서 발표된 물리 시뮬레이션과 3DGS를 결합한 논문으로, Spring-Mass System을 적용하여 3D 가우시안으로 탄성체를 구현가능하도록 만들었다. Physically-based simulation과 3DGS를 결합한 논문 중에서는 상대적으로 simulation system을 표현한 수식이 복잡하지 않은(?) 편으로, 약간의 배경지식을 통해 논문을 이해하는 것이 가능했다.

이 논문에서 가장 주목할 지점은 physical 파라미터를 학습하는 방식으로 dynamic reconstruction을 수행하기에 신경망 없이도 reconstruction 이후의 상황을 prediction 가능하다는 지점이다. 그 외에도 gravity, turbulence, softness 등 환경 편집의 가능성도 논문에서는 제시하고 있다.


Background

Physics-Informed Neural Networks(PINNs)

: PDEs(편미분방정식)이나 물리 법칙을 만족하도록 설계된 신경망으로, 일반적인 신경망과 달리, 물리 법칙을 Loss function에 포함하여 학습에 활용하게 된다.

PINNs의 기본 구조는 다음과 같다:

  • Input & Output:
    • Input: 위치(x, y, z)와 시간(t)
    • Output: 물리량, 온도, 속도, 압력 등
  • Loss function:
    • Data Loss: 실험 또는 시뮬레이션 데이터와의 차이
    • PDE Residual Loss: 미분 연산을 통해 PDE를 만족하는지 평가
    • Boundary Condition Loss: 초기 및 경계 조건을 반영

Material Point Method(MPM)

물리 시뮬레이션 기법. 1994년에 고체 역학 문제를 해결하기 위한 방법으로 처음 소개되었다. particle과 grid를 함께 사용하는 하이브리드 방식을 채택하여 물체의 변형을 더 자연스럽게 표현한다고 한다. 단, 입자격자 간 정보교환이 필요하고, 고해상도 scene에서는 입자가 많아져 연산량이 매우 큰 단점이 있다.

Spring-Mass System

: 탄성체의 움직임을 시뮬레이션하는 물리적 모델으로, 스프링과 질량점으로 구성된다. 스프링의 움직임에서 착안한 듯 하다. 스프링을 통해 연결된 질량점들이 힘을 주고받으며 변형되는 방식으로 동작한다.

두 주요 구성요소는 다음과 같다:

  • 질량점

    • 실제 물체를 표현하는 particle 역할을 한다.
    • 각 질량점은 질량, 위치, 속도 등의 물리적 속성을 가지고, 일반적으로 중력을 포함한 힘이 작용 가능하다.
  • 스프링

    • 질량점들을 서로 연결하는 역할을 한다.
    • 후크의 법칙을 따르며, 탄성 복원력을 생성한다.
    • 스프링은 특정한 rest length를 가지고 변형되면 복원력이 작용하게 된다.
    • damping factor를 추가하여 진동 억제를 표현할 수 있다.
  • Hooke’s Law: 스프링이 변형되었을 때, 원래 길이로 돌아가려는 복원력이 작용함을 설명한다. 입자간 거리와 스프링 길이의 차이에 상수 k-k만큼, dd 방향으로 작용한다.

    • d^\hat{d}: direction unit vector
  • Damping Force: 실제 물체에 존재하는 저항을 반영하여 과도한 진동을 억제하기 위한 감쇠력을 말한다. 속도 차이가 크면 저항력이 커지고, 진동이 줄어든다.

    • ζ\zeta: damping coefficient
    • νi,νjν_i, ν_j: 연결된 질량점의 속도
  • Newton’s Second Law: 각 질량점은 스프링이 주는 힘외부 힘을 받아서 운동

    시간이 지남에 따라 반복적으로 위치와 속도를 업데이트하면서 탄성체의 움직임을 시뮬레이션하게 된다.

Problem Setting

Related Works를 통해 논문의 문제의식을 알아보자.

3DGS & its Dynamic Extensions (4DGS, D-3DGS 등):

Object의 시간에 따른 변화를 포착하는 것이 특징이다. 그러나 task가 Reconstruction & view synthesis에 초점이 맞춰져 있고, Reconstruction된 물체들의 물리적 속성을 파악하지 못하므로 이후의 변화 prediction이 불가능하다.

Integration of Physics-based priors into 3D Reconstructions (PAC-NeRF 등):

MPM 등의 물리 solve을 통해 물리 기반 prior를 통합하려 시도했지만, Real-world의 이질적인 object를 다루는 능력이 제한적이다:

  • 사전에 정의된 특정한 물질 특성만을 기반으로 모델 구축
  • 전체 object에 대해 하나의 global physical parameter만 할당 가능

Motivation & Contribution

What to Expect from Physical Dynamics Model:

  • Effective: 탄성체의 움직임을 충분히 포착하고 구현할 수 있는 표현력
  • Collisions, Deformations, Bouncing
  • Efficient: gradient 기반의 최적화가 가능할 정도의 효율적(Efficient)인 Physical system

What to Expect from Spring-Gaus:

  • Expressive 하고 Efficient 한 3D Spring-Mass model
  • Static한 Geometry Reconstruction과 Physical Dynamics Reconstruction을 분리하여 수행 함으로써 효과적인 최적화
  • 효율적인 Prediction과 Simulation 능력

Architecture

  • 일반적인 3DGS 방식으로, multi-view video의 첫번째 프레임을 바탕으로 static한 가우시안을 먼저 만든다.
    • anistropic했던 3DGS와 달리 가우시안 커널은 등방성의 형태를 띈다.
  • 볼륨샘플링으로 각 가우시안에 대해 앵커포인트를 추출한다.
    • 아직 스태틱 상태인 가우시안들을 refine하는데, 시뮬레이션 하는 동안 객체의 모습을 더 일관적으로 표현할 수 있도록 한다.
  • 다이나믹 리컨스트럭션을 진행. 시뮬레이션은 ‘앵커포인트’에 적용된다.
  • 이를 바탕으로 가우시안 커널들의 위치를 업데이트한다.
  • 최적화가 끝나면 시뮬레이션 가능한 3D 객체가 생성된다.

Approach

Appearance and Geometry Representation

Geometry Reconstruction 과정은 일반적인 3D Gaussian과 같은 방식으로 표현된다. 그러나 3DGS와 달리 가우시안 커널 각각이 isotropic 하게 만들어 covariance matrix Σ를 단일 scalar로 컨트롤 가능하게 하였다. Anisotropic한 경우와 비교한 실험 결과는 없었지만, 퀄리티에 큰 차이가 없어 더 단순한 정방형 가우시안을 사용하는 방식으로 모델 복잡도를 낮춘 듯 하다.

Physics-Based Dynamics

Spring-Gaus는 객체의 material type을 처음부터 상정해두지 않는다는 점에서 이전의 MPM 방식의 접근과 차별점을 두었다. 따라서 Scene에 따라, reconstruction하는 object에 따라 질량점의 질량과 속도, 스프링의 탄성과 Damping factor이 달라지게 된다. 수식으로 표현하면 다음과 같이 A,L,XA, L, X로 각각 질량점, 스프링을 표현한다.

3D Spring-Mass Model 구성요소

  • Anchor points A: 질량점
    • Property: mass(질량), velocity(속도)
  • Springs L: 각각의 질량점을 이웃 포인트들과 연결하는 스프링
    • Property: Stiffness(탄성), Damping factor(감쇠 값)
  • 이웃하는 질량점 간 거리는 k-NN 방식으로 nkn_k에 의해 결정된다.
  • 학습 과정에서 가우시안 커널의 중심점을 이동시키기 위해, k-NN 방식으로 nbn_b에 의해 각 가우시안 중심점 – 질량점 거리 역시 측정한다.

Forces

: 두가지 종류가 종합된다. 복원력 + 감쇠력으로 이루어지며, 각각 Background의 후커의 법칙과 감쇠력 공식에서 유도된다.
다시 후커의 법칙과 감쇠력 공식을 생각해보면,

이렇게 생겼었다. 이 공식에 아래에 나오는 수식을 잘 대입해 보면 같은 구조임을 알 수 있다.

1. 복원력

기본적으로 후커의 법칙 수식이 적용된다:

2. 감쇠력

감쇠력 공식에서 유도된다:

⇒ 최종적으로 각 질량점에 작용하는 힘은 nkn_k nearest 질량점 사이의 복원력의 합 + 감쇠력의 합 + 중력으로 결정된다.

Optimization

  • Loss는 3DGS와 동일한 방식을 사용한다.

1. Static Reconstruction

3DGS와 거의 동일한 방식으로 각 가우시안 커널의 색상, 투명도, 크기, 위치를 최적화한다.

2. Refining 3D Gaussians

이 과정이 처음엔 뭐하는 건지 조금 헷갈렸다. 저자들에 따르면, 이후 dynamic reconstruction 과정에서 질량점의 위치와 속도에 따라 가우시안 중심의 위치를 보정하면 같은 상태여도 static reconstruction의 결과에서 가우시안의 외양이 미세하게 변화하게 된다. 따라서 일관적인 가우시안 모양을 유지하기 위해 static한 상태에서 미리 가우시안의 중심좌표를 제외한 파라미터를 refine 하는 과정이다.

3. Dynamic Reconstruction

뭐가 파라미터고 뭐가 하이퍼파라미터인지를 다시 한번 정리하면:

  • 각 질량점의 초기 속도, 스프링 Stiffness, 스프링 연결 개수, 경계 조건 파라미터, 전역 감쇠 계수(전체 스프링이 하나의 감쇠 계수 공유) 가 학습된다.
  • 질량점의 질량, 비선형 스프링 Stiffness 계수, 최소 스프링 연결 개수, 중력 가속도는 고정된 하이퍼파라미터이다.

이 때, 각 앵커포인트의 위치, 속도가 먼저 업데이트되고, 업데이트된 위치와 속도에 경계조건이 적용된 뒤에 이를 바탕으로 가우시안의 위치, 속도가 업데이트된다:

질량점의 위치와 속도는 업데이트된 이후 물체 주변 환경의 경계조건을 적용하여 최종적으로 가우시안의 위치와 속도를 업데이트 하는 데에 쓰인다. 경계 조건은 예를 들어, 바닥이 편평한지 경사졌는지, 바람이 부는지 아닌지 등 환경에 대한 조건이다.

Experiments

Implementation Details

  • Initial Point Cloud 생성 시, SfM 결과를 사용하면 가우시안이 객체 표면에 집중되므로 정육면체 내에서 균일 샘플링하여 생성
  • Real-world 데이터셋 구성시 Registration Network를 사용하여 정적 장면에서의 가우시안 – 동적 장면에서의 가우시안 동기화

Results: Reconstruction & Prediction on Synthetic Dataset

Synthetic Dataset에 대한 실험 결과이다. Reconstruction 부분은 아무래도 관련 모델인 4D-Gaus 등이 더 잘 수행하는 것처럼 보인다. 그러나 Future Prediction 결과에 있어서는 PAC-NeRF 보다 물체의 물성을 제대로 표현하는 것이 보인다. 특히 apple의 Future Prediction에 대한 comparison 결과에서 그 차이가 두드러진다.

Results: Reconstruction & Prediction on Real-world Dataset

데이터셋은 저자들이 직접 제작했다고 한다. Prediction 가능한 시간은 아직은 조금 짧은 감이 크다.

Results: Environment Editing

아까 언급한 경계조건 수정을 통해 여러 환경 편집이 가능하다. Spring-Gaus의 프로젝트 페이지에서 더 재미난 결과 영상들을 볼 수 있다.

Limitation

논문 저자들은 한계점으로 스프링 길이를 고정시켰기 때문에 탄성체 모델링에 한정되어 있다는 점, 하나의 오브젝트만 시뮬레이션하는 데에 그쳤다는 점, 그리고 시공간적 해상도가 높은 더 좋은 Real-world 데이터셋의 부족을 꼽았다.
추가적으로 논문을 읽으면서 들었던 생각들을 언급해 보자면,

  • implimentation detail에서 언급한 initial point cloud 생성 방식에 대한 ablation study가 있었으면 좋았을 것 같다.
  • 앞서 다른 모델들의 한계로 언급한 부분이 얼마나 해소되었는가? 오히려 실제 응용상황에서 일반화 성능은 앞서 미리 가능한 재질을 정해두는 스타일의 모델이 나을지도 모르겠다는 생각이 든다. (elastic한 오브젝트만 시뮬레이션 가능한 것이 아니므로)
  • Dynamic Reconstruction을 위해 최대한 효율성을 가져가려다 보니, 렌더링 결과에서 사실적인 느낌이 아직 부족한 감이 있다.
profile
Aha!의 순간은 언제나 즐겁다.

0개의 댓글