Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are UP GT-s correct when training with large distortion? #24

Open
suvigy opened this issue Mar 5, 2025 · 1 comment
Open

Are UP GT-s correct when training with large distortion? #24

suvigy opened this issue Mar 5, 2025 · 1 comment

Comments

@suvigy
Copy link

suvigy commented Mar 5, 2025

Hi!

I'm trying to train with simple Division camera model, which can also model wide angle fisheye camera models. I created the training data set with the following params, I just hightlight the relevant parts.

....
camera_model: simple_divisional
parameter_dists:
  vfov:
     ...
       loc: 1.88
       scale: 0.01 
    ....
  k1:
    .....
      loc:  -0.29104758148391235
      scale: 0.002
.....
 shape:
    type: fix
    value:
      - 640
      - 960

In wandb I'm getting the following visualization also including the up gt, pred, confidence:

Image

Do you think the 'Up Gt' is correct? To me, it seems that there is mostly an inner circle within which the up vectors are correct, but outside of this circle, they appear to be incorrect. Or should it be interpreted in a different way?
(As shown in the example, out-of-FoV pixels are not yet masked. The simple_division model sets every pixel as valid during undistortion. I hope the UpGt issue isn't related to this; I plan to address the valid pixels later.)

@veichta
Copy link
Collaborator

veichta commented Mar 5, 2025

Hi,
Very interesting! Would be happy to know how it goes.

My best bet at this point is that using such a big FoV together with strong distortions will produce invalid pixels in the distortion function here since you need (1 - 4 * self.k1[..., None, None] * r2) >= 0.

Unfortunately, we never trained on data where this became relevant, so the check_valid is not used in the most of the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants