반응형
내 맘대로 Introduction
이전 SeamlessNeRF의 3DGS 버전이라고 보면 된다. SeamlessNeRF가 잘 학습된 TensoRF 모델을 위치를 지정해서 merging하는 방법론. NeRF보다 3DGS는 explicit하기 때문에 딱봐도 더 난이도가 낮아보이고 성능도 더 뛰어날 것으로 보인다. 단순히 color tone만 matching하는 것을 넘어서 gradient를 사용하는 컨셉을 그대로 가져오되 형식을 3DGS에 맞도록 변경한 것이 핵심.
GUI까지 꾸며서 개발한 것을 보아 연구성 논문으로 시작한 것은 아닌 것 같다.
메모
![]() |
|
![]() ![]() |
전처리 1) 합칠 대상이 되는 2개의 3DGS 복원 완료된 결과를 GUI에 띄워서 bounding box로 cropping -> 유효 3DGS를 손으로 일단 정리해줌 2) brushing 으로 조금 더 섬세하게 대상 외 noise나 구조물을 제거함 3) transformeation까지도 손으로 GUI를 활용해 매칭한다. -> rotation, translation, scale을 찾아둠 4) SH coefficient 같은 것이나 위치 같은 것들을 앞서 찾은 R, t, s로 업데이트 해둠. |
![]() ![]() |
![]() 합칠 대상의 대략적인 배치가 완료된 상태에서는, 업데이트할 대상 영역을 선정하는 과정이 필요함. point cloud representation을 가져온 3DGS의 특징 때문에 대상 a와 b 간의 nearest matching으로 찾을 수 있다. 1) 모든 point a, point b 간의 거리를 계산 2) 일정 거리 이하로 들어오면 업데이트 대상군으로 분류 3) point a 당 N point b를 대응 시킴 4) point a <-> N point b의 SH coefficient가 같도록 최적화 -> a를 업데이트하는 것, b가 기준이 됨 --------------- SH 만 업데이트하는것은 일단 view depedent color가 안맞으면 시각적으로 seam 차이를 크게 느끼기 때문인 듯. 기본 loss라고 생각 |
![]() ![]() ![]() |
대상 영역이 그럴듯하게 합쳐지긴 하지만 나머지 부분은 전혀 핸들링이 안됨. 접합부에서 거리가 먼 영역은 원본 그대로 남아있기 때문에 이상할 것 따라서 먼 거리에 있는 3DGS들도 손을 대긴 해야 한다. 그 방식은 1) driven points를 몇개 뽑아서 (sampling) 해당 point a에서 N point B를 matching -> 이 때 point a는 접합부 외 영역 (먼 거리) -> 샘플링 할 때 정확히 point a 위치를 사용하면 항상 matching 되는 애만 매칭되고, 핸들링 안되는 애들이 생길 수 있으니 nearest matching 할 때 point a 위치를 random 하게 흔들면서 매칭 2) N point b의 SH color (view dependent color)를 avarage 3) point a의 SH color와 L2 최적화 ----------------------- SeamlessNeRF에서도 색상으로만 업데이트했을 때 seam이 안사라지는 것을 봐서, gradient를 사용하는 term도 추가 1) 렌더링된 이미지에 sobel filter를 먹임 2) 원본 (합치기 전) 대상으로 렌더링한 이미지에 sobel filter를 먹임 3) 이 둘 간의 오차를 l2 최적화 -> 원본의 경계, 굴곡을 유지하도록 강제하는 셈. -> 생각보다 굉장히 간단하고 직관적. ![]() |
![]() ![]() |
여태까지 SH coefficient, color 같이 SH만 주로 다뤘고, gradient term도 주로 position에 관여하는 loss이기 때문에 미묘한 색상 톤을 맞추진 않는다. 따라서 색상 톤을 직접 loss로 걸어서 업데이트 한 번 더 해줌 1) 기준이 되는 대상의 3DGS들에서 색상 팔레트를 추출 -> 처음에는 3개 뽑고, clustering하며서 center 늘려가듯이 점진적으로 추가 2) 업데이트 대상 3DGS들의 color마다 nearest matching로 색상 팔레트에서 찾음 -> 최적화 |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
반응형
'Paper > 3D vision' 카테고리의 다른 글
Deformable Beta Splatting (0) | 2025.06.09 |
---|---|
Large Steps in Inverse Rendering of Geometry (0) | 2025.04.29 |
SeamlessNeRF: Stitching Part NeRFs with Gradient Propagation (1) | 2025.04.16 |
Equivariant Point Network for 3D Point Cloud Analysis (0) | 2025.03.21 |
VGGT: Visual Geometry Grounded Transformer (1) | 2025.03.19 |