본문 바로가기

Computer Graphics

RefNeRF: Structured View-Dependent Appearance for Neural Radiance Fields (CVPR 2022 oral) 논문 리뷰

반응형

2021년 12월에 arXiv에 올라온 걸 보고 notion 에 정리해놨던 리뷰입니다. 이번 CVPR 2022 accepted paper list 에 있는 걸 보고 뒤늦게 긁어모아 올리는 것인데.. 혼자 보려고 정리한 내용이다 보니 좀 설명이 불친절하더라도 양해 부탁드립니다.

https://dorverbin.github.io/refnerf/

 

Ref-NeRF: Structured View-Dependent Appearance for Neural Radiance Fields

Neural Radiance Fields (NeRF) is a popular view synthesis technique that represents a scene as a continuous volumetric function, parameterized by multilayer perceptrons that provide the volume density and view-dependent emitted radiance at each location. W

dorverbin.github.io

 

  • 기존의 NeRF는 MLP로 volume density 와 view-dependent emitted radiance (color) 를 location wise 로 encoding 하는 것 - 다만 glossy surface의 경우 정확한 capture 를 하지 못한다는 단점이 있었다
  • RefNeRF는 outgoing radiance 를 spatially-varying scene properties 들의 조합으로 표현된 reflected radiance 로 대체한다.
  • 그 과정에서 (아마도 specular surface의 경우 정확한 normal vector를 계산해내는 게 어렵다는 것이 문제의 시작일테니) normal vector 에 대한 적절한 regularizer를 사용한다.
  • RefNeRF model 의 internal representation of outgoing radiance : interpretable 하기 때문에 scene editing 에 사용될 수 있다.

 

Problem Definition

