Commit Graph

7065 Commits (eda6bf5ffe43c7f0f3d743c59650e75603d7fc8c)

Author SHA1 Message Date
dellaert 4c33444415 Snavely tested 2014-10-18 13:16:44 +02:00
dellaert bdf12b14b9 Add Snavely cost function 2014-10-18 12:35:02 +02:00
dellaert 7018afdd58 Slight refactor of numerical derivatives 2014-10-18 12:34:05 +02:00
dellaert 2972671064 Use boost::bind to avoid code duplication 2014-10-18 12:29:14 +02:00
dellaert db037c96c5 Implemented manifold_traits to allow numerical derivatives wrpt Matrix arguments 2014-10-18 12:12:25 +02:00
dellaert 2cbba15573 ceres style functor 2014-10-18 00:29:18 +02:00
thduynguyen 367c023127 Merge remote-tracking branch 'origin/develop' into develop
Conflicts:
	gtsam/geometry/Cal3DS2_Base.h
2014-10-17 17:49:21 -04:00
thduynguyen b4763ea83a Merged in feature/RevertConstraintNoiseHack (pull request #21) 2014-10-17 17:29:14 -04:00
Andrew Melim 8cd17f6a30 Updating nonlinear params to allow selection of orderings 2014-10-17 15:50:13 -04:00
Luca 5995b20ebe fixed test 2014-10-17 15:48:20 -04:00
thduynguyen a61b49dafa remove augmented parts in constraint noise model hack 2014-10-17 15:25:40 -04:00
Luca e96ceb2b4f extended example for robust kernels 2014-10-17 14:58:45 -04:00
Luca c10993a690 displaying nr of iterations for verbosity = TERMINATION 2014-10-17 14:58:45 -04:00
Jing Dong f258bfe044 add DerivedValue test for Cal3Unified 2014-10-17 14:44:37 -04:00
Jing Dong cdc121cf7d add in testSerialization 2014-10-17 14:25:42 -04:00
Jing Dong 55bda50235 move calculation of Cal3DS2 to base class, all unit tests passed and hopefully fix issue of DerivedValue 2014-10-17 13:35:30 -04:00
Jing Dong b4c62969d1 move calculation of Cal3DS2 to base class, all unit tests passed and hopefully fix issue of DerivedValue 2014-10-17 13:30:43 -04:00
dellaert 02d25f6658 New tests on traceSize 2014-10-16 15:07:05 +02:00
dellaert 0bcca2c386 Drastic reduction in allocations at ExpressionFactor construction by having dims constructed imperatively, and using it for both keys_ and dimensions_ 2014-10-16 14:16:58 +02:00
dellaert 944422e295 Only ExpressionFactor needs dimensions! Also, add dimensions at construction -> speeds up linearize. 2014-10-16 11:15:47 +02:00
dellaert 3413b98331 New storage sizes 2014-10-15 14:30:36 +02:00
dellaert 5bcc3d922c Just always store transpose? Problem with optional was that the *empty* optional was copied from the Values, so we gained nothing.
However, this is expensive space-wise (double), and optimizes for a particular usage of Rot3, so does not seem good practice (see stack overflow discussion, as well). But the alternative is cumbersome.
2014-10-15 14:28:47 +02:00
dellaert c4bf680e96 Cached Rot3::transpose(). Inspired by @cbeall3 fix of Unit3, I realized that with one million points and 1000 cameras, the same Matrix3 (R_.transpose()) was computed a 1000 more times than needed. Especially with quaternions this would be expensive, even with Rot3Q. 2014-10-15 11:51:41 +02:00
dellaert 4a854f7e22 No using namespace in headers 2014-10-15 11:01:27 +02:00
dellaert 898c06ccbb New multi-threaded, realistic SFM example (1M factors, not 1M calls on same factor) 2014-10-15 11:01:02 +02:00
dellaert 79ff0c54f9 createUnknowns 2014-10-15 10:38:54 +02:00
Andrew Melim 103ec596d7 Remove empty file and some code cleanup 2014-10-15 00:03:57 -04:00
Andrew Melim 99caf8833a Finished ordering implementation 2014-10-14 23:46:12 -04:00
dellaert 00d0a7b045 Merge branch 'feature/BAD_stackAb' into feature/BAD 2014-10-15 01:20:01 +02:00
dellaert 649478f186 Should work but seg-faults 2014-10-15 01:19:14 +02:00
Andrew Melim ad74a4b8c9 Update ms_stdint.h in metis. Export libraries correctly 2014-10-14 19:14:59 -04:00
dellaert 9b1c9bbf37 Allocate temporary matrix on the stack rather tahn on heap, and give VerticalBlockMatrix a view on it. 2014-10-15 00:56:06 +02:00
dellaert c88b2a5902 Fixed bizarre link erro as well as off-by-1 bug 2014-10-15 00:34:28 +02:00
dellaert 0f055f7910 Pass matrix to VerticalBlockMatrix constructor 2014-10-15 00:28:53 +02:00
dellaert 2092705d12 Allow for other Eigen matrix types 2014-10-15 00:27:43 +02:00
krunalchande cf4374563b Fixed Dynamics Factor and added debug cout statements to help fix indeterminent linear system exception 2014-10-14 18:08:26 -04:00
dellaert 625b939b66 Another very significant speed-up of reverseAD pipeline, by template specialization of the leaf case for fixed matrices. Unfortunately, while this sped up reverse AD for our SFM kernel by 300%, reverseAD was only 6%, and is now 2% of total time. So, time to look elsewhere.
Oh, and, it is clear that the Identity matrix for Leaf only expressions is completely known at compile time: Eigen::Matrix<double, T::dimension, T::dimension>::Identity(). That should nicely speed up many a PriorFactor (replacement).
2014-10-14 23:40:21 +02:00
cbeall3 799beec7e2 fix signed/unsigned warnings 2014-10-14 17:00:03 -04:00
cbeall3 fcc49bd22a Fix for nasty intermittent TBB crashes in testEssentialMatrixFactor and testGeneralSFMFactor. Fixes issue 93 2014-10-14 16:30:13 -04:00
Andrew Melim 0771b1658b Ordering implementation, unit tests 2014-10-14 15:18:05 -04:00
dellaert 4894dccf5b Merge branch 'feature/BAD_linearize' into feature/BAD: Now awesome performance!
In this I branch essentially implemented two things
1) I used template-meta-programming to automate adding more functional nodes
2) I overloaded "linearize" so that now reverse AD writes to Eigen::Block<Matrix> views of the VerticalBlockMatrix that will be passed to the JacobianFacor. This did wonders for performance, making the AD pipeline faster than dedicated factors. Because the latter is based on optional<Matrix> references, they cannot apply the same trick :-(
3) Finally, I removed the forward AD pipeline. Not worth keeping (this implementation) alive.
2014-10-14 18:05:59 +02:00
dellaert baaeaacabe Made dimensions constant property. Now performance is ***blazing***, way past custom factors. 2014-10-14 17:46:57 +02:00
dellaert c971207abf Switched to vector for dimensions 2014-10-14 17:16:31 +02:00
dellaert 1c3f328fb2 Successful switch to Blocks ! 2014-10-14 15:43:41 +02:00
dellaert f3e1561105 Prepare VerticalBlockMatrix for filling 2014-10-14 11:13:49 +02:00
dellaert 027759300d size_t argument for check 2014-10-14 11:13:09 +02:00
dellaert 4c76f39009 Now uses dimensions 2014-10-14 09:55:34 +02:00
dellaert d8d94d0c34 dimensions implemented and tested 2014-10-14 09:53:47 +02:00
dellaert 781cc6daa9 keys now from expression_ 2014-10-14 08:59:01 +02:00
dellaert 0a41b0a027 Moved meta-programming tests to testExpressionMeta.cpp 2014-10-14 08:53:16 +02:00