arXiv 링크 | 깃허브 링크
흔들린 frame에 대해 robust하게 mapping & tracking
핵심
- NeRF/3DGS 기반 SLAM에 사용 가능한 photometric BAed deblur mapper
- MBA tracker -> 더 나은 mapping & tracking
Recent works
MBA-VO (feauture-based visual odometry 기반)에서 가져온 motion blur aware tracker
- feautre-based VO는 input frame 간 keypoints를 통해 consistency를 맞춰줌
- 기존 연구와 달리 MBA-VO는 initial motion prediction에 의존하지 않고 local camera trajectory를 directly optimize해 이미지 patch를 reblur함
BAD-NERF, BAD-Gaussians에서 사용된 motion blur aware BA algorithm
- BAD-NeRF의 vanilla NeRF representation을 tri-plane으로 변경
Method

- tracking: estimates local camera trajectory relative to the latest rendered sharp keyframe image
- mapper: jointly learns representation & trajectories
Physical formation process of motion blurry images
B(x)=ϕ∫0τIt(x)dt
B(x)≈n1∑i=0n−1Ii(x)
- blurry image는 여러 sharp images의 평균치라 가정한다
Motion blur aware tracker
How the tracker estimates camera motion trajectories from motion-blurred images through direct image alignment
Direct image alignment with sharp images
Original (direct VO apporach)
- 이전 keyframe과 현재 frame의 photometric error 최소화
- depth로 R2×R→R3 하는 그 과정
- robust loss (huber loss)도 추가해서 더 정확한 pose 얻음
- 근데 애초에 blurry images는 photometric error가 크고 T도 부정확해서 direct VO 못 씀
Camera motion trajectory modeling
- exposure period (0~τ) 동안의 local camera trajectory를 정의해야 motion blur를 해결한다!
- 이전 & final frame의 camera pose 간 linear interpolation하는 방법
- 이 방법으로 motion blur를 여러 sharp image로 표현하는 것과 관련된 방식으로 해결 가능
- 근데 이 방법은 방향이 급격히 바뀌었을 때 성능이 떨어짐
- 그래서 우리는 exposure period (0~τ)의 처음과 끝에서의 camera pose -> linear interpolation
Tt=Tstart ⋅ exp(τt ⋅ log(Tstart−1 ⋅Tend))
이 식을 decompose하면
qˉt=qˉstart⊗exp(τt⋅log((qˉstart−1⊗qˉend))
tt=tstart+τt(tend−tstart)
MBA tracker estimates Tstart & Tend for each frame
- lienar interpolation으로도 잘 되는 이유! exposure time이 아주 짧기 때문
Direct image alignment with blurry images
- reblur the keyframe rather than deblurring the current frame
- blurry -> reference image로의 pixel coord match 찾고
- [0, τ] 내 virtual view (sharp)를 uniformly sample해서 구하고
- 몇 개의 virtual view를 만드는가는 7개로 설정했다고 함
- blurry한 정도에 따라 dynamic하게 개수를 설정할 수 있음
- reblurred image의 RGB를 bilinear interpolation & 평균치로 구함
- 이제 실제 blurry image와 reblurred image 간 photoconsistency loss 계산
Motion blur aware mapper
Trajectories & representation estimated by maximizing photometric consistency between synthesized & real blurry images
- NeRF든 3DGS든 사용하는 learnable parameters에 Tstart, Tend 추가
Loss functions
Lc=∣R∣1∑x∈R∣∣B(x)−Bgt(x)∣∣ : synthesized blurry image & actual blurry image
Ld=∣R∣1∑x∈R∣∣D(x)−Dgt(x)∣∣ : rendered depth & actual depth
L=λcLc+λdLd+λfsLfs+λsdfLsdf : ESLAM + 위 loss functions
L=λcLc+λdLd+λssimLssim+λregLreg
with scale regularization loss
Lreg=∣G∣1∑g∈Gmax(max(Sg)/min(Sg),r)−r while Sg are scales of 3DGS
and SSIM loss between B(x)s
Experiments
Qualitative
ATE RMSE




Rendering and Reconstruction



Runtime & Memory

Qualitative
Sharpness restored



Mesh


Ablation & Comparison
