[Paper Review] Mip-NeRF 360: Unbounded anti-aliased neural radiance fields

E0u0n·2023년 11월 11일
0

NeRF

목록 보기
8/12

Paper : Robust Dynamic Radiance Fields

Abstract

문제

  • NeRF는 물체와 공간의 작은 경계 영역(보통 2~6)에서 인상적인 뷰 합성 결과를 보여주지만, "unbounded" scene에서 어려움을 겪음
    • unbounded scene : 카메라가 모든 방향을 가리키고 콘텐츠가 모든 거리에 존재

  • 기존 NeRF와 유사한 모델은 저해상도 렌더링을 생성하는 경우가 많고, 훈련 속도가 느리며, 작은 이미지 세트에서 큰 장면을 재구성하는 작업의 고유 모호성으로 인해 아티팩트를 나타낼 수 있음

제안

결과

  • state-of-the-art dynamic view synthesis 방법에 비해 유리한 성능을 보임

Background

  • NeRF는 좌표 기반 다층 퍼셉트론(MLP)의 가중치 내에서 장면의 부피 밀도와 색상을 인코딩하여 장면의 매우 사실적인 렌더링을 합성한다. 이 접근 방식은 사실적인 관점 합성을 향한 상당한 진전을 가능하게 했다.
    • 그러나 NeRF는 광선을 따라 무한히 작은 3D 포인트를 사용하여 MLP에 대한 입력을 모델링하므로 다양한 해상도의 뷰를 렌더링할 때 앨리어싱이 발생한다.

      → Mip-NeRF는 NeRF를 원뿔을 따라 volumetric frustum에 대한 추론으로 확장함으로써 이 문제를 해결했다.

    • 이것은 품질을 향상시키지만 카메라가 어떤 방향을 향하고 어떤 거리에서도 장면 콘텐츠가 존재할 수 있는 경계가 없는 장면을 다룰 때 NeRF와 mip-NeRF 모두 어려움을 겪는다.

    • 본 연구는 그림 1과 같이 경계가 없는 장면의 사실적인 렌더링을 생성할 수 있는 "mip-NeRF 360"라고 하는 mip-NeRF의 확장을 제시한다.

Figure 1. (a) mip-NeRF는 객체의 정확한 렌더링을 생성할 수 있지만 경계가 없는 장면의 경우 흐릿한 배경과 낮은 세부 전경을 생성한다. (b) 본 연구 모델은 경계가 없는 장면의 상세한 사실적 렌더링을 생성한다.

  • NeRF와 유사한 모델을 경계가 없는 큰 장면에 적용하면 세 가지 문제가 발생한다.
    1. Parameterization : 경계가 없는 360도 장면은 Euclidean 공간의 임의로 큰 영역을 차지하지만, mip-NeRF에서는 3D 장면 좌표가 경계 영역에 있어야 함
    2. Efficiency : 크고 자세한 장면은 더 많은 네트워크 용량을 필요로 하지만 훈련 중 각 ray를 따라 대형 MLP를 미세하게 쿼리하는 것은 비용이 많이 듦
    3. Ambiguity : 경계가 없는 장면을 적은 ray로만 관찰하면 2D 영상에서 3D 콘텐츠를 재구성하는 고유한 모호성을 악화

Parameterization

  • perspective projection으로 인해 카메라에서 멀리 떨어진 곳에 배치된 물체는 영상 평면의 작은 부분을 차지하지만, 근처에 배치되면 영상의 더 많은 부분을 차지하고 세부적으로 볼 수 있다.
    • 따라서 3D 장면의 이상적인 parameterization은 가까운 콘텐츠에는 더 많은 용량을 할당하고 먼 콘텐츠에는 더 적은 용량을 할당해야 한다.
    • NeRF 이외의 전통적인 뷰 합성 방법 1) projective panoramic space에서 장면을 매개 변수화 2) multi-view stereo를 사용하여 복구된 일부 proxy geometry에 장면 콘텐츠를 내장
  • NeRF 성공의 한 측면은 특정 장면 유형과 적절한 3D 매개 변수화를 결합하는 것이다.
    • 기존 NeRF는 마스크된 배경이 있는 물체의 360도 캡처와 모든 이미지가 거의 동일한 방향을 향하는 전면 장면에 초점을 맞췄다.
    • 마스크된 물체의 경우 NeRF는 3D 유클리드 공간의 장면을 직접 매개변수화했지만 정면 장면의 경우 NeRF는 투영 공간에 정의된 좌표(정규화된 장치 좌표 또는 "NDC")를 사용했다.
    • NDC는 Z축을 따른 거리가 시차(역거리)에 해당하는 경계 큐브로 무한히 깊은 카메라 프루텀을 뒤틀어 원근 투영 기하학과 일치하는 방식으로 NeRF MLP의 용량을 효과적으로 재할당한다.
  • 그러나 단일 방향뿐만 아니라 모든 방향으로 경계가 없는 장면에서는 다른 parameterization가 필요하다.
    • 이는 먼 물체를 모델링하기 위해 추가 네트워크를 사용한 NeRF++와 원점을 향해 먼 지점을 축소하는 공간 왜곡 절차를 제안한 DONeRF에 의해 탐구되었다.
    • 이 두 방식은 모두 NDC와 유사하게 동작하지만 z축만 따라 움직이는 것이 아니라 모든 방향에서 작동힌다.
    • 이 아이디어를 mip-NeRF로 확장하고 (점이 아닌) 볼륨에 매끄러운 매개 변수화를 적용하는 방법을 제시하며, 경계가 없는 장면에 대한 자체 매개 변수화를 제시한다.

Efficiency

  • unbounded scene을 처리할 때 근본적인 문제는 크고 자세하다는 것이다.

    • NeRF와 유사한 모델은 적은 수의 가중치를 사용하여 장면의 객체 또는 영역을 정확하게 재현할 수 있지만, NeRF MLP의 용량은 점점 더 복잡한 장면 콘텐츠에 직면할 때 커진다.
    • 또한 장면이 클수록 표면의 정확한 위치를 파악하기 위해 각 ray를 따라 훨씬 더 많은 샘플이 필요하다.
      • 예를 들어 객체에서 건물로 NeRF를 확장할 때 MLP hidden unit의 수를 두 배로 늘리고 MLP 평가 수를 8배 늘림 → 이러한 모델 용량 증가는 비용이 많이 든다.

  • 이 훈련 비용은 NeRF 및 mip-NeRF에서 사용하는 coarse-to-fine resampling 전략에 의해 악화된다.

    • MLP는 "coarse" 및 "fine" ray 간격을 사용하여 여러 번 평가되고 두 패스 모두에서 image reconstruction loss을 사용하여 감독된다. → 이 접근 방식은 장면의 "coarse" 렌더링이 최종 이미지에 기여하지 않기 때문에 낭비적
  • 본 연구는 여러 규모로 감독되는 단일 NeRF MLP를 training하는 대신 "proposal MLP""NeRF MLP"라는 두 가지 MLP를 training한다.

    • proposal MLP는 volumetric density(색상이 아닌)를 예측하고 이러한 density는 NeRF MLP에 제공된 새로운 간격을 리샘플링하는 데 사용되며, 이는 이미지를 렌더링한다.

    • proposal MLP에 의해 생성된 가중치는 입력 이미지를 사용하여 감독되지 않고, 대신 NeRF MLP에 의해 생성된 히스토그램 가중치로 감독된다.

    • 상대적으로 큰 NeRF MLP는 여러 번 평가되는 작은 proposal MLP와 함께 사용할 수 있다.

      → 그 결과 전체 모델의 총 용량이 mip-NeRF(~15배)보다 상당히 커서 렌더링 품질이 크게 향상되지만 교육 시간은 약간(~2배) 증가한다.

  • 이 접근 방식을 일종의 "online distillation"라고 생각할 수 있다.

    • 일반적으로 "distillation"는 이미 훈련된 대형 네트워크의 출력과 일치하도록 작은 네트워크를 훈련시키는 것을 의미하지만, 여기서는 두 네트워크를 동시에 훈련시켜 NeRF MLP가 예측한 출력의 구조를 제안 MLP "online"으로 distill한다.
    • NeRV는 전혀 다른 작업에 대해 유사한 종류의 온라인 증류를 수행 : 즉, 가시성 및 간접 조명을 모델링하기 위한 목적으로 MLP를 대략적인 렌더링 적분으로 훈련시킨다.
  • 본 연구의 online distillation 접근 방식은 DONeRF에서 사용되는 "sampling oracle networks"와 유사하지만, 이 방식은 ground-truth depth를 사용한다.

    • 이는 TermiNeRF에서 사용되었지만, inference를 가속화했지만 훈련 속도를 늦춘다(NeRF는 수렴하도록 훈련되고 추가 모델은 이후에 훈련됨).
    • 학습된 "proposer" 네트워크는 NeRF에서 자세하게 조사되었지만 25%의 속도 향상만 달성하는 반면, 본 연구는 training을 300% 가속화한다.
  • 훈련된 NeRF를 빠르게 렌더링할 수 있는 형식으로 distill(증류)하거나 "bake"하려는 시도는 많았으나 이러한 기술은 training을 가속화하지 않는다.

    • octrees 또는 bounding volume hierarchies와 같은 계층적 데이터 구조를 통해 광선 추적을 가속화하는 아이디어는 렌더링 문헌에서 잘 탐구되고 있다. → 이러한 접근 방식은 장면의 기하학적 구조에 대한 a-priori 지식을 가정하므로 장면의 기하학적 구조를 알 수 없고 복구해야 하는 역 렌더링 컨텍스트로 자연스럽게 일반화되지 않는다.
    • 실제로, NeRF와 유사한 모델을 최적화하면서 octree 가속 구조를 구축했음에도 불구하고, Neural Sparse Voxel Field 접근법은 훈련 시간이 크게 줄지 않았다.

Ambiguity

  • NeRF는 많은 입력 이미지를 사용하여 최적화되지만, 새로운 카메라 각도에서 사실적으로 합성된 보기를 생성하는 NeRF를 복구하는 문제는 여전히 근본적으로 제한되지 않는다.
    • NeRF의 무한한 제품군은 입력 이미지를 설명할 수 있지만 작은 하위 집합만이 새로운 보기에 허용 가능한 결과를 생성한다.
      • 예를 들어 NeRF는 각 영상을 해당 카메라 바로 앞의 질감 평면으로 재구성하여 모든 입력 영상을 재생성할 수 있습니다.
    • 원래 NeRF 논문은 rectifier 앞에 NeRF MLP의 density head에 Gaussian noise를 주입하여 모호한 장면을 정규화했으며, 이는 밀도가 0 또는 무한대로 중력을 유도합니다. → 이것이 반투명 밀도를 감소시킴으로써 일부 "floaters"를 감소시키지만, 우리는 그것이 우리의 더 어려운 작업에 불충분하다는 것을 보여줄 것입니다.
    • 밀도에 대한 강력한 손실 또는 표면에 대한 평활도 페널티와 같은 NeRF에 대한 다른 정규화 프로그램이 제안되었지만, 이러한 솔루션은 우리와 다른 문제(각각 느린 렌더링 및 매끄럽지 않은 표면)를 해결합니다.
    • 또한 이러한 정규화기는 NeRF에서 사용되는 포인트 샘플을 위해 설계된 반면, 우리의 접근 방식은 각 mip-NeRF 광선을 따라 정의된 연속 가중치로 작동하도록 설계되었습니다.

