dcharatan / pixelsplat

[CVPR 2024 Oral, Best Paper Runner-Up] Code for "pixelSplat: 3D Gaussian Splats from Image Pairs for Scalable Generalizable 3D Reconstruction" by David Charatan, Sizhe Lester Li, Andrea Tagliasacchi, and Vincent Sitzmann
http://davidcharatan.com/pixelsplat/
MIT License
830 stars 56 forks source link

Question about code #88

Closed Gynjn closed 1 month ago

Gynjn commented 1 month ago

Thanks for sharing your great work.

BTW, I have some questions about the code.

  1. https://github.com/dcharatan/pixelsplat/blob/5d5735eaeea59b67eb9527192bcde3aa20da0342/src/dataset/shims/augmentation_shim.py#L13 In this line, the meaning of this code is reflect.inverse() @ extrinsics @ reflect ?
  2. Also, w.r.t w2c not c2w it can be applied with the same convention in extrinsics? I mean reflect.inverse() @ w2c @ reflect means the reflection of w2c matrix.

Thanks in advance.

dcharatan commented 1 month ago

The reflect matrix is involutory (i.e. reflect.inverse() == reflect). As a result, reflect @ w2c @ reflect is the same as (reflect @ c2w @ reflect).inverse(), and reflect.inverse() @ extrinsics @ reflect is the same as reflect @ extrinsics @ reflect.