Commit Graph

5489 Commits (b0cca0e4f08d1e3b6aaef4bf2dcd69a659f00b77)

Author SHA1 Message Date
Luca b0cca0e4f0 made linearizedDamped public 2014-03-11 23:06:03 -04:00
dellaert 9007d1ca72 Copy constructor and return const & 2014-03-06 21:07:54 -05:00
dellaert 691e9884d7 Const correctness, comments, and templated Eigen blocks (esp. important in integrate) 2014-03-06 21:05:11 -05:00
dellaert a1433dbd31 const correctness 2014-03-06 19:39:57 -05:00
dellaert bb3820780d Don't attempt any damping if no key found in diagonal 2014-03-05 23:25:15 -05:00
dellaert 0897e04c37 Slight rename for clarity 2014-03-05 23:25:00 -05:00
Luca f8c7099356 omitted arbitrary symbol 2014-03-04 15:06:40 -05:00
hchiu de27502738 Move Eigen magic inside function itself as Frank suggested. 2014-03-04 10:25:54 -05:00
dellaert f5ce1d865e A custom linearize for speed 2014-03-04 02:50:28 -05:00
hchiu b464b808ef First cut on raw MultiplyHessianAdd for HessianFactor and JacobianFactor. Unit test is passed in testGaussianFactorGraphUnordered (multiplyHessianAdd3). Note the interface currently needs the accumulated diminsions of key variables. See GaussianFactorGraph::multiplyHessianAdd(double alpha,const double* x, double* y). 2014-03-04 01:58:34 -05:00
dellaert 63f8c75fb2 Don't do diagonal damping for variables not in linear system 2014-03-04 01:06:15 -05:00
dellaert e321ac60c0 Merge branch 'feature/LM/triangulation' 2014-03-02 18:20:47 -05:00
dellaert b1013163e7 Switched to TriangulationFactors: huge improvement 2014-03-02 15:51:02 -05:00
dellaert 5c466a7914 Moved to header file 2014-03-02 15:36:29 -05:00
dellaert a7f98a8316 Drastically simplified by passing cameras 2014-03-02 15:33:56 -05:00
dellaert f3ee25f1a8 TriangulationFactor, first version 2014-03-02 14:56:50 -05:00
dellaert dfee108e53 Some more refactoring 2014-03-02 13:49:42 -05:00
dellaert bf779af3d1 added twoPoses test 2014-03-02 13:44:18 -05:00
dellaert 7b93cd207c fixed header bloat 2014-03-02 13:34:43 -05:00
dellaert 68401cf216 removed Cheirality testing in that GTSAM mode 2014-03-02 13:16:36 -05:00
dellaert ba6f857663 Removed some copy/paste 2014-03-02 13:02:21 -05:00
dellaert 744d9f7c1c Cherry-picked Richard commit: Removed use of boost::range 'join' - replaced with a special flag to add one dimension in VerticalBlockMatrix and SymmetricBlockMatrix 2014-03-02 00:07:12 -05:00
dellaert 15a69fa1ca Maybe this does not make a difference, and it's a bit ugly, but I was thinking this change would allow the methods in question to be more readily inlined by the compiler. 2014-03-01 19:26:58 -05:00
dellaert 98ae00f1ef Avoid malloc in common case? 2014-03-01 19:24:51 -05:00
dellaert fd376a5247 Avoid millions of mallocs when using Unit noise model 2014-03-01 18:10:21 -05:00
dellaert e4edaf359c Avoiding mallocs and working with fixed blocks where possible, makes a pretty noticeable difference in the inner linearize loop 2014-03-01 18:04:43 -05:00
hchiu 6b215ea8d9 Use reuse_diagonal_ with step policy to save computation time (same as Ceres). 2014-02-28 20:45:09 -05:00
hchiu 037ed7b931 Speed Optimization: Move sqrt computation to hessianDiagonal storation as Luca suggested. Got same values in unit tests (TestNonlinearOptimizer). 2014-02-28 18:09:10 -05:00
Luca e127f07336 fixed iteration counter 2014-02-26 14:36:51 -05:00
Luca a90c5797e0 lower bound on lambda in the right place 2014-02-26 12:56:41 -05:00
dellaert c3f0bf4949 Fixed localCoordinates bug in all three Calibration objects. 2014-02-26 10:30:34 -05:00
Luca 49a1b7abca partially fixed unit test on LM 2014-02-25 21:09:05 -05:00
Luca 6217a0b6c4 fixed LM policy, using CERES 2014-02-25 21:02:30 -05:00
Luca 6962072301 moved Jacobians on SO3 to Rot3 2014-02-24 14:00:14 -05:00
Luca 87687ff887 added simplest BAL file 2014-02-24 13:07:53 -05:00
Luca c828bf567e removed cout 2014-02-21 20:58:01 -05:00
Luca 98e32a1e6d reorganized verbosity and included the new lambda policy from CERES 2014-02-20 17:17:12 -05:00
Luca 06c5186fa2 added function to create initial values from db 2014-02-20 15:37:17 -05:00
Luca 7e8bb1ffb0 rearranging comments 2014-02-20 15:36:11 -05:00
Luca a0bc4b0a5a added 1 more unit test: delta is perpendicular to gradient of original system 2014-02-20 12:35:07 -05:00
Luca dec6430d9b 1 more test: a small step in delta direction does not decrease error 2014-02-20 12:22:12 -05:00
Frank Dellaert 541dbd5199 Plot thickens: delta computed from damped system points downhill but non-linear error does not decrease 2014-02-20 09:02:24 -05:00
Frank Dellaert 33ae83fcb2 Much more extensive testing of diagonal policy with Luca over Skype - gets stuck in a non-minimum !!! 2014-02-20 00:28:15 -05:00
Frank Dellaert 666072b169 Created new method buildDampedSystem with Luca 2014-02-20 00:27:33 -05:00
Frank Dellaert 53134425d5 Fixed verbosity check 2014-02-20 00:26:48 -05:00
Luca 9adc59af18 added verbosity for debugging termination 2014-02-18 17:33:00 -05:00
Luca 92834a8ed7 modified verbosity levels 2014-02-18 14:39:12 -05:00
Luca fbfa287d4b added parameters in "print" for LM 2014-02-17 17:43:45 -05:00
hchiu 13254bcc3a Add related code for reuse_diagonal, as Ceres did. This is for step strategry (efficiency comparison) in smartFactors_Ceres. 2014-02-17 10:13:14 -05:00
Luca c05eaa0d22 fixed unit test 2014-02-16 17:11:58 -05:00