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

Discrepancy in Coordinate System Projection #3543

Open
augusto-de-freitas-isi opened this issue Dec 6, 2024 · 0 comments
Open

Discrepancy in Coordinate System Projection #3543

augusto-de-freitas-isi opened this issue Dec 6, 2024 · 0 comments

Comments

@augusto-de-freitas-isi
Copy link

Description:
Hi, I'm working with projected coordinate systems and have noticed a potential discrepancy between the coordinate system standard described on the Nerfstudio website and what is actually used in practice.

When applying an image to transform.json using an identity matrix, the projection did not follow the expected standard of projecting onto -z at (0,0). Instead, I observed differences in the visualization. Has anyone else noticed this, or am I missing something obvious?

Below is the JSON I used:

{
    "fl_x": 1147.1526990016812,
    "fl_y": 1158.8252259026597,
    "k1": -0.013472197525381842,
    "k2": 0.007509466554079491,
    "p1": -0.0011800209664517077,
    "p2": 0.01116939407701522,
    "cx": 540.0,
    "cy": 960.0,
    "w": 1080,
    "h": 1920,
    "aabb_scale": 16,
    "frames": [
        {
            "file_path": "./images/frame_00001.png",
            "transform_matrix": [
                [1.0, 0.0, 0.0, 0.0],
                [0.0, 1.0, 0.0, 0.0],
                [0.0, 0.0, 1.0, 0.0],
                [0.0, 0.0, 0.0, 1.0]
            ]
        },
        {
            "file_path": "./images/frame_00002.png",
            "transform_matrix": [
                [0.0, 0.0, -1.0, 0.0],
                [0.0, 1.0, 0.0, 0.0],
                [1.0, 0.0, 0.0, 0.0],
                [0.0, 0.0, 0.0, 1.0]
            ]
        },
        {
            "file_path": "./images/frame_00003.png",
            "transform_matrix": [
                [0.0, 0.0, 1.0, 0.0],
                [0.0, 1.0, 0.0, 0.0],
                [-1.0, 0.0, 0.0, 0.0],
                [0.0, 0.0, 0.0, 1.0]
            ]
        },
        {
            "file_path": "./images/frame_00004.png",
            "transform_matrix": [
                [1.0, 0.0, 0.0, 0.0],
                [0.0, 1.0, 0.0, 1.0],
                [0.0, 0.0, 1.0, 0.0],
                [0.0, 0.0, 0.0, 1.0]
            ]
        }
    ]
}

Visualization 1
Visualization 2
The axes are not just translated but are also quite misaligned.
Is there a discrepancy between the Nerfstudio documentation on the coordinate system and the actual implementation?
Should the identity matrix project differently in the default coordinate system as described?

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

1 participant