본문 바로가기

Computer Graphics

RegNeRF: Regularizing Neural Radiance Fields for View Synthesis from Sparse Inputs (CVPR 2022 oral)

반응형

오늘 리뷰는 작년 12월 초에 아카이브에 공개되었고, 이번 CVPR oral presentation 으로 accept 된 RegNeRF입니다.

연구 주제가 겹치는 논문이라 지금까지도 계속 잡고 있는 논문입니다. 겨울 즈음에 저자에게 코드 달라고 메일 보냈더니 라이선스 문제로 공개 못한다고 했어서 직접 구현을 했었는데 한 일주일 전 코드가 오픈되어서 배신감을 느꼈..

https://m-niemeyer.github.io/regnerf/index.html

 

RegNeRF

NeRF optimizes the reconstruction loss for a given set of input images (blue cameras). For sparse inputs, however, this leads to degenerate solutions. In this work, we propose to sample unobserved views (red cameras) and regularize the geometry and appeara

m-niemeyer.github.io

Few-shot NeRF 가운데 월등히 좋은 성능을 보이는 페이퍼이고, 심지어 논문 말미에 언급했던 future work - depth prior & uncertainty 를 이용한 refinement - paper 도 같은 conference 에 다음과 같은 논문으로 accept 되었습니다.

https://arxiv.org/abs/2112.03288

 

Dense Depth Priors for Neural Radiance Fields from Sparse Input Views

Neural radiance fields (NeRF) encode a scene into a neural representation that enables photo-realistic rendering of novel views. However, a successful reconstruction from RGB images requires a large number of input views taken under static conditions - typ

arxiv.org

 

이 논문은 현재 리뷰 중이라 다음에 다시 올리도록 하고, RegNeRF 리뷰를 시작하겠습니다. 오늘도 정신없는 요약이 될테니 양해부탁드립니다.

RegNeRF: Regularizing Neural Radiance Fields for Neural Radiance Fields for View Synthesis with From Sparse Inputs

Introduction

기존 NeRF의 한계점을 먼저 언급하며 시작한다. - sparse input 의 경우 synthesized quality 가 심각하게 떨어지는 현상을 보이는 것이 문제점.

최근에 나온 여러 NeRF 기반 논문들이 이런 문제들을 해결하기 위해 여러 방법들을 제시해왔다

  • Stereo Radiance Fields (check)
  • MVSNeRF
  • GRF
  • PixelNeRF

등등

하지만 이러한 기존 Sparse Input based NeRF 또한 expensive pre=training 을 요구한다는 한계점을 가지고 있었음. 논문에서는 이러한 pretraining 없이, test-time optimization 만으로 좋은 결과를 낼 수 있음을 보여줌. 기존 논문 중에서도 Test-time optimization 만으로 좋은 성능을 낼 수 있음을 보여주는 paper 들이 있었고, 때문에 massive, expernseive pre-training data 를 굳이 capturing / rendering 하는 것 자체가 불필요한 일일 수도 있음.

Overview

논문 발췌

  • unobserved view (novel view)를 patch-wise로 sampling, 해당 view에서의 geometry 와 appearance 를 patch 단위로 regularization 한다
  • 정확히는 해당 patch + given radiance field 에 대해 ray casting 을 수행해 rendering 을 진행하고 consistency loss를 (smoothness loss)를 주는 형태
  • 그 후에 predicted RGB patch 들을 미리 training된 normalizing flow model에 넣어서 log-likelyhood를 maximize 하도록 함.
  • 결과적으로 realistic 한, 3D-consistent representation 이 나올 수 있도록 함.

후반부의 experimental result table 을 확인해보면, 사실상 normalizing flow model 을 이용한 color consistency 의 성능 개선에 대한 contribution 은 미미한 수준이고, 메인 novelty 는 geometry regularization 과 그것을 가능토록 하는 sample space annealing 등에 있는 것으로 보인다. 실제로 normalizing flow model의 경우 기존 연구를 사용했기 때문에 오픈된 코드에도 포함되어 있지 않다(라이선스 문제가 해결되면 추후에 추가될 수도 있겟지만 아직은 아니다).

 

Contribution?

  • novel view 에서의 depth map 에대한 patch-based regularizer: floating artifact, scene geometry 완화
  • novel view 에서의 color에 대한 log-likelihood 기반 normalizing flow model: rendered patch 의 color 에 대해 log-likelihood 를 maximize 하도록 학습. different view 간 color shift 를 방지

