Depth-supervised NeRF: Fewer Views and Faster Training for Free

2022. 5. 9. 14:50View Synthesis

Depth-supervised NeRF: Fewer Views and Faster Training for Free

 

Kangle Deng, Andrew Liu, Jun-Yan Zhu, Deva Ramanan

 

그림 1: NeRF는 불충분한 color supervision(즉, 너무 적은 입력 이미지)을 고려할 때 학습하기 어려울 수 있으므로, 우리는 depth에서 추가적인 supervision을 사용한다. 그러한 소스 중 하나는 카메라 포즈를 추정하기 위해 SFM(Structure-from-motion)을 실행할 때 계산된 3D 포인트 클라우드이다. 우리는 이러한 쉽게 이용할 수 있는 희소 3D 신호가 추가적인 free supervision으로 사용될 수 있다고 지적한다. 우리는 이러한 3D 지점과 교차하는 ray를 따라 렌더링되는 depth가 관찰된 depth와 가깝도록 하기 위해 loss를 부과한다. depth supervision은 많은 학습 기반 NeRF 파이프라인을 보완하기 때문에 이러한 접근 방식과 결합하여 과적합을 획기적으로 줄이고 학습 속도를 높일 수 있다.

Abstract

Neural Radiance Field (NeRF) 모델의 일반적인 실패 모드 중 하나는 입력 뷰 수가 충분하지 않을 때 잘못된 지오메트리를 적합시키는 것이다.

우리는 쉽게 이용할 수 있는 depth supervision을 활용하는 neural radiance field를 학습하기 위한 loss인 DS-NeRF (Depth-supervised Neural Radience Fields)를 제안한다.

우리의 핵심 통찰력은 희박한 depth supervision이 NeRF를 사용하여 새로운 뷰를 효과적으로 렌더링하는 데 중요한 구성 요소인 학습된 지오메트리를 정규화하는 데 사용될 수 있다는 것이다.

우리는 현재의 NeRF 파이프라인이 일반적으로 structure-from-motion (SFM)을 실행하여 추정되는 알려진 카메라 포즈로 이미지를 필요로 한다는 사실을 활용한다.

결정적으로, SFM은 학습 중에 "free" depth supervision으로 사용할 수 있는 희소 3D 포인트를 생성한다: 이러한 3D 포인트를 가로지르는 ray를 따라 렌더링되는 depth가 관측된 depth에 가깝도록 하기 위해 loss를 추가하기만 하면 된다.

우리는 DS-NeRF가 2-6배 더 빠르게 학습하면서 더 적은 학습 뷰를 통해 더 정확한 이미지를 렌더링할 수 있다는 것을 발견했다.

실제 이미지에 대한 두 가지 학습 뷰만 가지고 DS-NeRF는 NeRF뿐만 아니라 다른 희소 뷰 변형을 크게 능가한다.

우리는 우리의 loss가 이러한 NeRF 모델과 호환된다는 것을 보여주며, depth가 저렴하고 쉽게 소화할 수 있는 supervision 신호임을 보여준다.

마지막으로, 우리는 DS-NeRF가 스캔된 depth 센서 및 RGBD 재구성 출력과 같은 다른 유형의 depth supervision을 지원한다는 것을 보여준다.

 

 

1. Introduction

implicit 표현을 사용한 neural rendering은 뷰 합성[28, 18]에서 re-lighting[16, 14], 포즈 및 형상 추정[19, 24, 36], 3D 인식 이미지 합성 및 편집[26, 1, 11], 동적 장면[20, 22, 9]에 이르기까지 많은 종류의 비전 및 그래픽 작업을 해결하는 데 널리 사용되는 기술이 되었다.

이러한 이전 작업은 복잡한 장면과 3D 개념을 모델링할 수 있는 implicit 기능의 강력하지만 매우 유연한 능력을 보여주었다.

 

그 중 Neural Radiance Fields (NeRF) [18]의 주요 연구가 있다.

Mildenhall et al.은 표준 ray-tracing으로 임의 뷰를 렌더링하기 전에 implicit 함수를 사용하여 체적 밀도 및 색상 관찰을 인코딩하여 인상적인 뷰 합성 결과를 보여주었다.

그 이후로, NeRF 표현은 dynamic scene flows [35, 20] 및 illumination effects [29, 14]와 같은 더 복잡한 현상을 학습하는 것으로 확장되었다.

그림 2: NeRF는 학습과 테스트 뷰 렌더링 사이의 PSNR 간격(왼쪽)에서 볼 수 있듯이 소수의 학습 뷰(여기, 2개)에 과적합될 수 있습니다. 이러한 과적합은 학습 뷰(중간)에 대해서도 렌더링된 depth 맵의 큰 오류에서 입증되었듯이 학습되고 있는 엉뚱한 부정확한 기하학 때문이다. 오른쪽의 학습 뷰에 대해 렌더링된 이미지와 렌더링된 depth 맵을 모두 시각화한다. DS-NeRF는 depth supervision을 활용하여 훨씬 정확한 장면 지오메트리를 학습하여 새로운 뷰에 대한 일반화를 향상시킨다.

그럼에도 불구하고, NeRF에는 몇 가지 한계가 있습니다.

장면 외관과 지오메트리를 모두 재구성할 때 입력 뷰 수가 적으면 잘못될 수 있습니다.

그림 2는 NeRF가 여전히 학습 뷰를 정확하게 렌더링하는 매우 부정확한 장면 지오메트리를 학습할 수 있음을 보여준다.

그러나 이러한 모델은 새로운 테스트 뷰의 형편없는 렌더링을 생성하며, 기본적으로 학습 세트에 지나치게 과적합하다.

게다가, 많은 입력 뷰를 감안하더라도, NeRF는 여전히 학습하는 데 시간이 많이 걸릴 수 있다; 단일 GPU에서 적절한 해상도로 단일 장면을 모델링하는 데 종종 10시간에서 수일이 걸린다.

학습은 비용이 많이 들고 최적화 과정이 길기 때문에 느리다.

 

본 연구에서는 NeRF가 학습한 지오메트리를 정규화하고 NeRF의 학습을 개선하기 위한 추가적이고 저렴한 supervision 소스로서 depth를 탐구한다.

NeRF를 학습시키기 위해 각 뷰의 카메라 매개 변수는 종종 체적 표현을 통해 ray가 캐스팅되는 방법을 결정하기 위해 먼저 추정됩니다.

이것은 일반적으로 COLMAP [25]과 같은 Structure-from-motion (SFM) 해결책을 사용하여 해결된다.

카메라 포즈와 intrinsics 외에도 COLMAP은 두 개의 추가 신호, 즉 희소 3D 포인트 클라우드와 감지된 2D 키포인트와 예상 3D 포인트 사이의 재투영 오류를 출력한다; 놀랍게도 이러한 출력은 NeRF에 의해 무시된다.

우리는 추가적인 depth supervision이 현재 픽셀 재구성 loss로 누락된 귀중한 학습 그레디언트를 제공한다고 가정한다.

 

우리의 작업은 depth supervision loss를 사용하여 이 "free" supervision을 활용한다.

ray를 따라 색을 통합하는 것 외에도 특정 카메라 관점에서 예상 depth를 계산하기 위해 occupancy를 통합할 수도 있다.

SFM에 의해 감지된 희박한 3D 키포인트와 교차하는 ray를 샘플링함으로써, 우리는 SFM 추정 depth와 NeRF에 의해 예측된 depth 사이에 loss를 부과할 수 있다.

이것은 RGB 픽셀을 재구성하는 것보다 훨씬 강한 신호이다.

depth supervision 없이 NeRF는 여러 뷰 사이의 3D 대응 문제를 implicitly 해결하고 있다.

그러나 이 정확한 문제의 희소 버전은 이미 희소 3D 키포인트에 의해 제공되는 structure-from-motion으로 해결되었다.

따라서 depth supervision은 탐색을 희박한 explicit 대응과 implicit 대응에 고정시킴으로써 NeRF를 개선한다.

 

또한, 우리는 DS-NeRF가 점점 더 보편화되고 있는 depth 센서와 같은 structure-from-motion 이외에 다른 depth supervision 소스를 활용할 수 있다는 것을 발견했다.

우리의 접근 방식은 비교적 가벼운 계산 제약 조건으로 고품질 결과를 생성하기 때문에 DS-NeRF는 소형 폼 팩터 카메라 배열 (예: 다중 카메라 전화기) 또는 에지 컴퓨팅 센서(예: 트래픽 센서)로 잠재적인 NeRF 기반 애플리케이션을 개방한다.

 

우리의 실험은 이 놀랄 만큼 간단한 아이디어가 학습 속도와 필요한 학습 데이터의 양 모두에 관한 학습 NeRF와 그 변형에서 엄청난 개선을 의미한다는 것을 보여준다.

우리는 depth-supervised NeRF가 동일한 품질로 결과를 생성하면서 모델 학습을 2-6배 가속화할 수 있다는 것을 관찰한다.

희소 뷰 설정의 경우, 실험은 우리의 방법이 NeRF Real-world [18] 및 Redwood-3dscan [3] 모두에서 원래 NeRF 및 최근 희소 뷰 NeRF 모델[37, 30]과 비교하여 더 나은 결과를 합성한다는 것을 보여준다.

우리는 depth supervision loss가 depth 카메라 및 RGBD 재구성 출력과 같은 다른 소스에서 파생된 depth에서 잘 작동한다는 것을 보여준다.

결과적으로, 우리의 loss는 기존 NeRF 모델에 원활하게 통합될 수 있다.

 

 

2. Related Work

Implicit Representations for 3D.

효율적인 3D 표현을 고안하는 것은 오랜 연구 문제였다.

최근의 방법은 신경망을 사용하여 implicit 함수를 통해 3D 정보를 인코딩하고 해독했다[19, 2, 15, 24].

이러한 방법은 좌표를 표면에 매핑하는 implicit 함수와 해당 좌표의 텍스처 특성을 학습하기 위해 2D 이미지 또는 3D 셰이프 세트를 사용한다.

