GenRecon: Bridging Generative Priors for Multi-View 3D Scene Reconstruction
GenRecon: Bridging Generative Priors for Multi-View 3D Scene Reconstruction
- 2605 arxiv
- 뮌헨 공대와 화웨이 스위스
Related work
- reconstruction without learned priors
- colmap, mvs, nerf, monosdf, 3dgs 등
- 특징은 이미지에 실제로 보이는 정보만 사용한다는 것
- 장점: metric acc 좋고, hallucination 좋음
- 단점: 안 보이는 영역은 못 채움, sparse view에는 약함, occlusion에 약함
- reconstruction with learned priors
- vggt, dust3r, mast3r, depth anything 3
- 특징: 이미 학습된 geometry prior 사용 - feed forward로
- 장점: 관측 부족한 부분도 어느정도 복원
- 단점: 결국 regression이기 때문에, 진짜 안보이는 부분을 생성 못함
- 멀티뷰라서 gt가 많음 → gt를 최대한 맞추는데 학습이 집중됨
- generative prior 기반
- trellis, hunyuan3d 등
- 특징: 3d 생성 모델의 prior 사용
- latent distribution을 학습하는 것이 목표
- 기존 object level의 생성 모델을 scene level로 확장, multi view로 확장
Method
전체 흐름
- 입력 이미지들에서 카메라 포즈와 sparse point cloud 얻기
- colmap
- 학습 시에는 posed rgb 이미지를 사용함 (camera intrinsics와 extrinsics 존재)
- scene을 청크 단위로 분할
- 이 청크는 해당 청크를 바라보는 입력 view의 집합과 연관됨
- 청크끼리는 일부 겹침 → 경계를 자연스럽게 잇기 위함
- Scene ├── Chunk 1 │ ├── Voxel │ ├── Voxel │ └── … ├── Chunk 2 │ ├── Voxel │ └── … └── …
- DINO 피처 추출
- 입력 이미지에서 피처를 추출함
- 멀티뷰 피처를 3D로 lifting
- voxel → camera projection → image pixel → DINO feature
- multi-view aggregation
- 여러 뷰의 피처를 하나로 합침
- trellis에 conditioning
- 본 연구에서는 single unposed image를 입력으로 받는 trellis를 scene recon에 맞게 조정함 → multi-view를 인식하도록
- 기존 trellis는 image → cross attn → 3d generation
- 3d condition grid → dit block마다 residual injection → flow denoising
- residual injection
- h (hidden vec) = h + condition
- joint chunk generation
- global latent → 개별 chunk들을 denoise → 겹치는 부분은 평균 → global latent update
Global latent
┌────┬────┬────┐ │ C1 │ C2 │ C3 │ ├────┼────┼────┤ │ C4 │ C5 │ C6 │ ├────┼────┼────┤ │ C7 │ C8 │ C9 │ └────┴────┴────┘
- C1 → Trellis C2 → Trellis … C9 → Trellis
- 각 결과를 원래 위치에 write back
- mesh decode
- 최종 latent를 trellis decoder에 넣어서 메쉬 생성
- 입력 이미지들에서 카메라 포즈와 sparse point cloud 얻기
This post is licensed under CC BY 4.0 by the author.
