2022. 4. 28. 10:58ㆍView Synthesis
pixelNeRF: Neural Radiance Fields from One or Few Images
Alex Yu, Vickie Ye, Matthew Tancik, Angjoo Kanazawa
Abstract
우리는 하나 또는 몇 개의 입력 이미지에서 조건화된 연속적인 신경 장면 표현을 예측하는 학습 프레임워크인 pixelNeRF를 제안한다.
neural radiance fields [27]를 구성하기 위한 기존 접근 방식은 모든 장면에서 독립적으로 표현을 최적화하는 것을 포함하며, 많은 보정된 뷰와 상당한 계산 시간이 필요하다.
이미지 입력에 대해 NeRF를 완전 컨볼루션 방식으로 조건화하는 아키텍처를 도입하여 이러한 단점을 해결하기 위한 단계를 밟는다.
이를 통해 네트워크는 한 장면을 미리 학습하기 위해 여러 장면에서 학습될 수 있으며, 희박한 뷰 세트(한 개만)에서 피드포워드 방식으로 새로운 뷰 합성을 수행할 수 있다.
NeRF의 볼륨 렌더링 접근 방식을 활용하여, 우리의 모델은 명시적인 3D supervision 없이 이미지에서 직접 학습될 수 있다.
우리는 전체 보이지 않는 범주뿐만 아니라 보류된 객체가 있는 단일 이미지 새로운 뷰 합성 작업에 대한 ShapeNet 벤치마크에 대한 광범위한 실험을 수행한다.
우리는 또한 DTU 데이터 세트의 다중 객체 ShapeNet 장면과 실제 장면에서 pixelNeRF의 유연성을 입증한다.
모든 경우에 pixelNeRF는 새로운 뷰 합성 및 단일 이미지 3D 재구성을 위한 현재 SOTA 베이스라인을 능가한다.
1. Introduction
우리는 희소 입력 뷰 집합에서 장면의 새로운 뷰를 합성하는 문제를 연구한다.
이 오랜 문제는 미분 가능한 신경 렌더링의 발전으로 인해 최근 진전을 보이고 있다[27, 20, 24, 39].
이러한 접근 방식에서 3D 장면은 신경망으로 표현되며, 이는 2D 뷰로 렌더링될 수 있다.
특히, 최근의 방법 neural radiance fields (NeRF)[27]는 신경망을 통해 체적 밀도와 색상을 암시적으로 인코딩하여 특정 장면의 새로운 뷰 합성에서 인상적인 성능을 보여주었다.
NeRF는 사실적인 새로운 뷰를 렌더링할 수 있지만, 많은 수의 포즈된 이미지와 긴 장면 최적화가 필요하기 때문에 종종 비현실적이다.
본 논문에서는 피드포워드 방식으로 하나 이상의 이미지에서 NeRF를 예측할 수 있는 학습 프레임워크인 pixelNeRF를 제안하여 이러한 단점을 해결한다.
이미지 피쳐를 사용하지 않는 원래 NeRF 네트워크와 달리 pixelNeRF는 각 픽셀에 정렬된 공간 이미지 피쳐를 입력으로 사용합니다.
이 이미지 조절을 통해 프레임워크는 하나 또는 몇 개의 입력 뷰에서 뷰 합성을 수행하기 전에 장면을 학습할 수 있는 다중 뷰 이미지 세트에서 학습될 수 있다.
이와는 대조적으로, 그림 1과 같이 사용 가능한 입력 이미지가 거의 없을 때 NeRF는 일반화할 수 없으며 성능이 떨어진다.
특히, 우리는 먼저 입력 이미지에서 완전 컨볼루션 이미지 피쳐 그리드를 계산하여 입력 이미지에서 NeRF를 조건화한다.
그런 다음 각 쿼리 공간 점 x와 뷰 좌표 프레임의 관심 뷰 방향 d에 대해 투영 및 이중 선형 보간을 통해 해당 이미지 피쳐를 샘플링한다.
쿼리 사양은 이미지 피쳐와 함께 밀도 및 색상을 출력하는 NeRF 네트워크로 전송되며, 여기서 공간 이미지 피쳐는 각 레이어에 잔차로 제공된다.
둘 이상의 이미지를 사용할 수 있는 경우, 입력은 먼저 각 카메라의 좌표 프레임의 잠재 표현으로 인코딩되며, 색과 밀도를 예측하기 전에 중간 레이어에 풀링된다.
모델은 기존 볼륨 렌더링 기술을 사용하여 렌더링된 뷰와 실제 이미지 사이의 재구성 loss로 supervise된다.
이 프레임워크는 그림 2에 도시되어 있다.
PixelNeRF는 몇 뷰의 새로운 뷰 합성을 위한 많은 바람직한 특성을 가지고 있다.
첫째, pixelNeRF는 ground truth 3D 모양 또는 객체 마스크와 같은 추가 supervision 없이 다중 뷰 이미지의 데이터 세트에서 학습될 수 있다.
둘째, pixelNeRF는 표준 좌표 프레임 대신 입력 이미지의 카메라 좌표 시스템에서 NeRF 표현을 예측한다.
이것은 보이지 않는 장면과 객체 범주[41, 37]에 일반화하는 데 필수적일 뿐만 아니라, 여러 객체나 실제 장면이 있는 장면에는 명확한 표준 좌표계가 존재하지 않기 때문에 유연성을 위해 필수적이다.
셋째, 완전 컨볼루션되어 이미지와 출력 3D 표현 사이의 공간 정렬을 보존할 수 있다.
마지막으로, pixelNeRF는 테스트 시간 최적화를 요구하지 않고 테스트 시간에 다양한 수의 포즈된 입력 뷰를 통합할 수 있다.
우리는 유연성을 입증하기 위해 일반적인 ShapeNet 실험 세트를 넘어 프레임워크의 효과를 평가하기 위해 합성 및 실제 이미지 데이터 세트에 대한 광범위한 실험을 수행한다.
우리의 실험은 pixelNeRF가 보이지 않는 객체 범주의 경우에도 범주별 및 범주에 구애받지 않는 설정에 대한 단일 이미지 입력에서 새로운 뷰를 생성할 수 있음을 보여준다.
또한 pixelNeRF가 이전 접근 방식을 능가하는 ShapeNet의 새로운 다중 객체 벤치마크와 실제 자동차 이미지에 대한 시뮬레이션-to-실제 전송 데모를 모두 사용하여 프레임워크의 유연성을 테스트한다.
마지막으로, 우리는 DTU 데이터 세트[14]를 사용하여 실제 이미지에서 pixelNeRF의 기능을 테스트한다, 여기서 100개 미만의 장면에서 학습되었음에도 불구하고 3개의 포즈된 입력 뷰에서 실제 장면의 그럴듯한 새로운 뷰를 생성할 수 있다.
2. Related Work
Novel View Synthesis.
새로운 뷰 합성의 오랜 문제는 입력 뷰 집합에서 장면의 새로운 뷰를 구성하는 것을 포함한다.
초기 작업은 사실적인 결과를 얻었지만 장면의 조밀한 캡처가 필요했다[19, 11].
최근 연구는 신경망을 기반으로 한 3D 표현을 사용하여 더 넓은 범위의 새로운 뷰와 더 희소한 입력 뷰 세트 모두에 대해 사진 사실주의로 빠르게 발전했다[27, 23, 26, 38, 42, 7].
그러나 이러한 접근 방식은 각 장면에 단일 모델을 맞추기 때문에 많은 입력 뷰와 장면 당 상당한 최적화 시간이 필요하다.
여러 장면에서 공유된 priors를 학습하여 소수의 입력 뷰 또는 단일 이미지에서 새로운 뷰를 예측할 수 있는 방법이 있다.
[35, 3]의 전통적인 방법은 depth 유도 이미지 보간[54, 10, 32]을 사용한다.
최근에는 단일 이미지에서 새로운 관점을 예측하는 문제가 탐구되었다[44, 47, 36, 5].
그러나 이러한 방법은 2.5D 표현을 사용하므로 합성할 수 있는 카메라 모션의 범위가 제한된다.
이 연구에서 우리는 더 큰 베이스라인에서 새로운 뷰를 합성할 수 있는 3D 체적 NeRF 표현을 추론한다.
Sitzmann et al. [39]는 연속 3D 피쳐 공간을 기반으로 한 표현을 도입하여 장면 간 인스턴스를 학습한다.
그러나 테스트 시간에 학습된 이전 버전을 사용하려면 알려진 절대 카메라 포즈로 추가 최적화가 필요하다.
대조적으로, 우리의 접근 방식은 완전히 피드포워드이며 상대적인 카메라 포즈만 필요하다.
우리는 설계가 제공하는 이점을 입증하기 위해 이 접근 방식과 광범위한 비교를 제공합니다.
마지막으로, 동시 작업 [43]은 NeRF에 이미지 피쳐를 추가합니다.
주요 차이점은 표준 공간이 아닌 뷰에서 작동하므로 접근 방식이 보다 일반적인 환경에서 적용 가능하다.
또한, 우리는 퓨샷 뷰 합성에서 우리 방법의 성능을 광범위하게 입증하는 반면, GRF는 이 작업에 대해 매우 제한된 정량적 결과를 보여준다.
Learning-based 3D reconstruction.
딥러닝의 발전으로 싱글 뷰 또는 멀티 뷰 3D 재구성이 빠르게 진행되었다.
많은 접근 방식[15, 12, 46, 53, 38, 33, 49, 25, 31]은 supervision을 위해 실제 3D 모델을 필요로 하는 다양한 3D 표현을 가진 학습 프레임워크를 제안한다.
멀티 뷰 supervision[50, 45, 21, 22, 39, 28, 8, 2]은 덜 제한적이고 생태학적으로 더 그럴듯하다.
그러나 이러한 방법들 중 많은 부분[50, 45, 21, 22, 28]은 객체 마스크를 필요로 한다; 대조적으로 pixelNeRF는 이미지에서만 학습될 수 있어 수정 없이 두 객체의 장면에 적용할 수 있다.
대부분의 단일 뷰 3D 재구성 방법은 입력 이미지에서 신경 3D 표현을 조건화한다.
대다수는 전역 이미지 피쳐[29, 6, 28, 25, 8]를 사용하는데, 메모리 효율은 높지만 이미지에 있는 세부 정보를 보존할 수 없으며 종종 검색과 같은 결과로 이어진다.
공간적으로 정렬된 로컬 이미지 피쳐는 단일 뷰에서 자세한 재구성을 달성하는 것으로 나타났다[49, 33].
그러나 이 두 가지 방법 모두 3D supervision이 필요하다.
우리의 방법은 이러한 접근 방식에서 영감을 얻었지만, 멀티 뷰 supervision만 필요하다.
기존 방법 내에서 재구성할 수 있는 장면의 유형은 제한적이며, 특히 객체 중심 접근 방식(예: [46, 21, 12, 45, 38, 53, 25, 49, 28])의 경우 더욱 그러하다.
CoReNet[31]은 오프셋이 있는 복셀 그리드를 통해 여러 객체가 있는 장면을 재구성하지만, 객체의 ID와 배치를 포함한 3D supervision이 필요하다.
비교해서, 우리는 원칙적으로 임의의 구조의 장면에 학습될 수 있는 장면 레벨 학습 프레임워크를 공식화한다.
Viewer-centric 3D reconstruction
3D 학습 작업의 경우, 예측은 뷰 중심 좌표계(예: 뷰 공간) 또는 객체 중심 좌표계(예: 표준 공간)에서 수행될 수 있다.
대부분의 기존 방법[49, 25, 28, 39]은 의미 범주의 모든 객체가 일관된 방향으로 정렬되는 표준 공간에서 예측한다.
이것은 공간 규칙성을 학습하는 것을 더 쉽게 만들지만, 표준 공간을 사용하면 보이지 않는 객체 범주와 둘 이상의 객체가 있는 장면에서 예측 성능을 억제한다, 여기에는 사전 정의되거나 잘 정의된 표준 포즈가 없다.
PixelNeRF는 뷰 공간에서 작동하며 [37, 2]에서 보이지 않는 객체 범주를 더 잘 재구성할 수 있는 것으로 나타났으며, 학습 세트의 암기를 억제한다[41].
우리는 표 1에 이전 작업과 관련된 접근 방식의 주요 측면을 요약한다.
3. Background: NeRF
먼저 NeRF 표현을 간략히 검토한다[27].
NeRF는 장면을 색상과 밀도의 연속 체적 radiance field f로 인코딩합니다.
특히, 3차원 점 x ∈ R^3 및 뷰 방향 단위 벡터 d ∈ R^3에 대하여, f는 미분가능한 밀도 σ 및 RGB 색상 c: f(x, d) = (σ, c)를 반환한다.
그런 다음 T(t) = exp(-∫σ(s)ds) 가 폐색을 처리하는
을 통해 체적 radiance field를 2D 이미지로 렌더링할 수 있습니다.
포즈 P가 있는 타겟 뷰의 경우, 카메라 레이는 r(t) = o + td로 매개 변수화할 수 있으며, 레이 원점(카메라 중심) 또는 o ∈ R^3 및 레이 단위 방향 벡터 d ∈ R^3로 매개 변수화할 수 있다.
적분은 미리 정의된 depth 경계[t_n, t_f] 사이에서 r을 따라 계산됩니다.
실제로, 이 적분은 각 픽셀 선을 따라 점을 샘플링하여 수치 직교로 근사된다.
그런 다음 카메라 레이 r에 대해 렌더링된 픽셀 값을 포즈 P를 사용하여 타겟 뷰의 모든 카메라 레이에 대해 해당 ground truth 픽셀 값 C(r)와 비교할 수 있습니다.
따라서 NeRF 렌더링 loss는
에 의해 주어진다, 여기서 R(P)은 타겟 포즈 P의 모든 카메라 레이의 집합이다.
Limitations
NeRF는 SOTA 새로운 뷰 합성 결과를 달성하지만, 기존의 멀티뷰 스테레오 방법과 유사하게 기하학적 일관성을 유일한 신호로 사용하는 최적화 기반 접근법이다[1, 34].
따라서 각 장면은 장면 간에 공유되는 지식 없이 개별적으로 최적화되어야 합니다.
시간이 많이 걸릴 뿐만 아니라 단일 뷰 또는 극히 드문 뷰의 한계에서는 재구성을 가속하거나 형상 완성을 위해 세계에 대한 prior 지식을 활용할 수 없다.
4. Image-conditioned NeRF
장면 간에 지식을 공유할 수 없는 NeRF 표현을 극복하기 위해 공간 이미지 피쳐에 NeRF를 조건화하는 아키텍처를 제안한다.
우리의 모델은 두 가지 구성 요소로 구성됩니다: 입력 이미지를 픽셀 정렬 피처 그리드로 인코딩하는 완전 컨볼루션 이미지 인코더 E와 공간 위치와 해당 인코딩 피처가 주어졌을 때 색과 밀도를 출력하는 NeRF 네트워크 f.
우리는 § 2에서 논의된 이유로 표준 공간이 아닌 입력 뷰의 카메라 공간에서 공간 쿼리를 모델링하기로 선택한다.
우리는 보이지 않는 물체 범주(§ 5.2)와 복잡한 보이지 않는 장면(§ 5.3)에 대한 실험에서 이 설계 선택을 검증한다.
모델은 § 3에 설명된 볼륨 렌더링 방법과 loss로 학습된다.
다음에서는 먼저 단일 뷰 사례에 대한 모델을 제시한다.
그런 다음 이 공식을 쉽게 확장하여 여러 입력 이미지를 통합하는 방법을 보여 준다.
4.1. Single-Image pixelNeRF
이제 하나의 입력 이미지에서 새로운 뷰를 렌더링하는 접근 방식을 설명한다.
우리는 좌표계를 입력 이미지의 뷰 공간으로 고정하고 이 좌표계에서 위치와 카메라 레이를 지정한다.
장면의 입력 이미지 I가 주어지면 먼저 피쳐 볼륨 W = E(I)를 추출한다.
그런 다음 카메라 레이 x의 한 점에 대해 알려진 내재적 요소를 사용하여 이미지 평면에 x를 이미지 좌표 π(x)로 투영한 다음 픽셀 단위 피쳐 간에 이중 선형 보간하여 해당 이미지 피쳐를 검색하여 피쳐 벡터 W(π(x))를 추출한다.
그런 다음 이미지 피쳐가 위치 및 뷰 방향과 함께 NeRF 네트워크에 전달됩니다(입력 뷰 좌표계에서 모두)
, 여기서 γ(·)는 원래 NeRF에 도입된 6개의 기하급수적으로 증가하는 주파수를 가진 x의 위치 인코딩입니다 [27].
이미지 피쳐는 각 레이어에 잔차로 통합됩니다; 자세한 내용은 § 5를 참조하십시오.
우리는 그림 2에 파이프라인을 개략적으로 보여준다.
퓨샷 뷰 합성 작업에서 쿼리 뷰 방향은 NeRF 네트워크에서 특정 이미지 피쳐의 중요성을 결정하는 데 유용한 신호이다.
쿼리 뷰 방향이 입력 뷰 방향과 유사하면 모델이 입력에 더 직접적으로 의존할 수 있으며, 유사하지 않으면 모델은 학습된 priors를 활용해야 한다.
더욱이, 다중 뷰의 경우, 뷰 방향은 다른 뷰의 관련성과 위치에 대한 신호로 작용할 수 있다.
이러한 이유로, 우리는 NeRF 네트워크의 시작 부분에 뷰 방향을 입력한다.
4.2. Incorporating Multiple Views
다중 뷰는 장면에 대한 추가 정보를 제공하고 단일 뷰 케이스에 내재된 3D 기하학적 모호성을 해결합니다.
우리는 테스트 시 임의의 수의 뷰를 허용하도록 모델을 확장하며, 이는 테스트 시 단일 입력 뷰만 사용하도록 설계된 기존 접근 방식과 구별된다.
[8, 53] 또한, 우리의 공식은 월드 공간의 선택과 입력 뷰의 순서와는 독립적이다.
장면의 입력 뷰가 여러 개인 경우, 상대적인 카메라 포즈만 알려져 있다고 가정합니다.
설명을 위해 임의의 월드 좌표계를 장면에 고정할 수 있습니다.
우리는 I^(i)와 관련 카메라가 월드 공간에서 뷰 공간으로 변환하는 i번째 입력 이미지를 P^(i) = [R^(i) t^(i)]로 표시한다.
새로운 타겟 카메라 레이의 경우, 우리는 쿼리 지점 x를 뷰 방향 d로 변환하여 월드와 함께 카메라 변환
으로 각 입력 뷰 i의 좌표계로 변환한다.
출력 밀도와 색상을 얻기 위해, 우리는 각 뷰의 좌표 프레임의 좌표와 해당 피쳐를 독립적으로 처리하고 NeRF 네트워크 내의 뷰에 걸쳐 집계한다.
설명의 용이성을 위해, 우리는 NeRF 네트워크의 초기 계층을 각 입력 뷰 공간의 입력을 별도로 처리하는 f_1로 표시하고, 최종 계층을 집계 뷰를 처리하는 f_2로 표시한다.
우리는 각 입력 이미지를 피쳐 볼륨 W^(i) = E(I^(i))로 인코딩한다.
뷰 공간 점 x^(i)의 경우 투영된 이미지 좌표 π(x^(i))의 피쳐 볼륨 W^(i)에서 해당 이미지 피쳐를 추출한다.
그런 다음 중간 벡터를 얻기 위해 이러한 입력을 f_1로 전달한다:
그런 다음 중간 V^(i)를 평균 풀링 연산자와 합산하고 f_2로 표시된 최종 레이어로 전달하여 예측된 밀도와 색상을 구한다:
단일 뷰 특수 경우, 이는 뷰 공간을 세계 공간으로 간주하여 f = f_2 ◦ f_1인 식 3으로 단순화된다.
삽화는 부록에 수록되어 있다.
5. Experiments
우리는 세 가지 실험 범주에서 우리의 접근 방식을 광범위하게 보여준다:
1) 범주별 및 범주 무관 뷰 합성을 위한 기존 ShapeNet [4] 벤치마크,
2) 보이지 않는 범주와 여러 물체가 있는 ShapeNet 장면, 둘 다 인식 대신 기하학적 priors 설정이 필요하며, 실제 자동차 사진으로의 도메인 전송
3) DTU MVS 데이터 세트의 실제 장면 [14].
Baselines
ShapeNet 벤치마크의 경우, 우리는 각각 퓨샷 새로운 뷰 합성 및 2D-supervised 단일 뷰 재구성의 최신 기술인 SRN[39] 및 DVR[28]과 정량적 및 질적으로 비교한다.
우리는 DVR의 2D 멀티뷰-supervised 변형을 사용한다.
범주 무관 설정(§ 5.1.2)에서는 SoftRas[21] 결과의 그레이스케일 렌더링도 포함한다.
여러 ShapeNet 객체에 대한 실험에서 전체 장면을 모델링할 수 있는 SRN과 비교한다.
DTU 데이터 세트에 대한 실험을 위해, 우리는 희소 뷰에 대해 학습된 NeRF[27]와 비교한다.
NeRF는 테스트 시간 최적화 방법이기 때문에 테스트 세트의 각 장면에 대해 별도의 모델을 학습한다.
Metrics
우리는 모든 평가에 대해 표준 이미지 품질 메트릭 PSNR 및 SSIM[55]을 보고한다.
또한 범주별 설정(§ 5.1.1)을 제외한 모든 평가에서 인간의 인식을 보다 정확하게 반영하는 LPIPS [52]를 포함한다.
이 설정에서, 우리는 소스 코드를 사용할 수 없는 이전 작업[40, 48, 9, 8, 43]과 비교할 수 있도록 SRN[39]의 프로토콜을 정확히 따른다.
Implementation Details
이미지 인코더 E의 경우 로컬 및 전역 정보를 효과적으로 캡처하기 위해 이미지에서 피처 피라미드를 추출한다.
우리는 실험을 위해 ImageNet에서 사전 학습된 ResNet34 백본을 사용한다.
피처는 처음 4개의 풀링 레이어 이전에 추출되고, bilinear 보간법을 사용하여 업샘플링되며, 각 픽셀에 정렬된 크기 512의 잠재 벡터를 형성하기 위해 연결된다.
점의 해당 이미지 피처를 NeRF 네트워크 f에 통합하기 위해 단순히 피처 벡터를 점의 위치 및 뷰 방향과 연결하는 대신 잔류 변조가 있는 ResNet 아키텍처를 선택한다.
구체적으로, 우리는 네트워크를 통해 인코딩된 위치와 뷰 방향을 공급하고 이미지 피처를 각 ResNet 블록의 시작 부분에 잔차로 추가한다.
우리는 [25, 28]에서 성공적으로 사용된 방법인 AdaIn 및 SPADE[13, 30]와 유사한 방식으로 각 블록 잔차에 대해 독립적인 선형 레이어를 학습한다.
자세한 내용은 보충 자료를 참조하십시오.
5.1. ShapeNet Benchmarks
먼저 ShapeNet에서 범주별 및 범주 무관 뷰 합성 작업에 대한 접근 방식을 평가한다.
5.1.1 Category-specific View Synthesis Benchmark
[39]에 소개된 프로토콜과 데이터 세트를 사용하여 ShapeNet의 "chair" 클래스와 "car" 클래스에 대해 원샷 및 투샷 뷰 합성을 수행한다.
데이터 세트에는 객체 인스턴스 간에 사전 정의된 분할이 있는 의자 6591개와 자동차 3514개가 포함되어 있다.
모든 이미지는 해상도가 128×128입니다.
단일 모델은 객체 인스턴스당 50개의 랜덤 뷰로 각 객체 클래스에 대해 학습되며, 인코딩할 학습 뷰 중 하나 또는 두 개를 랜덤으로 샘플링한다.
테스트를 위해, 우리는 객체 인스턴스 세트의 각 객체에 대해 아르키메데스 나선형의 251개의 새로운 뷰를 사용하며, 1-2개의 정보 뷰를 입력으로 고정한다.
우리는 표 2의 SOTA 베이스라인과 비교한 우리의 성과를 보고하고, 선택된 정성적 결과를 그림 4에 보여준다.
또한 해당되는 경우 [39]에서 보고된 베이스라인 TCO [40] 및 dGQN [9]의 정량적 결과와 최근 작업 ENR [8] 및 GRF [43]에서 사용할 수 있는 값도 이 설정에 포함된다.
PixelNeRF는 SRN보다 훨씬 어려운 문제를 해결했음에도 불구하고 눈에 띄게 우수한 결과를 달성한다.
그 이유는 1) 피드포워드 예측을 사용하고, 테스트 시간 최적화 없이, 2) 테스트 시 ground-truth 절대 카메라 포즈를 사용하지 않으며, 3) 표준 공간 대신 뷰를 사용하기 때문이다.
Ablations.
표 3에서는 이 범주별 설정에 대해 모델에서 로컬 피처 및 뷰 방향을 사용하는 이점을 보여 줍니다.
전역 코드(-Local vs Full) 대신 픽셀 정렬 로컬 피처를 사용하여 NeRF 네트워크를 조정하면 단일 및 2뷰 설정 모두에서 성능이 크게 향상된다.
또한 뷰 방향(-Dirs vs Full)을 제공하면 상당한 향상 효과를 얻을 수 있습니다.
이러한 ablations를 위해, 우리는 Archimedean Spiral에 대한 25개의 새로운 관점을 사용하여 ShapeNet 의자에 대한 약식 평가 프로토콜을 따른다.
5.1.2 Category-agnostic Obejct Prior
가장 간단한 범주별 벤치마크에서 베이스라인에 비해 눈에 띄는 개선을 발견했지만, 우리의 방법은 결코 그것에 제한되지 않는다.
표 4와 그림 5에서 우리는 우리의 접근 방식이 [21, 28]의 범주 무관 설정에서 훨씬 더 큰 이점을 제공한다는 것을 보여주며, 여기서 단일 모델을 ShapeNet의 가장 큰 범주 13개로 학습시킨다.
랜덤으로 샘플링된 결과는 보충 자료를 참조하십시오.
우리는 여러 ShapeNet 범주[28, 16, 21]에서 2D-supervised 방법에 대한 커뮤니티 표준을 따르고 각 객체 인스턴스에 대해 64×64 해상도의 24개의 고정 표고 뷰를 제공하는 Kato et al. [16]의 렌더링 및 분할을 사용한다.
학습과 평가 모두 랜덤 뷰가 각 객체에 대한 입력 뷰로 선택되고 모든 베이스라인에서 공유된다.
나머지 23개의 뷰는 계산 메트릭스의 타겟 뷰로 사용됩니다(§ 5 참조).
5.2. Pushing the Boundaries of ShapeNet
덜 제어된 캡처 시나리오에서 재구성을 향한 단계를 밟아, 우리는 세 가지 더 어려운 설정에서 ShapeNet 데이터에 대한 실험을 수행한다: 1) 보이지 않는 객체 범주, 2) 다중 객체 장면, 3) 자동차 이미지의 시뮬레이션에서 실제로의 전송.
이러한 설정에서 성공적인 재구성에는 기하학적 prior가 필요합니다; 인식 또는 검색만으로는 충분하지 않습니다.
Generalization to novel categories.
우리는 먼저 학습에서 볼 수 없었던 ShapeNet 범주를 재구성하는 것을 목표로 한다.
이전 섹션에서 설명한 더 표준적인 범주-무관 작업과는 달리, semantic 정보만으로는 그러한 일반화가 불가능하다.
표 5와 그림 6의 결과는 우리의 방법이 학습 중에 보이는 것과 상당히 구별되는 물체에도 상당히 효과적인 본질적인 기하학적 및 외관 prior 학습을 제안한다.
우리는 [53, ?]의 제로샷 교차 범주 재구성에 사용되는 프로토콜을 느슨하게 따른다.
우리의 베이스라인 [39, 28]은 이 설정에서 평가하지 않으며, 우리는 비교를 위해 이를 조정한다.
우리는 airplane, car 및 chair 범주에 대해 학습하고 학습 중에 보이지 않는 10개 범주에 대해 테스트하며, § 5.1.2에 설명된 Kato et al. 렌더링을 계속 사용한다.
Multiple-object scenes.
또한 랜덤으로 배치되고 방향이 지정된 ShapeNet 의자가 여러 개 있는 장면에 대해 퓨샷 360° 재구성을 수행한다.
이 설정에서 네트워크는 정확한 객체 배치 및 완료를 위해 semantic 단서에만 의존할 수 없다.
네트워크에 의해 학습된 이전 값은 임의의 좌표계에 적용될 수 있어야 한다.
우리는 그림 7과 표 5에서 우리의 공식화가 추가적인 설계 수정 없이 이러한 간단한 장면에서 잘 수행할 수 있음을 보여준다.
대조적으로 SRN은 표준 공간의 장면을 모델링하고 보류된 장면에서 고군분투한다.
우리는 반구에서 랜덤으로 샘플링된 20개의 뷰로 구성된 학습 이미지를 생성하고 아르키메데스 나선에서 샘플링된 50개의 뷰와 함께 chair 인스턴스의 유지된 테스트 세트로 구성된 테스트 이미지를 렌더링한다.
학습 중에, 우리는 두 개의 입력 뷰를 랜덤으로 인코딩한다.
테스트 시, 우리는 비교된 방법에 걸쳐 두 개의 유익한 뷰를 고정한다.
보충 자료에서, 우리는 데이터 세트의 예제 이미지뿐만 아니라 다양한 입력 뷰 수를 가진 추가 정량적 결과와 질적 비교를 제공한다.
Sim2Real on Cars.
또한 Stanford cars 데이터 세트의 실제 이미지에서 pixelNeRF의 성능을 탐구한다[18].
우리는 어떠한 미세 조정 없이 § 5.1.1의 car 모델을 직접 적용합니다.
그림 8에서 보듯이, 합성 데이터에 대해 학습된 네트워크는 실제 자동차의 모양과 질감을 효과적으로 추론하여 우리의 모델이 합성 영역을 넘어 전송될 수 있음을 시사한다.
단일 뷰에서 360° 배경을 합성하는 것은 중요하지 않으며 이 작업의 범위를 벗어납니다.
이 데모의 경우, 기성품 PointRend[17] segmentation 모델을 사용하여 배경을 제거합니다.
5.3. Scene Prior on Real Images
마지막으로, 우리는 우리의 방법이 DTU MVS 데이터 세트의 실제 장면에서 퓨샷 광범위한 베이스라인 새로운 뷰 합성에 적용될 수 있음을 보여준다[14].
이 데이터 세트에서 뷰 합성에 대한 prior 학습은 상당한 과제를 제기한다: 더 복잡한 장면으로 구성되어 있을 뿐만 아니라, 장면 간 명확한 semantic 유사성이 없으며, 장면 간 배경과 조명이 일관되지 않습니다.
게다가, 100개 미만의 장면들이 학습에 이용 가능하다.
우리는 MVSNet[51]에 도입된 표준 데이터 분할에 학습 장면과 테스트 세트 간의 중복이 포함되어 있다는 것을 발견했습니다.
따라서 우리의 목적을 위해, 우리는 두 세트 사이에 공유되거나 매우 유사한 장면이 없는 88개의 학습 장면과 15개의 테스트 장면의 다른 분할을 사용한다.
이미지는 400x300 해상도로 다운샘플링됩니다.
우리는 한 장면의 랜덤 뷰 3개를 인코딩하여 모든 학습 장면에 걸쳐 하나의 모델을 학습시킨다.
테스트 시간 동안, 우리는 모든 인스턴스에서 공유되는 고정된 정보 입력 뷰 세트를 선택한다.
우리는 그림 9에서 우리의 방법이 보류된 테스트 장면에서 뷰 합성을 수행할 수 있음을 보여준다.
우리는 그림 10의 동일한 입력 뷰 세트에 최적화된 NeRF를 사용한 피드포워드 모델의 성능을 추가로 정량적으로 비교한다.
60개의 NeRF를 각각 학습하는 데 14시간이 걸렸습니다.
대조적으로 pixelNeRF는 테스트 시간 최적화 없이 새로운 장면에 즉시 적용됩니다.
6. Discussion
하나 또는 몇 개의 이미지에서 NeRF를 재구성하기 전에 장면을 학습하기 위한 프레임워크인 pixelNeRF를 제시하였다.
광범위한 실험을 통해, 우리는 우리의 접근 방식이 다양한 환경에서 성공적으로 적용될 수 있다는 것을 확인했다.
우리는 NeRF의 몇 가지 단점을 다루었지만, 아직 탐구해야 할 과제가 있다:
1) NeRF와 마찬가지로 렌더링 시간이 느리고, 실제로 더 많은 입력 뷰가 주어지면 런타임은 선형적으로 증가한다.
또한 일부 방법(예: [28, 21])은 빠른 렌더링과 조작을 가능하게 하는 이미지에서 메시를 복구할 수 있는 반면, NeRF 기반 표현은 매우 안정적으로 메시로 변환할 수 없다.
NeRF의 효율성 향상은 실시간 애플리케이션을 가능하게 하는 중요한 연구 질문이다.
2) vanilla NeRF에서처럼, 우리는 위치 인코딩에 대한 스케일 및 ray 샘플링 경계 t_n, t_f를 수동으로 조정한다.
NeRF 관련 방법을 스케일 불변으로 만드는 것은 중요한 과제이다.
3) DTU 데이터 세트의 실제 데이터에 대한 방법을 시연했지만, 우리는 이 데이터 세트가 통제된 설정에서 캡처되었으며 제한된 관점으로 모든 장면에서 일치하는 카메라 포즈를 가지고 있다는 것을 인정한다.
궁극적으로, 우리의 접근 방식은 대규모 와이드 베이스라인 멀티 뷰 데이터 세트의 가용성으로 인해 병목 현상을 일으켜 ShapeNet 및 DTU와 같은 데이터 세트에 대한 적용 가능성을 제한한다.
360도 야외 장면에서 일반적인 사전 학습을 하는 것은 향후 작업을 위한 흥미로운 방향입니다.