Skip to content

Why Does Meshroom Reconstruction Fail with Non-Continuous Camera Indices? #2608

Open
@Dipankar1997161

Description

Description

I am encountering an issue during the reconstruction process in Meshroom when working with a dataset where the camera indices are not continuous. For example, my dataset includes images named 1.jpg, 2.jpg, ..., 14.jpg, 17.jpg, ..., 96.jpg, with missing files like 15.jpg, 16.jpg, and 80.jpg. While the camera_init.sfm file, feature and matching files correctly reflects only the available cameras (93 in total), the reconstruction step fails with the following error:

  terminate called after throwing an instance of 'std::out_of_range'
    what():  vector::_M_range_check: __n (which is 93) >= this->size() (which is 93)
  Aborted

Error Message

Screenshot from 2024-11-27 10-04-26

My Observations

The input data is correct and does not include the missing cameras. For example, after 14.jpg, the next valid image is 17.jpg.
If I manually insert dummy images for the missing indices, the reconstruction process works perfectly without any errors.

Questions

  • Why does Meshroom seem to assume a continuous range of camera indices even though the actual data in camera_init.sfm correctly reflects the available cameras?
  • Is there a way to process such datasets with missing indices without manually adding dummy images?
  • Could this behavior be related to how internal structures handle the camera data (e.g., assuming a maximum camera ID of 96 in my case)?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions