Releases: colmap/colmap
Releases · colmap/colmap
3.10
What's Changed
- Increment dev version number to 3.10 by @ahojnnes in #2320
- Replace std::string with constant chars by @whuaegeanse in #2321
- Remove unused SelectCudaComputeArch.cmake by @ahojnnes in #2322
- Document VS dev shell in install instructions by @ahojnnes in #2323
- Remove custom config for unsupported ubuntu 16.04 by @ahojnnes in #2324
- Changelog for release 3.9 by @ahojnnes in #2326
- Update deprecated nuget authenticate ADO pipeline task by @ahojnnes in #2327
- Disable noisy MSVC warnings and fix remaining relevant ones by @ahojnnes in #2328
- Fully encapsulate freeimage in bitmap library by @ahojnnes in #2332
- Link against the release version dependencies when building with vcpkg by @whuaegeanse in #2331
- Add changelog for 3.9.1 patch release by @ahojnnes in #2336
- Add missing "include " needed for unique_ptr by @Tobias-Fischer in #2338
- Support decoding multi-byte characters in Python script by @jot-jt in #2344
- Split Dockerfile in two stages: builder and runtime. by @pablospe in #2347
- Dockerfile improvements by @pablospe in #2356
- Update VCPKG commit in Windows CI by @sarlinpe in #2365
- Simplify the creation of reprojection error cost functions by @sarlinpe in #2364
- Migrate pycolmap by @sarlinpe in #2367
- Rename master -> main in pycolmap CI by @sarlinpe in #2370
- Bind SetPRNGSeed by @sarlinpe in #2369
- Encapsulate freeimage usage from pycolmap in colmap bitmap by @ahojnnes in #2372
- Re-generate version info on git changes by @ahojnnes in #2373
- Consolidate colmap/pycolmap readmes, updated acknowledgements, etc. by @ahojnnes in #2374
- Fix crashing pycolmap CI on Windows by @sarlinpe in #2383
- Add costs for pose graph optimization by @sarlinpe in #2378
- Switch to exception checks - v2 by @sarlinpe in #2376
- Cleanup checks in pycolmap by @sarlinpe in #2388
- Add RigReprojErrorConstantRigCostFunction by @sarlinpe in #2377
- Add cost functions to pycolmap by @sarlinpe in #2393
- Fix warning C4722 by @whuaegeanse in #2391
- Move reconstruction IO utils to a new file by @sarlinpe in #2399
- Acquire the GIL before returning None by @sarlinpe in #2400
- Disentangle the controller from threading and integrate the new logic into IncrementalMapperController by @B1ueber2y in #2392
- Simplify the low-level triangulation API by @sarlinpe in #2402
- Initialize glog in pycolmap only if not already done by @sarlinpe in #2405
- Adapt all the controllers to inherit from BaseController rather than Thread (except for feature extraction and matching) by @B1ueber2y in #2406
- Update path to models.h in database docs by @diffner in #2412
- Migrate Ubuntu CI pipelines from ADO to Github by @ahojnnes in #2411
- Build wheels for Python 3.12 by @sarlinpe in #2416
- Migrate MacOS CI pipeline from ADO to Github by @ahojnnes in #2418
- Improve bindings of Database by @sarlinpe in #2413
- Migrate Windows CI pipeline from ADO to Github by @ahojnnes in #2419
- Reduce logging during incremental mapping by @sarlinpe in #2420
- Migrate Docker CI from ADO to Github, remove ADO pipelines by @ahojnnes in #2422
- Simplify IncrementalMapperController by @sarlinpe in #2421
- Fix for glog 0.7.0 by @sarlinpe in #2428
- Fix typo by @whuaegeanse in #2430
- Fix RunMapper by @whuaegeanse in #2431
- Do triangulation in the IncrementalMapperController by @sarlinpe in #2429
- Only push a new Docker image on release by @sarlinpe in #2436
- model aligner with type "custom" does not update reconstruction by @lpanaf in #2433
- Define vcpkg manifest by @ahojnnes in #2426
- Fix ordering of keyword arguments in pycolmap.rig_absolute_pose_estimation by @sarlinpe in #2440
- Reduce the build time of pycolmap by @sarlinpe in #2443
- Improve bindings of CorrespondenceGraph by @sarlinpe in #2476
- Bind Reconstruction::{SetUp,ImagePairStats} by @sarlinpe in #2477
- Add bindings for substeps of incremental mapper with a python example by @B1ueber2y in #2478
- Debug crashing VCPKG-based CI builds by @sarlinpe in #2508
- Upgrade to pybind11 v2.12. Fix bind_map and reconstruction.points3D by @B1ueber2y in #2502
- Minor fix on logging for the pycolmap customized runner by @B1ueber2y in #2503
- Fix missing public link deps, break circular feature-scene dependency by @ahojnnes in #2497
- Avoid duplicate image allocation during undistortion by @fseegraeber in #2520
- Fix reconstruction.points3D by @B1ueber2y in #2523
- Fix 'std::out_of_range' error when using hierarchical_mapper by @GrayMask in #2526
- Fix binding for std::vector by @sarlinpe in #2533
- Include pybind eigen header by @tmnku in #2510
- Fix pycolmap python pipeline for multiple models by @B1ueber2y in #2531
- make two view geometry writable by @tmnku in #2540
- Customized python interface for bundle adjustment by @B1ueber2y in #2509
- Fix typos by @MaximSmolskiy in #2553
- Implicitly convert iterator to ListPoint2D by @sarlinpe in #2558
- Fix model_cropper not resetting image.num_points3D of cropped_rec by @ArneSchulzTUBS in #2557
- Split pair generation and matching by @sarlinpe in #2573
- Add ObservationManager by @sarlinpe in #2575
- Log info about created feature extractor/matcher types by @ahojnnes in #2579
- LSD: making the AGPL dependency optional by @zap150 in #2578
- Disable LSD when building pycolmap wheels by @sarlinpe in #2580
- Synthesize full two-view geometry and raw matches by @ahojnnes in #2595
- Support Adjoint matrix computation for Rigid3d by @B1ueber2y in #2598
- Fix cost functions for pose graph optimization by @B1ueber2y in #2601
- Fix python bundle adjustment example with pyceres by @B1ueber2y in #2606
- Faster homography estimator by @ahojnnes in #2603
- Add function to find real cubic polynomial roots by @ahojnnes in #2609
- Align with the convention of ceres doc on SqrtInformation. by @B1ueber2y in #2611
- Faster 7-point fundamental matrix estimator by @ahojnnes in #2612
- Faster 8-point fundamental matrix estimator by @ahojnnes in #2613
- Covariance estimation for bundle adjustment with Schur elimination by @B1ueber2y in #2610
- Mac OS improvements by @BSVogler in #2622
- Update cibuildwheel to 2.19.2 by @ahojnnes in #2632
- Faster essential matrix estimators by @ahojnnes in #2618
- Remove CamFromWorldPrior and create LocationPrior by @sarlinpe in #2620
- Add option to disable uninstall target, restore CI pipeline by @ahojnnes in #2634
- Faster covariance computation for small blocks by @B1ueber2y in #2633
- Fix optimal point algorithm by @morrishelle in https:...
3.9.1
3.9
What's Changed
- clang format all code and require clang-format-14 by @ahojnnes in #1785
- Fix compilation for vcpkg windows build by @ahojnnes in #1791
- Increment version number to 3.9 by @ahojnnes in #1794
- Remove unnecessary /arch:sse2 flag for MSVC by @ahojnnes in #1798
- Updated faq.rst by @CGCooke in #1801
- Fixed mistake in code comment for OpenCV Fisheye camera by @CGCooke in #1802
- Replace deprecated cudaThreadSynchronize with cudaDeviceSynchronize by @ahojnnes in #1806
- Replace deprecated Cuda texture references with texture objects by @ahojnnes in #1809
- Remove unused SIFT GPU cuda texture reference by @ahojnnes in #1823
- Upgrade SiftGPU to use CUDA texture objects by @ahojnnes in #1838
- Remove PBA as bundle adjustment backend to support CUDA 12+ by @ahojnnes in #1840
- Replace deprecated CUDA sature function call by @ahojnnes in #1841
- Avoid unnecessary mallocs during sampling by @ahojnnes in #1842
- Cleaned up docker readme and scripts by @ahojnnes in #1852
- add "Shared intrinsics per sub-folder" checkbox to automatic reconstruction window by @kenshi84 in #1853
- Update vcpkg by @ahojnnes in #1925
- Log the name of the file that causes Mat::Read() to checkfail by @SomeAlphabetGuy in #1923
- check Z_index correctly in ReadPly by @countywest in #1896
- Don't re-open files when reading and writing matrices by @SomeAlphabetGuy in #1926
- Update vcpkg to latest commit by @ahojnnes in #1948
- Remove unnecessary custom Eigen aligned allocator macros by @ahojnnes in #1947
- Prefix internal sources/includes with colmap by @ahojnnes in #1949
- Simplify clang-format config and sort includes by @ahojnnes in #1950
- Handle possible overflow in median function by @ahojnnes in #1951
- Run ASan pipeline under Ubuntu 22.04 by @ahojnnes in #1952
- Fix Ceres version test by @drkoller in #1954
- Fix deprecation warning for Qt font metrics width by @ahojnnes in #1958
- Setup clang-tidy and enable perf warnings by @ahojnnes in #1959
- VCPKG binary caching for windows CI by @ahojnnes in #1957
- Cosmetics for VS dev shell script by @ahojnnes in #1965
- Enable clang-tidy concurrency checks by @ahojnnes in #1967
- [Bug] fix finding shared points3D in FindLocalBundle by @wesleyliwei in #1963
- Enable compiler caching in CI by @ahojnnes in #1972
- Set number of features for different quality levels by @ahojnnes in #1975
- Specify parameter name using inline comment by @ahojnnes in #1976
- Fix Windows CCache by @ahojnnes in #1977
- Add e2e tests in CI pipeline using ETH3D datasets by @ahojnnes in #1397
- [feature] print verbose information for model analyzer by @wesleyliwei in #1978
- Add a missing include to compile with gcc13 by @EstebanDugueperoux2 in #1984
- Speed up snapshot construct in RigBundleAdjuster by @wesleyliwei in #1988
- Update outdated docker cuda image tag by @ahojnnes in #1992
- Add boulders ETH3D dataset to CI E2E tests by @ahojnnes in #1991
- Update executable paths in documentation by @ahojnnes in #1993
- Avoid unnecessary copy in ExtractTopScaleFeatures by @ahojnnes in #1994
- Move related code under new image library folder by @ahojnnes in #1995
- Move related code under new camera folder by @ahojnnes in #1996
- Added a virtual destructor to Sampler by @SomeAlphabetGuy in #2000
- Add a few more clang-tidy checks by @ahojnnes in #2001
- Move related code to new geometry module by @ahojnnes in #2006
- Use #pragma once as include guard by @ahojnnes in #2007
- Add bugprone-* clang-tidy checks by @ahojnnes in #2010
- Avoid const params in declarations by @ahojnnes in #2011
- Set and require C++14 by @ahojnnes in #2012
- Cleanup math functions that are now part of eigen/stdlib by @ahojnnes in #2013
- Add clang-analyzer checks by @ahojnnes in #2014
- Replace CMake provided find_package scripts and modern CMake targets by @ahojnnes in #2016
- Switch from Boost unit tests to Gtest by @ahojnnes in #2017
- Fix ccache restore keys in pipeline caching by @ahojnnes in #2018
- Add missing cacheHitVar to fix ccache by @ahojnnes in #2020
- Add missing Boost::graph import by @sarlinpe in #2021
- Compressed/flattened correspondence graph for faster triangulation / less memory by @ahojnnes in #2019
- Fix window ccache key by @ahojnnes in #2024
- Consistently use shared_ptr for shared pointers for SFM objects by @ahojnnes in #2023
- Remove check on Qt version by @sarlinpe in #2022
- Synthetics for E2E incremental mapper tests by @ahojnnes in #2025
- New math module by @ahojnnes in #2028
- Simplify similarity transform and more tests by @ahojnnes in #2030
- Extract reconstruction alignment functions into new file by @ahojnnes in #2032
- Add E2E hierarchical mapper tests by @ahojnnes in #2033
- Rename SimilarityTransform3 to Sim3d by @ahojnnes in #2034
- Add Rigid3d transform class by @ahojnnes in #2035
- Consolidate and simplify Rigid3d and Sim3d by @ahojnnes in #2037
- Some small improvements/cleanup for rigid3d/sim3d usage by @ahojnnes in #2041
- CamFromWorld replaces qvec/tvec by @ahojnnes in #2039
- Retry download of ETH3D datasets by @ahojnnes in #2043
- WorldToImage becomes CamToImg by @ahojnnes in #2044
- Camera models operate on camera rays by @ahojnnes in #2045
- Ignore directory .vs by @whuaegeanse in #2046
- Use the reference of Rigid3d to reduce memory consumption by @whuaegeanse in #2047
- Inline point to image projection by @ahojnnes in #2050
- Point2D becomes simpler pure data struct by @ahojnnes in #2051
- Use Eigen math for estimator utils by @ahojnnes in #2052
- Move cost functions under geometry module and rename by @ahojnnes in #2053
- Bundle adjuster is an estimator by @ahojnnes in #2054
- Remaining base targets move to new scene module by @ahojnnes in #2055
- Vote and verify improvements/speedup by @ahojnnes in #2056
- Generate version info in .cc file to reduce number of recompilations by @ahojnnes in #2057
- Option manager moves to controllers to disentangle circular deps by @ahojnnes in #2058
- Granular CMake modules and build targets by @ahojnnes in #2059
- Fix docker build by @ahojnnes in #2069
- Remove warnings about duplicated marco NOMINMAX by @whuaegeanse in #2067
- lib folder becomes thirdparty folder by @ahojnnes in #2068
- Remove unnecessary checks in image pair conversion by @ahojnnes in #2074
- Replace flaky ETH3D terrace with courtyard dataset by @ahojnnes in #2075
- Synthesize chained match graph for more mapper tests by @ahojnnes in https://github.com/colmap/colmap/p...
3.8
What's Changed
- 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 solveMETIS_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 Contributors
- @ibrarmalik made their first contribution in #1488
- @WZG3661 made their first contribution in #1498
- @nackjaylor made their first contribution in #1494
- @f-fl0 made their first contribution in #1501
- @soeroesg made their first contribution in #1552
- @xuchenghust made their first contribution in #1564
- @scott-vsi made their first contribution in #1576
- @catapulta made their first contribution in #1574
- @tdegraaff made their first contribution in #1121
- @logchan made their first contribution in #1632
- @Serenitysmk made their first contribution in #1531
- @FavorMylikes made their first contribution in #1672
- @tomer-grin made their first contribution in #1671
- @Yulv-git made their first contribution in #1675
- @skal65535 made their first contribution in #1668
- @aghand0ur made their first contribution in #1658
- @hrflr made their first contribution in #1655
- @hanseuljun made their first contribution in #1693
- @SomeAlphabetGuy made their first contribution in #1698
- @thomas-graphopti made their first contribution in #1721
- @buesma made their first contribution in #1639
- @ojhernandez made their first contribution in #1747
- @Yzhbuaa made their first contribution in #1642
- @yanxke made their first contribution in #1774
Full Changelog: 3.7...3.8
3.7
What's Changed
- 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.6
- 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
Note that with this 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. For older GPU architectures, you can either manually build COLMAP from source using an older CUDA version or download an older COLMAP release.
3.6-dev.3
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.
3.6-dev.2
3.6-dev.1
3.5
If you have an older NVIDIA GPU that does not support CUDA 9.X or has compute capability 2.X, please download the legacy CUDA version for Windows.
- 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