cvg / pixel-perfect-sfm

Pixel-Perfect Structure-from-Motion with Featuremetric Refinement (ICCV 2021, Best Student Paper Award)
Apache License 2.0
1.29k stars 132 forks source link

Building is broken due to changed file structure in Colmap Repo #110

Open ChristopherRemde opened 11 months ago

ChristopherRemde commented 11 months ago

Issue: Building this project with the current Colmap repo is not possible, due to some recent changes in the file structure of colmap, which causes the include paths to not resolve anymore, see: https://github.com/colmap/colmap/commit/3c38248720e62efa8adeef94b156bddf48781a72 and https://github.com/colmap/colmap/commit/91068eac3f1ba0f871d0ea96e536dffaeda76630

Also, alignment.h was deleted in the Colmap repository, which this project relies on (Not too sure about if it actually is needed, but it's included in some headers), see: https://github.com/colmap/colmap/commit/03af239d6fc42124cf27460ee8364a40acf980a7

The same changes break pycolmap and pyceres atm, see: https://github.com/colmap/pycolmap/issues/153 and https://github.com/cvg/pyceres/issues/16 . PR to fix these changes exist there already, but are not integrated yet.

Solution:

I updated the headers in a new PR: https://github.com/cvg/pixel-perfect-sfm/pull/111

As a temporary workaround, you can install the project from my fork, which should work: https://github.com/ChristopherRemde/pixel-perfect-sfm However, before installing pixel-perfect-sfm you need to build pyceres and pycolmap manually yourselfes for the time being, with these fixes manually patched in by yourself: https://github.com/cvg/pyceres/pull/17 & https://github.com/colmap/pycolmap/pull/152

Then, after cloning the fork of pixel-perfect-sfm, you need to remove the first two lines from the requirements.txt:

git+https://github.com/colmap/pycolmap
git+https://github.com/cvg/pyceres

and then build normally, like in the instructions.

sarlinpe commented 9 months ago

Thanks - we are very much aware of this issue but had to (and still need to) push back updating pixsfm because COLMAP is currently going through a major update and we first need to update and test other dependencies. For now please use pinned versions/commits (see these changes).

Dawars commented 3 months ago

Is this relevant again? Colmap 3.9 was released and Hierarchical-Localization was also updated to pycolmap 0.6.0

Dawars commented 3 months ago

I've updated most of the header includes and renames. Hopefully I can finish the rest tomorrow: https://github.com/Dawars/pixel-perfect-sfm/tree/colmap-3.9

sarlinpe commented 3 months ago

Yes I haven't yet found the time to update pixsfm to 3.9. Thanks a lot for working on this, feel free to send a PR and I'll review it!