Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running bundle adjustment ... Failed to compute a step: CHOLMOD warning: Matrix not positive definite. #154

Open
RigerLee opened this issue Dec 18, 2024 · 1 comment

Comments

@RigerLee
Copy link

RigerLee commented Dec 18, 2024

ubuntu 20.04
ceres 2.1.0
eigen 3.4.0

Glomap doesnot work with gerrard-hall dataset without linking to OpenMP::OpenMP_CXX after commit 55e40b1 which updates parallel method from openmp to colmap threadpool.

Logs:
Running bundle adjustment ... I20241218 11:20:34.274386 2481332 global_mapper.cc:177] Bundle adjustment start W20241218 11:20:34.736182 2481332 levenberg_marquardt_strategy.cc:115] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. W20241218 11:20:34.870784 2481332 levenberg_marquardt_strategy.cc:115] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. W20241218 11:20:35.003857 2481332 levenberg_marquardt_strategy.cc:115] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. W20241218 11:20:35.135973 2481332 levenberg_marquardt_strategy.cc:115] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. W20241218 11:20:35.272040 2481332 levenberg_marquardt_strategy.cc:115] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. E20241218 11:20:35.272112 2481332 trust_region_minimizer.cc:95] Terminating: Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5 I20241218 11:20:35.288867 2481332 bundle_adjustment.cc:48] Ceres Solver Report: Iterations: 5, Initial cost: 9.123054e+05, Final cost: 9.123054e+05, Termination: FAILURE

The result would be like below:
captrue

Using openmp version, it works:

captrue1

Strange behavior.
Hope this will be helpful for those who encounter the same problem.

@StonerLing
Copy link

StonerLing commented Dec 19, 2024

I encountered the same issue, but not with all datasets; it seems to happen with some super large datasets in my experiments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants