Here we show some results of Yan's method and Cui's method. We tune the parameters for each dataset based on the pose graph of it.
[Click to expand]
The gif on the upper left displays the images in each dataset. The gif on the upper right is the reconstructions from the colmap
with default parameters. The bottom left and the bottom right gifs display the reconstructions after disambiguation with Yan's method and Cui's method, respectively.
(the image on the most left is misregistered with colmap
, while it is corrected with either one of the two methods)
(both methods failed as the ground truth should be something like a sequence instead of two sequences in parallel)
To investigate to what extent a set of parameters would be applicable for all datasets, we apply the parameters tuned for the Alexander Nevsky Cathedral dataset on other Internet collections of images.
[Click to expand]
(With a proper choice of the threshold, we can disambiguate the model into several parts.)
(With a proper choice of the threshold, we can disambiguate the model into several parts.)
(The correct reconstruction is split into two parts due to the lack of transitional camera views)
Here we would like to also display the results from the paper Improving Structure from Motion with Reliable Resectioning by Rajbir Kataria, Joseph DeGol, Derek Hoiem. For more details, please refer to the repository provided by the authors. We refer to this method as Kataria's method hereafter.
[Click to expand]
Based on the observation that longer tracks are more likely to contain wrong matches, the authors propose to use a track-length-adjusted number of matches as the criterion for the next view selection. More importantly, the initial pose of the image to be registered will rely only on 3D points from reliable images instead of all triangulated points. This is important as our experiments show that a correct registration order does not necessarily lead to a correct reconstruction. This method only contains two parameters to be set: the track length discount factor λ and the reliable image threshold τ. More significantly, the same set of parameters could work on many different scenes, greatly reducing the burden of tuning parameters for the above mentioned two methods.
For a fair comparison, we investigate the changed files in the original repository and integrate them with the current version of colmap with small modifications. We run the exhaustive_matcher
instead of vocab_tree_matcher
as done in previous methods. Since the parameters provided by the author are tuned for OpenSfm, we also tried to tune the parameters (λ changed from 0.5 to 0.3, τ changed from 2.0 to 1.3) for colmap on the cup and the oats dataset. The results are shown below:
However, when we use these two sets of parameters on the large scale Internet datasets provided by Heinly et al, both sets of the parameters give us similar reconstructions and they are somewhat inferior to what we can get from Yan's or Cui's method:
(In the left reconstruction, some of the misregistered cameras should be placed in the blue circle to create a correct reconstruction like the one on the right)
(Note the suspicious wall in the blue circle in the left reconstruction, which should be an empty street as in the right reconstruction)
(This set of parameters for Kataria's method cannot distinguish the two sides of Radcliffe Camera, while Yan's method and Cui's method work)
For the reproduction of the above results for Kataria's method, we put the changed/added files in the reliable_resectioning folder. You can merge all the files in this directory with colmap's source code and then compile it. We also provide a bash script example for generating sparse reconstruction with the newly compiled colmap.