Commit Graph

6714 Commits (dd255eb24c20d07aa3c58f75f1167f450a6215d7)

Author SHA1 Message Date
dellaert 63ae33088e Some success on the way to autodiff 2014-10-19 23:47:59 +02:00
dellaert e71f9edd37 dimension 2014-10-19 23:13:30 +02:00
dellaert 9a3d2747b8 Type of dimension<T>::value should be int 2014-10-19 23:13:20 +02:00
dellaert 8ee16c9018 Comments for Paul 2014-10-19 11:19:09 +02:00
dellaert eac76cd0f0 Some progress on defining interface 2014-10-19 11:18:36 +02:00
dellaert 768f47174b Forgot one is_manifold/dimension 2014-10-19 00:50:33 +02:00
dellaert 6e142184cc Implemented is_manifold and dimension for all types in testExpressionFactor 2014-10-19 00:35:25 +02:00
dellaert c32d2bb3b2 Fixed comments 2014-10-18 23:48:51 +02:00
dellaert 2f61653316 Fixed comments 2014-10-18 23:44:35 +02:00
dellaert d436d99146 Moved stuff to Manifold.h 2014-10-18 23:25:25 +02:00
dellaert fcda501ee2 double as manifold. No more LieScalar ! 2014-10-18 18:13:33 +02:00
dellaert ed6a2b6eff Charts !!!! 2014-10-18 17:11:28 +02:00
dellaert 9c97b1d8a0 Some more refactoring 2014-10-18 16:45:04 +02:00
dellaert 66b3081603 localCoordinates and retract 2014-10-18 15:02:22 +02:00
dellaert 10cfd47404 TangentVector meta-function 2014-10-18 14:29:40 +02:00
dellaert ec69949f43 Point2 specialized 2014-10-18 14:22:01 +02:00
dellaert f08dc6c031 More boost-style traits 2014-10-18 14:16:24 +02:00
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
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
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
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
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