w:=(θ,ϕ) ( θ:=(θxy,θxt,θyt,θxyt) )
Coordinate-to-latent mapping gθ
: gθ=gθxy×gθxt×gθyt×gθxyt with gθ(x,y,t)=(zxy,zxt,zyt,zxyt)
a. Learnable latent keyframes gθxy,gθxt,gθyt
- Image-like 2D latent spatial grid U는 L-level multi-resolution structure를 가지며( i.e. U:=(U1,...,UL) ), 각 spatial grid Ul은 Hl=⌊γl−1H1⌋, Wl=⌊γl−1W1⌋의 size를 가진다. (coarse to fine) ⇒ L=16,γ=1.35,H1=W1=16
→ Ul:=(uijl)∈RHl×Wl×C for l=1,...,L
→ 다양한 크기의 동일한 객체에 대한 학습을 기대.
- 예를 들어, Uθxy는 temporal axis에 대해 공통적인 특징들(ex. 배경, 워터마크 등)을 학습한다.
- Ul의 각 좌표에 해당하는 latent code uijl은 C-dimensional vector에 해당하며, latent vector zytl은 가장 인접한 네 개의 latent code를 linearly interpolate한 값을 갖는다. (이 때, 주어진 (y,t) 좌표에 대한 Hl×Wl grid의 relative position이 고려되며, 핵심은 latent code가 학습된다는 것과 across spatial axes에 대해서도 고려한다는 것.) ⇒ C=2 and 4 for NVP-S and NVP-L, respectively.
b. Sparse positional features gθxyt
- Video-like 3D latent spatial grid Uθxyt는 실제 video의 3D RGB grid보다 훨씬 작은 H×W×S의 크기를 가진다.
→ Uθxyt:=(uijk)∈RH×W×S×D
⇒ 300×300×300 for ShakeNDry, 300×300×600 for UVG-HD
- Uθxyt의 각 좌표에 해당하는 latent code uijk는 D-dimensional vector에 해당하며, latent vector zxyt는 인접한 h×w×s개의 latent code를 concatenate하여 구해진다. (h,w,s는 hyperparameter에 해당한다.)
→ Sparse 3D grid 상의 latent code 하나만으로는 주어진 좌표에 대한 정보가 충분히 담기지 않아 여러 vector를 concatenate하였으며, linear interpolation은 computational cost가 증가하여 선택하지 않았다.
⇒ h=3,w=3,s=1, D=2 and 4 for NVP-S and NVP-L, respectively.
- 임의의 (x,y,t) 좌표에 대한 RGB 값을 구하기 위해 network 상의 모든 parameter를 활용했던 기존의 CNR과는 달리, Uθxyt의 locality를 활용하여 계산 효율을 높였다.
정리하면, 아래의 표와 같다.
| Latent keyframes gθxy,gθxt,gθyt | Sparse positional features gθxyt |
---|
Grids | "Image-like" 2D latent grids Uθxy,Uθxt,Uθyt L-level multi-resolution structure U:=(U1,...,UL) | "Video-like" 3D latent grid Uθxyt |
Latent codes | 각 Ul grid에 대해, C-dimentional vector uijl이 Hl×Wl만큼 존재 | D-dimentional vector uijk가 H×W×S만큼 존재 |
Latent vector | zxyl,zxtl,zytl는 각각 가까운 네 개의 latent code umnl’s를 linear interpolate한 값에 해당 | zxyt는 가까운 h×w×s개의 latent code를 concatenate한 값에 해당 |