1. Preliminaries: mip-NeRF

  • 완전히 훈련된 mip-NeRF가 장면에 캐스팅된 단일 ray의 색상 렌더링 방법
    • r(t)=o+td\mathbf r(t)=\mathbf o+t\mathbf d → o와 d는 각각 ray의 원점과 방향, t는 광선을 따른 거리
    • ray가 간격 Ti=[ti,ti+1)T_i = [t_i, t_{i+1}) 로 분할
    • 각 간격 ii에 대해 간격(영상 평면에서 ray의 초점 길이와 픽셀 크기에 의해 반지름 결정)에 해당하는 원뿔형 frustum의 평균 및 공분산 (μ,)=r(Ti)(\mu, \sum) = \mathbf r(Ti) 을 계산하고 integrated positional encoding을 사용하여 featurize :
γ(μ,Σ)={[sin(2μ)exp(221diag(Σ))cos(2μ)exp(221diag(Σ))]}=0L1(1)\gamma(\boldsymbol{\mu}, \boldsymbol{\Sigma})=\left\{\left[\begin{array}{l} \sin \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \\ \cos \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \end{array}\right]\right\}_{\ell=0}^{L-1} \tag 1
  • 이는 원뿔 frustum에 가까운 Gaussian과 관련하여 NeRF가 사용하는 인코딩의 예상치
    • 이러한 feature는 density τ\tau 및 색상 c\mathbf c 를 출력하는 가중치 ΘNeRF\Theta_{\text{NeRF}} 로, 매개변수화된 MLP의 입력으로 사용
Tit,(τi,ci)=MLP(γ(r(Ti));ΘNeRF)(2)∀T_i \in \mathbf t, \, \, ( \tau_i,\mathbf c_i)=\text {MLP}(\gamma(\mathbf r(T_i)); \, \Theta_{\text{NeRF}}) \tag 2
  • view direction d\mathbf d 는 MLP에 대한 입력으로도 제공되지만, 단순성을 위해 생략(?)
    • 수치 구적법을 사용하여 이러한 밀도와 색상으로 볼륨 렌더링 적분을 근사화
      C(r,t)=iwici(3)\mathbf C(\mathbf r, \mathbf t)=\sum_{i} {w_i \mathbf c_i} \tag 3
      wi=(1eτi(ti+1ti))ei<iτi(ti+1ti)(4)w_i=(1-e^{-\tau_i(t_{i+1}-t_i)})e^{-\sum_{i'<i}\tau_{i'}(t_{i'+1}-t_{i'})} \tag 4
    • C(r,t)\mathbf C(\mathbf r, \mathbf t) : 최종 렌더링된 픽셀 색상
    • 구성에 의해 alpha compositing weight w\mathbf w 는 합계가 1보다 작거나 같도록 보장
  • ray는 먼저 카메라의 near 및 far 평면인 [tn,tf][t_n,t_f] 에 걸친 균일한 분포에서 샘플을 정렬한 균일한 "coarse" 거리 tc\mathbf t^c 를 사용하여 렌더링
    tcU[tn,tf],tc=sort({tc})(5)t^c \sim \mathcal U[t_n,t_f], \,\,\, \mathbf t^c=\text{sort}(\{t^c\}) \tag 5
    • trianing 중 이 샘플링은 확률적이지만 evaluation 중 샘플은 tnt_n에서 tft_f까지 균일한 간격
  • MLP가 “coarse" 가중치 wc\mathbf w^c의 벡터를 생성한 후, inverse transform sampling을 사용하여 tc\mathbf t^cwc\mathbf w^c에 의해 정의된 히스토그램에서 "fine" 거리 tf\mathbf t^f를 샘플링
    tfhist[tc,wc],tf=sort({tf})(6)t^f \sim \text {hist}[\mathbf t^c,\mathbf w^c], \,\,\, \mathbf t^f=\text{sort}(\{t^f\}) \tag 6
    • coarse 가중치 wc\mathbf w^c는 장면 내용 주위에 집중되는 경향이 있기 때문에 이 전략은 샘플링 효율성을 향상시킴
  • Mip-NeRF는 coarse and fine reconstruction losses의 가중 조합을 최소화하기 위해 gradient descent를 통해 MLP 매개변수 ΘNeRF\Theta_{\text{NeRF}} 를 최적화하여 복구됨
    rR110Lrecon(C(r,tc),C(r))+Lrecon(C(r,tf),C(r))(7)\sum_{r \in \mathcal R} \frac{1}{10} \mathcal L_\text{recon} (\mathbf C(\mathbf r,\mathbf t^c),\mathbf C^*(\mathbf r))+\mathcal L_\text{recon} (\mathbf C(\mathbf r,\mathbf t^f),\mathbf C^*(\mathbf r)) \tag 7
    • R\mathcal R : the set of rays in our training data
    • C(r)\mathbf C^*(\mathbf r) : the ground truth color corresponding to ray r\mathbf r taken from an input image
    • Lrecon\mathcal L_\text{recon} : mean squared error

