Bundle adjustment

Joint refinement of camera poses and structures. The adjusters build on COLMAP’s bundle adjustment and add the residuals of the LIMAP structures: lines, groups and the wireframe connecting them.

class limap.estimators.bundle_adjustment.BasePointLineBundleAdjuster

Bases: CeresBundleAdjuster

constant_lines(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) boost::unordered::unordered_flat_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
has_constant_line(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster, arg0: SupportsInt | SupportsIndex) bool
has_variable_line(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster, arg0: SupportsInt | SupportsIndex) bool
refine_lines(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) bool
refine_points(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) bool
variable_lines(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) boost::unordered::unordered_flat_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
weight_line(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) float
weight_point(self: limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster) float
class limap.estimators.bundle_adjustment.GroupBundleAdjuster

Bases: BasePointLineBundleAdjuster

constant_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster) boost::unordered::unordered_node_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
has_constant_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster, arg0: SupportsInt | SupportsIndex) bool
has_variable_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster, arg0: SupportsInt | SupportsIndex) bool
refine_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster) bool
variable_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster) boost::unordered::unordered_node_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
weight_plane(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster) float
weight_vp(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster) float
class limap.estimators.bundle_adjustment.GroupBundleAdjustmentConfig

Bases: PointLineBundleAdjustmentConfig

