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