LoopSparseGS: Loop Based Sparse-View Friendly Gaussian Splatting

Seohyun·2024년 9월 28일

논문

목록 보기
5/7

Progressive Gaussian Initialization (PGI)

  • 원본 3DGS는 dense input image로 인한 충분한 initial Gaussian points 덕에 좋은 성능을 보임
  • 여기서는 few views인 상황을 가정하므로 dense input image X
  • SfM+3DGS loop 직전에 PGI를 추가
  • training view에 가우시안 노이즈를 추가하고,
  • 각 loop마다 training view의 네 배 개수의 pseudo view를 생성함
  • 점점 training views 사이를 채워감
  • loop 수를 늘리면 성능이 좋아지지만 너무 많이 돌면 pseudo view가 너무 많아 성능 저하됨
    • loop 개수 3으로 설정하는 게 성능 제일 좋음

  • zg,ztz_g, z_t:pseudo view, training view
  • N()N(): Gaussian noise
  • i,j,li, j, l: pseudo view, training view, loop
  • ϵ,δ\epsilon, \delta: 아주 작은 수 (0.02), rate (0.1)

여기서 ϵ\epsilon 이 뭔지 명확하게 안 나왔는데, N(mean,std)N(mean, std) 로 표기한 게 맞다면 stdstd를 점점 키워서 training views 사이를 점점 메꿔나가는 느낌? training views로 얻을 수 있는 3D points에 가우시안 노이즈를 가하고 std 를 키워서 점의 범위를 확장해가는 느낌으로 이해할 수 있을 것 같다. 더 찾아봐야지.

Training view에 노이즈를 추가해서 Pseudo view의 카메라 위치를 만들기

Depth-alignment Regularization (DAR)

  • 3DGS 시작하기 전에 input RGB로부터 SfM해 init point를 생성하고 pretrained MiDaS 모델로 depth map을 구함
  • SfM으로 구한 point를 사용해 depth를 align

Filter Enhancement + Sliding window-based alignment

  • FE는 SfM으로부터 구한 depth의 정확도를 올리는 역할
    1. SfM에서 keypoint pixel match error < 2 (평균 keypoint pixel match error)인 3DP는 depth map 생성에 사용 X, depth=0으로 가정
      • init Gaussians를 얻을 정도로는 accurate enough함
    2. 오로지 pseudo view로만 생성된 3DP는 버림 (training view에서만 생성됐거나, training/pseudo view에서 둘 다 생성할 수 있는 3DP여야 함)
    3. depth로 사용되는 3DP는 그 view로부터 구한 3DP여야 함 (visibility 고려)

      d if pj  M(Ci,Ck), else 0d \ if \ p_j \ \subset \ M(C_i, C_k), \ else \ 0 여기서 CkC_k는 뭐지?

  • Sliding window는 MiDaS로 구한 dense depth로 sparse input 3DGS의 depth를 개선하는 역할
    • Window-level Pearson Correlation: image-level Pearson distribution loss between rendered & MiDaS depth

  • L1(rendered depth, SfM depth)
  • Pearson(rendered window depth, MiDaS window depth)

Pearson correlation loss?
https://datascience.stackexchange.com/questions/114455/is-pearson-correlation-a-good-loss-function
Pearson correlation은 설명가능한인공지능 수업 들을 때 변수중요도 다루면서 들은 것 같은데...
GT와 Prediction의 차이를 줄여주지 않으나 correlation은 잘 맞게 해주는 역할

Sparse-friendly Sampling (SFS)

  • sparse view일 시 ellipsoids가 특정 방향으로 빠르게 비정상적으로 커지는 문제
  • ellipsoid의 initial scale/size가 3개의 nearest neighbors의 평균 거리로 결정되기 때문에 발생
    • 여기서 neighbors는 init 3DP인가
  • 큰 ellipsoind를 쪼개는 주기를 늘리거나 thr를 낮추는 naive한 방식을 사용하면 NVS 성능 저하되므로, 선택적 쪼개기를 함
  • 모든 training view의 rendered pixels를 돌면서 PSNR error가 가장 큰 픽셀을 찾음 -> 픽셀 색상에 가장 큰 영향을 주는 (largest weight를 가진) ellipsoid를 찾음 -> split
  • Opacity regularization (non-maximum rate regularization): ray 내 largest weight를 가지지 않은 나머지 ellipsoid들이 더 투명하도록 규제

PSNR https://m.blog.naver.com/mincheol9166/221771426327

Loss

profile
Hail hamster

0개의 댓글