Skip to content

Instantly share code, notes, and snippets.

@NikolausDemmel
Last active August 29, 2020 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NikolausDemmel/860beaf68c891f5453e457e70899f7e4 to your computer and use it in GitHub Desktop.
Save NikolausDemmel/860beaf68c891f5453e457e70899f7e4 to your computer and use it in GitHub Desktop.
lie spline timing ceres 1.14 vs 2.2
Running calibration with ceres_se3_old method
g_a initialized with -0.118566 9.55362 1.03586
mean error 72.997 num_points 291612
Solver Summary (v 1.14.0-eigen-(3.3.7)-lapack-suitesparse-(5.1.2)-cxsparse-(3.1.9)-eigensparse-no_openmp-no_tbb)
Original Reduced
Parameter blocks 5194 5193
Parameters 36346 36339
Effective parameters 31155 31149
Residual blocks 22744 22744
Residuals 644664 644664
Minimizer TRUST_REGION
Sparse linear algebra library SUITE_SPARSE
Trust region strategy LEVENBERG_MARQUARDT
Given Used
Linear solver SPARSE_NORMAL_CHOLESKY SPARSE_NORMAL_CHOLESKY
Threads 1 1
Linear solver ordering AUTOMATIC 5193
Cost:
Initial 1.910516e+09
Final 3.106029e+03
Change 1.910513e+09
Minimizer iterations 12
Successful steps 12
Unsuccessful steps 0
Time (in seconds):
Preprocessor 0.020069
Residual only evaluation 0.443563 (12)
Jacobian & residual evaluation 29.465765 (12)
Linear solver 6.694715 (12)
Minimizer 37.649023
Postprocessor 0.001747
Total 37.670839
Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 1.588326e-08 <= 1.000000e-06)
mean error 0.0888701 num_points 291612
num_gyro 10336 num_accel 10336 num_corner 291324 num_frames 2072 duration 51.8404
g: -0.0363781 9.67018 1.45218
accel_bias: -0.00123927 -0.00734059 0.000302779
gyro_bias: -7.52677e-05 2.24122e-06 -2.13737e-05
T_i_c0:
-0.999525 0.00760774 -0.0298689 0.0454796
0.0295858 -0.0349496 -0.998951 -0.0714166
-0.00864366 -0.99936 0.0347079 -0.0463355
0 0 0 1
T_i_c1:
-0.99952 0.00819665 -0.0298792 -0.0554633
0.0299826 0.0127968 -0.999469 -0.0699674
-0.00780993 -0.999885 -0.0130364 -0.0491065
0 0 0 1
Running calibration with ceres_se3_old method
g_a initialized with -0.118566 9.55362 1.03586
mean error 72.997 num_points 291612
Solver Summary (v 2.0.0-eigen-(3.3.7)-lapack-suitesparse-(5.1.2)-cxsparse-(3.1.9)-eigensparse-no_openmp)
Original Reduced
Parameter blocks 5194 5193
Parameters 36346 36339
Effective parameters 31155 31149
Residual blocks 22744 22744
Residuals 644664 644664
Minimizer TRUST_REGION
Sparse linear algebra library SUITE_SPARSE
Trust region strategy LEVENBERG_MARQUARDT
Given Used
Linear solver SPARSE_NORMAL_CHOLESKY SPARSE_NORMAL_CHOLESKY
Threads 1 1
Linear solver ordering AUTOMATIC 5193
Cost:
Initial 1.910516e+09
Final 3.106029e+03
Change 1.910513e+09
Minimizer iterations 12
Successful steps 12
Unsuccessful steps 0
Time (in seconds):
Preprocessor 0.020113
Residual only evaluation 0.440866 (12)
Jacobian & residual evaluation 26.822592 (12)
Linear solver 3.483889 (12)
Minimizer 31.737602
Postprocessor 0.001762
Total 31.759477
Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 1.588326e-08 <= 1.000000e-06)
mean error 0.0888701 num_points 291612
num_gyro 10336 num_accel 10336 num_corner 291324 num_frames 2072 duration 51.8404
g: -0.0363781 9.67018 1.45218
accel_bias: -0.00123927 -0.00734059 0.000302779
gyro_bias: -7.52677e-05 2.24122e-06 -2.13737e-05
T_i_c0:
-0.999525 0.00760774 -0.0298689 0.0454796
0.0295858 -0.0349496 -0.998951 -0.0714166
-0.00864366 -0.99936 0.0347079 -0.0463355
0 0 0 1
T_i_c1:
-0.99952 0.00819665 -0.0298792 -0.0554633
0.0299826 0.0127968 -0.999469 -0.0699674
-0.00780993 -0.999885 -0.0130364 -0.0491065
0 0 0 1
Linux clang 9 single threaded; atcremers35
Ceres version 1.14
eval_lie_spline:
SE3 order 4 acc: 0.290s. 0.591s. 2.035x
SE3 order 4 vel: 0.266s. 0.341s. 1.281x
SE3 order 5 acc: 0.472s. 1.237s. 2.619x
SE3 order 5 vel: 0.430s. 0.603s. 1.403x
SE3 order 6 acc: 0.688s. 2.296s. 3.339x
SE3 order 6 vel: 0.627s. 0.940s. 1.499x
SO3 order 4 acc: 0.057s. 0.144s. 2.531x
SO3 order 4 vel: 0.058s. 0.084s. 1.446x
SO3 order 5 acc: 0.081s. 0.316s. 3.912x
SO3 order 5 vel: 0.077s. 0.134s. 1.748x
SO3 order 6 acc: 0.117s. 0.534s. 4.551x
SO3 order 6 vel: 0.112s. 0.212s. 1.902x
eval_calib:
=============================================
custom_split : opt_time 6.009 num_iter 12
ceres_split : opt_time 14.6202 num_iter 12
ceres_split_old : opt_time 15.4883 num_iter 12
ceres_se3 : opt_time 23.7043 num_iter 12
ceres_se3_old : opt_time 37.6708 num_iter 12
=============================================
Ceres version 2.0
eval_lie_spline:
SE3 order 4 acc: 0.256s. 0.513s. 2.002x
SE3 order 4 vel: 0.231s. 0.284s. 1.226x
SE3 order 5 acc: 0.416s. 1.087s. 2.615x
SE3 order 5 vel: 0.375s. 0.509s. 1.356x
SE3 order 6 acc: 0.615s. 2.032s. 3.303x
SE3 order 6 vel: 0.553s. 0.820s. 1.482x
SO3 order 4 acc: 0.054s. 0.137s. 2.526x
SO3 order 4 vel: 0.052s. 0.077s. 1.485x
SO3 order 5 acc: 0.079s. 0.273s. 3.465x
SO3 order 5 vel: 0.075s. 0.128s. 1.707x
SO3 order 6 acc: 0.114s. 0.514s. 4.504x
SO3 order 6 vel: 0.108s. 0.203s. 1.884x
eval_calib:
=============================================
custom_split : opt_time 5.979 num_iter 12
ceres_split : opt_time 12.1143 num_iter 12
ceres_split_old : opt_time 12.8702 num_iter 12
ceres_se3 : opt_time 19.9955 num_iter 12
ceres_se3_old : opt_time 31.7595 num_iter 12
=============================================
@NikolausDemmel
Copy link
Author

NikolausDemmel commented Aug 17, 2020

Full run of experiments:

1.14 results

2.0 results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment