[Bf-blender-cvs] [bf1e9bc] master: Ceres: Update to the latest actual version
Sergey Sharybin
noreply at git.blender.org
Tue Nov 1 11:59:56 CET 2016
Commit: bf1e9bc613377a4a4d5dcf9f50e757a4feb0928f
Author: Sergey Sharybin
Date: Tue Nov 1 11:29:33 2016 +0100
Branches: master
https://developer.blender.org/rBbf1e9bc613377a4a4d5dcf9f50e757a4feb0928f
Ceres: Update to the latest actual version
Brings all the fixes and improvements done in upstream within the last 13 months.
===================================================================
M extern/ceres/CMakeLists.txt
M extern/ceres/ChangeLog
M extern/ceres/bundle.sh
M extern/ceres/files.txt
M extern/ceres/include/ceres/cost_function_to_functor.h
M extern/ceres/include/ceres/covariance.h
M extern/ceres/include/ceres/dynamic_numeric_diff_cost_function.h
M extern/ceres/include/ceres/gradient_checker.h
M extern/ceres/include/ceres/internal/port.h
M extern/ceres/include/ceres/iteration_callback.h
M extern/ceres/include/ceres/jet.h
M extern/ceres/include/ceres/local_parameterization.h
M extern/ceres/include/ceres/numeric_diff_cost_function.h
M extern/ceres/include/ceres/problem.h
M extern/ceres/include/ceres/rotation.h
M extern/ceres/include/ceres/solver.h
M extern/ceres/include/ceres/version.h
M extern/ceres/internal/ceres/compressed_row_jacobian_writer.cc
M extern/ceres/internal/ceres/covariance.cc
M extern/ceres/internal/ceres/covariance_impl.cc
M extern/ceres/internal/ceres/covariance_impl.h
A extern/ceres/internal/ceres/gradient_checker.cc
M extern/ceres/internal/ceres/gradient_checking_cost_function.cc
M extern/ceres/internal/ceres/gradient_checking_cost_function.h
M extern/ceres/internal/ceres/gradient_problem_solver.cc
A extern/ceres/internal/ceres/is_close.cc
A extern/ceres/internal/ceres/is_close.h
M extern/ceres/internal/ceres/line_search_minimizer.cc
M extern/ceres/internal/ceres/local_parameterization.cc
M extern/ceres/internal/ceres/map_util.h
M extern/ceres/internal/ceres/parameter_block.h
M extern/ceres/internal/ceres/problem.cc
M extern/ceres/internal/ceres/problem_impl.cc
M extern/ceres/internal/ceres/problem_impl.h
M extern/ceres/internal/ceres/reorder_program.cc
M extern/ceres/internal/ceres/residual_block.h
M extern/ceres/internal/ceres/schur_complement_solver.cc
M extern/ceres/internal/ceres/solver.cc
M extern/ceres/internal/ceres/sparse_normal_cholesky_solver.cc
M extern/ceres/internal/ceres/stringprintf.cc
M extern/ceres/internal/ceres/trust_region_minimizer.cc
M extern/ceres/internal/ceres/trust_region_minimizer.h
A extern/ceres/internal/ceres/trust_region_step_evaluator.cc
A extern/ceres/internal/ceres/trust_region_step_evaluator.h
M extern/ceres/internal/ceres/trust_region_strategy.h
===================================================================
diff --git a/extern/ceres/CMakeLists.txt b/extern/ceres/CMakeLists.txt
index 2ad8c54..a6e9cd9 100644
--- a/extern/ceres/CMakeLists.txt
+++ b/extern/ceres/CMakeLists.txt
@@ -73,10 +73,12 @@ set(SRC
internal/ceres/file.cc
internal/ceres/generated/partitioned_matrix_view_d_d_d.cc
internal/ceres/generated/schur_eliminator_d_d_d.cc
+ internal/ceres/gradient_checker.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/is_close.cc
internal/ceres/iterative_schur_complement_solver.cc
internal/ceres/lapack.cc
internal/ceres/levenberg_marquardt_strategy.cc
@@ -116,6 +118,7 @@ set(SRC
internal/ceres/triplet_sparse_matrix.cc
internal/ceres/trust_region_minimizer.cc
internal/ceres/trust_region_preprocessor.cc
+ internal/ceres/trust_region_step_evaluator.cc
internal/ceres/trust_region_strategy.cc
internal/ceres/types.cc
internal/ceres/wall_time.cc
@@ -204,6 +207,7 @@ set(SRC
internal/ceres/householder_vector.h
internal/ceres/implicit_schur_complement.h
internal/ceres/integral_types.h
+ internal/ceres/is_close.h
internal/ceres/iterative_schur_complement_solver.h
internal/ceres/lapack.h
internal/ceres/levenberg_marquardt_strategy.h
@@ -248,6 +252,7 @@ set(SRC
internal/ceres/triplet_sparse_matrix.h
internal/ceres/trust_region_minimizer.h
internal/ceres/trust_region_preprocessor.h
+ internal/ceres/trust_region_step_evaluator.h
internal/ceres/trust_region_strategy.h
internal/ceres/visibility_based_preconditioner.h
internal/ceres/wall_time.h
diff --git a/extern/ceres/ChangeLog b/extern/ceres/ChangeLog
index 0e6c195..ae8d42a 100644
--- a/extern/ceres/ChangeLog
+++ b/extern/ceres/ChangeLog
@@ -1,659 +1,588 @@
-commit aef9c9563b08d5f39eee1576af133a84749d1b48
-Author: Alessandro Gentilini <agentilini at gmail.com>
-Date: Tue Oct 6 20:43:45 2015 +0200
+commit 8590e6e8e057adba4ec0083446d00268565bb444
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Thu Oct 27 12:29:37 2016 -0700
- Add test for Bessel functions.
+ Remove two checks from rotation.h
+
+ This allows rotation.h to remove its dependency on glog.
- Change-Id: Ief5881e8027643d7ef627e60a88fdbad17f3d884
+ Change-Id: Ia6aede93ee51a4bd4039570dc8edd100a7045329
-commit 49c86018e00f196c4aa9bd25daccb9919917efee
-Author: Alessandro Gentilini <agentilini at gmail.com>
-Date: Wed Sep 23 21:59:44 2015 +0200
+commit e892499e8d8977b9178a760348bdd201ec5f3489
+Author: Je Hyeong Hong <jhh37 at outlook.com>
+Date: Tue Oct 18 22:49:11 2016 +0100
- Add Bessel functions in order to use them in residual code.
+ Relax the tolerance in QuaternionParameterizationTestHelper.
- See "How can I use the Bessel function in the residual function?" at
- https://groups.google.com/d/msg/ceres-solver/Vh1gpqac8v0/NIK1EiWJCAAJ
+ This commit relaxes the tolerance value for comparing between the actual
+ local matrix and the expected local matrix. Without this fix,
+ EigenQuaternionParameterization.ZeroTest could fail as the difference
+ exactly matches the value of std::numeric_limits<double>::epsilon().
- Change-Id: I3e80d9f9d1cadaf7177076e493ff46ace5233b76
+ Change-Id: Ic4d3f26c0acdf5f16fead80dfdc53df9e7dabbf9
-commit dfb201220c034fde00a242d0533bef3f73b2907d
-Author: Simon Rutishauser <simon.rutishauser at pix4d.com>
-Date: Tue Oct 13 07:33:58 2015 +0200
+commit 7ed9e2fb7f1dff264c5e4fbaa89ee1c4c99df269
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Wed Oct 19 04:45:23 2016 -0700
- Make miniglog threadsafe on non-windows system by using
- localtime_r() instead of localtime() for time formatting
+ Occured -> Occurred.
- Change-Id: Ib8006c685cd8ed4f374893bef56c4061ca2c9747
+ Thanks to Phillip Huebner for reporting this.
+
+ Change-Id: I9cddfbb373aeb496961d08e434fe661bff4abd29
-commit 41455566ac633e55f222bce7c4d2cb4cc33d5c72
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Mon Sep 28 22:43:42 2015 +0100
+commit b82f97279682962d8c8ae1b6d9e801ba072a0ab1
+Author: Je Hyeong Hong <jhh37 at outlook.com>
+Date: Tue Oct 18 21:18:32 2016 +0100
- Remove link-time optimisation (LTO).
+ Fix a test error in autodiff_test.cc.
- - On GCC 4.9+ although GCC supports LTO, it requires use of the
- non-default gcc-ar & gcc-ranlib. Whilst we can ensure Ceres is
- compiled with these, doing so with GCC 4.9 causes multiple definition
- linker errors of static ints inside Eigen when compiling the tests
- and examples when they are not also built with LTO.
- - On OS X (Xcode 6 & 7) after the latest update to gtest, if LTO
- is used when compiling the tests (& examples), two tests fail
- due to typeinfo::operator== (things are fine if only Ceres itself is
- compiled with LTO).
- - This patch disables LTO for all compilers. It should be revisited when
- the performance is more stable across our supported compilers.
+ Previously, the test for the projective camera model would fail as no
+ tolerance is set in line 144. To resolve this, this commit changes
+ assert_equal to assert_near.
- Change-Id: I17b52957faefbdeff0aa40846dc9b342db1b02e3
+ Change-Id: I6cd3379083b1a10c7cd0a9cc83fd6962bb993cc9
-commit 89c40005bfceadb4163bd16b7464b3c2ce740daf
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Sun Sep 27 13:37:26 2015 +0100
-
- Only use LTO when compiling Ceres itself, not tests or examples.
-
- - If Ceres is built as a shared library, and LTO is enabled for Ceres
- and the tests, then type_info::operator==() incorrectly returns false
- in gtests' CheckedDowncastToActualType() in the following tests:
- -- levenberg_marquardt_strategy_test.
- -- gradient_checking_cost_function_test.
- on at least Xcode 6 & 7 as reported here:
- https://github.com/google/googletest/issues/595.
- - This does not appear to be a gtest issue, but is perhaps an LLVM bug
- or an RTTI shared library issue. Either way, disabling the use of
- LTO when compiling the test application resolves the issue.
- - Allow LTO to be enabled for GCC, if it is supported.
- - Add CMake function to allow easy appending to target properties s/t
- Ceres library-specific compile flags can be iteratively constructed.
-
- Change-Id: I923e6aae4f7cefa098cf32b2f8fc19389e7918c9
-
-commit 0794f41cca440f7f65d9a44e671f66f6e498ef7c
+commit 5690b447de5beed6bdda99b7f30f372283c2fb1a
Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Sat Sep 26 14:10:15 2015 -0700
+Date: Thu Oct 13 09:52:02 2016 -0700
- Documentation updates.
+ Fix documentation source for templated functions in rotation.h
- 1. Fix a typo in the Trust Region algorithm.
- 2. Add ARL in the list of users.
- 3. Update the version history.
+ Change-Id: Ic1b2e6f0e6eb9914f419fd0bb5af77b66252e57c
+
+commit 2f8f98f7e8940e465de126fb51282396f42bea20
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Thu Oct 13 09:35:18 2016 -0700
+
+ Prepare for 1.12.0RC1
- Change-Id: Ic286e8ef1a71af07f3890b7592dd3aed9c5f87ce
+ Change-Id: I23eaf0b46117a01440143001b74dacfa5e57cbf0
-commit 90e32a8dc437dfb0e6747ce15a1f3193c13b7d5b
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Mon Sep 21 21:08:25 2015 +0100
+commit 55c12d2e9569fe4aeac3ba688ac36810935a37ba
+Author: Damon Kohler <damonkohler at google.com>
+Date: Wed Oct 5 16:30:31 2016 +0200
+
+ Adds package.xml to support Catkin.
+
+ Change-Id: I8ad4d36a8b036417604a54644e0bb70dd1615feb
+
+commit 0bcce6565202f5476e40f12afc0a99eb44bd9dfb
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Mon Oct 10 23:30:42 2016 -0700
- Use old minimum iOS version flags on Xcode < 7.0.
+ Fix tabs in Android.mk
- - The newer style, which are more specific and match the SDK names
- are not available on Xcode < 7.0.
+ Change-Id: Ie5ab9a8ba2b727721565e1ded242609b6df5f8f5
+
+commit e6ffe2667170d2fc435443685c0163396fc52d7b
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Mon Oct 10 22:47:08 2016 -0700
+
+ Update the version history.
- Change-Id: I2f07a0365183d2781157cdb05fd49b30ae001ac5
+ Change-Id: I9a57b0541d6cebcb695ecb364a1d4ca04ea4e06c
-commit 26cd5326a1fb99ae02c667eab9942e1308046984
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Mon Sep 21 10:16:01 2015 +0100
+commit 0a4ccb7ee939ab35b22e26758401e039b033b176
+Author: David Gossow <dgossow at google.com>
+Date: Wed Sep 7 21:38:12 2016 +0200
- Add gtest-specific flags when building/using as a shared library.
+ Relaxing Jacobian matching in Gradient Checker test.
- - Currently these flags are only used to define the relevant DLL export
- prefix for Windows.
+ Any result of an arithmetic operation on floating-point matrices
+ should never be checked for strict equality with some expected
+ value, due to limited floating point precision on different machines.
+ This fixes some occurences of exact checks in the gradient checker
+ unit test that were causing problems on some platforms.
- Change-Id: I0c05207b512cb4a985390aefc779b91febdabb38
+ Change-Id: I48e804c9c705dc485ce74ddfe51037d4957c8fcb
-commit c4c79472112a49bc1340da0074af2d15b1c89749
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Sun Sep 20 18:26:59 2015 +0100
+commit ee44fc91b59584921c1d1c8db153fda6d633b092
+Author: Je Hyeong Hong <jhh37 at outlook.com>
+Date: Mon Oct 3 12:19:30 2016 +0100
- Clean up iOS.cmake to use xcrun/xcodebuild & libtool.
+ Fix an Intel compiler error in covariance_impl.cc.
- - Substantial cleanup of iOS.cmake to use xcrun & xcodebuild to
- determine the SDK & tool paths.
- - Use libtool -static to link libraries instead of ar + ranlib, which
- is not compatible with Xcode 7+, this change should be backwards
- compatible to at least Xcode 6.
- - Force locations of unordered_map & shared_ptr on iOS to work around
- check_cxx_source_compiles() running in a forked CMake instance without
- access to the variables (IOS_PLATFORM) defined by
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list