Fixed Hessian by whitening...
parent
2d1126019a
commit
766a9622e8
|
@ -204,11 +204,15 @@ public:
|
||||||
Gs, gs, 0.0);
|
Gs, gs, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Jacobian could be 3D Point3 OR 2D Unit3, difference is E.cols().
|
||||||
std::vector<typename Base::MatrixZD> Fblocks;
|
std::vector<typename Base::MatrixZD> Fblocks;
|
||||||
Matrix E;
|
Matrix E;
|
||||||
Vector b;
|
Vector b;
|
||||||
computeJacobiansWithTriangulatedPoint(Fblocks, E, b, cameras);
|
computeJacobiansWithTriangulatedPoint(Fblocks, E, b, cameras);
|
||||||
|
|
||||||
|
// Whiten using noise model
|
||||||
|
Base::whitenJacobians(Fblocks, E, b);
|
||||||
|
|
||||||
// build augmented hessian
|
// build augmented hessian
|
||||||
SymmetricBlockMatrix augmentedHessian = //
|
SymmetricBlockMatrix augmentedHessian = //
|
||||||
Cameras::SchurComplement(Fblocks, E, b, lambda, diagonalDamping);
|
Cameras::SchurComplement(Fblocks, E, b, lambda, diagonalDamping);
|
||||||
|
|
Loading…
Reference in New Issue