alicevision / Meshroom

3D Reconstruction Software

Home Page:http://alicevision.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Obtaining 3d positions (and normals) of extracted cctag markers

wlter opened this issue · comments

Hi,

I would like to use (cctag) markers to uniquely identify a set of positions, which should be a byproduct of the processing chain, if I understand the software correctly.

The scene I'll be working with:

  • Physically at least 32 markers are ordered around a semi-sphere, so some will always be occluded in some views.
  • Since meshroom supports cctag markers I'd like to go with those.

What I am looking for

  • relative positions of the markers in 3d space (together with their unique ID)
  • ideally position + normal, but not necessarily
  • ideally also with a physical scaling, but no necessarily

What I am not looking for

  • I am not looking for the actual photogrammetry result. Don't need the mesh, the texturing or any other features.

A nice bonus would be

  • if there's a way to create the sparse reconstruction only from markers (no other features like dpsift etc)
  • if there's a way to take into account that each marker is unique

I feel like the software internally already has the info that I am looking for, but I don't know how to get to it.
Would be grateful if someone could help me out :)

You can use the ConvertSfMFormat node to export the cctags as a JSON. Select only the 'structure' export option.
image

Example output:

        {
            "landmarkId": "25375",
            "descType": "cctag3",
            "color": [
                "2",
                "0",
                "0"
            ],
            "X": [
                "0",
                "1.7763568394002505e-15",
                "0"
            ]
        },
        {
            "landmarkId": "27864",
            "descType": "cctag3",
            "color": [
                "1",
                "0",
                "0"
            ],
            "X": [
                "-6.3424587249755859",
                "-9.5071029663085938",
                "3.9209086894989014"
            ]
        },

The 'color' key represents the marker ID.