2. Scene and Ray Parameterization

  • 경계가 없는 장면에 대한 의 parameterization에 대한 이전 연구는 mip-NeRF를 위한 솔루션을 제공하지 않는다.
    • mip-NeRF는 Gaussian을 다시 parameterization 해야 함

    • 이를 위해 f(x)f(\mathbf x)RnRn\mathbb R^n → \mathbb R^n(n=3n = 3)에서 매핑되는 부드러운 좌표 변환으로 정의

    • 이 함수의 linear approximation 계산 :

      f(x)f(μ)+Jf(μ)(xμ)(8)f(\mathbf x)\approx f(\mu)+\mathbf J_f(\mu)(\mathbf x-\mu) \tag 8
    • Jf(μ)J_f(\mu) : the Jacobian of ff at μ\mu

  • ff는 다음과 같이 (μ,)(\mu,\sum)에 적용 가능
    f(μ,Σ)(f(μ),Jf(μ)ΣJf(μ)T)(9)f(\mu,\Sigma)\approx (f(\mu),\mathbf J_f(\mu)\Sigma\mathbf J_f(\mu)^T) \tag 9
    • ff : the state transition model
    • 이는 기능적으로 고전적인 Extended Kalman filter와 동일

Extended Kalman filter
현재 평균 및 공분산 의 추정에 대해 선형화하는 Kalman filter의 비선형 버전
xk=f(xk1,uk)+wkx_k=f(x_{k-1},u_k)+w_k
zk=h(xk)+vkz_k=h(x_k)+v_k

  • ff에 대해 본 연구는 다음과 같이 범위 수축