NeRF 의 specular surface rendering 결과를 보면 아래처럼 smoothed , blurred 된 EPI 를 보여준다 (즉, 제대로 표현되고 있지 않다). 논문에서는 이런 현상이 NeRF의 두 가지 fundamental issue 에서 비롯된다고 설명함

  • [NeRF의 알고리즘은 기본적으로 학습과정에서 주어진 특정 viewing direction 에서의 appearance 만을 정확하게 렌더링할 수 있고, 그 사이각에 대해서는 interpolation 으로 해결한다. specular surface의 경우, viewing direciton 변화에 따라 appearnce가 급격하게 변화하므로 적절히 inerpolation 을 하지 못하고 안 좋은 결과가 나온다.
  • 어쨌든 NeRF는 isotropicity 를 이용해 specular reflection 을 표현하는 ‘척’한다. 정확히는 view-dependent radiance 를 표현하는 게 아닌 셈. 결과적으로 semi transparent 하거나 foggy 한 shell 들을 만들게 된다.

RefNeRF- Figure 1

결국

  • 기존 view-dependent representation 을 structuring 함으로서 specular surface 를 좀 더 잘 표현할 수 있도록 함
  • 기존 NeRF의 directional MLP (view-dependent appearance 를 뱉는) 를 viewing vector 자체를 주는 대신 local noval vector 에 대한 viewing vector의 reflection 을 input 으로 줌으로서 reparameterizaiton 함

 

Key Insights

RefNeRF-figure 2

그림에서 확인할 수 있듯, 기존 NeRF 는 directional MLP 를 viewing vector 에 대한 function 으로 정의했기 때문에, 그림과 같이 glossy reflectance, 혹은 spatially-varying mateiral 을 가지는 surface에 대해 안 좋은 interpolation 결과 ( appearance가 급격하게 바뀜) 를 보일 수 밖에 없었다

RefNeRF 는 NeRF와는 달리 기존 radiance 를 viewing vector에 대한 function 이 아닌 normal vector 와 reflection angle 에 대한 function 으로 정의했기 때문에 reflected radiance funciton ( 다시 말해 structured BRDF) 는 surface locaiton / orientation 과 무관하게 constant 해진다 - 결과적으로 interpolation 결과가 좋아질 수 밖에.

** spatial MLP (volume density ) 에 대해서도 diffuse, roughness term 을 추가함.

단, 이 approach 를 사용하려고 할 때의 문제점은 이런 constant BRDF 를 기대할 만큼 NeRF의 geometry (normal vector) 정보가 깔끔하지 않다는 것

* 이 문제를 해결하기 위해 volume density (normal vector 추정에 사용되는) novel regularizer 도 함께 제시.

즉, 논문의 contribution 은 다음의 세 가지로 정리될 수 있다.

  • NeRF의 reparameterization - viewing vecotr의 local normal vector에 대한 reflection
  • IDE(Integrated Directional Encoding) - diffuse / speuclar separation과 더불어 varying materials / texture 환경에서도 inerpolation 이 잘 되도록 해줌
  • NeRF의 normal vector 정보를 더 정확하게 만들어줄 novel regularizer for volume density

결과적으로는 이런 접근방식을 통해, interpretable components - normal vectors, material roughness, diffuse texture, specular tint - 들을 뽑아낼 수 있음.

Structured View-Dependent Appearance

Reflection Direction Parameterization

  • 기존 NeRF에서처럼 viewing direction 에 대한 MLP 로 outgoing radiance 를 정의하는 대신, local normal vector 에 대한 viewing direction 의 reflecdtance (말이 안 맞는다. 정확히는 local normal vector과 viewing direction 에 의해 특정지어 지는 reflectance) 로 outgoing radiance 를 정의한다.

  • rotationally-symmetric, interreflection/self-occlusion 무시할 때, reflection direciton w 에 대한 view-dependent radiance 는 다음과 같이 정의될 수 있다.

  • 따라서, direcitonal MLP 에 대해 reflection direciton 을 sampling 하는 것으로 이 MLP 를 function of w_r - outgoing radiance 로 학습할 수 있다.
  • 더 일반적인 BRDF는 사실 Fresnel effect 등을 반영하기 위해 view direction 과 normal vector 간의 angle 에 따라 변화해야 한다.
  • 따라서 RefNeRF의 mlp 는 normal vector와 reflected radiance 간 내적 (angle) 까지 값으로 넘긴다. - to adjust the shape of the underlying BRDF

 

Integrated Directional Encoding

RefNeRF - Figure 3

  • spatially-varying material 의 경우 raidance 를 단순히 reflection direciton 에 대한 function 으로 정의할 수 없다.
  • rougher material (diffuse surface에 가까운 material )의 경우, reflection direction 에 따른 appearance change 가 느리지만, smoother, shiner material 의 경우 변화 속도가 매우 빠르다.
  • 제안한 IDE는 보다 효과적으로 이런 CONTINUOUSLY-VALUED ROUGHNESS 를 표현할 수 있도록 함.
  • 기존 NeRF의 positional encoding 처럼 sinusoid 로 direction 을 encoding 하는 대신, 각 direciton 을 spherical harmonics 로 표현한다 - spherical harnomnics 로 encoding 할 경우, sphere 상에서 constant - 혹은 안정적으로 정의되므로 효율적이다 - 정확한 의미는 supplement 에.
  • 그리고, 단순히 single direction vector 로 directional MLP 를 encoding 하는 게 아니라, reflection vecotr의 distribution 을 encoding 해 different roughness의 material 을 추정할 수 있도록 햇다.
  • 이 reflection distribution 은 unit sphere 상의 von Mises-Fisher (vMF, a.k.a normalized Spherical Gaussian) 로 정의된다. >> vMF 으로 정의된 SH 라는데, 이게 정확히 무슨 의미인지?
  • vMF distribution 상의 어떤 direciton w 에 대해, 이를 spherical harmonics로 encoding 해 표현한다.
  • roughness - inverse concentration parameter k - 로 surface roughness를 표현한다.
Our IDE encoded the distribution of reflection directions using the expected value of a set of spherical harmonics under this vMF distribution.

  • Fig.3 에서는 IDE를 사용함으로써 different roughness 를 가지는 location (즉, spatially-varying 한 surface location 에 대해) 에 대해 같은 lighting information 을 공유하도록 할 수 있다고 표현하고 있다.
  • 짐작컨대, 아마도 같은 spherical harmonics representation 에 대해 attenutation function (감쇠) 으로 high frequency 가 필요한 지 여부 - specular surface 인지 여부- 를 반영하여 appearance를 나타낼 수 있다는 것을 지칭하는 이야기인 듯.

 

Accurate Normal Vector?

제시한 방식이 더 나은 parameterization 방식이긴 하지만, volume density estimaiton 이 잘되어 있어야 한다는 전제를 바탕으로 한다. NeRF의 volume density estimation 이 가지는 한계점은 

1. volume density 의 gradient 로 구하는 normal vector 는 이따금 굉장히 noisy 할 수 있다.

  • RefNeRF는 reflection direction 계산에 predicted normal 을 사용해 이 문제를 해결한다.
  • 각 ray 상의 position 에 대해 spatial MLP 로부터 3 vector output 을 받아 noramlize 해 predicted normal n’을 얻는다. 그 후에 density graident normal sample term 이랑 묶어 penalty term 을 준다.
  • 이렇게 얻어낸 predicted normal 은 gradient operater 가 일종의 high-pass filter 역할을 하기 때문에 volume density gradient 로부터 얻어낸 normal 보다 smooth 한 경향이 있다.

2. NeRF는 specular highlight 를 ‘흉내’내기 위해 object 에 emitter를 위치시키고 이를 diffuse 한 foggy surface 로 smoothing 한다 - (partially occluding them). 즉, appearance 만 나타내기 위한 suboptimal approach 라고 할 수 있음.

  • back-facing normal - rendered color 에 관여하는 것들 중 camera 방향과 동떨어진 방향의 normal - 을 penalize 하는 regularization term 을 사용

 

연구에 참고해야 될 핵심 부분만 정리하다 보니 전체가 포함되어 있지는 않습니다. 기회가 되면 나머지 논문 부분도 정리해서 추가하도록 하겠습니다. 부족한 글 읽어주셔서 감사합니다.

 

반응형