Crash on submodel alignment

Getting an OOM error on submodel alignment of a 20k image dataset on a machine with 768GB of RAM and 1TB of swap. I normally turn off submodel alignment on really large datasets as the number of images tends to overwhelm any need for submodel aligment. I’ll do so with this dataset by touching alignment_done.txt in the OpenSfM directory.

2 Likes

Alignment for submodels uses the sparse point cloud and not the cameras. This is the reason for the OOM. This is the second large dataset I’ve seen this with and it kind of violates the assumption of split merge. To that end, I opened a pull request to do submodel alignment using cameras. There may be some impact on accuracy impacts, but in fact, it may improve accuracy as camera position is less subject to edge effects than the point cloud itself.

4 Likes

And thanks to Piero for the reminder on how this was implemented.

1 Like

Will this reduce the RAM requirements for the split-merge process?

1 Like

Yes! I wonder how many of the split merge problems we’ve been seeing here will largely be fixed by this.

3 Likes

Lying to ODM wasn’t a good choice:

[WARNING] Submodel submodel_0000 does not have an aligned reconstruction (/var/www/data/4602acfc-629e-4d2d-ac24-99f1d26865cb/submodels/submodel_0000/opensfm/reconstruction.aligned.json). This could mean that the submodel could not be reconstructed  (are there enough features to reconstruct it?). Skipping.

Now that the docker images are built for the above pull request, I’ll see how things work with alignment.

Oops update. Still a segfault. I think there’s a bug.

2 Likes

Related threads: