KalelPark's LAB

[ 논문 리뷰 ] PixelNeRF: Neural Radiance Fields from One or Few Images 본문

Data Science/Neural Radiance Fields

[ 논문 리뷰 ] PixelNeRF: Neural Radiance Fields from One or Few Images

kalelpark 2023. 1. 25. 08:37

GitHub를 참고하시면, CODE 및 다양한 논문 리뷰가 있습니다! 하단 링크를 참고하시기 바랍니다.
(+ Star 및 Follow는 사랑입니다..!)

https://github.com/kalelpark/Awesome-ComputerVision

 

GitHub - kalelpark/Awesome-ComputerVision: Awesome-ComputerVision

Awesome-ComputerVision. Contribute to kalelpark/Awesome-ComputerVision development by creating an account on GitHub.

github.com

Abstract

본 논문에서는, PixelNeRF를 제시합니다. PixelNeRF는 적은 이미지로, 연속적인 장면을 표현하는 것이 가능합니다. 기존의 NeRF 모델들은 모든 장면을 독립적으로 최적화하는데 상당한 시간이 걸렸습니다. 이미지에 NeRF를 Fully Convolutional layer를 활용하는 방식으로 결점들을 해결합니다. 

 

이러한 방법들은 이전의 장면을 학습하기 위해 multiple scen을 훈련하고, sparse set of views로부터 새로운 장면을 형성하는 것이 가능하게 합니다. 

NeRF의 Volume Rendering방식을 활용하여, 3D supervision없이 Image로부터 학습하는 것이 가능합니다. 다중 객체의 ShapeNet 장면과 DTU Dataset의 실제 장면으로부터 PixelNeRF의 유연성을 증명하였습니다.

Introduction

이전부터 sparse set으로부터 synthesizing novel view 문제를 해결하고자 연구를 진행해왔습니다. 최근에 Neural Rendering을 미분하는 것이 가능해짐으로써, 연구의 진척이 시작되었다. 특히, 최근의 Neural Radiance Fields는 Volumetric density와 color에 의하여 인상적인 성능을 보여주었습니다.

 

NeRF가 현실적인 새로운 장면을 표현해지는 것이 가능하지만, 종종 수 많은 이미지가 요구될뿐만 아니라, 최적화하는데 상당히 오래걸린다는 단점이 존재합니다.

PixelNeRF는 일반적인 NeRF와 다르게, 각 Pixel에 spatial image feature를 input으로 활용합니다. 이러한 방법들은 multi-veiw image를 학습하는 것이 가능합니다.

구체적으로, 우리는 Input Image로부터, fully convolutional image feature grid를 계산함으로써, 입력이미지에 대해서 NeRF를 학습시킵니다. 이후 위치에 대한 정보와 방향에 대한 정보를 활용하여, 투영 및 이중 선형 보간을 활용해여 해당 이미지의 특징을 샘플링합니다. qeury specification은 image feature와 함께 NeRF에 Input으로 활용됩니다. 여기서, Spatial image feature는 residual을 통하여 활용됩니다.

만약 많은 이미지를 활용하는 것이 가능하다면, Input인 camera's coordinate frame를 latent representation으로 encode된 이후 색상 과 밀도를 예측하기 전 중간 계층에서 풀링으로 사용됩니다.

 

모델은 ground truth image와 일반적인 volume rendering 기술을 활용한 view rendered 사이에서 loss를 사용하여  학습을 진행됩니다.

PixelNeRF는 few-view novel-view synthesis를 위한 바람직한 특징을 지니고 있습니다.

 

첫 번째로는, PixelNeRF는 ground truth 3D shape 또는 Object mask와 같은 추가적인 supervision없이 Multi-view images dataset으로 학습하는 것이 가능합니다.

두 번째로는, PixelNeRF는 일반적인 좌표 프레임 대신에 Input image의 카메라 좌표계로 NeRF representation를 예측합니다. 이러한 방법은 보이지 않는 장면과 객체를 일반화하는 것에 대해서 필수적이지 않을 뿐만 아니라 기존의 명확한 정면들이 없기 때문에 상당한 유연성을 가지고 있습니다. 

 

