forked from bartvdbraak/blender
4228463caa
For Blender this release is interesting because of: - Covariance estimation (not used in Blender yet, but now we might use it for keyframe selection instead of havingown implementation). - Significant performance improvements to loss function and dense linear solvers and automatic differentiation. Unfortunately, didn't notice speedup of tracking itself, but camera reconstruction now happens around 2 times faster on my laptop, - Better inner iteration step acceptance and stopping.
639 lines
23 KiB
Plaintext
639 lines
23 KiB
Plaintext
commit 682cd3c27864ba6d67ca81890760a5f697f21d63
|
|
Author: Keir Mierle <mierle@gmail.com>
|
|
Date: Tue Sep 3 14:28:32 2013 -0700
|
|
|
|
Update version history with shared libs changes
|
|
|
|
Change-Id: Iafd55087bc5eef4c15c3b544222147aa99df7690
|
|
|
|
commit 340d7c1415f144ca335ec1e87832c3f41d5d515b
|
|
Author: Keir Mierle <mierle@gmail.com>
|
|
Date: Tue Sep 3 13:50:03 2013 -0700
|
|
|
|
Update version history with miniglog fix
|
|
|
|
Change-Id: Ic69f4994259e05fa88548b957146a1aac73b7af7
|
|
|
|
commit ac061c0f2334868e671f26d24e34a14c77fac716
|
|
Author: Keir Mierle <mierle@gmail.com>
|
|
Date: Tue Sep 3 13:03:28 2013 -0700
|
|
|
|
Cleanups in logging.h
|
|
|
|
Thanks to Scott Ettinger for the patch this is based off of,
|
|
which restores the NDK build.
|
|
|
|
Change-Id: I8036dc1388438a4940e6f4ae297162902afd8d3a
|
|
|
|
commit 0338f9a8e69582a550ef6d128e447779536d623c
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Sep 2 22:28:40 2013 -0700
|
|
|
|
ITERATIVE_SCHUR works with no f-blocks.
|
|
|
|
When the Schur complement is of size zero,
|
|
i.e. none of the parameter blocks interact
|
|
with each other, the ITERATIVE_SCHUR linear
|
|
solver crashes due to some checks that are
|
|
triggered in the SCHUR_JACOBI preconditioner.
|
|
|
|
This patch adds logic to detect this condition
|
|
and to deal with it and adds tests that verify
|
|
the fix.
|
|
|
|
Thanks to Soohyun Bae for reporting this bug.
|
|
|
|
Change-Id: If29ddf32463cbb1960414fff0e29bbf0d2ee7989
|
|
|
|
commit 263de47419167786c9ab6d93fa2f3e32e8e75fe1
|
|
Author: Taylor Braun-Jones <taylor@braun-jones.org>
|
|
Date: Thu Aug 29 10:33:29 2013 -0400
|
|
|
|
Incorporate RHEL build fixes from Brian Pitts
|
|
|
|
CMake build fixed so that versioned shared libraries are installed
|
|
(along with .so symlinks)
|
|
|
|
Change-Id: Ibbaea9d37d17754cb8c3cd36fc17d015ca7d2a57
|
|
|
|
commit 6b4131993ec0db6c850bb2ae07ba8793dbab3e39
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Aug 26 00:02:50 2013 -0700
|
|
|
|
Update spec file
|
|
|
|
Change-Id: Id6426d7cad41cde2cbab411964ac013d724a066c
|
|
|
|
commit c24a4ec6fb6202d1f6a576f211b99fbe9c9906ef
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Fri Aug 23 06:49:22 2013 -0700
|
|
|
|
Cmake refactoring
|
|
|
|
1. Use CMake FindLAPACK and FindBLAS Modules.
|
|
2. Remove SEARCH_HEADERS and SEARCH_LIBS and replace them with
|
|
CMAKE variables. This leads to simplification of the FIND_LIBRARY
|
|
and FIND_PATH calls.
|
|
3. Make miniglog a fallback when glog is not present and the
|
|
user indicates MINIGLOG=OFF.
|
|
4. Add time.h to miniglog.
|
|
5. Remove shared library building.
|
|
|
|
Change-Id: I8a97156d3d7cf645fbbfe8e571761bc16c89f43f
|
|
|
|
commit 48e9cd31db0bf7223beb83cdc90e3cd2b5aad054
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Wed Aug 21 10:55:16 2013 -0700
|
|
|
|
Add a test name
|
|
|
|
Change-Id: I06dfc9cad2c54ef6078342766577eab92645283f
|
|
|
|
commit 126dfbe27df9c5b9f41cf7cc92b75c1219518283
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Aug 20 22:34:34 2013 -0700
|
|
|
|
Fix how Ceres calls CAMD.
|
|
|
|
CAMD requires that the id of the largest numbered elimination
|
|
group be less than the number of columns in the matrix.
|
|
|
|
This patch ensures that this is the case. Without this,
|
|
in certain cases its possible for CAMD to silently fail
|
|
while doing out of bounds access and then causing Ceres to fail.
|
|
|
|
Also add some logging about the problem size before and after
|
|
the reduced program has been created.
|
|
|
|
Change-Id: I0ea3c6572a7c29cbbf09afec9ba5b4f4d4b21a9b
|
|
|
|
commit 69af5d8b4d7c48b2efa3c61e51c86cfa1b380b8a
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Aug 20 13:58:59 2013 -0700
|
|
|
|
Add comments to trust_region_minimizer.cc.
|
|
|
|
trust_region_minimizer.cc now contains a comment that explains
|
|
the reasoning behind he inner iteration step acceptance change.
|
|
|
|
Change-Id: I4eaa69d6bab92c543bba3f119c09f44625d393bd
|
|
|
|
commit e45db9d05aaa26b1ddffa44c9190a1018aa2655f
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Aug 19 23:13:29 2013 -0700
|
|
|
|
Improve inner iteration step acceptance.
|
|
|
|
Normally, in a trust region algorithm the quality of a trust region step
|
|
is measured by the ratio
|
|
|
|
nonlinear_cost_change
|
|
r = ---------------------
|
|
model_cost_change
|
|
|
|
All the change in the nonlinear objective is due to the trust region step
|
|
so this ratio is a good measure of the quality of the trust region radius.
|
|
|
|
However, when inner iterations are being used, nonlinear_cost_change
|
|
includes the contribution of the inner iterations and its not fair to
|
|
credit it all to the trust region algorithm. So we change the ratio to be
|
|
|
|
nonlinear_cost_change
|
|
r = ------------------------------------------------
|
|
(model_cost_change + inner_iteration_cost_change)
|
|
|
|
In most cases this is fine, but it can be the case that the
|
|
change in solution quality due to inner iterations is so large
|
|
and the trust region step is so bad, that this ratio can become
|
|
quite small.
|
|
|
|
This can cause the trust region loop to reject this step.
|
|
|
|
This change, fixes this problem by looking at the inner_iteration_cost_change
|
|
explicitly and accepting a step if the inner iterations led to a net
|
|
decrease in the objective function value.
|
|
|
|
Along the way it also fixes the way model_cost_change is computed.
|
|
Changing to a more numerically robust way of computing it.
|
|
|
|
The last and final change is to ensure that inner iterations and the
|
|
non-monotonic version of the trust region algorithm interact correctly.
|
|
|
|
This addresses part 2 of
|
|
|
|
https://code.google.com/p/ceres-solver/issues/detail?id=115
|
|
|
|
As an illustration of the change.
|
|
|
|
Before this change
|
|
|
|
[master] build: ./bin/bundle_adjuster --input ~/Downloads/problem-245-198739-pre.txt -num_iterations 10 -translation_sigma 0.01 -rotation_sigma 0.001 -point_sigma 0.1 -inner_iterations -num_threads 4
|
|
0: f: 7.731660e+15 d: 0.00e+00 g: 3.51e+12 h: 0.00e+00 rho: 0.00e+00 mu: 1.00e+04 li: 0 it: 5.87e-01 tt: 9.37e+00
|
|
1: f: 7.731660e+15 d: 7.73e+15 g: 0.00e+00 h: 1.20e+10 rho: 2.43e-11 mu: 5.00e+03 li: 1 it: 1.41e+01 tt: 2.35e+01
|
|
2: f: 7.731660e+15 d: 7.73e+15 g: 0.00e+00 h: 1.25e+10 rho: 1.70e-07 mu: 1.25e+03 li: 1 it: 1.86e+01 tt: 4.22e+01
|
|
3: f: 7.731660e+15 d:-2.39e+40 g: 0.00e+00 h: 3.53e+10 rho:-2.63e-13 mu: 1.56e+02 li: 1 it: 3.35e+01 tt: 7.57e+01
|
|
4: f: 7.731660e+15 d:-1.66e+39 g: 0.00e+00 h: 1.21e+11 rho:-6.58e-15 mu: 9.77e+00 li: 1 it: 3.86e+01 tt: 1.14e+02
|
|
5: f: 7.731660e+15 d:-3.57e+55 g: 0.00e+00 h: 5.00e+12 rho:-1.89e-14 mu: 3.05e-01 li: 1 it: 3.84e+01 tt: 1.53e+02
|
|
6: f: 7.731660e+15 d:-2.26e+35 g: 0.00e+00 h: 3.82e+12 rho:-1.77e-20 mu: 4.77e-03 li: 1 it: 3.45e+01 tt: 1.87e+02
|
|
7: f: 7.731660e+15 d:-5.31e+19 g: 0.00e+00 h: 1.22e+11 rho:-9.96e-21 mu: 3.73e-05 li: 1 it: 2.77e+01 tt: 2.15e+02
|
|
8: f: 1.784990e+08 d: 7.73e+15 g: 4.13e+07 h: 1.20e+10 rho: 1.00e+00 mu: 1.12e-04 li: 1 it: 1.13e+01 tt: 2.26e+02
|
|
9: f: 1.524025e+08 d: 2.61e+07 g: 5.81e+10 h: 2.41e+08 rho: 1.00e+00 mu: 3.35e-04 li: 1 it: 1.13e+01 tt: 2.37e+02
|
|
10: f: 1.488524e+08 d: 3.55e+06 g: 2.79e+09 h: 5.01e+08 rho: 1.00e+00 mu: 1.01e-03 li: 1 it: 1.09e+01 tt: 2.48e+02
|
|
|
|
After this change
|
|
|
|
[inner] build: ./bin/bundle_adjuster --input ~/Downloads/problem-245-198739-pre.txt -num_iterations 10 -translation_sigma 0.01 -rotation_sigma 0.001 -point_sigma 0.1 -inner_iterations -num_threads 4
|
|
0: f: 7.731660e+15 d: 0.00e+00 g: 3.51e+12 h: 0.00e+00 rho: 0.00e+00 mu: 1.00e+04 li: 0 it: 5.66e-01 tt: 9.31e+00
|
|
1: f: 5.941477e+09 d: 7.73e+15 g: 1.20e+18 h: 1.20e+10 rho: 2.43e-11 mu: 5.00e+03 li: 1 it: 1.38e+01 tt: 2.32e+01
|
|
2: f: 3.341986e+08 d: 5.61e+09 g: 1.42e+14 h: 1.37e+09 rho: 9.38e-08 mu: 2.50e+03 li: 1 it: 1.30e+01 tt: 3.61e+01
|
|
3: f: 3.241492e+08 d: 1.00e+07 g: 3.64e+13 h: 8.26e+08 rho: 6.12e-08 mu: 1.25e+03 li: 1 it: 1.15e+01 tt: 4.77e+01
|
|
4: f: 3.152280e+08 d: 8.92e+06 g: 2.02e+13 h: 2.95e+08 rho: 1.56e-05 mu: 6.25e+02 li: 1 it: 1.11e+01 tt: 5.88e+01
|
|
5: f: 3.078535e+08 d: 7.37e+06 g: 9.72e+12 h: 4.57e+08 rho: 6.55e-09 mu: 3.13e+02 li: 1 it: 1.16e+01 tt: 7.04e+01
|
|
6: f: 3.025353e+08 d: 5.32e+06 g: 1.33e+13 h: 2.14e+08 rho: 7.21e-01 mu: 3.42e+02 li: 1 it: 1.14e+01 tt: 8.18e+01
|
|
7: f: 2.908298e+08 d: 1.17e+07 g: 5.97e+12 h: 7.25e+08 rho: 5.73e-01 mu: 3.43e+02 li: 1 it: 1.08e+01 tt: 9.26e+01
|
|
8: f: 2.803927e+08 d: 1.04e+07 g: 1.07e+12 h: 9.72e+07 rho: 5.27e-01 mu: 3.43e+02 li: 1 it: 1.03e+01 tt: 1.03e+02
|
|
9: f: 2.767074e+08 d: 3.69e+06 g: 2.10e+11 h: 7.35e+07 rho: 7.37e-01 mu: 3.84e+02 li: 1 it: 1.03e+01 tt: 1.13e+02
|
|
10: f: 2.744282e+08 d: 2.28e+06 g: 2.17e+11 h: 1.23e+08 rho: 3.11e-01 mu: 3.64e+02 li: 1 it: 9.61e+00 tt: 1.23e+02
|
|
|
|
Change-Id: I7c3b132f7ce62719795bfa489ec2276d0455cc97
|
|
|
|
commit 3e6ef29be6f3cd672a73cefb52838832a49e5427
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Aug 20 09:53:54 2013 -0700
|
|
|
|
Update version history to reflect API changes
|
|
|
|
Change-Id: I5ce744d72b991abba17b5cf9c6a1e1f158693151
|
|
|
|
commit 1918453aeeae629be1f02eb333e91c4f728ace12
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Aug 19 14:15:48 2013 -0700
|
|
|
|
Fix build breakage on old SuiteSparse.
|
|
|
|
Errant semi colon is to blame.
|
|
|
|
Thanks to Timothy Langlois for reporting this.
|
|
|
|
Change-Id: I57bb1cd69d78ab1897ead3627539a0da11b97455
|
|
|
|
commit 8f33332c598d8209df73eb1c729e0abe2c890468
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sun Aug 18 23:25:00 2013 -0700
|
|
|
|
Documentation update for 1.7.0rc2
|
|
|
|
Change-Id: I6b0c19bed57b51a0f6591c60a4ae0d849c62451b
|
|
|
|
commit ad2819a1afa94990022999a96eb158add68419e0
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sat Aug 17 23:44:09 2013 -0700
|
|
|
|
Fix breakage on old versions of SuiteSparse.
|
|
|
|
Thanks to Fisher Yu for reporting this.
|
|
|
|
Change-Id: Iefa89816cbb60e3512338a7c2a65655c017877ac
|
|
|
|
commit 880cba0939b2caa2641a5752373ffd47b64edd0f
|
|
Author: Petter Strandmark <petter.strandmark@gmail.com>
|
|
Date: Fri Aug 16 20:05:30 2013 +0200
|
|
|
|
Fix warning C4373 in Visual Studio
|
|
|
|
The warning occurs because an overridden function added a const
|
|
to one argument.
|
|
|
|
Change-Id: Idd24f7c6ab60064747104bfc75ae9bf112f61b3e
|
|
|
|
commit d61b68aaac3fa51b8fca8b1a268e83b0d5da01ea
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Fri Aug 16 17:02:56 2013 -0700
|
|
|
|
Lint cleanups from William Rucklidge
|
|
|
|
Change-Id: Ia4756ef97e65837d55838ee0b30806a234565bfd
|
|
|
|
commit b22d063075ec545a59a25abd5d83e4642dc329c2
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Aug 15 22:55:23 2013 -0700
|
|
|
|
Reduce memory usage in covariance estimation.
|
|
|
|
When using the SPARSE_QR algorithm, now a Q-less
|
|
factorization is used. This results in significantly
|
|
less memory usage.
|
|
|
|
The inversion of the semi-normal equations is now
|
|
threaded using openmp. Indeed if one has SuiteSparse
|
|
compiled with TBB, then both the factorization
|
|
and the inversion are completely threaded.
|
|
|
|
Change-Id: Ia07591e48e7958d427ef91ff9e67662f6e982c21
|
|
|
|
commit f258e4624f5bd86105ea28b9b92dd70a3f4a3a44
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Thu Aug 15 14:50:08 2013 +0600
|
|
|
|
Move most of suitesparse/cxsparse ifdef code to their headers
|
|
|
|
Main purpose of this is to make implementation files free from
|
|
endless ifdef blocks every time this libraries are needed to be
|
|
included. This would hopefully prevent compilation errors in
|
|
the future caused by missing ifdef around header include.
|
|
|
|
This also includes some stubs added to suitesparse/cxsparse
|
|
headers to make code even more free from ifdefs.
|
|
|
|
Change-Id: Ic8554e7df31d8c4751583fe004b99e71b3c9087b
|
|
|
|
commit dc60d9c4519b5eb5e2cff8741680fecf4d6eb2c5
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Aug 15 10:13:45 2013 -0700
|
|
|
|
Fix broken android build.
|
|
|
|
Change-Id: I6f27e3ef9bd678f7393c9f573491064978e9c368
|
|
|
|
commit 367b65e17a541a9f29b9ea63682fe6f6b5b54074
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Fri Aug 9 10:35:37 2013 -0700
|
|
|
|
Multiple dense linear algebra backends.
|
|
|
|
1. When a LAPACK implementation is present, then
|
|
DENSE_QR, DENSE_NORMAL_CHOLESKY and DENSE_SCHUR
|
|
can use it for doing dense linear algebra operations.
|
|
|
|
2. The user can switch dense linear algebra libraries
|
|
by setting Solver::Options::dense_linear_algebra_library_type.
|
|
|
|
3. Solver::Options::sparse_linear_algebra_library is now
|
|
Solver::Options::sparse_linear_algebra_library_type to be consistent
|
|
with all the other enums in Solver::Options.
|
|
|
|
4. Updated documentation as well as Solver::Summary::FullReport
|
|
to reflect these changes.
|
|
|
|
Change-Id: I5ab930bc15e90906b648bc399b551e6bd5d6498f
|
|
|
|
commit 080d1d04bdf722c3f602833c4c07ac1c5d26fcc0
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Aug 12 16:28:37 2013 -0700
|
|
|
|
Use more performant, less conservative Eigen solvers.
|
|
|
|
colPivHouseholderQR -> householderQR
|
|
ldlt -> llt.
|
|
|
|
The resulting performance differences are significant enough
|
|
to justify switching.
|
|
|
|
LAPACK's dgels routine used for solving linear least squares
|
|
problems does not use pivoting either.
|
|
|
|
Similarly, we are not actually using the fact that the matrix
|
|
being factorized can be indefinite when using LDLT factorization, so
|
|
its not clear that the performance hit is worth it.
|
|
|
|
These two changes result in Eigen being able to use blocking
|
|
algorithms, which for Cholesky factorization, brings the performance
|
|
closer to hardware optimized LAPACK. Similarly for dense QR
|
|
factorization, on intel there is a 2x speedup.
|
|
|
|
Change-Id: I4459ee0fc8eb87d58e2b299dfaa9e656d539dc5e
|
|
|
|
commit fb465a03b83fad2dceaea091ee3763c3dc6e83d2
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Aug 5 22:35:14 2013 -0700
|
|
|
|
Fix compilation error caused by missing suitesparse headers
|
|
|
|
Covariance implementation file used to unconditionally include
|
|
SuiteSparseQR.hpp which caused compilation error in cases you
|
|
don't have SuiteSuite installed to the system
|
|
|
|
Moved the include to #ifdef block.
|
|
|
|
Change-Id: I3a52c0f81711b2b70ae625fe80b758ecb0817cc6
|
|
|
|
commit 2460bf0733b4070e52d68a4a85046c1b20913e2c
|
|
Author: Steven Lovegrove <stevenlovegrove@gmail.com>
|
|
Date: Sun Jul 21 13:13:11 2013 -0400
|
|
|
|
Check GCC Version before adding -fast compiler option on OSX.
|
|
|
|
-fast compiler option is only supported using Apple's GCC packaged with XCode.
|
|
Other GCC versions will fail when this flag is enabled. This commit checks the
|
|
GCC version on OSX and only enables this flag when < 4.3. Apple's GCC is
|
|
currently 4.2.1 and a user is unlikely to install a non-apple version this old
|
|
on OSX.
|
|
|
|
Change-Id: Ifca9149625c065cd16559d7e30c218a322cf79aa
|
|
|
|
commit c5bcfc01af37b4f667be075c3c58dc024f3c7f06
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Fri Jul 19 15:50:27 2013 -0700
|
|
|
|
Lint fixes from Jim Roseborough.
|
|
|
|
Change-Id: If93e1972041b36410225a509e3c8c7c818f92124
|
|
|
|
commit 16924168ce0b3e29d9b1e16a08d2b3d2930e017a
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Jul 18 12:52:35 2013 -0700
|
|
|
|
Update version from 1.6.0 -> 1.7.0rc1.
|
|
|
|
Change-Id: I420a8907142bffad0e3aa6c7196541ca2309c099
|
|
|
|
commit 588228bdadcc0a1ffc55442a0672998241e53e09
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Jul 18 11:29:19 2013 -0700
|
|
|
|
Add the ability to turn shared library compilation on and off
|
|
|
|
Change-Id: Ib9eacfbc894bb2b66aafff3b930c63e2ad8a555e
|
|
|
|
commit 6d93450cb563dc992cbc29ca069c886bf24bb458
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Jul 18 11:08:07 2013 -0700
|
|
|
|
Fix build breakage on old versions of SuiteSparse.
|
|
|
|
SuiteSparse_long is only defined in recent versions of SuiteSparse
|
|
as the index variable type for large matrices. In older versions
|
|
UF_long was used. Ubuntu still ships with an older version of
|
|
SuiteSparse, so an ifdef is needed to fix the build.
|
|
|
|
This patch has been tested on mac and on linux with older and
|
|
newer versions of SuiteSparse.
|
|
|
|
Change-Id: I4ada86d7973784a79bde4afec13ce3ca4e8dc225
|
|
|
|
commit 42be9cafe6203745fb09d611773305433c117396
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Thu Jul 18 08:02:08 2013 -0700
|
|
|
|
Update documentation for Covariance
|
|
|
|
Change-Id: Ia4a7347ef8267b7107698d85fcbfc986111958dc
|
|
|
|
commit 5a974716e111e4aa87a4840902b957060bd644fc
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Fri Jun 7 22:38:30 2013 -0700
|
|
|
|
Covariance estimation using SuiteSparseQR.
|
|
|
|
Change-Id: I70d1686e3288fdde5f9723e832e15ffb857d6d85
|
|
|
|
commit 719889b8b7a3ef6712516d169a4ce3a33d272fda
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Wed Jul 17 11:31:08 2013 -0700
|
|
|
|
Minor fixes
|
|
|
|
1. Typo in c_api.h
|
|
2. The stream operator for FunctionSample is now in the ceres::internal namespace.
|
|
|
|
Change-Id: Id927a7a49c47d8903505535749ecca78cd2e83b3
|
|
|
|
commit 12cc164f79bb8a31e0eb3946e6f4898ac3c21c55
|
|
Author: Alex Stewart <alexs.mac@gmail.com>
|
|
Date: Wed Jul 17 12:08:33 2013 +0100
|
|
|
|
Minor fix to reject a line search config with negative L-BFGS rank.
|
|
|
|
Change-Id: Iad4c678efe574ef6696c34bd2a0ce61a504c7344
|
|
|
|
commit 9aa0e3cf7243a2e837bbfa22d4677010463f6a4e
|
|
Author: Alex Stewart <alexs.mac@gmail.com>
|
|
Date: Fri Jul 5 20:22:37 2013 +0100
|
|
|
|
Adding Wolfe line search algorithm and full BFGS search direction options.
|
|
|
|
Change-Id: I9d3fb117805bdfa5bc33613368f45ae8f10e0d79
|
|
|
|
commit 51c772c843ccecca006c706a9f64b8cbaf5416f9
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Jul 16 16:42:52 2013 -0700
|
|
|
|
householderQR -> colPivHouseholderQR.
|
|
|
|
Change-Id: Ida623e853711f665e7a9d3b140a93e861591f96d
|
|
|
|
commit c2c6411d16db95cde0cc3a7a80bac87266234bb7
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sat Jul 13 18:47:49 2013 -0700
|
|
|
|
DENSE_QR solver now uses non pivoting QR decomposition.
|
|
|
|
Change-Id: I9099221448ccf71d0de20b9f652405009a6c24c5
|
|
|
|
commit 3c2ad4018c8d2271434b9ff2bd05437b96f4927c
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Jul 15 08:09:38 2013 -0700
|
|
|
|
Speed up Automatic differentiation by 7%.
|
|
|
|
1. Templatize Make1stOrderPerturbation.
|
|
2. Convert a hard CHECK into DCHECK.
|
|
|
|
Change-Id: I02cd67f2b87bc5722f1a090057d55f23e98d2c3b
|
|
|
|
commit 0a07fbf8731adcdce98c8e73127d379199341132
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Wed Jul 10 11:57:35 2013 -0700
|
|
|
|
Use ATLAS as the example BLAS in building.rst
|
|
|
|
OpenBLAS has subtle issues releated to threading. It
|
|
conflicts with the use of threads in the other parts of
|
|
the application.
|
|
|
|
Careful users can still use it by disabling threads via
|
|
an environment variable, but by default we want to use
|
|
a BLAS/LAPACK that does not suffer from these problems.
|
|
|
|
Change-Id: I8c1c0ed0b526453564c5f9ea69b646fac32fe027
|
|
|
|
commit aee5597acf9c2c064977e937f52689254ebd1a39
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Jul 9 23:30:07 2013 -0700
|
|
|
|
Minor fix to curve_fitting.c
|
|
|
|
Change-Id: Ib3669a5c4c73178b088dc1e80141f844f807b179
|
|
|
|
commit bd82f82c3afeb3c57fa03f61fdbb0388f9ed8b02
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Jul 9 23:19:09 2013 -0700
|
|
|
|
More CMake file cleanup.
|
|
|
|
Reduce the verbosity of the Cmake file. All the "Checking for"
|
|
messages have been removed since we log both success and failures.
|
|
|
|
Further, UFConfig is only searched for if SuiteSparse_config cannot
|
|
be found.
|
|
|
|
Change-Id: I601a6ffc808e566ff78ce232c86519ef413f0b33
|
|
|
|
commit 9f4552b6475616df7e60681e60cd5afebb45a4ea
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Tue Jul 9 00:10:08 2013 -0700
|
|
|
|
Stop CMake from trying to detect OpenMP when using Clang.
|
|
|
|
Change-Id: Ie14c6466475b401ba35dbf13adc2e8701999c969
|
|
|
|
commit 6e8bd501b25dc308df7b1a5eed16edfd8442002e
|
|
Author: Keir Mierle <mierle@gmail.com>
|
|
Date: Thu May 23 01:49:08 2013 -0700
|
|
|
|
Extend the C API to support loss functions
|
|
|
|
This extends the C API to support loss functions. Both
|
|
user-supplied cost functions as well as the stock Ceres cost
|
|
functions (Cauchy, Huber, etc) are supported. In addition, this
|
|
adds a simple unit test for the C API.
|
|
|
|
Supporting loss functions required changing the signature of the
|
|
ceres_add_residual_block() function to also take a thunk for the
|
|
loss function.
|
|
|
|
Change-Id: Iefa58cf709adbb8f24588e5eb6aed9aef46b6d73
|
|
|
|
commit 1ab7fde626c3d3ac02664183f21fedd397785bea
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Jul 8 10:03:49 2013 -0700
|
|
|
|
Update gmock and gtest to the latest svn versions.
|
|
|
|
This fixes a variety of mac/clang/c++11 issues.
|
|
|
|
Change-Id: I52e76d733cd53c9bb2fda125e51a6b58a90e41b3
|
|
|
|
commit eeedd2e191f5ce404453c735061ad13bd45b939b
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sun Jul 7 23:04:31 2013 -0700
|
|
|
|
Rationalize some of the variable names in Solver::Options.
|
|
|
|
lm_max_diagonal -> max_lm_diagonal
|
|
lm_min_diagonal -> min_lm_diagonal
|
|
linear_solver_max_num_iterations -> max_linear_solver_iterations
|
|
linear_solver_min_num_iterations -> min_linear_solver_iterations
|
|
|
|
This follows the pattern for the other parameters in Solver::Options
|
|
where, the max/min is the first word followed by the name of the
|
|
parameter.
|
|
|
|
Change-Id: I0893610fceb6b7983fdb458a65522ba7079596a7
|
|
|
|
commit 7a8f79792467e56012d43b5f9aa7aefce14d5ee9
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Wed Jul 3 09:03:55 2013 -0700
|
|
|
|
Lint fixes
|
|
|
|
Change-Id: Ic453597488ef92723a81a224e7443e8f454b25da
|
|
|
|
commit 67ccb7379e7eab709480e227323ea48ea91e7ccc
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Wed Jul 3 06:28:34 2013 -0700
|
|
|
|
Fix broken build.
|
|
|
|
Change-Id: Ieb122bb96d5776f962fff6d6e9345dfc855bfed7
|
|
|
|
commit 4f010b2db02f22cee8243ed83a49e63a305dbb76
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Jul 1 08:01:01 2013 -0700
|
|
|
|
Improve Summary::FullReport when line search is used.
|
|
|
|
Disable reporting of preconditioner when direct factorization
|
|
is being used.
|
|
|
|
Change-Id: Id264d2292c5cab608724a6a8fab5d588db950468
|
|
|
|
commit 09244015e304b0ebfb2f2399edd2d97e3b9dcd8f
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sun Jun 30 14:33:23 2013 -0700
|
|
|
|
Expose line search parameters in Solver::Options.
|
|
|
|
Change-Id: Ifc52980976e7bac73c8164d80518a5a19db1b79d
|
|
|
|
commit 1c70ae9aa626e591cda987a970c240dd40d23a69
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Sun Jun 30 12:50:43 2013 -0700
|
|
|
|
Fix Solver::Summary when line search is used.
|
|
|
|
Also enable line search in bundle_adjuster.
|
|
|
|
Change-Id: Ic4343a4334b9f5a6fdeab38d4e3e1f6932bbc601
|
|
|
|
commit 70b06c89c7491d7749957c8454769bfcb0108a97
|
|
Author: Alex Stewart <alexs.mac@gmail.com>
|
|
Date: Sun Jun 30 18:49:56 2013 +0100
|
|
|
|
Fix update of L-BFGS history buffers after they become full.
|
|
|
|
Previously there was an assignment dimension mismatch in the
|
|
history update; thus, over time, the history would contain
|
|
(only) replicated copies of the (max_num_corrections_ -1)-th
|
|
update and the most recent update.
|
|
|
|
Change-Id: I26203acf689686d41a5029c675ebbe001fe05d90
|
|
|
|
commit a427c877f968d951b3cdcb5f5298deaf84647830
|
|
Author: Sameer Agarwal <sameeragarwal@google.com>
|
|
Date: Mon Jun 24 17:50:56 2013 -0700
|
|
|
|
Lint cleanup.
|
|
|
|
Change-Id: Ie489f1ff182d99251ed8c0728cc6ea8e1c262ce0
|