0. Abstract
- 생략
1. Introduction
- 지능형 구현 장치를 위한 real-time Simultaneous Localisation and Mappping(SLAM) system은 localisation과 scene understanding을 모두 가능하게 하기 위해 3D 세계 표현을 점진적으로(incrementally) 구축해야 한다.
- 이상적인 representation은 geometry(기하학적 구조)를 정확하게 encode해야 하지만 또한 효과적이여야 하며, memory capacity avaliable는 scene size와 와 complexity에 따라 adaptive하게 사용되어야 한다;
- 직접 관찰되지 않은 영역의 모양을 합리적으로 추정할 수 있고, 그리고 유연하고, 새로운 scenario를 이용하기 위해 많은 양의 train data나 수동 조정이 필요하지 않다.
- Implict neural representations은 multilayer perceptron(MLP)을 사용하여 query 3D point를 occupancy(벽처럼 로봇이 지나갈 수 없는 영역)또는 colour에 mapping하고 specific scene에 맞게 scratch부터 optimising함으로써 offline reconstruction의 최근 유망한 발전이다.
- MLP는 일반적인 implicit function approximator로, parameter가 거의 없고 quantisation artifacts 없이 variable detail(가변 detail)를 표현할 수 있다. - prior training없이, network structure에 존재하는 inherent prior present은 partial data에서 watertight geometry estimates를 만들고 관찰되지 않은 영역의 plausible한 completion을 가능하게 한다.
- 본 논문에서는 MLP가 휴대용 RGB-D camere를 사용하여 실시간 SLAM system에서 유일한 scene representation으로 사용될 수 있음을 보여준다.
- 본 논문의 randomly-initialised network는 실시간 운영으로 train되며 prior training data가 필요하지 않다. 본 논문의 iMAP system은 PTAM을 연상시키는 key frame structure과 multi-processing computation 흐름으로 설계되었다.
* PTAM : parallel tracking and mapping
- keyframe을 이용한 visual SLAM(simultaneous localization and mapping)기술.
- 카메라 위치를 추적하는 tracking과 featuremap을 생성하는 mapping 부분을 서로 분리시켜 별도의 thread로 parallel하게 돌리는 것.
- 10Hz 이상에서 실행되는 추적 프로세스에서, 우리는 live RGB-D 관찰을 MLP scene map에서 render된 depth 및 colour predictions에 맞추어 조정한다.
- 이와 동시에, mapping process는 viewpoint가 장면을 span(생성)하는 일련의 과거 key frame을 선택하고 유지하며, 이를 사용하여 MLP를 지속적으로 훈련하고 개선하는 동시에 key frame poses를 공동으로 최적화한다.
- tracking과 mapping 모두에서 geometric uncertainty를 줄이기 위해 가장 유용한 RGB-D 픽셀을 동적으로 샘플링하여 real-time speed를 달성한다.
- SLAM을 연속 학습 문제로 casting하여 연속적이고 적응적인 해상도로 장면을 효율적으로 표현할 수 있는 표현을 달성하고, 완전하고 watertight reconstruction을 달성하기 위해 부드럽게 interpolate할 수 있는 놀라운 능력을 달성한다.(그림1)
- 약 10~20개의 key frame과 1MB의 parameter만 있는 MLP를 사용하여 전체 방을 정확하게 mapping 할 수 있습니다.
- 본 논문의 scene representation은 고정된 해상도가 없고, keyframes의 분포는 자동으로 효율적인 multi-scale mapping을 달성한다.
- 휴대용 RGB-D 카메라로 온라인으로 작동하는 제시된 SLAM 공식의 parallel implementation(multi-processing 포함 Pytorch에서 전체)
2. Related Work
- 생략
3. iMAP: A Real-Time Implicit SLAM System
3.1 System Overview
Figure 2는 iMAP이 어떻게 작동되는지를 전체적으로 보여준다.

- 3D volumemetric map은 3D 좌표를 색상과 volume density에 mapping하는 fully connected neural network F(θ)를 사용하여 표현된다. (section 3.2)
- camera pose가 주어지면, 본 논문에서는 back-projected ray의 sample에서 network query를 축적하여 pixel의 colour와 depth를 render할 수 있다. (section 3.3)
- 본 논문에서는 능동적으로 sampling된 sparse set과 관련하여 network weights와 camera pose를 점진적으로 optimising하여 depth와 video scene을 mapping한다. (section 3.6).
- 두가지 process가 동시에 실행되는데, 이는 locked network에 대해 현재 frame pose를 optimising하는 tracking(섹션 3.4)와 선택된 key frame의 network와 camera pose를 공동으로 optimising하는 mapping(섹션3.4)이다. 이 process는 information gain에 따라 점진적으로 선택된다.(섹션 3.5)
3.2. Implicit Scene Neural Network
- NeRF의 network architecture를 따라 256크기의 4개의 hidden layer 및 3D 좌표 p = (x, y, z)를 색상 및 부피 밀도 값에 mapping하는 2개의 output heads가 있는 MLP를 사용한다. NerF와 달리, 본 논문에서는 특이점 모델링(specularities modeling)에 관심이 없기 때문에 viewing directions을 고려하지 않는다.
- 본 논문에서는 Fourier Feature Networks에서 제안된 Gaussian positional embedding을 적용하여 입력 3D 좌표를 n차원 공간인 sin(Bp)으로 끌어올린다. 여기서 B 행렬은 [n*3]의 표준 편차 α로 정규 분포에서 sampling된다. 이 embedding은 MLP에 대한 input 역할을 하며 network의 두번째 activation function에도 연결된다.
- SIREN에서 영감을 받아 sine activation과 함께 single fully-connected layer로 구현된 embedding matrix B의 최적화를 활용한다.
3.3 Depth and Colour Rendering
- 본 논문의 NeRF 및 NodeSLAM에서 영감을 얻은 새로운 차별화 가능한 rendering engine은 scene network를 query하여 주어진 view에서 depth와 color image를 얻는다.
- 카메라 포즈 T(WC)와 픽셀 좌표 [u, v]가 주어지면, 먼저 정규화된 보기 방향을 backproject하고 camera intrinsic matrix K를 사용하여 r = T(WC)K^(-1) world coordinates로 변환한다.
- 본 논문에서는 해당 depth value가 {d1,.....,dN}인 ray p(i) = dir를 따라 N개의 sample set를 취하여 network에 colour과 volume density (ci, ρi) = Fα(pi)를 query한다.
- 본 논문에서는 NeRF의 stratified and hierarchical volume sampling strategy를 이용한다
- Volume density는 표본 간 거리 δi = di+1 - di를 곱하고 이를 activation function oi = 1 - exp(-ρ(i)δ(i))를 통해 occupancy probability로 변환된다.
- 각 표본의 ray termination probability는 w(i) = oi π(i-1) (j=1)(1 - oj)로 계산된다.

- 마지막으로, depth와 colour은 기댓값(Expectation)으로 표현된다.


3.4 Joint optimisation
- 본 논문에서는 implicit scene network parameters θ와 camera pose를 각각 initial pose estimate와 함께 연관된 colour 및 depth 측정이 있는 W key frame set에 대해 공동으로 optimising한다. {I(i), D(i), T(i)}.
- 본 논문의 rendering 기능은 이러한 변수와 관련하여 차별화 가능하므로, 각 키 프레임에서 선택된 수의 rendering pixel s(i)에 대한 geometric 및 photometric errors를 최소화 하기 위해 iterative optimisation을 수행한다.
- photometric loss는 rendering된 colour과 측정된 색 값 e(p)(i) = |I(i)[u,v], I^(i)[u,v]| 사이의 L1-norm이다.


Camera Tracking
- online SLAM에서, frame-rate와 가까운 camera tracking이 중요한데, 더 작은 변위의 최적화가 더 robust(강력한)기 때문이다.
- 추적된 pose initialisation은 선택된 keyframe에 대한 mapping process에서 조정된다.
3.5 Keyframe Selection 3.6 Active Sampling
- video stream의 모든 이미지를 사용하여 network parameter와 camera poses를 공동으로 optimising하는 것은 계산적으로 가능하지 않다. 그러나, 비디오 이미지에는 큰 redundancy(중복성)이 있기 때문에, information gain에 따라 점진적으로 선택된 keyframe의 sparse set로 장면을 나타낼 수 있다.

- 이러한 비율이 threshold P (본 논문에서는 0.65로 설정)아래로 떨어졌을 때, 이 frame은 keyframe set로 선택이 된다. normalised depth error는 camera가 물체에 근접하였을 때 적절한 keyframe selection을 제공한다.
- mapping process에서 수신된 모든 frame은 몇 번의 반복(10-20회) 동안 공동 최적화에 사용되므로, 우리의 key frame set는 항상 지속적으로 변화하는 최신 frame과 함께 선택된 set로 구성된다.
3.6 Active Sampling
Image Active Sampling
- 모든 이미지 픽셀을 rendering하고 최적화하려면 계산과 메모리가 비쌀 것이다. 우리는 이미지 규칙성을 활용하여 각 반복에서 매우 희박한 무작위 픽셀 세트(이미지당 200개)만 rendering하고 최적화한다. 또한, 우리는 render loss를 사용하여 더 자세한 정보를 제공하거나 reconstruction이 아직 정확하지 않은 informative area에서 active sampling을 안내한다.
- 각각의 joint optimisation iteration은 두 단계로 나뉜다. 먼저, 우리는 각 keyframe의 depth와 colour image에 걸쳐 균일하게 분포된 pixel set를 샘플링한다.
- 이러한 pixel은 network 및 camera pose를 update하고 손실 통계를 계산하는 데 사용된다. 이를 위해, 우리는 각 이미지를 [8x8] greed로 나누고 각 정사각형 영역 R(j), j = {1,2, ..., 64}

여기서 r(j) 는 S(i)와 R(j)의 교집합이고 균일하게 샘플링된 pixel이다. 이러한 통계를 확률 분포로 정규화한다.
- 본 논문에서는 이 분포를 사용하여 영역당 새로운 n(i)*fi[j] 균일한 sample set를 resampling(n(i)는 각 keyframe의 총 샘플)하여 손실이 큰 영역에 더 많은 샘플을 할당한다. scene network는 active sample의 손실로 업데이트된다.(camera 추적에서는 균일한 샘플링만 사용됨). 이미지 active sampling은 그림 3에 도시되어 있다.
Bounded Keyframe Selection
4. Experimental Results
- 생략
4.1 Experimental Setup
Datasets
- reconstruction evaluation : Replica dataset, high quality 3D reconstructions of real room-scale enviroments, with 5 offices and 3 apartments.
-raw camera recordings : capture RGB-D videos using a hand-held Microsoft Azure Kinect on a wide variety of environments, as well as test on the TUM RGB-D dataset to evaluate camera tracking
Implementation Details
- keyframe registration threshold t(p) = 0.65 photo-metric loss weighting λ(p) = 5, keyframe window size W = 5, pixel samples [s(i)| = 2--, positional embedding size m =93 and sigma =25, 32 coarse and 12 fine bins for rendering.
... dataset 제대로 보고 다시 작성할 것
...