이후 연구는 explicit 3D supervision에 의존하지 않고 implicit 함수 학습을 탐구했다[28, 18].

 

NeRFs [18]는 표준 체적 렌더링 [8] 및 알파 합성 기법을 사용하여 volumetric radiance filed를 모델링하는 implicit 함수를 학습한다.

NeRF는 인상적인 시각적 품질로 새로운 뷰를 렌더링할 수 있지만, 한 가지 단점은 기본 지오메트리를 올바르게 학습하는 데 필요한 많은 학습 뷰와 긴 최적화이다.

후속 작업은 필요한 조회 수를 줄이거나 [37] 수렴 속도를 높임으로써 [30] NeRF 함수를 개선하는 방법을 탐구했다.

범주를 사전 학습하여 성능 향상을 이끌어내는 이러한 작업과 달리, 우리의 접근 방식은 쉽게 사용할 수 있는 3D 관찰 형태의 범주 없는 supervision을 사용하여 체적 기하학을 직접 supervise함으로써 데이터 효율적이고 빠른 NeRF 학습 프로세스를 제공한다.

 

Novel View Synthesis.

implicit 표현 이전에 뷰 합성을 위한 인기 있는 접근 방식은 multiplane images [40, 5, 17, 31], 메시[27, 6] 또는 포인트 클라우드[34]와 같은 explicit 표현을 사용하여 새로운 뷰를 렌더링했다.

이러한 접근 방식은 테스트 시간에 빠르게 렌더링할 수 있지만 표현에 있어 표현력은 제한적이다.

 

NeRF는 테스트 시간 최적화 절차를 사용하여 단일 장면의 새로운 뷰를 생성하고 범주별 또는 도메인 이전 버전에 의존하지 않고 이미지 세트에 적합할 수 있다.

이전이 없기 때문에 NeRF 학습을 위한 최적화는 느리고 데이터 비효율적이다.

Tancik et al. [30]은 좋은 implicit 함수 초기화를 찾기 위해 학습 장면 도메인에서 메타 학습 [4]을 사용하여 NeRF의 학습 동작 속도를 높일 것을 제안한다. 

Yu et al. [37]의 또 다른 접근 방식은 테스트 시간 최적화가 더 이상 필요하지 않도록 장면에서 인코더를 학습시킨다. 

그러나 이러한 접근 방식은 보이지 않는 영역(예: 실제 이미지)으로 잘 번역되지 않을 수 있는 특정 범주(예: 의자)의 학습 데이터에서 이전의 것에 민감하다는 점에서 제한적이다.

대조적으로, 2D 키포인트와 3D 대응은 모든 3D 장면의 기하학적 속성이다.

따라서, 입력 장면과 그 도메인에 관계없이, 우리는 항상 depth supervision을 사용하여 더 좋고 빠른 학습을 달성할 수 있다.

 

Depth and Beyond.

depth는 뷰 합성 및 3D 표현을 위한 귀중한 데이터 소스이다.

초기 연구는 멀티 뷰 스테레오 및 SFM [25]과 같은 알고리즘을 통한 depth 회복에 중점을 두었다.

이러한 도구가 3D 학습의 필수 요소가 된 반면, 최근 연구는 딥러닝을 사용하여 단안 설정 [10, 23] 또는 비디오 [12]에서 조밀한 depth를 추출하는 데 중점을 두고 있다.

이러한 작업은 최근 3D 사진 촬영 방법 [27]과 비디오-비디오 합성 시스템 [13]에 대한 depth를 쉽게 접근할 수 있게 했다.

 

우리의 연구에서, 우리는 NeRF 기반 뷰 합성을 학습하는 것을 돕기 위해 SFM에서 파생된 희박한 depth 정보를 통합할 것을 제안한다.

이러한 depth loss는 이전에 MPI 설정[31]에서 탐색되었지만, NeRF에 추가된 것이 학습을 크게 개선하고 이전에는 불가능했던 NeRF 애플리케이션을 가능하게 한다는 것을 발견했다.

 

 

3. Depth-supervised NeRF (DS-NeRF)

이제 우리는 Depth-supervised Neural Radiance Fields를 제시한다.

먼저 NeRF 기반 방법에 사용되는 볼륨 렌더링에 대해 살펴본다.

그런 다음 depth 정보가 포함된 샘플링 rays를 도입한다.

마지막으로, 우리는 이러한 샘플링된 rays에 대한 depth-supervision loss를 제시한다.

 

3.1. Volumetric Rendering

Neural Radiance Field는 이미지 세트를 가져와서 장면을 볼륨 밀도 및 방출된 radiance로 인코딩합니다.

보다 구체적으로, 주어진 3D 포인트 x ∈ R^3와 특정 뷰 방향 d ∈ R^3에 대해, NeRF는 미분 밀도 σ와 RGB 색상 c를 추정하는 implicit 함수 f를 학습한다: f(x, d) = (σ, c).

 

