[Bf-blender-cvs] [9f7a726] testbuild: Merge remote-tracking branch 'origin/master' into testbuild
Martin Felke
noreply at git.blender.org
Sun Oct 5 22:10:22 CEST 2014
Commit: 9f7a726eab21c9c26b786dcc4bf88e35acbda2a8
Author: Martin Felke
Date: Sun Oct 5 22:05:16 2014 +0200
Branches: testbuild
https://developer.blender.org/rB9f7a726eab21c9c26b786dcc4bf88e35acbda2a8
Merge remote-tracking branch 'origin/master' into testbuild
Conflicts:
extern/libmv/intern/reconstruction.h
extern/libmv/intern/track_region.h
extern/libmv/third_party/ceres/internal/ceres/callbacks.cc
extern/libmv/third_party/ceres/internal/ceres/trust_region_preprocessor.cc
===================================================================
===================================================================
diff --cc build_files/build_environment/install_deps.sh
index c1b2fd9,a5acbe9..96935ed
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@@ -25,10 -25,12 +25,11 @@@
ARGS=$( \
getopt \
-o s:i:t:h \
---long source:,install:,tmp:,info:,threads:,help,no-sudo,with-all,with-opencollada,\
-ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,\
+--long source:,install:,tmp:,threads:,help,no-sudo,with-all,with-opencollada,ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,\
force-all,force-python,force-numpy,force-boost,force-ocio,force-oiio,force-llvm,force-osl,force-opencollada,\
- force-ffmpeg,skip-python,skip-numpy,skip-boost,skip-ocio,skip-oiio,skip-llvm,skip-osl,skip-ffmpeg,\
- skip-opencollada,required-numpy: \
+ force-ffmpeg,\
+ skip-python,skip-numpy,skip-boost,skip-ocio,skip-openexr,skip-oiio,skip-llvm,skip-osl,skip-ffmpeg,skip-opencollada,\
+ required-numpy: \
-- "$@" \
)
diff --cc extern/libmv/third_party/ceres/ChangeLog
index c9f5b34,6f92154..508adc0
--- a/extern/libmv/third_party/ceres/ChangeLog
+++ b/extern/libmv/third_party/ceres/ChangeLog
@@@ -1,646 -1,671 +1,663 @@@
- commit 8c62487e437b91d3d354cd1ae8957e43fe540732
+ commit 9e11cd16d09403b9270e621e839d5948b6a74b8d
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Mon Sep 29 14:27:58 2014 -0700
+
+ Faster BlockRandomAccessSparseMatrix::SymmetricRightMultiply.
+
+ Trade a small amount of memory to improve the cache coherency of
+ the SymmetricRightMultiply operation.
+
+ The resulting code leads to a 10-20% speedup in the linear solver
+ end to end.
+
+ Change-Id: I8ab2fe152099e849b211b5b19e4ef9f03d8e7f1c
+
+ commit 46b8461fd010c1e7ffce6bb2bdf8a84b659d5e09
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Mon Sep 29 15:10:58 2014 -0700
+
+ Various minor fixes from William Rucklidge.
+
+ Change-Id: Ibe731d5db374ad8ee148d62a9fdd8d726b607a3f
+
+ commit b44cfdef25f6bf0917a23b3fd65cce38aa6a3362
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Mon Sep 29 07:53:54 2014 -0700
+
+ Let ITERATIVE_SCHUR use an explicit Schur Complement matrix.
+
+ Up till now ITERATIVE_SCHUR evaluates matrix-vector products
+ between the Schur complement and a vector implicitly by exploiting
+ the algebraic expression for the Schur complement.
+
+ This cost of this evaluation scales with the number of non-zeros
+ in the Jacobian.
+
+ For small to medium sized problems there is a sweet spot where
+ computing the Schur complement is cheap enough that it is much
+ more efficient to explicitly compute it and use it for evaluating
+ the matrix-vector products.
+
+ This changes implements support for an explicit Schur complement
+ in ITERATIVE_SCHUR in combination with the SCHUR_JACOBI preconditioner.
+
+ API wise a new bool Solver::Options::use_explicit_schur_complement
+ has been added.
+
+ The implementation extends the SparseSchurComplementSolver to use
+ Conjugate Gradients.
+
+ Example speedup:
+
+ use_explicit_schur_complement = false
+
+ Time (in seconds):
+ Preprocessor 0.585
+
+ Residual evaluation 0.319
+ Jacobian evaluation 1.590
+ Linear solver 25.685
+ Minimizer 27.990
+
+ Postprocessor 0.010
+ Total 28.585
+
+ use_explicit_schur_complement = true
+
+ Time (in seconds):
+ Preprocessor 0.638
+
+ Residual evaluation 0.318
+ Jacobian evaluation 1.507
+ Linear solver 5.930
+ Minimizer 8.144
+
+ Postprocessor 0.010
+ Total 8.791
+
+ Which indicates an end-to-end speedup of more than 3x, with the linear
+ solver being sped up by > 4x.
+
+ The idea to explore this optimization was inspired by the recent paper:
+
+ Mining structure fragments for smart bundle adjustment
+ L. Carlone, P. Alcantarilla, H. Chiu, K. Zsolt, F. Dellaert
+ British Machine Vision Conference, 2014
+
+ which uses a more complicated algorithm to compute parts of the
+ Schur complement to speed up the matrix-vector product.
+
+ Change-Id: I95324af0ab351faa1600f5204039a1d2a64ae61d
+
+ commit 4ad91490827f2ebebcc70d17e63ef653bf06fd0d
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Wed Sep 24 23:54:18 2014 -0700
+
+ Simplify the Block Jacobi and Schur Jacobi preconditioners.
+
+ 1. Extend the implementation of BlockRandomAccessDiagonalMatrix
+ by adding Invert and RightMultiply methods.
+
+ 2. Simplify the implementation of the Schur Jacobi preconditioner
+ using these new methods.
+
+ 3. Replace the custom storage used inside Block Jacobi preconditioner
+ with BlockRandomAccessDiagonalMatrix and simplify its implementation
+ too.
+
+ Change-Id: I9d4888b35f0f228c08244abbdda5298b3ce9c466
+
+ commit 8f7be1036b853addc33224d97b92412b5a1281b6
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Mon Sep 29 08:13:35 2014 -0700
+
+ Fix a formatting error TrustRegionMinimizer logging.
+
+ Change-Id: Iad1873c51eece46c3fdee1356d154367cfd7925e
+
+ commit c99872d48e322662ea19efb9010a62b7432687ae
+ Author: Sameer Agarwal <sameeragarwal at google.com>
+ Date: Wed Sep 24 21:30:02 2014 -0700
+
+ Add BlockRandomAccessSparseMatrix::SymmetricRightMultiply.
+
+ Change-Id: Ib06a22a209b4c985ba218162dfb6bf46bd93169e
+
+ commit d3ecd18625ba260e0d00912a305a448b566acc59
Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Tue Sep 23 10:12:42 2014 -0700
+Date: Fri May 16 09:44:18 2014 -0700
- Add an explicit include for local_parameterization.h
+ Preparations for 1.9.0 release.
- Thanks to cooordz for reporting this.
+ Version bump.
+ minor docs update.
- Change-Id: I7d345404e362a94ff1eb433ad6b9dcc4960ba76d
+ Change-Id: I2fbe20ba4af6b2e186fe244c96ce6d6464fe0469
-commit 5dd76869cf45122c79579423f09e0de08cf04092
-Author: Alex Stewart <alexs.mac at gmail.com>
-Date: Fri Sep 19 16:08:25 2014 +0100
+commit 0831275a78ab65e4c95979598cb35c54d03d3185
+Author: Sameer Agarwal <sameeragarwal at google.com>
+Date: Fri May 16 08:17:54 2014 -0700
- Fix unused-function warning with Eigen < 3.2.2.
+ Documentation update.
- - 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.
+ 1. Update iOS build instructions.
+ 2. Update version history.
- Change-Id: I24628ff329f14b087ece66bf2626bdc0de4ba224
+ Change-Id: I49d62e86ecff39190b50c050cb12eef4e2773357
-commit 820cb7b14831aa03eca1e8186000cebfdf0a42f3
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Wed Sep 17 09:46:08 2014 -0700
+commit c7c7458625996a20203f1366d11bd701e5fb621b
+Author: Jack Feng <jackfengji at gmail.com>
+Date: Mon May 12 10:23:56 2014 +0800
- Add solver_utils.cc to Android.mk
+ add support for building for ios
- Change-Id: I358522971711280f4362a1fa39b1568160e21e63
+ use ios-cmake to build for ios
+
+ Change-Id: I6b17c33339f3121322a4004d79629b22a62f7a94
-commit 092b94970a073f8b47179d96160226fc19095898
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Fri Sep 5 11:56:29 2014 -0700
+commit 36c2ce87d13b9b7123bd0473b8b45fb3b6ae4271
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date: Mon Jan 13 21:18:08 2014 +0600
- Add GradientProblem and GradientProblemSolver.
+ Libmv 2D homography estimation example application
- 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.
+ Add an example application of homography matrix estimation
+ from a 2D euclidean correspondences which is done in two
+ steps:
- 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.
+ - Coarse algebraic estimation
+ - Fine refinement using Ceres minimizer
- Corresponding to it, a GradientProblemSolver and its associated
- options and summary structs are introduced too.
+ Nothing terribly exciting apart from an example of how to
+ use user callbacks.
- An example that uses the new API to find the minimum of Rosenbrock's
- function is also added.
+ 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.
- Change-Id: I42bf687540da25de991e9bdb00e321239244e8b4
+ Change-Id: I60c8559cb10b001a0eb64ab71920c08bd68455b8
-commit 6c45d6b891aac01489b478a021f99081c61792cb
-Author: Sameer Agarwal <sameeragarwal at google.com>
-Date: Thu Sep 11 07:48:30 2014 -0700
+commit d99a3a961e4a6ff7218d0ab749da57cf1a1677bd
+Author: Björn Piltz <bjornpiltz at gmail.com>
+Date: Wed May 7 14:59:12 2014 +0200
- Add more inspection methods to Problem.
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list