Multiview matching with deep-learning and hand-crafted local features for COLMAP and other SfM software. Supports high-resolution formats and images with rotations. Both CLI and GUI are supported.
Details updates (Attention: possible breakout changes):
LOFTR and RoMa now can match by tile.
The Tiler (src/deep_image_matching/utils/tiling.py) has been completely rewritten to make the image tiling based on the maimum tile length. It also add zero-padding to the original image in order to have all the tiles with the same size (it may be useful for future parallelization/batching). Added outer structure for implementing a grid-based tiling or auto tiling (not completed yet).
When running tile-based matching (with all the algorithms), now you must specify the tile size, not the number of tiles (grid) anymore.
Moved config.py inside the source code folder (now it is in src/deep_image_matching so that it can be called directly as a package module, e.g., for using notebooks or when installing deep_image_matching by pypi)
Added "--quality", "--tiling" and "--skip_reconstruction" parameters to parser and moved parser from main.py to src/deep_image_matching/parser.py (check it for info). The main should be only a launcher of the program, but it should not contain any relevant blocks of code (the main.py may be also replaced by a notebook)
LOFTR and RoMa work by tile. You can set the desired resolution (i.e., Quality parameters) and the tile size. It is strongly suggested to run LOFTR and RoMa with lower resolutions when using high res images.
New DetectorFreeBaseMatcher class for implementing base functionality of LOFTR and RoMa. Similarly as for the MatcherBase class, RoMa and LoFTR subclass the DetectorFreeBaseMatcher
added script for running feature matching+reconstruction with a detector-based matching approach and subsequentely use a detector-free matcher for dense matching
Added LOWEST quality parameters for downsampling images by a factor 8.
Summary:
Details updates (Attention: possible breakout changes):