포즈 P가 주어진 2D 이미지를 렌더링하기 위해, 우리는 P의 투영 o 중심에서 유래한 rays r을 그것의 본질에서 파생된 방향 d로 촬영한다.

우리는 이 ray를 따라 놓여 있는 좌표에 있는 implicit radiance field를 샘플링하여 색상을 근사한다:

,여기서 T(t) = exp(-∫σ(s)ds)는 t_n과 t 사이의 점들에 대한 미분 밀도를 적분하여 폐색을 확인한다.

t는 앞서 언급한 ray를 r(t) = o + td로 매개 변수화합니다.

우리는 이 implicit 함수에 대한 ray를 (t_n) 근방과 원방(t_f) 경계 사이에서 평가한다.

 

최종 NeRF 렌더링 loss는 특정 카메라 매개 변수 P에 의해 생성된 rays 집합 R(P)을 렌더링한 후 반환되는 색에 대한 재구성 loss로 인해 발생한다.

NeRF의 한 가지 한계는 장면을 맞추는 데 필요한 테스트 시간 최적화 수와 입력 이미지 수 모두에서 비효율적인 학습이다.

supervision은 이미지 데이터 자체에서만 파생되기 때문에 체적 기하학을 학습하려면 빈 영역에 대한 차등 밀도가 0이라는 것을 사소한 것으로 학습하기 위해 shooting rays와 샘플링 포인트가 필요하다.

 

이러한 문제는 Marching Cubes[28] 및 NeRF의 ray-tracing과 같은 모든 종류의 ray 기반 기술에 존재한다.

계층적 샘플링과 같은 특정 최적화는 샘플 효율성을 향상시키지만, 특히 단일 이미지에서 새로운 뷰를 유추할 수 있는 이전 뷰 합성 방법과 비교할 때 소수의 뷰에 대한 테스트 시간 최적화는 여전히 문제가 될 것이다[34, 31, 27].

 

우리는 NeRF가 체적 렌더링을 통해 임의로 복잡한 radiance fields를 학습하는 데 효과적이지만, 많은 장면들이 더 단순한 기하학적 표현(포인트 클라우드, 메시, 다중 평면 이미지, depth 맵 등)을 사용하여 표현될 수 있다고 가정한다.

우리의 목표는 explicit geometric supervision을 사용하여 NeRF의 강력한 implicit 렌더링 기능을 explicit 3D 재구성 방법의 컴퓨팅 효율성과 통합하는 것이다.

 

3.2. Motivating Explicit Supervision

새롭게 초기화된 NeRF의 학습을 고려해보자.

사전 설정이 없으면 미분 밀도가 볼륨 전체에 균일하게 할당됩니다.

임의의 radiance field를 학습하는 경우 중앙값 초기화이므로 균일한 볼륨을 선택하는 것이 좋습니다.

그러나 일반적인 장면에서 대부분의 공간이 사용 중이거나 비어 있기 때문에 이 또한 초기화가 잘 되지 않습니다.

 

초기화가 잘못되면 테스트 시간 최적화가 길어지고 동작이 저하될 수 있다.

예를 들어, 두 개의 뷰만 주어진다면, NeRF는 카메라의 near 경계에 체적 벽을 만들고 이미지의 픽셀을 색상으로 반환함으로써 완벽한 렌더링을 달성할 수 있다.

 

이러한 모호성을 해결하는 한 가지 방법은 더 많은 뷰를 사용하는 것입니다.

추가 뷰를 통해 네트워크가 붕괴되는 것을 방지할 수 있는 충분한 supervision을 제공합니다.

그러나 많은 경우에 우리는 추가적인 뷰를 가지고 있지 않다.

따라서 우리는 depth와 같은 supervision 대체 소스를 고려하는데, 이는 네트워크가 두 픽셀 모두와 일치하는 체적 표현과 structure-from-motion을 설명하도록 할 수 있다.

 

3.3. Deriving Depth

이미지 모음은 특히 제어되지 않은 환경에서 수집된 이미지에 대해 ground truth depth 또는 카메라 포즈로 주석이 달린 경우가 드물다.

이러한 이미지에 대한 NeRF를 학습시키기 위해, 카메라 포즈는 COLMAP[25]과 같은 structure-from-motion (SFM) 프레임워크를 사용하여 추정되며, 이미지 컬렉션에서 카메라 포즈 P와 intrinsics K를 동시에 추정한다.

 

카메라 매개 변수(P_1K_1, P_2K_2, ...)를 추정할 뿐만 아니라, Structure-from-motion은 여러 뷰에 걸쳐 3D 키포인트 {X: x_1, x_2, ... ∈ R^3}을 추정합니다.

여기서 x_i는 전역 3D 좌표 공간에서 감지된 키포인트입니다.

중요한 것은, SFM은 또한 번들 조정을 통해 장면 폐색을 모델링하여 특정 카메라 j: X_j ⊂ X에서 볼 수 있는 키포인트의 하위 세트를 explicitly 식별한다는 것이다.

 

3.4. Depth Supervision Loss

특정 포즈로부터의 depth 이미지들은 또한 RGB 픽셀들을 렌더링하는 것과 유사한 방식으로 렌더링될 수 있다.

우리는 원래의 NeRF 논문에서 제안된 초기 공식을 사용하여 depth를 렌더링한다.

매개 변수가 r(t) = o + td:

인 ray가 주어졌을 때, 여기서 ^D(r)는 ray의 카메라 축을 따라 예상되는 depth이고 T(t)는 식 (1)에서 색상을 렌더링할 때 앞서 정의한 폐색 검사 통합과 동일한 것입니다.

 

우리는 특정 ray의 depth를 supervise하기 위해 SFM이 제공하는 3D 키포인트를 사용할 것을 제안한다.

이미지 I_j와 추정 카메라 매개 변수 P_j, K_j를 고려하여 NeRF 학습 공식으로 시작하며, 카메라 ray 세트를 렌더링하고자 한다.

밀집된 RGB supervision과 달리 SFM은 시각 키포인트 x_i ∈ X_j의 관점에서만 희소 depth supervision을 생성한다.

각 키포인트 i에 대해 카메라 j에 r_ij(t) = o_j + F_j(x_i - o_j)t로 쓰여진 ray를 카메라 j에 캐스트할 수 있으며, 카메라 j의 투영 o_j의 중심과 키포인트 x_i 사이에 놓여 있는 포인트를 샘플링할 수 있다. 

F_j는 j의 카메라 축을 따라 길이 1이 되도록 ray를 스케일링하는 기능입니다.

실제로 우리는 이미지 j에서 x_i의 2D 이미지 좌표에 해당하는 NeRF ray를 사용하여 이를 구현한다.

 

카메라 j에서 키포인트의 depth를 계산하기 위해 결과를 단위 카메라 축 [0, 0, 1]에 투영하기 전에 P_j를 사용하여 키포인트를 재투사한다.

적용 가능한 경우, 우리는 implicitly 키포인트를 균질한 표현으로 변환한다.

우리의 최종 depth supervision loss는

이다, 여기서 w_j는 아래에서 설명하면 적응적으로 핵심 포인트를 가중시킨다.

 

Confidence-weighed Keypoints.

SFM은 depth supervision을 방해할 수 있는 spurious 대응 및/또는 신뢰할 수 없는 키포인트를 생성할 수 있다.

이러한 신뢰할 수 없는 키포인트의 영향을 줄이기 위해 SFM에 의해 추정된 재투사 오류에 따라 각 키포인트에 가중치를 부여한다.

특히 카메라 j에서 볼 수 있는 3D 키포인트 x_i가 주어졌을 때, 재투사 오류 e_ij는 투사된 이미지 좌표 K_jP_jx_i와 2D에서 감지된 키포인트 사이의 픽셀 단위 거리이다.

우리는 x_i의 총 재투사 오류 e_i = ∑_j e_ij를 사용하여 특정 키포인트의 신뢰 가중치 w_i를 측정한다:

,여기서 ^e는 장면의 모든 키포인트에 대한 평균 절대 오차이다.

 

Training loss.

우리의 총 학습 loss는

이다. 여기서 λ_D는 하이퍼 파라미터 균형 색상과 depth supervision이다.

 

Free training.

지금까지 free supervision을 추출하는 방법에 대해 논의했습니다, 이제 추가 supervision을 최소한의 추가 컴퓨팅으로 완벽하게 학습에 통합하는 방법을 보여드리겠습니다.

depth 렌더링과 색상 렌더링은 서로 다른 정수식을 가지고 있지만, 둘 다 입력으로 ray-tracing r(t)을 필요로 한다.

RGB 색상이 고밀도 신호임을 인식함으로써, 우리는 입력 이미지의 이중 선형 보간을 통해 중심에서 벗어난 픽셀 ray를 샘플링하고 색 supervision을 계산할 수 있다.

이를 통해 depth supervised rays를 depth-and-color supervised rays로 전환하여 RGB와 depth를 단일 전방 경로에서 동시에 학습할 수 있다.

 

 

4. Experiments

먼저 섹션 4.3의 여러 데이터 세트에 대한 뷰 합성에 대한 입력 데이터 효율성을 평가한다.

관련 NeRF 관련 방법에 대해서는 섹션 4.4에서 렌더링된 depth 맵의 오류도 평가한다.

마지막으로 섹션 4.5에서 학습 속도 개선을 분석한다.

 

4.1 Datasets

DTU MVS Dataset (DTU) [8]은 다양한 관점에서 다양한 객체를 캡처합니다.

PixelNeRF [33]에서의 Yu et al.의 설정에 따라 동일한 테스트 장면과 뷰에 대해 평가했다.

각 장면에 대해 3, 6, 9 크기의 학습 뷰의 하위 세트를 사용했다.

우리는 키포인트를 얻기 위해 ground-truth 보정 카메라 포즈로 COLMAP을 실행한다.

이미지는 학습 및 평가를 위해 400 × 300 해상도로 다운샘플링된다.

 

NeRF Real-world Data (NeRF Real) [14, 15]에는 많은 전방 시야에서 캡처한 8개의 실제 장면이 포함되어 있습니다.

크기가 2, 5, 10인 각 장면에 대해 학습 이미지의 하위 세트를 만든다.

모든 하위 집합에 대해, 우리는 카메라를 추정하고 depth supervision을 위한 희소 키포인트를 수집하기 위해 학습 이미지에 대해 COLMAP[22]를 실행한다.

 

Redwood-3dscan (Redwood) [6]에는 다양한 객체의 RGB-D 비디오가 포함되어 있다.

우리는 5개의 RGB-D 시퀀스를 선택하고 각 개체에 대해 2, 5, 10개의 학습 프레임의 하위 세트를 만든다.

우리는 COLMAP을 실행하여 그들의 카메라 포즈와 희소 포인트 클라우드를 얻는다.

COLMAP 포즈의 스케일을 스캔된 depth와 연결하기 위해, 우리는 스캔된 depth 값에 탐지된 키포인트에 가장 잘 맞는 최소 제곱을 해결한다.

자세한 내용은 arXiv 버전을 참조하십시오.

 

4.2. Comparisons

먼저 여러 관점에서 학습하는 MPI 기반 표현인 Local Lightfield Fusion (LLFF)[14]를 고려한다.

다음으로 NeRF 베이스라인 집합을 고려한다.

 

PixelNeRF [33]는 인코더를 사용하여 여러 장면에서 일반 모델을 학습함으로써 NeRF에서 확장된다.

pixelNeRF-DTU는 공개된 DTU 체크포인트를 사용하여 평가된다.

학습와 테스트 도메인이 다른 경우, 우리는 pixelNeRF를 미세 조정하기 위해 각 테스트 장면에서 추가 반복에 대한 RGB supervision을 사용하여 미세 조정한다.

 

MetaNeRF [26]는 새로운 장면에서 테스트 시간 최적화를 실행하기 전에 학습 장면의 도메인에서 더 나은 NeRF 초기화를 찾는다.

DTU는 메타 학습에 충분히 큰 유일한 데이터 세트이기 때문에, 우리는 40K 메타 반복에 대한 DTU를 통해 초기화를 학습한 다음 새로운 장면에서 1000단계에 대한 미세 조정을 학습하는 metaNeRF-DTU 베이스라인만 고려한다.

우리는 metaNeRF의 ShapeNet 실험을 따라 학습과 테스트 도메인 간의 차이에 대한 민감성을 입증한다.

 

IBRNet [28]은 MLP 및 ray 트랜스포머를 사용하여 방사선과 부피 밀도를 추정하여 NeRF를 확장합니다.

 

MVSNeRF [4]는 사전 학습된 네트워크에서 NeRF로 변환하기 전에 3개의 뷰에서 평면 스위프 볼륨을 초기화합니다.

MVSNeRF는 RGB supervision을 사용하여 추가로 최적화될 수 있습니다.

 

DS-NeRF (Ours).

KL 발산 효과를 설명하기 위해 SFM 추정치와 렌더링된 depth 사이에 MSE loss가 있는 DS-NeRF의 변형을 포함한다.

그림 6은 KL 발산 패널티가 NeRF Real 시퀀스에서 아티팩트가 적은 뷰를 생성하는 것을 정성적으로 보여준다.

 

DS with existing methods.

우리의 DS loss는 추가적인 주석이나 가정을 필요로 하지 않기 때문에, 우리의 loss는 많은 NeRF 기반 방법에 삽입될 수 있다.

여기서는 pixelNeRF 및 IBRNet을 미세 조정할 때의 loss도 통합한다.

 

4.3 Few-input view synthesis

우리는 적은 입력에서 테스트 뷰를 렌더링하는 각 방법을 비교하는 것으로 시작한다.

뷰 합성을 위해 렌더링된 뷰의 품질을 ground-truth와 비교하여 평가하는 세 가지 메트릭(PSNR, SSIM [29], LPIPS [35])을 보고한다.

표 2. DTU에 대한 합성 뷰. 우리는 DTU 데이터 세트의 15개의 테스트 장면에 대해 각각 3, 6, 9개의 뷰에서 평가한다. 학습과 테스트 사이에 도메인이 겹친다는 점을 고려할 때 pixelNeRF-DTU와 metaNeRF-DTU는 우수한 성능을 발휘한다. 데이터 세트 이전을 활용하여 부족한 정보를 보완하기 때문에 소수의 뷰 설정에서 특히 그렇다. 그럼에도 불구하고 DS-NeRF는 6개 및 9개 뷰에 대한 뷰 합성에서 여전히 경쟁력이 있다.
그림 4. DTU와 Redwood의 뷰 합성. DTU에 대해 사전 학습된 PixelNeRF는 3-view가 주어졌을 때 최고의 성능을 발휘하지만, DS-NeRF는 더 많은 뷰를 사용할 수 있을 때 시각적으로 경쟁력이 있다. Redwood에서 DS-NeRF는 2-view 설정에서 잘 작동하는 유일한 기준이다.

DTU.

우리는 표 2의 DTU에 대한 평가와 그림 4의 정성적 결과를 보여준다.

DS-NeRF는 pixelNeRF-DTU와 경쟁하는 6 및 9 입력 뷰의 이미지를 렌더링하지만, metaNeRF-DTU와 pixelNeRF-DTU는 3-뷰에서 DS-NeRF를 능가할 수 있다.

두 방법 모두 DTU 장면에서 학습되어 데이터 세트 이전을 완전히 활용할 수 있기 때문에 이는 특별히 놀라운 일이 아니다.

표 1. NeRF Real에서 뷰 합성. NeRF Real에서 2, 5, 10 뷰를 제공할 때 다양한 방법에 대한 뷰 합성 품질을 평가한다. 우리는 metaNeRF-DTU와 pixelNeRF-DTU가 DTU와의 도메인 격차로 인해 NeRF Real에서 학습하는 데 어려움을 겪는다는 것을 발견했다. PixelNeRF, IBRNet 및 MVSNeRF는 심층 depth supervision loss를 통합하여 최고의 성능을 달성할 수 있다. 우리는 DS-NeRF가 다양한 메트릭에서 특히 2 및 5 뷰와 같은 소수의 뷰 설정에서 이러한 방법을 능가한다는 것을 발견했다.

NeRF Real.

표 1에서 보듯이, 우리의 접근 방식은 특히 2개 또는 5개의 입력 뷰만 사용할 수 있는 경우 NeRF 및 LLFF보다 더 나은 점수를 가진 이미지를 렌더링한다.

우리는 또한 metaNeRF-DTU와 pixelNeRF가 그들의 명백한 약점을 강조하는 투쟁을 발견한다.

이러한 DTU 사전 학습된 모델은 DTU 외부에서 잘 수행되기 위해 노력한다.

테스트 장면의 구조에 대한 가정을 활용하지 않기 때문에 우리의 전체 접근 방식은 좋은 렌더링 결과를 달성할 수 있다.

우리는 또한 pixelNeRF 및 IBRNet과 같은 다른 방법에 depth supervision loss를 추가하고 성능이 향상된다는 것을 발견하여 많은 방법이 depth supervision을 추가함으로써 이익을 얻을 수 있음을 보여준다.

MVSNeRF는 PSV 초기화에 의해 이전에 처리되었던 기존 지오메트리를 가지고 있으므로 depth supervision을 추가하는 것으로부터의 개선을 보지 못했다.

표 3. Redwood 뷰 합성. 우리는 Redwood 데이터 세트에 대한 2, 5, 10개의 입력 뷰에 대한 뷰 합성을 평가한다. DS-NeRF(COLMAP [22] 입력 포함)는 다양한 수의 뷰에서 다양한 메트릭의 베이스라인을 능가한다. RGB-D 재구성 출력[34]으로 DS-NeRF를 학습하면 성능이 더욱 향상되어 다른 depth 소스와 함께 우리의 방법을 적용할 수 있는 가능성을 강조한다.

Redwood.

NeRF Real과 마찬가지로 표 3의 Redwood 데이터 세트에서 유사한 성능 향상을 발견했다.

Redwood는 센서와 함께 수집된 depth 측정을 포함하기 때문에, 우리는 또한 depth 관리의 대체 소스가 어떻게 결과를 개선할 수 있는지 고려한다.

COLMAP supervision을 스케일링된 Redwood depth 측정으로 대체하여 DS-NeRF를 학습하고 밀도가 높은 depth가 훨씬 더 도움이 되어 2-view에서 20.3의 PSNR을 달성한다.

표 4. depth 오류. 렌더링된 depth를 NeRF Real 및 Redwood RGBD에서 얻은 참조 "ground truth" depth와 비교한다. DS-NeRF는 테스트 뷰에서 더 낮은 depth 오류로 표시된 더 나은 형상을 추출할 수 있다. 우리는 또한 Redwood의 밀도 높은 supervision을 통해 학습된 DS-NeRF가 기본 지오메트리를 모델링하는 NeRF의 능력을 크게 향상시킬 수 있음을 보여준다.

4.4 Depth error

우리는 NeRF의 렌더링된 depth를 "ground truth" depth 측정치와 비교하여 평가한다.

NeRF Real의 경우, 올뷰 고밀도 스테레오 재구성을 실행한 후 복구된 테스트 키포인트의 참조 depth를 사용한다.

Redwood[6]의 경우 3dMatch[34]를 실행하여 출시된 3D 모델을 카메라와 정렬하고 각 테스트 뷰에 대한 참조 depth를 생성한다.

depth 오류 평가에 대한 자세한 내용은 arXiv 버전을 참조하십시오.

표 4에 나타난 바와 같이, 학습 시점의 depth에서만 얻은 supervision 하에 학습된 DS-NeRF는 다른 모든 NeRF 모델보다 더 정확하게 depth를 추정할 수 있다.

이것은 특별히 놀랍지는 않지만, RGB supervision만을 사용하여 NeRF를 학습하는 것의 약점을 강조한다.