add_constant_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
add_variable_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
constant_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig) boost::unordered::unordered_node_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
has_constant_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
has_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
has_variable_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
num_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig) int
remove_constant_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
remove_variable_group(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
variable_groups(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig) boost::unordered::unordered_node_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
class limap.estimators.bundle_adjustment.GroupBundleAdjustmentOptions

Bases: PointLineBundleAdjustmentOptions

property angular_constraint_min_covisible_images
Type:

(int, default

Type:
  1. (int, default

property angular_constraint_threshold_deg

5.0)

Type:

(float, default

Type:

5.0) (float, default

property enforce_plane_angular_constraints

True)

Type:

(bool, default

Type:

True) (bool, default

property enforce_vp_angular_constraints

True)

Type:

(bool, default

Type:

True) (bool, default

property loss_function_scale_angle

0.2)

Type:

(float, default

Type:

0.2) (float, default

property loss_function_scale_angular_constraint

0.1)

Type:

(float, default

Type:

0.1) (float, default

property loss_function_scale_reprojection

1.5)

Type:

(float, default

Type:

1.5) (float, default

property loss_function_type_angle

LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

Type:

LossFunctionType.CAUCHY) (LossFunctionType, default

property loss_function_type_angular_constraint

LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

Type:

LossFunctionType.CAUCHY) (LossFunctionType, default

property loss_function_type_reprojection

LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

Type:

LossFunctionType.CAUCHY) (LossFunctionType, default

mergedict(self: object, kwargs: dict) None
property min_active_group_associations
Type:

(int, default

Type:
  1. (int, default

property min_reliable_group_associations_step2
Type:

(int, default

Type:
  1. (int, default

property refine_groups

True)

Type:

(bool, default

Type:

True) (bool, default

todict(self: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentOptions, recursive: bool = True) dict
property vp_residual_type

sin)

Type:

(str, default

Type:

sin) (str, default

property weight_plane

0.5)

Type:

(float, default

Type:

0.5) (float, default

property weight_plane_angular_constraint

100000.0)

Type:

(float, default

Type:

100000.0) (float, default

property weight_vp

5000.0)

Type:

(float, default

Type:

5000.0) (float, default

property weight_vp_angular_constraint

100000.0)

Type:

(float, default

Type:

100000.0) (float, default

class limap.estimators.bundle_adjustment.PointLineBundleAdjustmentConfig

Bases: BundleAdjustmentConfig

add_constant_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
add_variable_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
constant_lines(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig) boost::unordered::unordered_flat_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
has_constant_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
has_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
has_variable_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) bool
num_lines(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig) int
remove_constant_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
remove_variable_line(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, arg0: SupportsInt | SupportsIndex) None
variable_lines(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig) boost::unordered::unordered_flat_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >
class limap.estimators.bundle_adjustment.PointLineBundleAdjustmentOptions

Bases: BundleAdjustmentOptions

property line_weight_normalization_length

60.0) (float, default: 60.0) (float, default: 60.0)

Type:

(float, default

Type:

60.0) (float, default

property loss_function_scale_line

1.0) (float, default: 1.0) (float, default: 1.0)

Type:

(float, default

Type:

1.0) (float, default

property loss_function_type_line

LossFunctionType.CAUCHY) (LossFunctionType, default: LossFunctionType.CAUCHY) (LossFunctionType, default: LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

Type:

LossFunctionType.CAUCHY) (LossFunctionType, default

mergedict(self: object, kwargs: dict) None
property refine_lines

True) (bool, default: True) (bool, default: True)

Type:

(bool, default

Type:

True) (bool, default

property refine_points

True) (bool, default: True) (bool, default: True)

Type:

(bool, default

Type:

True) (bool, default

todict(self: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentOptions, recursive: bool = True) dict
property use_parameter_block_ordering

True) (bool, default: True) (bool, default: True)

Type:

(bool, default

Type:

True) (bool, default

property weight_line

1.0) (float, default: 1.0) (float, default: 1.0)

Type:

(float, default

Type:

1.0) (float, default

property weight_point

1.0) (float, default: 1.0) (float, default: 1.0)

Type:

(float, default

Type:

1.0) (float, default

class limap.estimators.bundle_adjustment.StructureBundleAdjuster

Bases: GroupBundleAdjuster

num_wireframe_observations(self: limap._limap._estimators._bundle_adjustment.StructureBundleAdjuster) int
refine_wireframe(self: limap._limap._estimators._bundle_adjustment.StructureBundleAdjuster) bool
weight_wireframe(self: limap._limap._estimators._bundle_adjustment.StructureBundleAdjuster) float
limap.estimators.bundle_adjustment.StructureBundleAdjustmentConfig

alias of GroupBundleAdjustmentConfig

class limap.estimators.bundle_adjustment.StructureBundleAdjustmentOptions

Bases: GroupBundleAdjustmentOptions

property force_reconstruct_wireframe3d

True)

Type:

(bool, default

property loss_function_scale_wireframe

1.0)

Type:

(float, default

property loss_function_type_wireframe

LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

mergedict(self: object, kwargs: dict) None
property refine_wireframe

True)

Type:

(bool, default

todict(self: limap._limap._estimators._bundle_adjustment.StructureBundleAdjustmentOptions, recursive: bool = True) dict
property weight_wireframe

0.1)

Type:

(float, default

property wireframe_voting
class limap.estimators.bundle_adjustment.WireframeBundleAdjuster

Bases: BasePointLineBundleAdjuster

num_wireframe_observations(self: limap._limap._estimators._bundle_adjustment.WireframeBundleAdjuster) int
refine_wireframe(self: limap._limap._estimators._bundle_adjustment.WireframeBundleAdjuster) bool
weight_wireframe(self: limap._limap._estimators._bundle_adjustment.WireframeBundleAdjuster) float
class limap.estimators.bundle_adjustment.WireframeBundleAdjustmentOptions

Bases: PointLineBundleAdjustmentOptions

property force_reconstruct_wireframe3d

False)

Type:

(bool, default

property loss_function_scale_wireframe

3.0)

Type:

(float, default

property loss_function_type_wireframe

LossFunctionType.CAUCHY)

Type:

(LossFunctionType, default

mergedict(self: object, kwargs: dict) None
property refine_wireframe

True)

Type:

(bool, default

todict(self: limap._limap._estimators._bundle_adjustment.WireframeBundleAdjustmentOptions, recursive: bool = True) dict
property weight_wireframe

0.1)

Type:

(float, default

property wireframe_voting
limap.estimators.bundle_adjustment.create_group_bundle_adjuster(options: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentOptions, config: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, reconstruction: limap::HolisticReconstruction) limap._limap._estimators._bundle_adjustment.GroupBundleAdjuster
limap.estimators.bundle_adjustment.create_point_line_bundle_adjuster(options: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentOptions, config: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, reconstruction: limap::HolisticReconstruction) limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster
limap.estimators.bundle_adjustment.create_structure_bundle_adjuster(options: limap._limap._estimators._bundle_adjustment.StructureBundleAdjustmentOptions, config: limap._limap._estimators._bundle_adjustment.GroupBundleAdjustmentConfig, reconstruction: limap::HolisticReconstruction) limap._limap._estimators._bundle_adjustment.BasePointLineBundleAdjuster
limap.estimators.bundle_adjustment.create_wireframe_bundle_adjuster(options: limap._limap._estimators._bundle_adjustment.WireframeBundleAdjustmentOptions, config: limap._limap._estimators._bundle_adjustment.PointLineBundleAdjustmentConfig, reconstruction: limap::HolisticReconstruction) limap._limap._estimators._bundle_adjustment.WireframeBundleAdjuster