mapillary / OpenSfM

Open source Structure-from-Motion pipeline
https://www.opensfm.org/
BSD 2-Clause "Simplified" License
3.37k stars 856 forks source link

Running OpenSfM on a cluster computer setup #646

Open tomasparks opened 4 years ago

tomasparks commented 4 years ago

I am thinking of build my own cluster computer setup I am wondering if OpenSfM can be used on a cluster computer setup

i've read https://opensfm.readthedocs.io/en/latest/large.html

Only the GPS positions of the images and the ground control points will determine the alignment. the feature extraction and matching can also be done before creating the submodels. This makes it possible for each submodel to reuse the features and matches of the common images.

but the match_features is the slowest part, so I was think can I running this step of a group computer to speed it up?

pierotofy commented 3 years ago

You can certainly run match_features on separate groups, on separate computers.

After you've extracted the metadata, create the submodels and run feature extraction / matching on the separate machines.

tomasparks commented 3 years ago

so Can you do matching between each submodel (eg: A->B, A->C, B->C)? and finally a global match between all submodels?

pierotofy commented 3 years ago

On separate machines, no. If you do matching on separate machines, matches will only be local to the submodel being processed.

Finally, alignment is done using a rigid transformation, so there's no global match (technically speaking), but the models will be globally aligned at the end of the process (if that was your question?)

EliDavis3D commented 1 year ago

@pierotofy So are you saying the alignment step will still work even though there was no global matching?

If so, whats the point in the global matching in this type of processing

pierotofy commented 1 year ago

You can perform the reconstruction step for submodels, without needing to compute (redundant) matches for the submodels separately.