예를 들어, 그림 5에서 NeRF는 기하학을 무시하는 경향이 있으며 일관성 있는 depth 맵을 생성하지 못한다.

그림 5. NeRF Real의 정성적 비교 2, 5, 10 뷰에 대해 학습된 다양한 NeRF 모델에 대해 새로운 뷰와 depth를 렌더링한다. DTU로 학습된 방법은 NeRF Real에서 고전하는 반면, depth supervision을 사용하는 방법은 2개의 뷰만 제공되더라도 현실적인 depth 맵으로 테스트 뷰를 렌더링할 수 있다. 정량적 비교는 표 1을 참조하십시오.

RGB-D inputs.

우리는 Redwood의 RGB-D 입력을 사용한 depth supervision의 변형을 고려한다.

우리는 RGBD 입력이 있는 3D Match[34]를 사용하여 각 학습 뷰에 대한 밀도 depth 맵을 도출한다.

고밀도 depth supervision을 통해 유효 영역의 모든 픽셀에 대해 ray를 렌더링할 수 있으며 KL depth supervision loss를 적용할 수 있다.

표 3과 표 4에서 볼 수 있듯이, 밀도 높은 depth supervision은 훨씬 더 나은 품질의 이미지를 생성하고 depth 오류를 상당히 낮춥니다.

 

4.5 Analysis

Overfitting.

그림 2는 NeRF가 축퇴 3D 형상을 학습함으로써 소수의 입력 뷰에 과적합할 수 있음을 보여준다.

depth supervision을 추가하면 NeRF가 지오메트리를 명확히 하고 더 나은 새로운 뷰를 렌더링하는 데 도움이 될 수 있다.

 

Faster Training.

NeRF 학습의 속도 향상을 정량화하기 위해 동일한 설정에서 학습 DS-NeRF와 NeRF를 비교한다.

섹션 4.3과 마찬가지로 PSNR을 사용하여 NeRF Real의 다양한 입력 뷰 수에서 테스트 뷰에 대한 뷰 합성 품질을 평가한다.

우리는 테스트 뷰에 PSNR을 그림 7의 학습 반복과 비교하여 학습 속도 성능을 비교할 수 있다.

그림 7. Faster Training. 동일한 조건에서 DS-NeRF와 NeRF를 학습하고 DS-NeRF가 NeRF의 최고 PSNR 품질에 도달하는 것을 관찰한다. 2개의 뷰에서 NeRF는 DS-NeRF의 성능을 맞출 수 없다는 것을 발견했다.

DS-NeRF는 NeRF보다 2-3배 적은 학습 반복을 사용하여 특정 테스트 PSNR 임계값을 달성한다.

이러한 이점은 뷰 수가 적을 때 크게 확대됩니다.

2-view의 극단적인 경우, NeRF는 DS-NeRF의 성능을 완전히 따라잡을 수 없습니다.

이러한 결과는 학습 반복 측면에서 제공되지만, 우리는 그것들을 벽 시간 개선으로 변환할 수 있다.

단일 RTX A5000에서 DS-NeRF의 학습 루프는 최대 362.4ms/iter가 걸리는 반면 NeRF는 최대 359.8ms/iter가 필요합니다.

따라서 5-view 사례에서 DS-NeRF는 NeRF의 피크 테스트 PSNR을 약 13시간 더 빠르게 달성하는데, 이는 무시할 수 있는 비용을 고려할 때 엄청난 개선이다.

 

Discussion

depth supervision을 활용하는 neural radiance field를 학습하기 위한 모델인 Depth-supervised NeRF를 소개한다.

우리의 모델은 표준 SFM 전처리 단계에서 계산된 희소 3D 포인트 클라우드에 의해 제공되는 "free" supervision을 사용한다.

이러한 추가 supervision은 상당한 영향을 미친다; DS-NeRF는 2-6배 더 빠르게 학습하고 더 적은 학습 뷰(PSNR을 18.2에서 22.3으로 개선)에서 더 나은 결과를 생성한다.

최근 연구는 범주별 학습 데이터에서 학습한 이전 과정을 활용하여 NeRF를 개선하려고 노력했지만, 우리의 접근 방식은 학습을 필요로 하지 않으므로 (원칙적으로) SFM이 성공하는 많은 장면으로 일반화한다.

마지막으로, 우리는 active depth 센서와 같은 대체 형태의 depth supervision을 탐구하는 대략적인 실험을 제공한다.

 

향후, 우리는 단안 depth 네트워크 또는 비디오 depth 및 역학으로부터의 출력과 같은 neural radiance field 학습에 다른 유형의 3D 정보를 통합하는 데 관심이 있다.

훨씬 더 흥미로운 것은 포인트 클라우드, 복셀 및 메시와 같은 explicit 3D 정보에서 고품질 NeRF 함수 매개 변수를 직접 초기화할 수 있는 접근 방식일 것이다.

이러한 방법은 체적 표현의 고품질 렌더링과 explicit 3D 표현의 용이성 및 접근성을 결합할 수 있다.