Skip to content

Commit e8187c9

Browse files
committed
fix bug in view graph calibration
1 parent e8ce82e commit e8187c9

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

instantsfm/processors/view_graph_calibration.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,13 @@ def SolveViewGraphCalibration(view_graph:ViewGraph, cameras, images, VIEW_GRAPH_
3131
for image_pair in valid_image_pairs.values():
3232
image1, image2 = images[image_pair.image_id1], images[image_pair.image_id2]
3333
cam1, cam2 = cameras[image1.cam_id], cameras[image2.cam_id]
34-
if cam1 == cam2:
34+
cam_id1, cam_id2 = image1.cam_id, image2.cam_id
35+
if cam_id1 == cam_id2:
3536
cost_function = FetzerFocalLengthSameCameraCostFunction(image_pair.F, cam1.principal_point)
36-
idx = image1.cam_id
37-
problem.add_residual_block(cost_function, loss_function, [focals[idx:idx+1]])
37+
problem.add_residual_block(cost_function, loss_function, [focals[cam_id1:cam_id1+1]])
3838
else:
3939
cost_function = FetzerFocalLengthCostFunction(image_pair.F, cam1.principal_point, cam2.principal_point)
40-
idx1, idx2 = image1.cam_id, image2.cam_id
41-
problem.add_residual_block(cost_function, loss_function, [focals[idx1:idx1+1], focals[idx2:idx2+1]])
40+
problem.add_residual_block(cost_function, loss_function, [focals[cam_id1:cam_id1+1], focals[cam_id2:cam_id2+1]])
4241
problem.set_parameter_lower_bound(focals, 0, 1e-3)
4342

4443
options.max_num_iterations = VIEW_GRAPH_CALIBRATOR_OPTIONS['max_num_iterations']
@@ -72,7 +71,6 @@ def SolveViewGraphCalibration(view_graph:ViewGraph, cameras, images, VIEW_GRAPH_
7271
# manually calculate the residuals
7372
for idx, (pair_id, image_pair) in enumerate(valid_image_pairs.items()):
7473
residual = residuals[2 * idx:2 * idx + 2]
75-
cost_function.Evaluate([cam1.focal_length, cam2.focal_length], residuals, None)
7674
if residual[0]**2 + residual[1]**2 > thres_two_view_error_sq:
7775
invalid_counter += 1
7876
image_pair.is_valid = False

0 commit comments

Comments
 (0)