
[Paper] [Page] [Github]
Galappaththige, C. J., Lai, J., Windrim, L., Dansereau, D., Sünderhauf, N., & Miller, D.
CVPR 2025
이 논문은 기존 3D Gaussian Splatting(3DGS) 장면을 기준으로 새로운 RGB 이미지의 카메라 pose를 추정하고 같은 시점에서 렌더링한 reference view와 새 이미지를 비교해 변화를 탐지한다. 이 논문의 핵심은 단순한 두 이미지의 차이를 사용하는 것이 아닌 여러 viewpoint에서 얻어진 변화 단서를 하나의 3D change representation에 누적해 그림자, 반사, 조명 변화 같은 오탐을 줄인다. 이후 변화한 영역만 새로 reconstruction하고 기존 Gaussian primitive와 결합해 장면을 빠르게 업데이트한다.
Scene Change Detection(SCD)는 시간 차이를 두고 관측된 장면에서 실제로 바뀐 영역을 찾는 문제다. 대표적인 변화는 다음과 같다.
SCD는 환경 모니터링, 인프라 점검, 피해 평가, 드론 정찰, 로봇 순찰 등에 활용될 수 있다.
하지만 실제 환경에서는 단순하게 두 이미지를 빼는 방식으로 해결하기 어렵다. 특히 로봇이나 드론은 이전과 완전히 같은 위치에서 장면을 다시 촬영하지 않는다. 변화 전과 변화 후의 카메라 trajectory가 서로 독립적일 수 있기 때문에 동일한 pixel 위치끼리 직접 비교하는 것은 의미가 없다.
전통적인 SCD는 변화 전 이미지와 변화 후 이미지의 한 쌍을 비교하는 bitemporal pairwise problem으로 다루어졌다. 이러한 방법은 다음 조건을 가정한다.
고정된 CCTV처럼 카메라 위치가 변하지 않는 경우에는 이 가정이 현실적일 수 있으나 로봇이나 드론은 이전과 동일한 trajectory를 구할 수 없다. 또한 특정 변화 유형만 annotation해서 학습한 supervised model은 새로운 환경이나 새로운 종류의 변화에서 성능이 떨어질 수 있다.
최근 연구는 NeRF나 3DGS와 같은 photorealistic 3D scene representation을 기준 장면으로 사용한다. 3D representation을 사용하면 변화 후 이미지와 동일한 camera pose에서 변화 전 장면을 렌더링할 수 있다.
이 방식은 변화 전과 변화 후에 동일한 카메라 viewpoint가 존재하지 않아도 비교 이미지를 만들 수 있다는 장점이 있다. 이를 논문에서는 pose-agnostic SCD라고 한다. 시스템 내부에서 pose를 추정해 처리한다는 것이다.
기존의 3D 기반 SCD 방법은 대부분 offline 방식이다. offline 방식은 모든 post-change view를 한꺼번에 활용할 수 있으므로 정확도 측면에서는 유리하지만 새 이미지를 획득할 때 즉시 판단해야 하는 상황에는 적합하지 않다.
Online SCD는 미래의 observation을 알 수 없기 때문에 offline 방법보다 정확도가 크게 낮고 일부 방법은 실시간 처리 속도도 확보하지 못한다.
Figure 3. Proposed approach with this paper’s contributions highlighted.
전체 파이프라인은 다음과 같다. 이 파이프라인에서 중요한 구분은 다음과 같다.
따라서 이 방법은 online SCD이지만 Gaussian map 자체를 매 frame 마다 즉시 바꾸는 완전한 frame-by-frame online update 방식은 아니다.
먼저 변화 전 이미지 집합을 다음과 같이 정의한다.
SfM을 이용해 각 reference image의 camera pose를 추정한다.
SfM으로 얻은 데이터는 다음과 같다.
이후 reference images, camera poses, sparse point cloud를 Speedy-Splat에 입력해 reference representation 를 구축한다.
논문은 reference image의 viewpoint, scene coverage, image quality가 충분해 고품질 를 만들 수 있다고 가정한다. 이 가정은 중요한 한계이다. Reference 3DGS 자체에 missing geometry나 floater, blur가 존재하면 실제 변화가 아닌 reconstruction error가 change cue로 잡힐 수 있다.
새로운 inference frame을 기존 3DGS와 비교하려면 이 이미지가 reference coordinate system에서 어디서 촬영되었는지 알아야 한다
각 reference image에서 XFeat를 이용해 keypoint와 descriptor를 추출한다.
Reference image 전체에 exhaustive matching을 수행하고 이미 알고 있는 reference camera pose를 사용해 correspondence를 traingulation한다.
그 결과 reference scene의 3D feature point와 reference image의 2D keypoint가 연결된다.
새로운 image 가 들어오면 다음 순서로 pose를 추정한다.
1. XFeat descriptor 추출
2. Reference image들과 feature matching
3. Match 수가 가장 많은 상위 n개 reference frame 선택
4. 2D-3D correspondence 구성
5. PnP + RANSAC으로 pose 계산
6. GPU-parallel miniBA로 pose refinement
논문에서는 n=4를 사용한다.
이 방식은 현재 inference frame을 이전 inference frame에 연결하지 않는다. 모든 frame을 reference scene에 직접 localization하기 때문에 frame-to-frame pose error가 누적되는 drift를 줄일 수 있다. 를 통해 inference image의 pose를 구할 수 있다.
새 이미지의 pose 를 얻으면 같은 pose에서 reference 3DGS를 렌더링한다.
두 이미지가 같은 viewpoint에 있으니 두 이미지의 차이에서 pixel-level cue와 feature-level cue를 추출한다.
Pixel-level cue는 현재 이미지와 reference render 사이의 직접적인 photometric difference를 측정한다.
논문은 기존 3DGS와 동일하게 를 사용한다.
Pixel cue는 다음 변화에 민감하다.
Pixel cue의 조명 민감성을 보완하기 위해 SAM2-Tiny를 사용한다. 현재 이미지와 reference render에서 dense feature map을 각각 추출한다.
수식은 다음과 같다.
Feature-level cue는 두 feature map의 channel-wise absolute difference로 계산한다.
그 후 bilinear interpolation으로 원본 이미지 해상도까지 키우고 값은 [0,1] 범위로 정규화 한다. Pixel cue와 feature cue는 서로 다른 장단점을 가진다.
| Cue | 장점 | 한계 |
|---|---|---|
| Pixel cue () | 색상·texture 등 미세한 차이에 강함 | 그림자·반사·조명에 민감 |
| Feature cue () | 의미적 차이와 distractor에 상대적으로 강건 | 같은 category 내부의 미세한 변화는 놓칠 수 있음 |
최종 change cue는 두 cue를 단순히 더해 구성한다.
논문은 먼저 각 cue를 hard threshold로 잘라 mask로 만들지 않는다. 기존 MV3DCD는 structure-aware mask와 feature-aware mask를 각각 thresholding한 뒤 intersection으로 합친다. 이 방식은 두 cue가 모두 동의한 영역만 남기기 때문에 false positive는 줄일 수 있지만 한 cue만 잡은 실제 변화를 잃을 수 있다. 이 논문은 continuous cue를 유지한 채 다음 단계의 self-supervised multi-view fusion을 통해 정보를 통합한다.
Reference 3DGS 에 색상 parameter를 제거하고 각 Gaussian primitve에 학습 가능한 change parameter 를 추가한다. 이렇게 만든 representation을 라고 한다.
는 다음 두 역할을 수행한다.
1. 서로 다른 viewpoint의 2D change cue를 하나의 3D representation으로 융합한다.
2. 이전 frame에서 학습한 변화 정보를 보존하는 persistent memory 역할을 한다.
특정 camera pose에서 를 렌더링하면 해당 viewpoint의 change mask가 나온다.
즉 는 RGB 장면을 렌더링하는 3DGS가 아니라 변화 가능성을 렌더링하는 3DGS라고 볼 수 있다.
새 frame이 들어올 때마다 를 16 iteration 동안 업데이트 한다.
첫 번째 항은 cue가 큰 위치에서 mask도 크게 만들도록 유도한다. 따라서 loss를 줄이려면 change cue가 큰 위치의 를 1에 가깝게 만들면 되지만 1로 만들면 가장 쉬운 해가 될 수 있다. 이를 방지하기 위해 mask의 평균 activation을 억제하는 regularization term을 추가한다. loss는 변화 cue가 강한 위치는 변화로 표사하되 이미지 전체를 변화라고 예측하지는 말라는 것이다.
각 optimization iteration에서는 현재까지 관측된 frame 중 하나를 sampling 한다.
다만 가장 최근에 들어온 frame 를 1/3 확률로 더 자주 선택한다. 따라서 는 현재 cue를 빠르게 반영하면서도 이전 frame의 change cue를 계속 학습한다. 실제 변화는 여러 viewpoint에서 동일한 3D 위치에 일관적으로 관측된다. 반면 반사나 specular highlight는 viewpoint에 따라 위치나 모양이 달라질 수 있다. 이러한 multi-view accumulatioin을 통해 view-dependent distractor를 억제한다.
모든 inference frame을 처리한 뒤 전체 change cue를 사용해 를 추가로 refinement한다. 각 viewpoint에서 refined mask를 렌더링한다.
그 후 inference image에 refined mask를 곱해 변화 영역만 남긴다.
이 masked image를 사용해 changed region만 표준 3DGS pipeline으로 reconstruction한다.
전체 scene이 아니라 변화 영역만 모델링하기 때문에 필요한 Gaussian 수가 적고 rendering 및 optimization이 빠르다. 논문에서는 400 FPS이상으로 렌더링된다고 한다.
기존 reference scene에서 changed pixel에 기여한 Gaussian primitive를 제외한다.
그다음 unchanged reference primitive와 새 changed-region primitive를 합친다.
기존 Gaussian과 새로운 Gaussian을 단순히 합치면 경계 artifact나 색상 차이가 발생할 수 있다. 그래서 마지막에 fast global optimization을 수행한다. 다만 adaptive density control은 적어도 하나의 view에서 changed pixel에 기여한 primitive에만 제한한다. 이를 통해 unchanged region에서 불필요한 Gaussian split이나 clone이 발생하는 것을 막는다.
Restricted global refinement의 목적은 다음과 같다.
1. 변화 전후의 global iluumination 차이 보정
2. 기존 영역과 새 영역 사이의 boundary artifcat 완화
3. 완벽하지 않은 change mask에서 발생한 residual error 보정
결과적으로 기존 의 고품질 primitive를 최대한 재사용하면서 새로운 구조만 로 모델링한다.
이 논문에서 데이터셋은 주로 PASLCD와 CL-Splats을 사용했다.
Figure 1. Our online scene change detection method establishes a new state of the art, detecting changes more reliably than all prior methods, including the strongest offline baselines.
기존 방법이 SOTA임을 보여준다.
Table 1. Quantitative results for SCD on PASLCD [13] averaged over all 20 instances.
각 데이터셋에서의 정량적 지표를 보여준다.
Table 3. Ablation study of our SCD approach on PASLCD [13].Performance benefits from every component.
Ablation study도 진행했다.
Figure 5. Additional qualitative comparison with MV3DCD [13]. Our rendered change masks align more closely with the ground truth, capturing subtle structural and appearance changes that MV3DCD often misses. In contrast to MV3DCD, our method produces fewer spurious detections and demonstrates strong robustness to distractor variations across both indoor and outdoor environments.
정성적 비교도 진행했다.
Table 5. Analysis on scene update component on PASLCD [13]. Runtime for change detection and refinement is excluded. GO: Global Optimization, SR: Selective Reconstruction.
PSNR이 떨어지지 않는 것을 보여준다.
이 논문의 가장 큰 contribution은 다음과 같다.
1. Unposed RGB frame의 빠른 localization
2. 여러 view의 변화 정보를 이용한 online SCD
3. Change mask 기반 selective 3DGS update
이 논문은 reference 3DGS를 중심으로 pose estimation, change inference, representation update를 통합한다.
이 논문의 한계점은 다음과 같다.
1. 고품질 Reference 3DGS가 필요하다.
2. 한 번의 Revisit 동안 장면이 정적이어야 한다. 즉 dynamic scene은 대상이 아니다.
3. XFeat Matching에 의존한다.
4. Label-Free지만 Foundation-Model-Free는 아니다.