[Bf-blender-cvs] [42abfe4] master: Update Ceres to latest upstream version
Sergey Sharybin
noreply at git.blender.org
Thu Sep 25 09:18:47 CEST 2014
Commit: 42abfe4853d293b345786e031b7e96bf97982c11
Author: Sergey Sharybin
Date: Wed Sep 24 17:10:02 2014 +0600
Branches: master
https://developer.blender.org/rB42abfe4853d293b345786e031b7e96bf97982c11
Update Ceres to latest upstream version
As usual brings fixes and speed improvements.
===================================================================
M extern/libmv/third_party/ceres/CMakeLists.txt
M extern/libmv/third_party/ceres/ChangeLog
M extern/libmv/third_party/ceres/bundle.sh
M extern/libmv/third_party/ceres/files.txt
M extern/libmv/third_party/ceres/include/ceres/c_api.h
M extern/libmv/third_party/ceres/include/ceres/ceres.h
M extern/libmv/third_party/ceres/include/ceres/conditioned_cost_function.h
M extern/libmv/third_party/ceres/include/ceres/cost_function.h
M extern/libmv/third_party/ceres/include/ceres/cost_function_to_functor.h
M extern/libmv/third_party/ceres/include/ceres/covariance.h
M extern/libmv/third_party/ceres/include/ceres/crs_matrix.h
A extern/libmv/third_party/ceres/include/ceres/gradient_problem.h
A extern/libmv/third_party/ceres/include/ceres/gradient_problem_solver.h
A extern/libmv/third_party/ceres/include/ceres/internal/disable_warnings.h
M extern/libmv/third_party/ceres/include/ceres/internal/numeric_diff.h
A extern/libmv/third_party/ceres/include/ceres/internal/reenable_warnings.h
M extern/libmv/third_party/ceres/include/ceres/iteration_callback.h
M extern/libmv/third_party/ceres/include/ceres/jet.h
M extern/libmv/third_party/ceres/include/ceres/local_parameterization.h
M extern/libmv/third_party/ceres/include/ceres/loss_function.h
M extern/libmv/third_party/ceres/include/ceres/normal_prior.h
D extern/libmv/third_party/ceres/include/ceres/numeric_diff_functor.h
M extern/libmv/third_party/ceres/include/ceres/ordered_groups.h
M extern/libmv/third_party/ceres/include/ceres/problem.h
M extern/libmv/third_party/ceres/include/ceres/solver.h
M extern/libmv/third_party/ceres/include/ceres/types.h
A extern/libmv/third_party/ceres/include/ceres/version.h
D extern/libmv/third_party/ceres/internal/ceres/CMakeLists.txt
M extern/libmv/third_party/ceres/internal/ceres/array_utils.cc
M extern/libmv/third_party/ceres/internal/ceres/array_utils.h
A extern/libmv/third_party/ceres/internal/ceres/callbacks.cc
A extern/libmv/third_party/ceres/internal/ceres/callbacks.h
M extern/libmv/third_party/ceres/internal/ceres/canonical_views_clustering.cc
M extern/libmv/third_party/ceres/internal/ceres/canonical_views_clustering.h
M extern/libmv/third_party/ceres/internal/ceres/conjugate_gradients_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/coordinate_descent_minimizer.cc
M extern/libmv/third_party/ceres/internal/ceres/coordinate_descent_minimizer.h
M extern/libmv/third_party/ceres/internal/ceres/covariance_impl.cc
M extern/libmv/third_party/ceres/internal/ceres/covariance_impl.h
M extern/libmv/third_party/ceres/internal/ceres/cxsparse.h
M extern/libmv/third_party/ceres/internal/ceres/dynamic_compressed_row_jacobian_writer.cc
M extern/libmv/third_party/ceres/internal/ceres/gradient_checking_cost_function.cc
A extern/libmv/third_party/ceres/internal/ceres/gradient_problem.cc
A extern/libmv/third_party/ceres/internal/ceres/gradient_problem_evaluator.h
A extern/libmv/third_party/ceres/internal/ceres/gradient_problem_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/graph.h
M extern/libmv/third_party/ceres/internal/ceres/graph_algorithms.h
M extern/libmv/third_party/ceres/internal/ceres/iterative_schur_complement_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/line_search_direction.cc
M extern/libmv/third_party/ceres/internal/ceres/line_search_minimizer.cc
A extern/libmv/third_party/ceres/internal/ceres/line_search_preprocessor.cc
A extern/libmv/third_party/ceres/internal/ceres/line_search_preprocessor.h
M extern/libmv/third_party/ceres/internal/ceres/linear_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/linear_solver.h
M extern/libmv/third_party/ceres/internal/ceres/local_parameterization.cc
M extern/libmv/third_party/ceres/internal/ceres/loss_function.cc
M extern/libmv/third_party/ceres/internal/ceres/minimizer.cc
M extern/libmv/third_party/ceres/internal/ceres/minimizer.h
M extern/libmv/third_party/ceres/internal/ceres/parameter_block_ordering.cc
M extern/libmv/third_party/ceres/internal/ceres/parameter_block_ordering.h
M extern/libmv/third_party/ceres/internal/ceres/preconditioner.cc
M extern/libmv/third_party/ceres/internal/ceres/preconditioner.h
A extern/libmv/third_party/ceres/internal/ceres/preprocessor.cc
A extern/libmv/third_party/ceres/internal/ceres/preprocessor.h
M extern/libmv/third_party/ceres/internal/ceres/problem.cc
M extern/libmv/third_party/ceres/internal/ceres/problem_impl.cc
M extern/libmv/third_party/ceres/internal/ceres/problem_impl.h
M extern/libmv/third_party/ceres/internal/ceres/program.cc
M extern/libmv/third_party/ceres/internal/ceres/program.h
A extern/libmv/third_party/ceres/internal/ceres/reorder_program.cc
A extern/libmv/third_party/ceres/internal/ceres/reorder_program.h
M extern/libmv/third_party/ceres/internal/ceres/schur_complement_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/schur_complement_solver.h
M extern/libmv/third_party/ceres/internal/ceres/single_linkage_clustering.cc
M extern/libmv/third_party/ceres/internal/ceres/single_linkage_clustering.h
M extern/libmv/third_party/ceres/internal/ceres/small_blas.h
M extern/libmv/third_party/ceres/internal/ceres/solver.cc
D extern/libmv/third_party/ceres/internal/ceres/solver_impl.cc
D extern/libmv/third_party/ceres/internal/ceres/solver_impl.h
A extern/libmv/third_party/ceres/internal/ceres/solver_utils.cc
A extern/libmv/third_party/ceres/internal/ceres/solver_utils.h
M extern/libmv/third_party/ceres/internal/ceres/sparse_normal_cholesky_solver.cc
M extern/libmv/third_party/ceres/internal/ceres/sparse_normal_cholesky_solver.h
M extern/libmv/third_party/ceres/internal/ceres/suitesparse.h
M extern/libmv/third_party/ceres/internal/ceres/trust_region_minimizer.cc
A extern/libmv/third_party/ceres/internal/ceres/trust_region_preprocessor.cc
A extern/libmv/third_party/ceres/internal/ceres/trust_region_preprocessor.h
M extern/libmv/third_party/ceres/internal/ceres/types.cc
M extern/libmv/third_party/ceres/internal/ceres/visibility.cc
M extern/libmv/third_party/ceres/internal/ceres/visibility.h
M extern/libmv/third_party/ceres/internal/ceres/visibility_based_preconditioner.cc
M extern/libmv/third_party/ceres/internal/ceres/visibility_based_preconditioner.h
===================================================================
diff --git a/extern/libmv/third_party/ceres/CMakeLists.txt b/extern/libmv/third_party/ceres/CMakeLists.txt
index 8e80352..a349d3f 100644
--- a/extern/libmv/third_party/ceres/CMakeLists.txt
+++ b/extern/libmv/third_party/ceres/CMakeLists.txt
@@ -51,6 +51,7 @@ set(SRC
internal/ceres/block_random_access_sparse_matrix.cc
internal/ceres/block_sparse_matrix.cc
internal/ceres/block_structure.cc
+ internal/ceres/callbacks.cc
internal/ceres/canonical_views_clustering.cc
internal/ceres/c_api.cc
internal/ceres/cgnr_solver.cc
@@ -76,6 +77,8 @@ set(SRC
internal/ceres/generated/partitioned_matrix_view_d_d_d.cc
internal/ceres/generated/schur_eliminator_d_d_d.cc
internal/ceres/gradient_checking_cost_function.cc
+ internal/ceres/gradient_problem.cc
+ internal/ceres/gradient_problem_solver.cc
internal/ceres/implicit_schur_complement.cc
internal/ceres/incomplete_lq_factorization.cc
internal/ceres/iterative_schur_complement_solver.cc
@@ -87,6 +90,7 @@ set(SRC
internal/ceres/line_search.cc
internal/ceres/line_search_direction.cc
internal/ceres/line_search_minimizer.cc
+ internal/ceres/line_search_preprocessor.cc
internal/ceres/local_parameterization.cc
internal/ceres/loss_function.cc
internal/ceres/low_rank_inverse_hessian.cc
@@ -96,9 +100,11 @@ set(SRC
internal/ceres/partitioned_matrix_view.cc
internal/ceres/polynomial.cc
internal/ceres/preconditioner.cc
+ internal/ceres/preprocessor.cc
internal/ceres/problem.cc
internal/ceres/problem_impl.cc
internal/ceres/program.cc
+ internal/ceres/reorder_program.cc
internal/ceres/residual_block.cc
internal/ceres/residual_block_utils.cc
internal/ceres/schur_complement_solver.cc
@@ -107,7 +113,7 @@ set(SRC
internal/ceres/scratch_evaluate_preparer.cc
internal/ceres/single_linkage_clustering.cc
internal/ceres/solver.cc
- internal/ceres/solver_impl.cc
+ internal/ceres/solver_utils.cc
internal/ceres/sparse_matrix.cc
internal/ceres/sparse_normal_cholesky_solver.cc
internal/ceres/split.cc
@@ -115,6 +121,7 @@ set(SRC
internal/ceres/suitesparse.cc
internal/ceres/triplet_sparse_matrix.cc
internal/ceres/trust_region_minimizer.cc
+ internal/ceres/trust_region_preprocessor.cc
internal/ceres/trust_region_strategy.cc
internal/ceres/types.cc
internal/ceres/visibility_based_preconditioner.cc
@@ -134,13 +141,17 @@ set(SRC
include/ceres/dynamic_numeric_diff_cost_function.h
include/ceres/fpclassify.h
include/ceres/gradient_checker.h
+ include/ceres/gradient_problem.h
+ include/ceres/gradient_problem_solver.h
include/ceres/internal/autodiff.h
+ include/ceres/internal/disable_warnings.h
include/ceres/internal/eigen.h
include/ceres/internal/fixed_array.h
include/ceres/internal/macros.h
include/ceres/internal/manual_constructor.h
include/ceres/internal/numeric_diff.h
include/ceres/internal/port.h
+ include/ceres/internal/reenable_warnings.h
include/ceres/internal/scoped_ptr.h
include/ceres/internal/variadic_evaluate.h
include/ceres/iteration_callback.h
@@ -149,13 +160,13 @@ set(SRC
include/ceres/loss_function.h
include/ceres/normal_prior.h
include/ceres/numeric_diff_cost_function.h
- include/ceres/numeric_diff_functor.h
include/ceres/ordered_groups.h
include/ceres/problem.h
include/ceres/rotation.h
include/ceres/sized_cost_function.h
include/ceres/solver.h
include/ceres/types.h
+ include/ceres/version.h
internal/ceres/array_utils.h
internal/ceres/blas.h
internal/ceres/block_evaluate_preparer.h
@@ -167,6 +178,7 @@ set(SRC
internal/ceres/block_random_access_sparse_matrix.h
internal/ceres/block_sparse_matrix.h
internal/ceres/block_structure.h
+ internal/ceres/callbacks.h
internal/ceres/canonical_views_clustering.h
internal/ceres/casts.h
internal/ceres/cgnr_linear_operator.h
@@ -193,6 +205,7 @@ set(SRC
internal/ceres/execution_summary.h
internal/ceres/file.h
internal/ceres/gradient_checking_cost_function.h
+ internal/ceres/gradient_problem_evaluator.h
internal/ceres/graph_algorithms.h
internal/ceres/graph.h
internal/ceres/implicit_schur_complement.h
@@ -207,6 +220,7 @@ set(SRC
internal/ceres/line_search_direction.h
internal/ceres/line_search.h
internal/ceres/line_search_minimizer.h
+ internal/ceres/line_search_preprocessor.h
internal/ceres/low_rank_inverse_hessian.h
internal/ceres/map_util.h
internal/ceres/minimizer.h
@@ -217,10 +231,12 @@ set(SRC
internal/ceres/partitioned_matrix_view_impl.h
internal/ceres/polynomial.h
internal/ceres/preconditioner.h
+ internal/ceres/preprocessor.h
internal/ceres/problem_impl.h
internal/ceres/program_evaluator.h
internal/ceres/program.h
internal/ceres/random.h
+ internal/ceres/reorder_program.h
internal/ceres/residual_block.h
internal/ceres/residual_block_utils.h
internal/ceres/schur_complement_solver.h
@@ -230,7 +246,7 @@ set(SRC
internal/ceres/scratch_evaluate_preparer.h
internal/ceres/single_linkage_clustering.h
internal/ceres/small_blas.h
- internal/ceres/solver_impl.h
+ internal/ceres/solver_utils.h
internal/ceres/sparse_matrix.h
internal/ceres/sparse_normal_cholesky_solver.h
internal/ceres/split.h
@@ -239,6 +255,7 @@ set(SRC
internal/ceres/suitesparse.h
internal/ceres/triplet_sparse_matrix.h
internal/ceres/trust_region_minimizer.h
+ internal/ceres/trust_region_preprocessor.h
internal/ceres/trust_region_strategy.h
internal/ceres/visibility_based_preconditioner.h
internal/ceres/visibility.h
diff --git a/extern/libmv/third_party/ceres/ChangeLog b/extern/libmv/third_party/ceres/ChangeLog
index c9f5b34..cd168a4 100644
--- a/extern/libmv/third_party/ceres/ChangeLog
+++ b/extern/libmv/third_party/ceres/ChangeLog
@@ -1,646 +1,652 @@
-commit 8c62487e437b91d3d354cd1ae8957e43fe540732
+commit d3ecd18625ba260e0d00912a305a448b566acc59
Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Fri May 16 09:44:18 2014 -0700
+Date: Tue Sep 23 10:12:42 2014 -0700
- Preparations for 1.9.0 release.
+ Add an explicit include for local_parameterization.h
- Version bump.
- minor docs update.
+ Thanks to cooordz for reporting this.
- Change-Id: I2fbe20ba4af6b2e186fe244c96ce6d6464fe0469
+ Change-Id: I7d345404e362a94ff1eb433ad6b9dcc4960ba76d
-commit 0831275a78ab65e4c95979598cb35c54d03d3185
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Fri May 16 08:17:54 2014 -0700
+commit 5dd76869cf45122c79579423f09e0de08cf04092
+Author: Alex Stewart <alexs.mac at gmail.com>
+Date: Fri Sep 19 16:08:25 2014 +0100
- Documentation update.
+ Fix unused-function warning with Eigen < 3.2.2.
- 1. Update iOS build instructions.
- 2. Update version history.
+ - CreateBlockJacobian() is only ever used when Eigen >= 3.2.2 is
+ detected, but was previously defined whenever CERES_USE_EIGEN_SPARSE
+ was defined with no check on the Eigen version.
+ - This resulted in an unused-function compile warning that became an
+ error due to -Werror, preventing compilation when using Eigen < 3.2.2.
- Change-Id: I49d62e86ecff39190b50c050cb12eef4e2773357
+ Change-Id: I24628ff329f14b087ece66bf2626bdc0de4ba224
-commit c7c7458625996a20203f1366d11bd701e5fb621b
-Author: Jack Feng <jackfengji at gmail.com>
-Date: Mon May 12 10:23:56 2014 +0800
+commit 820cb7b14831aa03eca1e8186000cebfdf0a42f3
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Wed Sep 17 09:46:08 2014 -0700
- add support for building for ios
+ Add solver_utils.cc to Android.mk
- use ios-cmake to build for ios
-
- Change-Id: I6b17c33339f3121322a4004d79629b22a62f7a94
+ Change-Id: I358522971711280f4362a1fa39b1568160e21e63
-commit 36c2ce87d13b9b7123bd0473b8b45fb3b6ae4271
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date: Mon Jan 13 21:18:08 2014 +0600
+commit 092b94970a073f8b47179d96160226fc19095898
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Fri Sep 5 11:56:29 2014 -0700
- Libmv 2D homography estimation example application
+ Add GradientProblem and GradientProblemSolver.
- Add an example application of homography matrix estimation
- from a 2D euclidean correspondences which is done in two
- steps:
+ The line search minimizer in Ceres does not require that the
+ problems that is solving is a sum of squares. Over the past
+ year there have been multiple requests to expose this algorithm
+ on its own so that it can be used to solve unconstrained
+ non-linear minimization problems on its own.
- - Coarse algebraic estimation
- - Fine refinement using Ceres minimizer
+ With this change, a new optimization problem called
+ GradientProblem is introduced which is basically a thin
+ wrapper around a user defined functor that evaluates cost
+ and gradients (FirstOrderFunction) and an optional LocalParameterization.
- Nothing terribly exciting apart from an example of how to
- use user callbacks.
+ Corresponding to it, a GradientProblemSolver and its associated
+ options and summary structs are introduced too.
- User callback is used here to stop minimizer when average
- of symmetric geometric distance becomes good enough.
- This might be arguable whether it's the best way to go
- (in some cases you would want to stop minimizer when
- maximal symmetric distance is lower than a threshold) but
- for a callback usage example it's good enough to stick
- to current logic.
+ An example that uses the new API to find the minimum of Rosenbrock's
+ function is also added.
- Change-Id: I60c8559cb10b001a0eb64ab71920c08bd68455b8
+ Change-Id: I42bf687540da25de991e9bdb00e321239244e8b4
-commit d99a3a961e4a6ff7218d0ab749da57cf1a1677bd
-Author: Björn Piltz <bjornpiltz at gmail.com>
-Date: Wed May 7 14:59:12 2014 +0200
+commit 6c45d6b891aac01489b478a021f99081c61792cb
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Thu Sep 11 07:48:30 2014 -0700
- Separate PUBLIC and PRIVATE library dependencies
- Do not propagate 3d party libs through
- IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE] mechanism
- when building shared libraries. SuiteSparse, lapack & co
- are considered private. Glog still gets propagated since
- it is part of the
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list