Dan,
Are you building in release mode?
Can you share the execution log and the output of summary:fullreport?
Sameer
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/834863ea-5937-4e92-a0ce-f6a50240e2c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/4ee1a232-f843-43e8-83b6-bbd461bd1b3a%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/e267963e-1355-45e1-83f8-39d1ae601d72%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/ac1d2cec-5d82-43d0-b192-0a3d334300c7%40googlegroups.com.
// define a default LOG severity #define MAX_LOG_LEVEL (ERROR) | |
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/196d5bf6-4af0-4cea-9c90-ace279e68dc5%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/196d5bf6-4af0-4cea-9c90-ace279e68dc5%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/735f83b7-4a70-4d97-8cb8-afc3b6c68036%40googlegroups.com.
sparse_linear_algebra_library_type = SUITE_SPARSE;
linear_solver_type = ITERATIVE_SCHUR;
preconditioner_type = CLUSTER_JACOBI;
visibility_clustering_type = SINGLE_LINKAGE;
sparse_linear_algebra_library_type = SUITE_SPARSE;
linear_solver_type = SPARSE_SCHUR;
preconditioner_type = JACOBI;
visibility_clustering_type = CANONICAL_VIEWS;
sparse_linear_algebra_library_type = SUITE_SPARSE;
linear_solver_type = ITERATIVE_SCHUR;
preconditioner_type = SCHUR_JACOBI;
visibility_clustering_type = CANONICAL_VIEWS;
Its a heuristic.Anything where the size of the reconstruction does not have is too large or too small will do.Sameer
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/59b07b99-6833-4701-8f55-8faba51a505e%40googlegroups.com.
Thank you for the answer, Sameer, but I'm not sure that the picture is much clearer in my mind. I knew that ITERATIVE_SCHUR solves it using Conjugate Gradients, and that is the reason I was hoping to perform faster then the precise SPARSE_SCHUR solver.
About conditioning we discussed before, and while there is not much we can do to improve on top of what I am already doing, it is strange that all the problems are poorly conditioned, as the slow CERES solving happens every single time for every single problem, no matter the dataset, the scene, the parameters optimized, etc. I saw in your documentation that visibility_clustering_type only affects CLUSTER_JACOBI and CLUSTER_TRIDIAGONAL preconditioners, and that is why I tried also with CLUSTER_JACOBI as you see in my example (actually that was my default configuration). It doesn't help, it is as slow as it gets.
What to understand from this, that there is nothing better than SPARSE_SCHUR?
I doubt that, so I must do something else wrong. Any idea what can be? Just to remind you, about the problem conditioning, I normalize the scene as in your BA sample app. Apart of that, my observations (known pixel projections), are also normalized by the image width. There is only one intrinsics shared by all 1000 cameras. Apart of this I can not think of anything out of ordinary.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/e1ff2407-6d6b-46d1-8840-3055992e8ca5%40googlegroups.com.
Yes, the earlier problem, like all the other modern SfM BA problems use shared intrinsics. I imagine this is an issue for the solver, but sharing the intrinsics improves a lot the quality of the reconstructed scene. Indeed, CERES doesn't seem to be optimized for this case, as the specialized schur does not support variable f-block size, which very often is caused by only one set of 9 parameters for the intrinsics, while the other 2000+ block are poses of mostly 6 params. How much helps using a specialized schur?
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/a2d8fd8c-2bd9-4247-951b-b7cc9289e443%40googlegroups.com.