Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

3.11.0

Choose a tag to compare

@ahojnnes ahojnnes released this 28 Nov 13:27
· 1 commit to release/3.11 since this release
aa08784

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 to align_reconstruction_to_locations (typo).
    • pycomap.cost_functions becomes a module and should be explicitly imported as import pycolmap.cost_functions.
    • Replaced Image.registered by Image.{has_pose,reset_pose}.
    • Replaced Image.{get_valid_point2D_ids,get_valid_points2D} by Image.{get_observation_point2D_idxs,get_observation_points2D}.
    • Replaced Track.{append,remove} by Track.{add_element,delete_element}.
    • AbsolutePoseErrorCost becomes AbsolutePosePriorCost.
    • MetricRelativePoseErrorCost becomes RelativePosePriorCost.
    • 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 with pycolmap.create_default_bundle_adjuster().
    • absolute_pose_estimation becomes estimate_and_refine_absolute_pose.
    • pose_refinement becomes refine_absolute_pose.
    • essential_matrix_estimation becomes estimate_essential_matrix.
    • fundamental_matrix_estimation becomes estimate_fundamental_matrix.
    • rig_absolute_pose_estimation becomes estimate_and_refine_generalized_absolute_pose.
    • homography_matrix_estimation becomes estimate_homography_matrix.
    • squared_sampson_error becomes compute_squared_sampson_error.
    • homography_decomposition becomes pose_from_homography_matrix.
    • Rigid3d.essential_matrix becomes pycolmap.essential_matrix_from_pose.

Full Change List (sorted temporally)