contract(x)={xx1(21x)(xx)x>1(10)\operatorname{contract}(\mathbf{x})= \begin{cases}\mathbf{x} & \|\mathbf{x}\| \leq 1 \\ \left(2-\frac{1}{\|\mathbf{x}\|}\right)\left(\frac{\mathbf{x}}{\|\mathbf{x}\|}\right) & \|\mathbf{x}\|>1\end{cases} \tag {10}
  • 이 설계는 NDC와 동일한 motivation을 가짐

    • distance 보다는 disparity(inverse distance, 격차)에 비례하여 distant points를 분배

    • 본 연구의 모델은 이 수축된 공간에서의 feature 사용 : γ(contract(µ,))γ(\text {contract}(µ, \sum))
      - 기존 유클리드 공간에서 mip-NeRF의 IPE feature는 아래 식과 같음

      γ(μ,Σ)={[sin(2μ)exp(221diag(Σ))cos(2μ)exp(221diag(Σ))]}=0L1(1)\gamma(\boldsymbol{\mu}, \boldsymbol{\Sigma})=\left\{\left[\begin{array}{l} \sin \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \\ \cos \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \end{array}\right]\right\}_{\ell=0}^{L-1} \tag 1

      Figure 2. A 2D visualization of our scene parameterization. 반경 1(파란색) 내의 점이 영향을 받지 않는 반경 2(주황색)의 공에 좌표를 매핑하는 수축(·) 연산자를 정의한다. 이 수축을 칼만 필터와 유사하게 유클리드 3D 공간(회색 타원)의 mip-NeRF 가우스에 적용하여 중심이 반경 2의 공 내에 있음이 보장되는 수축 가우스(빨간 타원)를 생성한다. 수축(·)의 설계는 시차에 따라 선형적으로 우주 광선 간격을 선택하는 우리의 선택과 결합되어 장면의 원점에 위치한 카메라에서 캐스팅된 광선이 여기서 설명한 것처럼 주황색 영역에서 동일한 간격을 가질 것을 의미한다.

  • ray 거리 t**t**를 선택하는 방법

    • NeRF에서는 일반적으로 near 및 far 평면에서 균일하게 샘플링
    • NDC parameterization을 사용하는 경우, 이 균일 샘플링은 실제로 역 깊이(분산)에서 균일하게 간격이 지정 → 이는 경계가 없는 장면에서 카메라가 한 방향으로만 향할 때는 적합하지만, 모든 방향에는 적용되지 않음
    • 따라서 거리 tt를 disparity로 선형적으로 명시적으로 샘플링
  • disparity의 관점에서 ray를 parameterization하기 위해 Euclidean ray distance tt와 "정규화된" ray distance 사이의 invertible(가역) mapping 정의 :

    sg(t)g(tn)g(tf)g(tn),tg1(sg(tf)+(1s)g(tn))(11)s \triangleq \frac{g(t)-g\left(t_n\right)}{g\left(t_f\right)-g\left(t_n\right)}, \quad t \triangleq g^{-1}\left(s \cdot g\left(t_f\right)+(1-s) \cdot g\left(t_n\right)\right) \text {, } \tag {11}
    • g()g(\cdot) : some invertible scalar function.
    • 이를 통해 [tn,tf][t_n,t_f] 에 매핑되는 "정규화된" ray 거리 s[0,1]s∈ [0,1] 을 얻을 수 있다.
  • g(x)=1/xg(x) = 1/x 으로 설정하고 ss-space에 균일하게 분포하는 ray 샘플을 구성함으로써, tt-distance가 불균형하고 선형적으로 분포되는 ray 샘플을 생성

    • 본 연구의 모델은 ss-distance를 사용하여 샘플링을 수행
      • tt-distance를 사용하여 coarse와 fine 샘플링을 수행하지 않음
      • 이는 초기 샘플이 선형적으로 간격을 두고 불균형을 보일 뿐만 아니라 가중치 w의 개별 간격에서 후속 리샘플링도 유사하게 분포된다는 것을 의미 (?)
    • 그림의 중앙에 있는 카메라처럼 ray 샘플의 linear-in-disparity 간격 균형을 축소(·)
    • scene coordinate space을 inverse-depth 간격으로 공동 설계 → 이는 원본 NeRF의 경계 공간 내 uniform sampling과 매우 유사한 경계 없는 장면의 parameterization를 제공

3. Coarse-to-Fine Online Distillation

Figure 3. 본 연구의 모델 아키텍처와 mipNeRF의 비교. Mip-NeRF는 다음 단계의 간격으로 리샘플링되는 가중치에 대해 반복적으로 쿼리되는 하나의 multi-scale MLP(여기에 표시된 두 번의 반복만)를 사용하고 모든 스케일에서 생성되는 렌더링을 감독한다. 본 연구는 리샘플링되는 가중치(색상이 아닌)를 방출하는 "proposal MLP"를 사용하고, 마지막 단계에서는 "NeRF MLP"를 사용하여 렌더링된 이미지를 생성하는 가중치와 색상을 생성하여 감독한다. proposal MLP는 NeRF MLP의 w{\mathbf w} 출력과 일치하는 proposal 가중치 w^\hat {\mathbf w}를 생성하도록 훈련되었다. 작은 proposal MLP와 큰 NeRF MLP를 사용하여 여전히 훈련하기 쉬운 대용량의 결합 모델을 얻는다.

  • 본 연구는 기존 coarse, fine mlp를 학습시키는 것이 아닌, "NeRF MLP" ΘNeRF\Theta _\text{NeRF}(기존 mlp와 유사)와 "proposal MLP" Θprop\Theta _\text{prop}라는 두 가지 MLP를 훈련

    • 기존 mip-NeRF는 MLP가 "Coarse" 평가 후, "Fine" 으로 다시 평가되는 resampling 전략을 사용하고, 두 level에서 이미지 reconstruction loss을 사용하여 감독됨
  • proposal MLP는 volumetric density를 예측하지만 색상은 예측하지 않음

    • proposal weights w^\hat {\mathbf w}는 샘플 s 간격에 사용되며, 이는 이미지 렌더링에 사용하기 위해 자체 가중치 벡터 w{\mathbf w}(및 색상 추정치)를 예측하는 NeRF MLP에 제공
    • proposal MLP는 입력 이미지를 재현하도록 훈련되지 않고, 대신 NeRF MLP에 의해 생성된 가중치를 결합하도록 훈련
  • 두 MLP는 무작위로 초기화되고 공동으로 훈련되기 때문에 이 감독은 proposal MLP에 대한 NeRF MLP의 지식의 일종인 "online distillation"로 취급 가능

    • 본 연구는 큰 NeRF MLP와 작은 proposal MLP를 사용하고, proposal MLP를 많은 샘플로 반복적으로 평가하고 리샘플링하지만, 더 작은 샘플 세트로 NeRF MLP를 한 번만 평가

      → 이는 view synthesis보다 NeRF MLP를 distilling하는 것이 더 쉬운 작업임을 시사

  • 이 online distillation에는 proposal MLP(t^,w^)(\hat {\mathbf t},\hat {\mathbf w})와 NeRF MLP(t,w)({\mathbf t},{\mathbf w})가 방출하는 히스토그램이 일관성을 갖도록 유도하는 loss function이 필요

    • proposal MLP가 장면 콘텐츠가 존재하는 거리 집합을 성공적으로 추려내면 t^\mathbf {\hat t}t\mathbf t는 매우 다를 것
    • 문헌에는 동일한 bin을 가진 두 히스토그램 간의 차이를 측정하기 위한 많은 접근법이 포함되어 있지만, 본 연구의 사례는 충분히 탐구되지 않음 → 이 문제는 하나의 히스토그램 bin 내에서 콘텐츠의 분포에 대해 어떤 것도 가정할 수 없기 때문에 어려움
    • 가중치가 0이 아닌 구간은 1) 전체 구간에 걸쳐 균일한 가중치 분포 2) 해당 구간의 임의의 위치에 있는 델타 함수 3) 무수히 많은 다른 분포를 나타낼 수 있음
  • loss function의 구성

    • 두 히스토그램이 단일 질량 분포를 사용하여 설명될 수 있는 경우 loss는 0이어야 함

    • 0이 아닌 loss는 두 히스토그램이 동일한 "참" 연속 질량 분포를 반영하는 것이 불가능한 경우에만 발생할 수 있음

    • 이를 위해, 먼저 간격 TT와 겹치는 모든 proposal weight의 합을 계산하는 함수를 정의 :

      bound(t^,w^,T)=j:TT^jw^j(12)\text {bound}(\hat{\mathbf t},\hat{\mathbf w},T)=\sum_{j:T \cap \hat T_j \neq \oslash} \hat w_j \tag {12}
    • 두 히스토그램이 서로 일치하는 경우 (t,w)(\mathbf t, \mathbf w)의 모든 구간 (Ti,w)(T_i, w)에 대해 wibound(t^,w^,T)w_i≤\text {bound}(\hat{\mathbf t},\hat{\mathbf w},T)를 유지해야 함

    • 이 속성은 측정 이론에서 외부 측정의 추가성 속성과 유사

  • 본 연구의 loss는 이 불평등을 위반하고 이 경계를 넘어가는 나머지 히스토그램 질량을 억제 :

    Lprop(t,w,t^,w^)=i1wimax(0,wibound(t^,w^,Ti))2(13)\mathcal L_\text{prop}(\mathbf t, \mathbf w, \mathbf {\hat t} , \mathbf {\hat w}) =\sum_{i} \frac{1}{w_i} \text {max}(0,w_i-\text{bound}(\mathbf {\hat t}, \mathbf {\hat w},T_i))^2 \tag {13}
    • 이 loss는 통계 및 컴퓨터 비전에 자주 사용되는 chi-squared histogram distance의 half-quadratic(반차) 버전과 유사

      Chi-Square
      우리가 기록해서 보유하고 있는 histogram을 기준으로 현재 이러한 histogram 나타날 확률이 얼마나 되는지를 나타내는 척도

    • NeRF MLP가 암시하는 분포를 과소평가하기 위해 proposal 가중치를 처벌하고 싶기에 이 loss는 비대칭적

    • proposal 가중치가 NeRF 가중치보다 더 coarse하기에 그 위에 상한을 형성하기 때문에 과대평가가 예상

    • wiw_i 로 나누면 경계에 대한 이 loss의 기울기는 경계가 0일 때 상수 값이 되도록 보장되며, 이는 잘 동작하는 최적화로 이어짐

    • t^\mathbf {\hat t}t\mathbf t가 정렬되기 때문에, summed-area tables를 사용하여 방정식 13을 효율적으로 계산

    • 이 loss는 거리 tt 의 단조로운 변환(w^\mathbf {\hat w}w\mathbf w가 이미 tt -space에서 계산되었다고 가정)에 불변하므로 Euclidean ray 거리에 적용하든 정규화된 ray ss-distance에 적용하든 동일하게 동작

  • NeRF 히스토그램 (t,w)(\mathbf t, \mathbf w)과 모든 proposal 히스토그램 (t^k,w^k)(\hat{\mathbf t}^k,\hat{\mathbf w}^k) 사이에 이 loss 부과

    • NeRF MLP는 mip-NeRF와 같이 입력 영상 Lrecon\mathcal L_\text{recon}으로 reconstruction loss를 사용하여 감독

    • Lprop\mathcal L_\text{prop}을 계산할 때 NeRF MLP의 출력 tw에 stop-gradient을 배치하여 NeRF MLP가 "선두"하고 proposal MLP가 "추종"하도록 함 → 그렇지 않으면 장면 재구성 악화

    • 여기서 NeRF MLP는 점진적으로 장면의 표면 주위에 가중치를 국소화하는 반면, proposal MLP는 NeRF 가중치를 포함하는 coarse proposal 히스토그램을 "파악"하고 예측

      Figure 4. training 과정에서 데이터 세트의 bicycle 장면에서 단일 ray에 대해 NeRF MLP(검은색)에서 방출된 히스토그램(t,w)(\mathbf t, \mathbf w)과 제안 MLP(노란색 및 주황색)에서 방출된 히스토그램(t^,w^)(\hat{\mathbf t},\hat{\mathbf w}) 두 세트의 시각화. 아래에서는 고정된 x축과 y축으로 전체 ray를 시각화하지만 위에서는 두 축을 잘라내어 장면 콘텐츠 근처의 세부 정보를 더 잘 시각화한다. 히스토그램 가중치는 1에 통합되는 분포로 표시된다. (a) training이 시작되면 모든 가중치가 광선 거리에 대해 균일하게 분포된다. (b, c) training이 진행됨에 따라 NeRF 가중치는 표면 주위에 집중되기 시작하고 proposal 가중치는 그러한 NeRF 가중치 주위에 일종의 envelope(외피?)를 형성한다.

