[논문] HyperNeRF

조정빈·2022년 8월 23일
0

NeRF

목록 보기
1/3
post-thumbnail

HyperNeRF : A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields

✍ 핵심

HyperNeRF의 핵심은 기존의 Nerfies(deformable-NeRF)의 template NeRF를 고차원의 canonical hyperspace template NeRF로 바꾸고 이 hyperspace의 좌표를 구하는 새로운 MLP(ambient splicing surface)를 도입하여 scene의 deformation뿐만 아니라 topological변화까지 잘 표현할 수 있다는 점이다.


🔒 Prerequisites

NeRF
Nerfies


🤔 Motivation

Neural Radiance Field들은 training data에 없는 시점에서 3D scene을 완성도 높게 복원할 수 있어 최근 많은 연구들이 쏟아지고 있다. NeRF는 정적인 scene을 calibrated camera로 찍은 data를 필요로 해서 움직이는 물체를 찍은 데이터는 복원을 잘 못한다. 이를 Deformable NeRF(Nerfies)가 해결했지만 물체의 위상 변화 (topological change)를 동반하는 물체들은 Nerfies도 잘 복원을 못한다. 이에 저자들은 HyperNeRF는 hyper-canonical space를 활용해 Deformable NeRF를 고차원으로 가져가 물체의 topological changes까지 완성도 높게 복원하고자 한다.


⏰Time-varying Shpaes 모델링

HyperNeRF의 methods를 들어가기 앞서 저자들은 hyperNeRF를 직관적으로 이해할 수 있도록 돕는 수학적 모델 Level set methods를 소개한다. HyperNeRF의 직접적인 원리가 아닌 hyperspace를 자르는 ambient surface가 무엇인지 그리고 왜 ambient surface를 얻기 위해 MLP를 도입했는지 이해를 돕는 수단이기에 가볍게 보고 넘어가면 좋을 것 같다.

0. Level Set Methods

HyperNeRF에선 물체의 위상변화를 고차원의 ambient dimensions을 활용하여 represent했는데 level set method는 이에 대한 직관적인 이해를 돕는다.

어떤 물체의 표면을 수학적으로 표현하고자 할 땐 보통 직접적인 방법(i.e mesh) 혹은 간접적인 방법(i.e level set of continuous function)을 활용한다. 직접적인 방법은 물체를 자르는 등 topological 변화를 다루지 못하지만 간접적인 방법으론 이런 변화를 연속적으로 다룰 수 있기 때문에 미분가능해야 하는 gradient-based optimization method들에 유용하다.

Level set method는 물체의 표면을 간접적으로 표현하는 방법중 하나로 2D 표면(Γ\Gamma)을 다음과 같이 정의할 수 있다.

Γ={(x,y)S(x,y)=0}\Gamma = \{(x,y)|S(x,y)=0\}

여기서 SS는 signed-distance fucntion으로 표면 안은 음수 값, 밖은 양수 값을 갖는다.

여기서 x,y 좌표 외에 "ambient" 차원(ww)을 추가하게 되면 3D 표면 (Γ\Gamma)는 다음과 같이 정의할 수 있다.

Γ={(x,y,w)S(x,y,w)=0}\Gamma = \{(x,y,w)|S(x,y,w)=0\}

이때 특정 w=wiw=w_i 좌표에 해당하는 2D 표면은 3D표면 ( Γ\Gamma )를 w=wiw=w_i 평면으로 자를때 얻어지고, 이 ambient 차원의 차원수를 늘리며 representation을 다양화 할 수 있게 된다.

3D혹은 2D 표면을 level-set method에서 얻기 위해서는 ambient dimension의 surface로 slicing해야한다. 이때 다음과 같은 두가지 slicing하는 방법이 제시된다.

1. Axis aligned slicing plane (AP)

  • 고차원의 축들을 수직으로 slicing 하기 때문에 각각의 shape를 얻기 위해 여러번 잘라야한다
  • 고차원 공간의 비효율적인 활용

2. Defromable slicing surface (DS)

  • Defrom할 수 있기 때문에 고차원 공간안에서 자유롭게 slicing을 할 수 있어 information sharing이 가능하다
  • 고차원 공간을 compact하게 표현이 가능하다

📌 Main Methods

HyperNeRF는 크게 세가지 네트워크로 이루어져 있다.
1. Deformation field network
2. Ambient slicing surface network
3. Template NeRF (canonocal hyper-space)

1. Deformation field network

Deformation network는 Nerfies의 deformation MLP와 동일하게 3D 공간상의 좌표값을 positional encoding을 거친 값들과 deformation latent code가 input으로 들어가 rotation과 translation을 output한다. 그 후, 이를 이용하여 기존의 3D 공간상 좌표값(observation space)을 새로운 canonical space의 공간상 좌표값으로 바꾼다.

x=T(x,ωi)\bold{x}^{\prime} = T(\bold{x},\omega^i)

2. Ambient surface slicing network

Deformation network과 마찬가지로 observation space의 좌표(x\bold{x})와 deformation latent code(ωi\omega_i)를 MLP의 input으로 넣고 ambient coordinate space의 좌표(w\bold{w})를 output한다. w\bold{w}는 높은 차원(hyper-space)의 ambient dimensions를 자르는 surface라고 해석 될 수 있으며 여기서 ambient dimensions는 topological 변화를 나타내는 차원이라고 직관적으로 받아 드릴 수 있다.

w=H(x,wi)\bold{w} = H(\bold{x},w_i)

3. Hyper-space template

Nerfies에서는 scene을 canonical-space template NeRF를 활용하여 표현했다. HyperNeRF에서는 이를 고차원으로 올려 Hyper-space template NeRF를 활용해 scene을 표현한다. 기존 Nerfies의 template NeRF와 동일하지만 canonical space coordinates외에 surface slicing network에서 output된 ambient coordinate space의 좌표(w\bold{w})를 input으로 받고 추가로 viewing direction(θ,ϕ\theta,\phi)와 appearance latent code (ψ\psi)를 input으로 받는다. Output으론 rendering을 위한 density(σ\sigma)와 RGB(c\bold{c})를 output한다.

저자들은 다음과 같은 표현을 쓴다.

Our idea is to embed the template NeRF in higher dimensions, where a slice taken by an intersecting high-dimensional slicing surface yields a full 3D NeRF.

F:(x,w,d,ψi)(c,σ)F : (\bold{x^{\prime},w,d,\psi_i}) \rightarrow (\bold{c},\sigma)

📑평가

Quantitative

Interpolation task와 Novel-view synthesis task에서의 NeRF, Nerfies, NV, 그리고 NSFF들과 성능 비교를 통해 HyperNeRF를 평가하였다.

1. Interpolation Task

2. Novel-view Synthesis Task

PSNR이나 SSIM같은 metrics들은 small shifts들에 민감하고 선명한 이미지보다 블러리한 이미지를 높게 평가하고 SSIM은 사람들에게 딱봐도 안좋은 부분들을 캐치하지 못하기 때문에 quantitative하게 평가하기 어렵다고 저자들은 주장한다. 이에 qualitative한 평가를 같이 보여준다.

Qualitative

1. Interpolation Task

Nerfies가 표정변화를 잘 표현하지 못하고 블러리한 반면 HyperNeRF은 표정변화(topological changes)를 잘 표현하는 것을 확일 할 수 있다.

2. Novel-view Synthesis Task

오른쪽 부터 traing view, Novel view(GT), HyperNeRF, Nerfies, No deform, NSFF, NV, NeRF의 결과들인데 각각의 metric (PSNR/LPIPS)를 적어 놓고 가장 좋은걸 빨간색으로 표시했다. NSFF가 PSNR 스코어는 가장 좋지만 상당히 블러리한걸 확인할 수 있다. 반면 HyperNeRF는 Novel view를 큰 artifacts없시 잘 잡아내는걸 확인 할 수 있다.


참고문헌

Park et al.2021 HyperNeRF:A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields

링크
HyperNeRF

0개의 댓글