Untitled

✍️ Abstract

기존 grid method들은 memory footprint가 상당히 크다. 이에 NVSF, Plenoxels등은 Heuristic algorithm(progressive pruning )들을 활용해서 메모리를 줄이고자 한다. 이는 training 시간을 늘리며, hyperparameter를 추가해야하는 불편함이 있다.

Tensorf의 핵심은 feature grid가 low rank라는 inductive bias를 가지고 이를 통해 regualrization을 적용한 것이다.

(🤔 왜 feature grid가 low rank할까? - 빈공간이 많기 떄문 or 반복되는 feature들이 많기 때문?)

Radiance field를 4D tensor라고 생각하고 해당 tensor를 low-rank tensor components로 factorize해서 표현하게 되면, 한 spatial coordinate를 쿼리 할 때, 4D dense voxel 에서 쿼리를 하는게 아니라, 3개의 vector(CP decomposition)혹은, 1개의 matrix와 1개의 vector(VM decomposition)을 쿼리를 하고 해당 값의 곱으로 feature를 구할 수 있다.

4D tensor (voxel) → $\mathcal{O}(n^3)$

CP tensor factorization → $\mathcal{O}(n)$

VM tensor factorization → $\mathcal{O}(n^2)$

결과적으로 tensrof는 퀄리티를 해치지 않으면서 빠르고 memory efficient하다.

🔒 Prerequisites

CP decomposition

given a tensor $\mathcal{T} \isin \mathbb{R}^{I\times J \times K}$, CP factorizes it in to a sum of outer products of vectors

$$ \mathcal{T} = \sum^{R}_{r=1}\bold{v}_r^1\circ\bold{v}_r^2\circ\bold{v}_r^3 $$

하나의 3차원 tensor가 주어지면, 위와 같이, 이를 1차원 vector 3개의 외적의 합으로 나타낸다. $\bold{v}^1_r \isin \mathbb{R}^I$, $\bold{v}^2_r \isin \mathbb{R}^J$, $\bold{v}^2_r \isin \mathbb{R}^K$($r \text{th}$ rank-1 components)로, 각각의 factorized vector들은 한개의 mode에 대응 되며, 각각 $I, J, K$차원이다. 이때, 아래 $r$은 $r$번째 component임을 나타낸다.