What's new in COLMAP 3.8
Feb 5, 2023
- Updating geo-registration doc. by @ferreram in #1410
- Adding user-specified option for reconstructing purely planar scene. … by @ferreram in #1408
- Only apply sqlite vacuum command when elements are deleted from the database. by @ferreram in #1414
- Replace Graclus with Metis dependency by @ahojnnes in #1422
- Update ceres download URL in build script by @whuaegeanse in #1430
- Fix type errors when building colmap with build.py in windows by @whuaegeanse in #1440
- Fix bug in the computation of the statistics Global/Local BA by @whuaegeanse in #1449
- Add RefineGeneralizedAbsolutePose and covariance estimation by @Skydes in #1464
- Update docker image definition by @ahojnnes in #1478
- Upgrade deprecated ceres parameterizations to manifolds by @ahojnnes in #1477
- Use masks for stereo fusion on automatic reconstruction by @ibrarmalik in #1488
- fix random seed set failed from external interface by @WZG3661 in #1498
- Replace deprecated Eigen nonZeros() call for most recent Eigen versions. by @nackjaylor in #1494
- Fix ceres-solver folder name by @f-fl0 in #1501
- Improved convergence criterion for XYZ to ELL conversion by @ahojnnes in #1505
- Fix bug in the function SetPtr of Bitmap by @whuaegeanse in #1525
- Avoid the calling of copy constructor/assignment by @whuaegeanse in #1524
- Avoid calling copy constructors of FeatureKeypoints and FeatureDescriptors by @whuaegeanse in #1540
- Initialize freeimage if statically linked by @ahojnnes in #1549
- Avoid hard crash if Jacobian matrix is rank deficient by @mihaidusmanu in #1557
- visualize_model.py: added FULL_OPENCV model by @soeroesg in #1552
- Update vcpkg version to fix CI pipeline by @ahojnnes in #1568
- Replace deprecated Mac OS 10.15 with Mac OS 12 build in CI by @ahojnnes in #1569
- Fix inconsistent between the actual executed image reader option and the saved project.ini file by @XuChengHUST in #1564
- checkout the expected version of ceres solver by @scott-vsi in #1576
- use default qt5 brew install directory #1573 by @catapulta in #1574
- Fix image undistortion with nested image folders by @ahojnnes in #1606
- Fix source file permissions by @ahojnnes in #1607
- Fixed the collection of arguments in colmap.bat by @tdegraaff in #1121
- Add OpenMP to COLMAP_EXTERNAL_LIBRARIES if enabled by @logchan in #1632
- Fix output tile reconstructions are the same as the input reconstruction in RunModelSplitter (#1513) by @Serenitysmk in #1531
- add libmetis-dev to solve METIS_INCLUDE_DIRS. by @FavorMylikes in #1672
- Update install.rst by @tomer-grin in #1671
- Update freeimage links. by @Yulv-git in #1675
- fix small typo by @skal65535 in #1668
- Update build.py with new glew link by @aghand0ur in #1658
- Add use_cache in fusion options GUI by @hrflr in #1655
- Add CI pipeline for Ubuntu 22.04 by @ahojnnes in #1688
- Avoid unnecessary copies of data by @ahojnnes in #1691
- Reduce memory allocations in correspondence graph search by @ahojnnes in #1692
- Use FindCUDAToolkit when available. by @hanseuljun in #1693
- Fixed a crash due to inconsistent undistortion by @SomeAlphabetGuy in #1698
- Add CUDA Ubuntu 22.04 CI build by @ahojnnes in #1705
- Delete the redundancy install of libmetis-dev by @thomas-graphopti in #1721
- Fix broken loading of image masks on macOS by @buesma in #1639
- Update install instructions with latest hints and known issues by @ahojnnes in #1736
- Modernize smart pointer initialization, fix alloc/dealloc mismatch by @ahojnnes in #1737
- Fix typo in cli.rst by @ojhernandez in #1747
- Fix inconsistent image resizing between CPU/GPU implementations of SIFT by @Yzhbuaa in #1642
- Reduce number of SIFT test features to make tests run under WSL by @ahojnnes in #1748
- Tag documentation version with dev by @ahojnnes in #1749
- Update copyright to 2023 by @ahojnnes in #1750
- Fix max image dimension for positive first_octave by @ahojnnes in #1751
- Fix SIFT GPU match creation by @ahojnnes in #1757
- Fix SIFT tests for OpenGL by @ahojnnes in #1762
- Suppress CUDA stack size warning for ptxas by @ahojnnes in #1770
- Simplify CUDA CMake configuration by @ahojnnes in #1776
- Fixes for CUDA compilation by @ahojnnes in #1777
- Improvements to dockerfile and build pipeline by @ahojnnes in #1778
- Explicitly require CMAKE_CUDA_ARCHITECTURES to be defined by @ahojnnes in #1781
- Depend on system installed FLANN by @ahojnnes in #1782
- Option to store relative pose between two cameras in database by @yanxke in #1774
- Depend on system installed SQLite3 by @ahojnnes in #1783
New in COLMAP 3.7 (Jan 27, 2022)
- Allow to save fused point cloud in colmap format when using command line by @boitumeloruf in #799
- Fix typos in image.h by @Pascal-So in #936
- Fix for EPnP estimator by @vlarsson in #943
- Visualize models using Python in Open3D by @ahojnnes in #948
- Update tutorial.rst by @ignacio-rocco in #953
- 8 point algorithm internal contraint fix by @mihaidusmanu in #982
- Python script for writing depth/normal arrays by @SBCV in #957
- BuildImageModel: use std::vector instead of numbered arguments by @Pascal-So in #949
- Fix bugs of sift feature matching by @whuaegeanse in #985
- script for modifying fused results by @SBCV in #984
- fix camera model query by @Pascal-So in #997
- fixed small bug in visualize_model.py by @sniklaus in #1007
- Update .travis.yml by @srinivas32 in #989
- Ensure DecomposeHomographyMatrix() always returns rotations by @daithimaco in #1040
- Remove deprecated qt foreach by @UncleGene in #1039
- Fix AMD/Windows GUI visualization bug by @drkoller in #1079
- include colmap_cuda in COLMAP_LIBRARIES when compiled with cuda by @ClementPinard in #1084
- Fix runtime crash when sparsesuite is missing from ceres by @anmatako in #1115
- Store relative poses in two_view_geometry table by @Ahmed-Salama in #1103
- search src images for patch_match from all set, not only referenced subset by @DaniilSNikulin in #1038
- Replace Travis CI with Azure Pipelines for Linux/Mac builds by @ahojnnes in #1119
- Allow ReadPly to handle double precision files by @anmatako in #1131
- Update GPSTransform calculations to improve accuracy by @anmatako in #1132
- Add scale template flag in SimilarityTransform3::Estimate by @anmatako in #1133
- Add CopyFile utility that can copy or hard/soft-link files by @anmatako in #1134
- Expose BA options in IncrementalMapper by @anmatako in #1139
- Allow configurable paths for mvs::Model by @anmatako in #1141
- Change ReconstructionMaanger to write larger recons first by @anmatako in #1137
- Setup Azure pipelines for Windows build by @ahojnnes in #1150
- Add fixed extrinsics in rig config by @anmatako in #1144
- Allow custom config and missing dependencies for patch-match by @anmatako in #1142
- Update print statements for Python 3 compatibility by @UncleGene in #1126
- Allow cleanup of SQLite tables using new database_cleaner command by @anmatako in #1136
- Extend SceneClustering to support non-hierarchical (flat) clusters by @anmatako in #1140
- Support more formats in model_converter by @anmatako in #1147
- Fix Mac 10.15 build due to changed Qt5 path by @ahojnnes in #1157
- Fix bug in ReadCameraRigConfig when reading extrinsics by @anmatako in #1158
- Add utility to compare poses between two sparse models by @ahojnnes in #1159
- Modularize executable main functions into separate sources by @ahojnnes in #1160
- Fix unnecessary copies in for range loops by @ahojnnes in #1162
- Add script to clang-format all source code by @ahojnnes in #1163
- Add back new options and formats for model_converter by @anmatako in #1164
- ImageReder new option and bug fix in GPS priors by @anmatako in #1146
- Parallelize stereo fusion; needs pre-loading of entire workspace by @anmatako in #1148
- Refactoring and new functionality in Reconstruction class by @anmatako in #1169
- Add new functionality in image_undistorter by @anmatako in #1168
- Add new CMake option to disable GUI by @anmatako in #1165
- Fix the memory leak caused by not releasing the memory of the PRNG at the end of the thread by @whuaegeanse in #1170
- Fix fusion segfault bug by @anmatako in #1176
- Update SiftGPU to use floorf for floats by @anmatako in #1182
- fix typo in extraction.cc by @iuk in #1191
- Improvements to NVM, Cam, Recon3D, and Bundler exporters by @drkoller in #1187
- Update model_aligner functionality by @anmatako in #1177
- Add new model_cropper and model_splitter commands by @anmatako in #1179
- use type point2D_t instead of image_t by @iuk in #1199
- Fix radial distortion in Cam format exporter by @drkoller in #1196
- Add new model_transformer command by @anmatako in #1178
- Fix error of using urllib to download eigen from gitlab by @whuaegeanse in #1194
- Multi-line string fix in Python model script by @mihaidusmanu in #1217
- added visibility_sigma to CLI input options for delaunay_mesher. by @Matstah in #1236
- Backwards compatibility of model_aligner by @tsattler in #1240
- [update undistortion] update dumped commands by @hiakru in #1276
- Compute reprojection error in generalized absolute solver by @Skydes in #1257
- Modifying scripts/python/flickr_downloader.py to create files with correct extensions by @snavely in #1275
- revise Dockerfile and readme. by @MasahiroOgawa in #1281
- Update to latest vcpkg version by @ahojnnes in #1319
- Fix compiler warnings reported by GCC by @ahojnnes in #1317
- Auto-rotate JPEG images based on EXIF orientation by @ahojnnes in #1318
- Upgrade vcpkg to fix CI build issues by @ahojnnes in #1331
- Added descriptor normalization argument to feature_extractor. by @mihaidusmanu in #1332
- Fix memory leak in the function of StringAppendV by @whuaegeanse in #1337
- Add CUDA_SAFE_CALL to cudaGetDeviceCount. by @chpatrick in #1334
- Add missing include in case CUDA/GUI is not available by @ahojnnes in #1329
- Fix wrong WGS84 model and test cases in GPSTransform by @Freeverc in #1333
- Fixes bug in sprt.cc: num_inliers was not set. by @rmbrualla in #1360
- Prevent a divide by zero corner case. by @rmbrualla in #1361
- Adds missing header. by @rmbrualla in #1362
- Require Qt in COLMAPConfig only if GUI is enabled by @Skydes in #1365
- Keep precision in the process of storing in text. by @whuaegeanse in #1363
- Expose exe internals by @Skydes in #1366
- Fix inliers matches extraction in EstimateUncalibrated function. by @ferreram in #1369
- Expose exe internals - fix by @Skydes in #1368
- Remove deprecated Mac OSX 10.14 image in ADO pipeline by @ahojnnes in #1383
- Add Mac OSX 11 ADO pipeline job by @ahojnnes in #1384
- Fix warnings for latest compiler/libraries by @ahojnnes in #1382
- Fix clang compiler warnings by @ahojnnes in #1387
- Add Address Sanitizer options and fix reported issues by @ahojnnes in #1390
- User/joschonb/asan cleanup by @ahojnnes in #1391
- Add ADO pipeline for Visual Studio 2022 by @ahojnnes in #1392
- Add ccache option by @ahojnnes in #1395
- Update ModelAligner to handle GPS and custom coords. and more by @ferreram in #1371
- Fix camera size change under Windows by @ahojnnes in #1401
- Release of COLMAP version 3.7 by @ahojnnes in #1402
- Reverting back to the original implementation which did not use the E… by @ahojnnes in #1406
New in COLMAP 3.6 (Jul 25, 2020)
- Improved robustness and faster incremental reconstruction process
- Add image_deleter command to remove images from sparse model
- Add image_filter command to filter bad registrations from sparse model
- Add point_filtering command to filter sparse model point clouds
- Add database_merger command to merge two databases, which is
- useful to parallelize matching across different machines
- Add image_undistorter_standalone to enable undistorting images
- without a pre-existing full sparse model
- Improved undistortion for fisheye cameras and FOV camera model
- Support for masking input images in feature extraction stage
- Improved HiDPI support in GUI for high-resolution monitors
- Import sparse model when launching GUI from CLI
- Faster CPU-based matching using approximate NN search
- Support for bundle adjustment with fixed extrinsics
- Support for fixing existing images when continuing reconstruction
- Camera model colors in viewer can be customized
- Support for latest GPU architectures in CUDA build
- Support for writing sparse models in Python scripts
- Scripts for building and running COLMAP in Docker
- Many more bug fixes and improvements to code and documentation
New in COLMAP 3.6 Dev 3 (Dec 16, 2019)
- With this preview release, we stop shipping pre-built binaries for CUDA-enabled GPUs with legacy compute capability < 3.0, see https://developer.nvidia.com/cuda-gpus to find out whether your GPU is supported.
New in COLMAP 3.5 (Apr 22, 2019)
- COLMAP is now released under the BSD license instead of the GPL
- COLMAP is now installed as a library, whose headers can be included and libraries linked against from other C/C++ code
- Add hierarchical mapper for parallelized reconstruction or large scenes
- Add sparse and dense Delaunay meshing algorithms, which reconstruct a watertight surface using a graph cut on the Delaunay triangulation of the reconstructed sparse or dense point cloud
- Improved robustness when merging different models
- Improved pre-trained vocabulary trees available for download
- Add COLMAP as a software entry under Linux desktop systems
- Add support to compile COLMAP on ARM platforms
- Add example Python script to read/write COLMAP database
- Add region of interest (ROI) cropping in image undistortion
- Several import bug fixes for spatial verification in image retrieval
- Add more extensive continuous integration across more compilation scenarios
- Many more bug fixes and improvements to code and documentation