세 번째로는, fully convolutional을 활용하기 때문에, image와 output 3d representation사이에서 공간적 정보를 정렬하고 보전하는 것이 허용됩니다. PixelNeRF는 테스트 시간에 대한 최적화 없이 테스트 시간에 다양한 수의 pose input view를 통합할 수 있습니다.

 

Related Work

Nerf와 관련된 내용들을 설명합니다. 하단의 참조링크에 있는 Nerf를 참고하시기 바랍니다.

Model Architecture

Image conditioned NeRF

Scenc사이에서의 지식을 공유하는 것이 불가능한 NeRF representation을 극복하기 위해,
본 논문에서는 Spatial image feature를 학습가능한 NeRF 모델을 제안합니다. 본 모델은 2가지로 구성됩니다.

Input Image를 feature grid로 변환하는 Encoder E와 공간적 정보와 encoded feature를 고려하는 Color와 Density가 Output인 NeRF로 구성되어 있습니다. 모델은 Volume Rendering Method와 loss를 활용하여 모델을 학습합니다.

Single-Image PixelNeRF
우리는 좌표계를 입력 이미지의 view공간으로 고정하고, 좌표계에서 위치와 카메라 광선을 지정합니다. 장면에 대한 Input Image를 고려하여, feature Volume을 추출합니다. 그리고, intrinsics를 활용하여, image plane 위의 X를 coordinates으로 projecting함으로써 대응하는 image feature를 가져올 수 있습니다. feature vector를 추출하기 위해 pixelwise features를 선형 보간합니다.

few-shot view synthesis task에서 query view direction은 NeRF Network에서 특정 이미지 기능의 중요한 역할을 결정하는데 유용한 신호이다.

만약 query view direction이 input view orientation과 유사하다면, model은 Input으로부터 더 많이 의존할 것이다. 만약 차별점이 존재한다면 모델은 학습된 이전으로부터 활용해야 합니다. 게다가, 다중 뷰의 경우, 뷰 방향은 서로 다른 뷰의 관련성과 위치에 대한 신호 역할을 하는 것이 가능합니다.

 

Incorporating Multiple Views

Multiple views는 장면과 single-view case내 내재된 3D geometric의 모호함을 해결하는 것에 대한 추가적인 정보를 제공합니다. 우리는 test time시, views의 개수를 임의로 지정할 수 있습니다.  게다가 공간의 정보를 선택하는 것와 input view의 순서는 독립적입니다. Input view가 여러 개인 경우에, 우리는 카메라의 상대적인 위치만 알려져 있다고 가정한다.  더 많은 설명력을 위해 임의의 coordinate system은 장면에 대해 고정되어 있습니다. 

Experiments

Discussion

NeRF의 문제점을 다뤄보았지만, 그래도 아직까지 문제점이 존재한다. 첫 번째로는 NeRF와 같이 Rendering을 하는데 상당히 오랜 시간이 걸린다는 단점이 있습니다. NeRF 이전의 방법론들에서는 이미지에서 mesh를 빠르게 복구하므로, 빠른 렌더링과 조작이 가능하지만 NeRF 기반의 경우 아직까지 안정적이지 못하다는 단점이 있습니다. 

 

참고

https://kalelpark.tistory.com/69

 

[논문 리뷰] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

GitHub를 참고하시면, CODE 및 컴퓨터 비전 관련 논문들이 있습니다! 하단 링크를 참고하시기 바랍니다. (+ Star 및 Follow는 사랑입니다..!) https://github.com/kalelpark/Awesome-ComputerVision GitHub - kalelpark/Awesome-C

kalelpark.tistory.com

https://arxiv.org/abs/2012.02190

 

pixelNeRF: Neural Radiance Fields from One or Few Images

We propose pixelNeRF, a learning framework that predicts a continuous neural scene representation conditioned on one or few input images. The existing approach for constructing neural radiance fields involves optimizing the representation to every scene in

arxiv.org

https://xoft.tistory.com/6

 

[논문 리뷰] PixelNeRF (CVPR2021) : 입력 이미지 갯수를 개선한 NeRF 연구

논문명 : PixelNeRF: Neural Radiance Fields from One or Few Images PixelNeRF 소개 사이트 에서 연구 결과 3개를 가져왔습니다. PixelNeRF로 입력이 1개, 2개, 3개(좌측) 일 때 Rendering결과(우측)입니다. 가장 마지막 열

xoft.tistory.com

 

Comments