CARVIEW |
Select Language
HTTP/2 200
date: Mon, 28 Jul 2025 05:59:32 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"4c12b6cbda3ff3eb9525d3ca925f3bf7"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=zHCYP8nPQFAaSTNSViJ0BNRuXwAPGAcUMrYkuPYOM5l3MRGjJq5OrY0WfT0AaC1ufuRo07fH53KXjsuXbhXs6CVuIBX8Z0LY2DcxHNbOuTltINg3hdTxbajtAeYN6kOl3zD2dRjORSgQ8zzX%2FjO0Y7VcU4E195oVgAsw9IMJQfRPvwGVBR04f5TFCK%2Be%2FhsAzcXM2LW1F2%2F5nhoDe7gZpi7fkPCZOum9btZAg61YRdv44oPZLzqgPpPD3iePGVLcNIaUdi8xmipdaawnPfpNXg%3D%3D--MEdbj0kDdh7DpQnO--coUBRVcP5jhXuXl9l7n96Q%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.501822220.1753682371; Path=/; Domain=github.com; Expires=Tue, 28 Jul 2026 05:59:31 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 28 Jul 2026 05:59:31 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: E1CE:2E8D04:1D153A:223C26:688711C3
Releases Β· colmap/colmap Β· GitHub
16 Jul 12:57
Loading
16 Jul 09:50
Loading
06 Jul 07:36
Loading
30 Jun 19:22
Read more
Loading
06 Dec 16:02
Loading
28 Nov 13:27
Read more
Loading
23 Jul 17:10
Read more
Loading
08 Jan 16:21
Loading
06 Jan 09:23
Read more
Loading
31 Jan 15:52
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Releases: colmap/colmap
Releases Β· colmap/colmap
3.12.3
74b2be9
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
Assets 4
5 people reacted
3.12.2
f6dc2cf
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
Bug Fixes
- Define VisualIndex::Read as static in python bindings
- Only find C/CXX OpenMP components to support new CMake versions
- Fix a bug affecting feature matching on GPU
- Fix potential deadlock in job queue
- Update FindMetis.cmake to also link GK_LIBRARIES
- Fix backwards compatibility in mapper with custom image list
- Fix docker run script for GUI
Assets 2
3.12.1
ac5ca67
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
Bug Fixes
- Fix Docker runtime libraries
- Fix spatial matcher bug
- Minor fixes for documentation
Assets 2
4 people reacted
3.12.0
e7e89eb
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
COLMAP 3.12.0 (06/30/2025)
New Features
- Support for modeling sensor rigs (and thus multi-camera rigs and panoramas).
For more details and usage examples, see: https://colmap.github.io/rigs.html. - Automatic download and caching of vocabulary trees and other resources.
- Support for converting between LLA and UTM coordinates.
- Improved minimal solvers for affine transform and generalized absolute/relative pose.
- Improved absolute pose estimation by minimizing pixel error in image space.
- Replaced FLANN with faiss for fast approximate nearest neighbor search
for improved speed in CPU-based feature matching and vocabulary tree-based image retrieval. - Support for propagating relative pose covariance.
- Support visualization of models with arbitrary origin and scale (e.g., in GPS space).
- Reconstruction benchmark for ETH3D, IMC, BlendedMVS datasets.
- Measure and report code test coverage in CI.
Bug Fixes
- Fixed RANSAC stopping criterion, see https://arxiv.org/pdf/2503.07829.
- Fixed and improved two-view pose and triangulation angle estimation.
- Fix rare deadlock during vocab tree feature matching.
- For other bug fixes, see full list of changes below.
Breaking Changes
- Serialization of reconstruction and database contains a new abstraction: rigs and frames.
The reconstruction output contains two new filesrigs.{bin,txt}
andframes.{bin,txt}
.
The database contains new tables:rigs
,rig_sensors
,frames
,frames_data
.
Reading from existing reconstructions and databases (without rigs/frames) is fully backwards
compatible and vice versa reading new reconstructions (with rigs/frames) using old code is
fully forwards compatible. - Sensor poses (and thus image poses) are now composed as:
sensor_from_world = sensor_from_rig * rig_from_world
. Previously,image.cam_from_world
returned a reference to the pose parameters. Now it returns a copy of the pose composition:
image.cam_from_world() = image.frame.rig.sensor_from_rig(image.camera.sensor_id) * image.frame.rig_from_world
with the underlying pose parameters stored in the rig and frame objects. - Default bundle adjuster supports sensor rigs and thus rig bundle adjuster is deprecated.
- FLANN-based vocabulary trees are incompatible with faiss. New trees automatically
downloaded, if no vocab_tree_path is provided, otherwise manual download and update required. - Removed official support for Ubuntu 20.04, MacOS 13, and Visual Studio 2019.
Full Change List (sorted temporally)
- Cancel previous Github action runs upon push by @ahojnnes in #2998
- Fix ccache installation in pycolmap windows CI by @ahojnnes in #2997
- Use Azure blob storage as vcpkg binary cache by @ahojnnes in #2999
- Add missing openmp flags in retrieval for flann parallelization by @ahojnnes in #3018
- Separate read and write SAS tokens for vcpkg binary cache by @ahojnnes in #3027
- Define vcpkg binary cache source inline by @ahojnnes in #3028
- Fix conditional vcpkg binary cache config in bash by @ahojnnes in #3031
- Avoid absolute path for the include directory installation by @jhacsonmeza in #3024
- Add conversion between LLA and UTM coords. by @StonerLing in #3030
- Improve interface for ReadWriteBinaryBlob and add tests by @ahojnnes in #3033
- Add support for downloading files by @ahojnnes in #3022
- Add function to compute sha256 digest by @ahojnnes in #3035
- Automatically download and cache vocabulary tree by @ahojnnes in #3036
- Set vcpkg default features and synchronize to latest vcpkg by @ahojnnes in #3038
- Avoid unnecessary copy of input elements in Percentile/Median by @ahojnnes in #3039
- Abstract algorithm class IncrementalMapperImpl by @B1ueber2y in #3040
- Perform linear interpolation in percentile computation by @ahojnnes in #3041
- Avoid dependent inputs in IncrementalMapperImpl by @B1ueber2y in #3043
- Reorder destructors for better safety in EndReconstruction by @B1ueber2y in #3046
- Improvements for reconstruction normalization / bbox / centroid by @ahojnnes in #3047
- Speedup affine transform minimal solver, create python bindings by @ahojnnes in #3049
- Fix compilation with DOWNLOAD_ENABLED=OFF by @ahojnnes in #3053
- Consistent interface/tests for rigid3d/sim3d/affine2d, pycolmap bindings for rigid3d by @ahojnnes in #3051
- Improve logging for errors in masking during feature extraction by @Ambrosiussen in #3034
- Add copy constructor support for solver-related ceres bindings by @B1ueber2y in #3059
- Minor fix on using pycolmap bundle adjuster with pyceres by @B1ueber2y in #3060
- Re-enable interface support for covariance estimation from a Ceres::Problem instance by @B1ueber2y in #3061
- Only cancel CI runs in PRs and not in main/release branches by @ahojnnes in #3063
- Add binding support for invalid values in pycolmap id types by @B1ueber2y in #3072
- Fix custom quality level in ETH3D benchmark by @ahojnnes in #3076
- Set max_num_features automatically per quality level by @ahojnnes in #3077
- Make it possible to build the MVS doc even when CUDA is not installed by @sarlinpe in #3078
- Temporarily disable ccache in the pycolmap macOS CI by @sarlinpe in #3084
- Add option to specify image list in automatic reconstruction by @ahojnnes in #3074
- Only create OpenGL context in automatic reconstruction if necessary by @ahojnnes in #3075
- Remove unnecessary braces around initializer in pycolmap/covariance by @ahojnnes in #3080
- Remove temporary fixes for macOS CI by @sarlinpe in #2954
- Reconstruction benchmark by @ahojnnes in #2714
- Re-enable ccache in pycolmap Mac CI by @sarlinpe in #3085
- Fix transitive completion in incremental triangulator by @ahojnnes in #3094
- Fix image deletion, hide point viewer widget after deletion by @ahojnnes in #3098
- Fix download functionality under Windows by @ahojnnes in #3099
- Add back detailed logs for covariance estimation by @B1ueber2y in #3082
- Fix reprojection error in camera rig cost function by @binbin-xu in #3106
- Install missing libcurl4 runtime library in dockerfile by @ahojnnes in #3122
- Expose incremental mapper pose prior options in pycolmap by @ahojnnes in #3123
- Remove year from copyright by @ahojnnes in #3124
- Use poselib for generalized absolute pose minimal solver by @ahojnnes in #3125
- Add code coverage reporting by @ahojnnes in #3126
- Fix synthetic prior generation when stddev=0 by @ahojnnes in #3128
- Create temporary colmap test directy under system test directory by @ahojnnes in #3129
- Minor: pyceres is no longer a must for running pycolmap bundle adjuster by @B1ueber2y in #3130
- Fix cost functor convention for benchmarking by @B1ueber2y in #3131
- Support enum from string conversion by @ahojnnes in #3132
- More robustly handle degenerate triangulation angles by @ahojnnes in #3135
- Minor: add missing empty namespace in alignment testing script by @B1ueber2y in #3137
- Add frame impl for future rig support by @B1ueber2y in #2698
- Rename RigCalibration to RigCalib by @ahojnnes in #3142
- Fix and improve two-view pose and triangulation angle estimation by @ahojnnes in #3146
- Fix covariance propagation of pose inverse by @B1ueber2y in #3155
- [Spherical Camera Support] Change essential matrix estimation to use camera rays by @ahojnnes in #3159
- Improve incremental mapper initialization logic by @ahojnnes in #3161
- Improved RANSAC dependency injection by @ahojnnes in #3165
- Add docs on the left convention in COLMAP for covariance propagation. by @B1ueber2y in https:/...
Assets 4
34 people reacted
3.11.1
682ea9a
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
Bug Fixes
- Fix typo in pycolmap function align_reconstruction_to_locations interface by @B1ueber2y in #2961
- Add back some ceres bindings to use pycolmap bundle adjustment without pyceres by @B1ueber2y in #2985
- Fix setting of RANSAC max error in pose prior BA alignment by @ahojnnes in #2993
Full Changelog: 3.11.0...3.11.1
Assets 23
24 people reacted
3.11.0
aa08784
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
New Features
- New pose prior based incremental mapper that can leverage absolute pose priors from e.g. GPS measurements.
- New bundle adjustment covariance estimation functionality. Significantly faster and more robust than Ceres.
- API documentation with auto-generated stubs for pycolmap.
- Use PoseLib's minimal solvers for faster performance and improved robustness.
- Experimental support for CUDA-based bundle adjustment through Ceres (disabled by default).
- Support for reading 16-bit PNG grayscale images.
- New RAD_TAN_THIN_PRISM_FISHEYE camera model in support of Meta's Project Aria devices.
- Replace numerical with analytical Jacobian in image undistortion for better convergence.
- Many more performance optimizations and other improvements. See full list of changes below.
Bug Fixes
- Fixed non-deterministic behavior of CUDA SIFT feature extractor. Broken since 3.10 release.
- Fixed orientation detection of covariant/affine SIFT feature extractor. Broken since initial release.
- Fixed point triangulator crashing due to bug in observation manager. Broken since 3.10 release.
- Fixed sequential feature matcher overlap missing the farthest image. Broken since initial release.
- Fixed rare deadlock during matching due to concurrent database access. Broken since 3.10 release.
- Fixed little/big endian detection. Broken since 3.1 release.
- For other bug fixes, see full list of changes below.
Breaking Changes
- Dropped official support for Ubuntu 18.04, Visual Studio 2019.
- Upgrade to C++17 standard in C++ and C++14 in CUDA source code.
- New
pose_priors
table in database in support of pose prior based mapper. - PyCOLMAP API:
align_reconstrution_to_locations
is renamed toalign_reconstruction_to_locations
(typo).pycomap.cost_functions
becomes a module and should be explicitly imported asimport pycolmap.cost_functions
.- Replaced
Image.registered
byImage.{has_pose,reset_pose}
. - Replaced
Image.{get_valid_point2D_ids,get_valid_points2D}
byImage.{get_observation_point2D_idxs,get_observation_points2D}
. - Replaced
Track.{append,remove}
byTrack.{add_element,delete_element}
. AbsolutePoseErrorCost
becomesAbsolutePosePriorCost
.MetricRelativePoseErrorCost
becomesRelativePosePriorCost
.- The signature of
ReprojErrorCost
and related cost functions was changed: arguments are reordered, the detection uncertainty is now a 2x2 covariance matrix. BundleAdjuster
becomes virtual and should be created withpycolmap.create_default_bundle_adjuster()
.absolute_pose_estimation
becomesestimate_and_refine_absolute_pose
.pose_refinement
becomesrefine_absolute_pose
.essential_matrix_estimation
becomesestimate_essential_matrix
.fundamental_matrix_estimation
becomesestimate_fundamental_matrix
.rig_absolute_pose_estimation
becomesestimate_and_refine_generalized_absolute_pose
.homography_matrix_estimation
becomesestimate_homography_matrix
.squared_sampson_error
becomescompute_squared_sampson_error
.homography_decomposition
becomespose_from_homography_matrix
.Rigid3d.essential_matrix
becomespycolmap.essential_matrix_from_pose
.
Full Change List (sorted temporally)
- Updates for pycolmap by @ahojnnes in #2672
- Trigger CI on release/* branches by @ahojnnes in #2673
- Use consistent versioning scheme between C++/Python by @ahojnnes in #2674
- Add cost function for 3D alignment (with covariance) by @B1ueber2y in #2621
- Numpy 2 compatibility by @sarlinpe in #2682
- Add fix for specifying the correct pycolmap CMake python development β¦ by @fulkast in #2683
- Remove non existant flags of model_aligner from docs by @TamirCohen in #2696
- Reset CMAKE_MODULE_PATH to previous value by @mvieth in #2699
- Robustify nchoosek against overflow by @ahojnnes in #2706
- Observation manager needs to check if image_id exists before query operations by @bo-rc in #2704
- Remove pose prior from database.py:add_image by @sarlinpe in #2707
- Fix: sequential matcher overlap number should be inclusive by @flm8620 in #2701
- Fix table mangled by clang-format by @sweber1 in #2710
- Write out options to ini in full precision, relax bundle adjuster convergence by @ahojnnes in #2713
- Tests for pairing library in feature matching by @ahojnnes in #2711
- Rename IncrementalMapperOptions to IncrementalPipelineOptions by @B1ueber2y in #2708
- Add support for CUDA sparse BA solver by @ahojnnes in #2717
- Rename HierarchicalMapperController to HierarchicalPipeline by @ahojnnes in #2718
- Make VisualIndex::Quantize const to improve readability by @IshitaTakeshi in #2723
- Fix CUDA_ENABLED macro in new bundle adjustment code by @drkoller in #2725
- Automatically generate stub files by @sarlinpe in #2721
- Add CUDA-based dense BA solver by @ahojnnes in #2732
- Improved and simplified caching in feature matching by @ahojnnes in #2731
- Fix colmap namespace in the macro support of logging. by @B1ueber2y in #2733
- Add callbacks by move by @ahojnnes in #2734
- Implement transitive matcher with pair generator + tests by @ahojnnes in #2735
- Provide reasonable defaults for some estimator options by @sarlinpe in #2745
- Fix mismatched Delaunay meshing options by @sarlinpe in #2748
- PyCOLMAP API documentation by @sarlinpe in #2749
- Improved pycolmap coverage and docs by @sarlinpe in #2752
- Follow-up fixes in pycolmap by @sarlinpe in #2755
- Report errors in import_images by @sarlinpe in #2750
- Further simplification of feature matcher code by @ahojnnes in #2744
- Add missing ClearModifiedPoints3D by @sarlinpe in #2761
- Store shared camera ptr for reconstruction images by @ahojnnes in #2762
- Avoid unnecessary copy of queue in IncrementalTriangulator::Complete() by @ahojnnes in #2764
- Branch prediction for THROW_CHECK_NOTNULL by @ahojnnes in #2765
- Use shared camera pointer in more places by @ahojnnes in #2763
- Support switching camera directly with camera pointer by @B1ueber2y in #2767
- Add test for MergeReconstructions by @B1ueber2y in #2766
- Fix little/big endian detection by @ahojnnes in #2768
- Fix options for CUDA sparse BA solver by @whuaegeanse in #2758
- Rename SupperMeasurer::Compare for improved readability by @ahojnnes in #2774
- Improvements for install docs by @ahojnnes in #2773
- fixed typo of align_reconstrution_to_locations to align_reconstructio⦠by @TamirCohen in #2776
- Fix missing camera ptr for Reconstruction.DeleteAllPoints2DAndPoints3D() by @B1ueber2y in #2779
- Rename remaining proj_matrix instances to cam_from_world by @ahojnnes in #2780
- Relative pose decomposition uses Rigid3d by @ahojnnes in #2781
- Minor renaming on pycolmap point2d and point3d filenames by @B1ueber2y in #2784
- Add validity check for pixel coordinate in the Fisheye camera. Fix tests. by @B1ueber2y in #2790
- Use branch prediction in PRNG functions by @ahojnnes in #2796
- Implementation of Aria Fisheye camera model by @nushakrishnan in #2786
- Upgrade to C++ 17 by @B1ueber2y in #2801
- Pose Prior based Incremental Mapper by @ferreram in #2660
- Expose UpdatePoint3DErrors to pycolmap by @theartful in #2805
- Switch to the Ruff Python formatter by @sarlinpe in #2803
- Add mixed Python-C++ PyCOLMAP package by @sarlinpe in #2747
- Enable Ruff linter for Python by @sarlinpe in #2806
- Use C++17 structured bindings in some places by @ahojnnes in #2808
- Add RAD_TAN_THIN_PRISM_FISHEYE to camera docs by @ahojnnes in #2810
- Customized cost functions should be functors instead by @B1ueber2y in https://git...
Assets 4
26 people reacted
3.10
0bd66d9
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Compare
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:...
Assets 4
23 people reacted
3.9.1
e990364
This commit was created on GitHub.com and signed with GitHubβs verified signature.
The key has expired.
Compare
Assets 4
30 people reacted
3.9
87b370e
This commit was created on GitHub.com and signed with GitHubβs verified signature.
The key has expired.
Compare
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...
Assets 2
6 people reacted
3.8
Compare
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
Assets 4
51 people reacted
Previous Next
You canβt perform that action at this time.