Unsupervised Manner로 depth regularization 을 한다고 할 때, 가장 떠오르는 문제점 중 하나는 학습 초기의 coarse depth 를 바탕으로 한 regularization 은 diverge 할 수도 있다는 점이다. 

An annealing strategy for sampling points along the ray, where we first sample scene content within a small range before expanding to the full scene bounds which prevents divergence early during training.

논문에서는 학습 초반에는 divergence 를 막기 위해 small range 에서 view sampling 을 시작해 점차 범위를 늘려나가는 방식을 사용 (즉 학습 초기에는 rendering 되는 candidate pose space를 줄이고, 학습이 진행됨에 따라 점차 늘리는 것).

두 번째로 떠오르는 문제점은, target gt가 없는데 어디를 focal point로 잡고 pose sampling 을 수행할 것이냐는 점이다.

We define a common up axis by computing the normalized mean over the up axes of all target poses.

논문에서는 target pose 들의 optical axis 간 mse 에러가 최소가 되는 지점으로 focal point 을 잡고, robust learning 을 위해 camera rotation matrix 계산 전 random jittering 을 추가했다.

 

Needs for Geometry Regularization in Sparse-view Input NeRF

논문에서 지적하고 있듯, Sparse view input based NeRF 에서 문제가 되는 대부분의 artifact 들은 incorrect scene geometry 에 의해 일어난다. 논문에서도 이 점을 해결하기 위해 pixel-level depth smoothness loss 를 사용한다. 

또한 논문에서는 correct geometry 가 보장되는 경우에도, input sparsity 로 인해 color hit 와 같은 scene apperance prediction error 가 발생할 수 있다고 지적한다. 다시 말해, sparse view input based nerf optimization 과정에서 문제가 되는 artifact 들을 최소화하기 위해, 필요한 regularization term 들을 다 갖다 붙인 것 (patch-wise regularization).

 

잠시 color regularizaiton 에 사용된 normalizing flow model 을 살펴보자.

Normalizing Flow Model?

>> generative model 에서 observed variables X와 latent variables Z 를 정의한다고 하면, normalizing flow model 에서는 Z ↔ X 간 maaping 이 deterministic / invertible 하게 정의된다. 즉, 여기에서의 normalizing 은 invertible transformation 을 적용한 뒤 variable 의 변화가 normalized density 를 갖음을 의미하며, Flow 는 적용된 invertible transformation 이 더 복잡한 invertible transformation 을 만들어내기 위해 상호 compose 가 가능함을 의미한다.

정리하자면 결국, normalizing flow model 이 하는 역할은 sparse input 으로 인해 띄엄띄엄 주어진 gt view 사이의 synthesized color view들이 '말이 되는 context' 를 가지도록 제한해주는 역할을 한다. 

 ** few-shot 혹은 single-shot NeRF에서 geometry regularization 과 color context consistency 가 필수적이라는 점은 RegNeRF 뿐 아니라 이전에 리뷰햇던 SinNeRF에서도 확인할 수 있는 부분이다.

https://github.com/VITA-Group/SinNeRF

 

GitHub - VITA-Group/SinNeRF: "SinNeRF: Training Neural Radiance Fields on Complex Scenes from a Single Image", Dejia Xu, Yifan J

"SinNeRF: Training Neural Radiance Fields on Complex Scenes from a Single Image", Dejia Xu, Yifan Jiang, Peihao Wang, Zhiwen Fan, Humphrey Shi, Zhangyang Wang - GitHub - VITA-Group/SinNeR...

github.com

 

 

위에 서술한 내용들 이외에 몇 가지 detail 한 부분들이 있지만, 개인적인 견해로 detail 한 부분에 큰 novelty 가 있는 논문은 아니라고 생각되어 굳이 언급하지 않았다. 이 논문의 뛰어난 점은 누구나 그냥 스쳐지나갔을 법한 생각 - unsupervised 로 few-shot nerf 가 잘 되게 하려면 뭘 추가해야 할까 - 을 기본에 충실하게 잘 작동하도록 구현했다는 점에 있다고 생각된다.

오늘도 용두사미 리뷰 읽어주셔서 감사합니다. 

반응형