[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55049] trunk/blender/extern/libmv/ third_party/ceres: Update Ceres to 1.5RC3

Sergey Sharybin sergey.vfx at gmail.com
Tue Mar 5 10:38:43 CET 2013


Revision: 55049
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55049
Author:   nazgul
Date:     2013-03-05 09:38:43 +0000 (Tue, 05 Mar 2013)
Log Message:
-----------
Update Ceres to 1.5RC3

It brings optimization of DENSE_QR and DENSE_SCHUR solvers.

Modified Paths:
--------------
    trunk/blender/extern/libmv/third_party/ceres/ChangeLog
    trunk/blender/extern/libmv/third_party/ceres/include/ceres/dynamic_autodiff_cost_function.h
    trunk/blender/extern/libmv/third_party/ceres/include/ceres/internal/eigen.h
    trunk/blender/extern/libmv/third_party/ceres/include/ceres/problem.h
    trunk/blender/extern/libmv/third_party/ceres/include/ceres/solver.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/block_random_access_dense_matrix.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/block_random_access_dense_matrix.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/cxsparse.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/dense_normal_cholesky_solver.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/dense_sparse_matrix.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/dense_sparse_matrix.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/evaluator.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/evaluator.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generate_eliminator_specialization.py
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_2_2.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_2_3.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_2_4.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_2_d.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_3_3.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_3_4.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_3_9.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_3_d.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_4_3.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_4_4.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_2_4_d.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_4_4_2.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_4_4_3.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_4_4_4.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_4_4_d.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/generated/schur_eliminator_d_d_d.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/line_search_direction.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/linear_solver.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/mutex.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/preconditioner.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/problem_impl.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/program_evaluator.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/residual_block.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/residual_block.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/schur_eliminator.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/schur_eliminator.h
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/solver.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/solver_impl.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/visibility.cc
    trunk/blender/extern/libmv/third_party/ceres/internal/ceres/visibility_based_preconditioner.h

Modified: trunk/blender/extern/libmv/third_party/ceres/ChangeLog
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/ChangeLog	2013-03-05 09:34:17 UTC (rev 55048)
+++ trunk/blender/extern/libmv/third_party/ceres/ChangeLog	2013-03-05 09:38:43 UTC (rev 55049)
@@ -1,3 +1,251 @@
+commit e7148795c3f2ce1f6625a7c81545707a6cbde3eb
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Mon Mar 4 10:17:30 2013 -0800
+
+    Fix a memory leak in CXSparse::SolveCholesky.
+    
+    Thanks to Alexander Mordvintsev for reporting this.
+    
+    Change-Id: I5c6be4d3d28f062e83a1ad41cb8089c19362a005
+
+commit 480f9b8551c02c429bc027197f3d868c5cc522c9
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Sun Mar 3 20:15:22 2013 -0800
+
+    Add gerrit instructions to the docs.
+    
+    Change-Id: Ic98f20273f3ccbaeb8b4ca00c4ce0042a0d262f8
+
+commit 7c60b5c2c6170f0f81a29dbaa2ca7d8031db843b
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Sun Mar 3 18:28:02 2013 -0800
+
+    version history update
+    
+    Change-Id: Ia92caeb0f6659667ce1e56eefd0e3c87b3f6e538
+
+commit a363a7b69c7b97e17ad671ba1aee30f201eafdd1
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Sun Mar 3 18:06:00 2013 -0800
+
+    Multithread DENSE_SCHUR
+    
+    Replace the global lock in BlockRandomAccessDenseMatrix
+    with a per cell lock.
+    
+    Change-Id: Iddbe38616157b6e0d3770eede3335a056c3ba18c
+
+commit 31730ef55df802d1e251edab3bac3c0cdcb30647
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Thu Feb 28 11:20:28 2013 -0800
+
+    DenseSparseMatrix is now column-major.
+    
+    1. Introduce new typdefs in eigen.h to allow for column
+       major matrices.
+    
+    2. Clean up old unused typedefs, and the aligned typedefs
+       since they do not actually add any real performance.
+    
+    3. Made eigen.h conform to the google style guide by removing
+       the using directives. They were polluting the ceres namespace.
+    
+    4. Made the template specialization generator work again.
+    
+    Change-Id: Ic2268c784534b737ebd6e1a043e2a327adaeca37
+
+commit f8e43f7f2724c5413015e1f113ce860ee8b30428
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Wed Feb 27 08:55:20 2013 -0800
+
+    version history update
+    
+    Change-Id: Ibd412a9e5beac3b3ac3e15b26fb11aa061956095
+
+commit fef82b3a7af1e44f18f5343601fb19a4dd6f89ad
+Author: Alex Stewart <alexs.mac at gmail.com>
+Date:   Wed Feb 27 10:44:12 2013 +0000
+
+    Bugfix - commenting-out unused member which results in build error on OS X with latest Xcode.
+    
+    - Build error due to -Werror,-Wunused-private-field clang args.
+    - Raised with gtest group (as it also occurs with latest gtest:master but for a different
+      variable) with patch, but they don't want to fix for compatibility with legacy compilers/OS
+      see here: https://groups.google.com/forum/?fromgroups=#!topic/googletestframework/S1KLl2jkzws
+    
+    Change-Id: I99984bcd9d07f6eb0e3fac58e27ddf0ac9e54265
+
+commit 0bc3540b66cf9de4d4a317c6a760849aa66d414e
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Wed Feb 27 08:46:48 2013 -0800
+
+    Version history update
+    
+    Change-Id: I6f79dd87e45bedf4bcf821e7b44f8b9553c39a7b
+
+commit b59ac43b9d1122da3d00882efa7c5d6833c06ea7
+Author: Alex Stewart <alexs.mac at gmail.com>
+Date:   Wed Feb 27 09:10:19 2013 +0000
+
+    Issue 83 fix: use correct pthread linker flags with clang.
+    
+    1. -lpthreads was previously added to the CMAKE_CXX_FLAGS which are
+    not passed to the linker thus linking would fail.
+    2. Clang would emit a warning about -lpthreads being added to a
+    build instruction with -c (compile only).
+    
+    This patch fixes both of these issues by adding -lpthreads to the
+    linker flags (and removes them from the CXX flags).
+    
+    Change-Id: I5e54de3ab7eced177aa31f311926893598af5b56
+
+commit 6fb1024ed5b197da261f71d1bb02716661da2fff
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Tue Feb 26 22:20:18 2013 -0800
+
+    Fix a small bug in evaluator.h
+    
+    Change-Id: I2c4b8637e0ac8645721109f8b6bb2396ce8bb37b
+
+commit 039ff07dd1a02e6c9cff335551f05bfe8269224b
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Tue Feb 26 09:15:39 2013 -0800
+
+    Evaluate ResidualBlocks without LossFunction if needed.
+    
+    1. Add the ability to evaluate the problem without loss function.
+    2. Remove static Evaluator::Evaluate
+    3. Refactor the common code from problem_test.cc and
+       evaluator_test.cc into evaluator_test_utils.cc
+    
+    Change-Id: I1aa841580afe91d288fbb65288b0ffdd1e43e827
+
+commit c3fd3b960e489348d5b2c8b8f0167760e52ecbd9
+Author: Taylor Braun-Jones <taylor at braun-jones.org>
+Date:   Tue Feb 26 00:30:35 2013 -0500
+
+    Only use cmake28 macro for RHEL6
+    
+    This makes it possible to use the same spec to build on Fedora. It drops any
+    chance of building on RHEL5, but I doubt that was possible anyway.
+    
+    Change-Id: Ia956eb6416504e520962ec2f617e03b40ca18203
+
+commit b73148b9f38fe41032e696436566b78043a368db
+Author: Taylor Braun-Jones <taylor at braun-jones.org>
+Date:   Mon Feb 25 02:34:00 2013 -0500
+
+    Remove -Wno-return-type-c-linkage option when using gcc
+    
+    Only use this option when compiling with CLang which supports it.
+    
+    Change-Id: I8555c16e82d61302f6a43672d0d63e5d4800c6b6
+
+commit ba9442160dabf612a1dc51baf098937459b4b5ca
+Author: Keir Mierle <mierle at gmail.com>
+Date:   Mon Feb 25 12:46:44 2013 -0800
+
+    Add the number of effective parameters to the final report.
+    
+    Here is an example report, obtained by running:
+    
+      bin/Debug/bundle_adjuster \
+      --input=../ceres-solver/data/problem-16-22106-pre.txt \
+      --linear_solver=iterative_schur \
+      --num_iterations=1 \
+      --alsologtostderr \
+      --use_local_parameterization \
+      --use_quaternions
+    
+    Note that effective parameters is less than parameters by 16, which is the
+    number of cameras. In this case the local parameterization has a 3 dimensional
+    tangent space for the 4-dimensional quaternions.
+    
+    Ceres Solver Report
+    -------------------
+                                         Original                  Reduced
+    Parameter blocks                        22138                    22138
+    Parameters                              66478                    66478
+    Effective parameters                    66462                    66462
+    Residual blocks                         83718                    83718
+    Residual                               167436                   167436
+    
+    Minimizer                        TRUST_REGION
+    Trust Region Strategy     LEVENBERG_MARQUARDT
+    
+                                            Given                     Used
+    Linear solver                 ITERATIVE_SCHUR          ITERATIVE_SCHUR
+    Preconditioner                         JACOBI                   JACOBI
+    Threads:                                    1                        1
+    Linear solver threads                       1                        1
+    Linear solver ordering              AUTOMATIC                22106, 32
+    
+    Cost:
+    Initial                          4.185660e+06
+    Final                            7.221647e+04
+    Change                           4.113443e+06
+    
+    Number of iterations:
+    Successful                                  1
+    Unsuccessful                                0
+    Total                                       1
+    
+    Time (in seconds):
+    Preprocessor                            0.697
+    
+      Residual Evaluations                  0.063
+      Jacobian Evaluations                 27.608
+      Linear Solver                        13.360
+    Minimizer                              43.973
+    
+    Postprocessor                           0.004
+    Total                                  44.756
+    
+    Termination:                   NO_CONVERGENCE
+    
+    Change-Id: I6b6b8ac24f71bd187e67d95651290917642be74f
+
+commit 36dc14ddf2fd53238c2ce21f172aa1989b31c0fd
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Mon Feb 25 10:33:10 2013 -0800
+
+    Fix a clang warning
+    
+    Change-Id: I5ef32c6329f1f75efb30b16519b8de146a8339fa
+
+commit 931c309b2734329ec6e5f0b88ce4a0b488ac47e5
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date:   Mon Feb 25 09:46:21 2013 -0800
+
+    Cleanup based on comments by William Rucklidge
+    
+    Change-Id: If269ba8e388965a8ea32260fd6f17a133a19ab9b
+
+commit df36218c953e05d665df2cc96a6d7625e2307d97
+Author: Taylor Braun-Jones <taylor at braun-jones.org>
+Date:   Fri Feb 15 18:28:11 2013 -0500
+
+    Add support for the CMake "LIB_SUFFIX" convention
+    
+    Allows `make install` to work correctly on e.g. 64-bit systems where the
+    native libraries are installed to /usr/lib64
+    
+    Change-Id: I71b4fae7b459c003cb5fac981278c668f2e29779
+
+commit 70701745b85fef7eeba2c978ae849fd48927699c
+Author: Taylor Braun-Jones <taylor at braun-jones.org>
+Date:   Fri Feb 15 19:09:48 2013 -0500
+
+    Add RPM .spec file
+    
+    Tested on RHEL6.1 (with epel repository for dependencies).
+    
+    make_release checks that that the version string in the .spec file is in
+    sync with the rest of the project and reminds the user to bump the
+    release string if necessary and to build/upload the RPM package.
+    
+    Change-Id: I5f454f2a7301d1e0e120cb3c0e13a68d03bca917
+
 commit d2a5195b512164fec286c6a52b40d7766977caa3
 Author: Sameer Agarwal <sameeragarwal at google.com>
 Date:   Sun Feb 24 15:09:17 2013 -0800
@@ -377,196 +625,3 @@
     and coverage than the latex documentation now.
     
     Change-Id: I7ede3aa83b9b9ef25104caf331e5727b4f5beae5
-
-commit 71c8058478311ff9b3087360827e048dec5dd69a
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date:   Thu Jan 31 17:33:01 2013 -0800
-
-    Remove ExecutionSummary from Evaluator and LinearSolver
-    
-    Change-Id: If4dbaf516a8b14e0a79e1a2116ce66a99ed4a592
-
-commit fa1c31eee33051d6483bc90fa7b66c3664b23bf3
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date:   Tue Jan 29 17:24:54 2013 -0800
-
-    Correct the documentation for crs_matrix.h
-    
-    Thanks to Joydeep Biswas for reporting this.
-    
-    Change-Id: Iae5fc2274644aab40f2f922a671f65da15ae71fc
-
-commit bdd87c03ed1cbac62990bf79aa6faed0a132bba9

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list