4. Regularization for Interval-Based Models

  • 잘못된 자세로 인해, 훈련된 NeRF는 그림 5(a)에 표시된 "floaters"와 "background collapse"라고 부르는 두 가지 특징적인 아티팩트를 보임
    • "floaters" : 부피 밀도가 높은 공간의 연결되지 않은 작은 영역을 가리키며 다른 각도에서 보면 흐릿한 구름처럼 보임

    • "background collapse" : 멀리 떨어진 표면이 카메라에 가까운 밀도 높은 콘텐츠의 반투명 구름으로 잘못 모델링되는 현상을 의미

    • 아티팩트를 더 효과적으로 방지하는 regularizer 제시 5(c)
      - 기존 NeRF는 volumetric density에 노이즈를 주입하였음 5(b)

      Figure 5. regularizer는 "floaters"(깊이 지도에서 식별하기 쉬운 공간에 떠 있는 반투명 물질 조각)를 억제하고 배경의 표면이 카메라를 향해 "collapse"되는 현상을 방지한다.((a)의 왼쪽 하단에 표시). 기존 NeRF의 노이즈 주입 방식은 이러한 아티팩트를 부분적으로만 제거하고 재구성 품질을 저하시킨다(먼 나무 깊이의 세부 정보 부족에 유의).

  • 본 연구의 regularizer는 각 ray를 parameterize하는 일련의 (정규화된) ray 거리와 가중치에 의해 정의된 단계 함수 측면에서 간단한 정의를 가짐 :
    Ldist (s,w)=ws(u)ws(v)uvdudv(14)\mathcal{L}_{\text {dist }}(\mathbf{s}, \mathbf{w})=\int_{-\infty}^{\infty} \int_{\mathbf{w}_{\mathbf{s}}}(u) \mathbf{w}_{\mathbf{s}}(v)|u-v| d_u d_v \tag {14}
    • ws(u)\mathbf w_\mathbf{s}(u) : u:ws(u)=iwi1[si,si+1)(u)u: \mathbf w_\mathbf{s}(u) = \sum _iw_i \mathbb{1}_{[s_i,s_{i+1})}(u)에서 (s,w)(\mathbf s, \mathbf w)에 의해 정의된 step function로의 보간
    • t\mathbf t를 사용하면 거리 간격이 크게 증가하고 근처 간격이 효과적으로 무시되기 때문에 정규화된 ray 거리를 사용
    • 이 loss는 NeRF MLP에 의해 각 포인트에 할당된 가중치로 스케일링된 이 1D step 함수를 따르는 모든 포인트 쌍 사이의 거리의 적분
  • k-means에 의해 최소화된 왜곡의 연속 버전과 유사하기 때문에 이를 "distortion"이라고 함(일종의 autocorrelation을 최대화하는 것으로 생각할 수도 있음)
    • 이 loss는 w=0\mathbf w = 0 으로 설정하여 최소화(정확히 1이 아닌 w\mathbf w의 합이 1 이하인 경우)

    • 이 방법이 불가능한 경우(즉, 광선이 비어 있지 않은 경우), 가중치를 가능한 한 작은 영역으로 통합하여 최소화

      Figure 6. toy step 함수에서 s\mathbf sw\mathbf w의 함수로서 regularizer의 기울기인 Ldist∇\mathcal L_\text{dist}의 시각화. loss는 1) 각 간격의 폭을 최소화하고, 2) 서로를 향해 먼 간격을 당기고, 3) 가중치를 단일 간격 또는 작은 수와 가까운 간격으로 통합하고, 4) 가능한 경우 모든 가중치를 0으로 구동함으로써 각 ray가 가능한 한 소형화되도록 장려한다.

  • 식 14의 계산을 더 쉽게 하기 위해 각 구간 내에서 일정한 값을 가지는 ws()\mathbf w_s(·) 를 통해 식을 다시 작성:
    Ldist (s,w)=i,jwiwjsi+si+12sj+sj+12+13iwi2(si+1si)(15)\begin{aligned}\mathcal{L}_{\text {dist }}(\mathbf{s}, \mathbf{w}) & =\sum_{i, j} w_i w_j\left|\frac{s_i+s_{i+1}}{2}-\frac{s_j+s_{j+1}}{2}\right| \\& +\frac{1}{3} \sum_i w_i^2\left(s_{i+1}-s_i\right)\end{aligned} \tag {15}
    • 첫 번째 항은 모든 간격 중간점 쌍 사이의 가중 거리를 최소화하고, 두 번째 항은 각 개별 간격의 가중 크기를 최소화

5. Optimization

  • 4개의 레이어와 256개의 숨겨진 유닛을 가진 제안 MLP와 8개의 레이어와 1024개의 숨겨진 유닛을 가진 NeRF MLP를 사용
    • density τ\tau에 대해 ReLU 내부 활성화와 소프트플러스 활성화를 사용
    • 각각 64개의 샘플을 사용하여 (s^0,w^0)(\hat{\mathbf s}^0, \hat{\mathbf w}^0)(s^1,w^1)(\hat{\mathbf s}^1, \hat{\mathbf w}^1)을 생성하는 proposal MLP의 두 단계 평가 및 리샘플링을 수행한 다음 32개 샘플을 사용하여 NeRF MLP의 한 단계 평가를 수행하여 (s,w)(\mathbf s, \mathbf w)를 생성
  • 다음 loss를 최소화 :
    Lrecon(C(t),C)+λLdist(s,w)+k=01Lprop(s,w,s^k,w^k)(16)\mathcal L_{\text{recon}}(\mathbf C(\mathbf t), \mathbf C^*)+\lambda \mathcal L_{\text{dist}}(\mathbf s, \mathbf w)+\sum_{k=0}^{1}\mathcal L_{\text{prop}}(\mathbf s, \mathbf {w}, \mathbf {\hat s}^k,\mathbf {\hat w}^k) \tag {16}
    • 각 batch의 모든 ray에 대해 평균화됨(레이는 우리의 표기법에 포함되지 않음)
    • λ=0.01\lambda =0.01 → 데이터 항 Lrecon\mathcal L_\text{recon}과 regularizer Ldist\mathcal L_\text{dist}의 균형을 맞춤
    • Lprop\mathcal L_\text{prop}에 사용된 stop-gradient : ΘNeRF\Theta _\text{NeRF}의 최적화와 독립적으로 Θprop\Theta _\text{prop}의 최적화를 만들어 주므로 Lprop\mathcal L_\text{prop}의 효과를 확장하는 hyperparameter가 필요하지 않음
    • Lrecon\mathcal L_\text{recon} : Charbonnier loss (xx)+ϵ2,ϵ=0.001\sqrt {(x-x^*)+\epsilon^2}, \,\, \epsilon=0.001 → 이는 mip-NeRF에 사용된 MSE 보다 약간 더 안정적인 최적화를 달성
  • mip-NeRF’s learning schedule을 수정하여 모델 학습
    • 250k250\text k iterations of optimization with a batch size of 2142^{14}
    • Adam : β1=0.9,β2=0.999,ϵ=106\beta_1=0.9, \, \beta_2=0.999, \, \epsilon=10^{-6}
    • learning rate : s annealed log-linearly from 2×1032 × 10^{-3} to 2×1052 × 10^{-5} with a warm-up phase of 512512 iterations
    • gradient clipping : norm of 10310^{-3}

6. Results

  • 새로운 데이터 세트에서 모델을 평가 : 각각 복잡한 중앙 객체 또는 영역과 세부 배경을 포함하는 9개의 장면(실외 5개, 실내 4개)
  • 카메라 노출 고정, 조명 변화 최소화하며 움직이는 객체를 피함으로써 광도 변화를 방지
  • Camera pose는 NeRF에서와 같이 COLMAP을 사용하여 추정

Compared methods

  • NeRF 및 mip-NeRF : 두 모델이 사용하는 좌표 공간 내부에 전체 장면을 묶기 위해 추가 positional encoding frequencies를 사용
  • NeRF w/ DOneRF parameter : 로그 공간의 샘플과 본 연구의 것과 다른 수축을 사용하는 DOneRF의 scene parameterization를 사용
  • NeRF++ : 두 개의 MLP를 사용하여 각 장면의 "내부"와 "외부"를 별도로 인코딩
  • Deep Blending 및 Point-Based Neural Rendering : external proxy geometry에 의존하는 two real-time IBR-based view synthesis 접근 방식
  • Stable View Synthesis : 신경망이 외부 장면에 대해 훈련되고 structure-from-motion으로 생성된 proxy geometry와 결합되는 다른 view-synthesis paradigm의 SOTA non-NeRF 모델
  • 변형된 mip-NeRF 및 NeRF++ : 각 모델의 기본이 되는 MLP(s)가 매개 변수 수(mip-NeR : 1024 hidden unit, NeRF+ : 두 MLP 512 hidden unit) 측면에서 자체 모델과 대략 일치하도록
  • 자체 모델의 변형 : 장면 캡처 동안 일관되지 않은 조명 조건으로 인해 발생하는 아티팩트를 개선하는 NeRF-W에 제시된 latent appearance embedding(4차원)을 사용

Comparative evaluation

Table 1. 본 논문에 제시된 데이터 세트를 사용한 여러 이전 연구와 모델의 정량적 비교

  • 모든 NeRF 유사 모델의 경우 32개 core가 있는 TPU v2에서 모델 크기뿐만 아니라 training 시간도 보고한다.
    • 자체 모델은 이전의 모든 NeRF 유사 모델을 상당한 차이로 능가하며, training 시간이 2.17배 증가하여 mip-NeRF에 비해 MSE가 57% 감소했다.
    • 더 큰 MLP를 사용하는 mip-NeRF 및 NeRF++ baseline은 더 경쟁력이 있지만 자체 모델보다 훈련 속도가 ~3배 느리면서도 정확도는 훨씬 낮다.
  • 자체 모델은 모든 error metric에서 Deep Blending 및 PointBased Neural Rendering을 능가한다.
    • PSNR 및 SSIM에 대한 SVS보다 성능이 우수하지만 LPIPS는 능가하지 않는다.
    • 이는 SVS가 직접 LPIPS-like perceptual loss를 최소화하도록 감독되지만, 본 연구에서는 픽셀당 reconstruction loss은 최소화하기 때문일 수 있다.
  • 자체 모델에는 화질 외에도 SVS 및 Deep Blending에 비해 몇 가지 장점이 있다.
    • 위 두 모델은 외부 학습 데이터가 필요하지만 자체 모델에는 MVS 패키지에서 생성된 proxy geometry가 필요하다(해당 geometry가 올바르지 않으면 실패할 수 있음).

    • 자체 모델은 매우 상세한 깊이 맵을 생성하지만 SVS 및 Deep Blending은 그렇지 않다.

      Figure 7. (a) 데이터 세트의 stump 장면의 테스트 세트 이미지, (b) 모델의 렌더링된 이미지와 깊이 맵(median ray termination distance). 이전 작업(c-e)에 비해 렌더링은 ground-truth과 더 유사하고 깊이는 더 그럴듯해 보인다(사용할 수 있는 ground-truth 깊이는 없음).

Ablation study

Table 2. 효과를 측정하기 위해 모형 구성 요소를 제거하거나 교체하는 ablation study

A) Lprop\mathcal L_\text{prop}을 제거하면 training 중에 proposal MLP가 감독되지 않기 때문에 큰 성능 저하

B) Ldist\mathcal L_\text{dist}를 제거하면 metric에 실질적으로 영향을 미치지 않지만 scene geometry에서 "floater" 아티팩트 발생

C) density에 Gaussian noise(σ=1)(\sigma = 1)를 주입하는 기존 NeRF가 제안한 정규화는 성능 저하(floater를 제거하는 데는 효과가 적음)

D) proposal MLP를 제거하고 단일 MLP를 사용하여 장면과 proposal 가중치를 모두 모델링하면 성능이 저하되지 않고 훈련 시간이 ~3배 증가 → small proposal MLP 사용 필요

E) proposal MLP를 제거하고 mip-NeRF의 접근 방식을 사용하면 속도와 정확도가 모두 저하(Lprop\mathcal L_\text{prop}을 사용하는 대신 모든 coarse scale에서 Lrecon\mathcal L_\text{recon}을 제거) → 본 연구의 감독 전략을 정당화

F) 작은 NeRF MLP(1024 hidden unit 대신 256 hidden unit)를 사용하면 훈련이 가속되지만, 품질 저하 → 세부 장면을 처리할 때 고용량 모델의 가치가 입증

G) IPE를 제거하고 NeRF의 positional encoding을 사용하면 성능 저하 → NeRF 대신 mip-NeRF에 구축된 값이 표시

H) 수축하지 않고 positional encoding frequencies를 추가하면 정확도와 속도 저하

I) DONeRF에 제시된 parameterization 및 ray-spacing을 사용하면 정확도 저하

Limitations

  • mip-NeRF 360은 mip-NeRF 및 기타 이전 작업을 크게 능가하지만 완벽하지는 않음
  • 카메라를 장면의 중심에서 멀리 이동시킨 경우 뷰 합성 품질이 저하될 가능성이 있음
  • 장면을 복구하는 데는 장치 내 training을 배제하고 가속기에 대한 몇 시간의 training이 필요
  • 자전거 장면의 바퀴살(Figure 5) 또는 그루터기 장면의 잎맥(Figure 7)과 같은 일부 얇은 구조 및 미세 세부 사항이 누락될 수 있음

7. Conclusion

  • 본 연구는 제한되지 않은 카메라 방향을 가진 실제 장면을 위해 설계된 mip-NeRF 확장인 mip-NeRF 360을 제시
  • 새로운 Kalman-like scene parameterization, 효율적인 proposal-based coarse-to-fine distillation framework 및 mip-NeRF ray intervals을 위해 설계된 regularizer를 사용
  • mip-NeRF에 비해 MSE가 57% 감소하여 경계가 없는 실제 장면에 도전하기 위한 현실적인 novel view와 복잡한 depth map을 합성할 수 있음

Reference

profile
이세계 개발자입니다.

0개의 댓글