[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