Hi,
I would like to experiment with ZipSplat on datasets that use distorted camera models, in particular COLMAP-style fisheye / thin-prism camera models.
From what I have found so far, ZipSplat currently seems to assume a pinhole-style camera representation. The public Camera class appears to store only [w, h, fx, fy, cx, cy], and I did not find support for distortion parameters such as radial/tangential/thin-prism coefficients. In the paper, camera priors also seem to be represented mainly through pose and field-of-view information, rather than a full distorted projection model.
My use case is a dataset reconstructed with COLMAP using a distorted camera model, for example THIN_PRISM_FISHEYE. I would prefer not to undistort or crop the images before running ZipSplat, because I am trying to preserve as much image content as possible.
I would like to try adding support for distorted camera models, but I am not fully sure which parts of the codebase would need to be changed.
Could you point me to the relevant places where camera projection / ray generation / camera priors are handled?
In particular, I would appreciate guidance on questions like:
- Is the current model architecture fundamentally tied to pinhole cameras, or could distorted camera models be added mostly by extending the camera representation?
- Where would distortion-aware projection or ray generation need to be implemented?
- If using
use_priors=True, where should additional camera parameters such as COLMAP distortion coefficients be encoded?
- Would adding distorted cameras require retraining the model, or could this potentially work for inference/fine-tuning with modified camera handling?
- Are there any assumptions in the preprocessing, cropping, resizing, or Gaussian parameter prediction that would break for strongly distorted fisheye images?
I am happy to experiment and possibly contribute a patch, but I would really appreciate some pointers on the intended architecture and the minimum set of files/functions that would need to be adapted.
Thanks!
Hi,
I would like to experiment with ZipSplat on datasets that use distorted camera models, in particular COLMAP-style fisheye / thin-prism camera models.
From what I have found so far, ZipSplat currently seems to assume a pinhole-style camera representation. The public
Cameraclass appears to store only[w, h, fx, fy, cx, cy], and I did not find support for distortion parameters such as radial/tangential/thin-prism coefficients. In the paper, camera priors also seem to be represented mainly through pose and field-of-view information, rather than a full distorted projection model.My use case is a dataset reconstructed with COLMAP using a distorted camera model, for example
THIN_PRISM_FISHEYE. I would prefer not to undistort or crop the images before running ZipSplat, because I am trying to preserve as much image content as possible.I would like to try adding support for distorted camera models, but I am not fully sure which parts of the codebase would need to be changed.
Could you point me to the relevant places where camera projection / ray generation / camera priors are handled?
In particular, I would appreciate guidance on questions like:
use_priors=True, where should additional camera parameters such as COLMAP distortion coefficients be encoded?I am happy to experiment and possibly contribute a patch, but I would really appreciate some pointers on the intended architecture and the minimum set of files/functions that would need to be adapted.
Thanks!