|
Jafar
|
Mathematical part of our Bundle Adjustment implementation. More...
Mathematical part of our Bundle Adjustment implementation.
Definition at line 27 of file linearsys.hpp.
#include <linearsys.hpp>
Public Member Functions | |
| bundleLinearSys (const observationsContainer obsCon_) | |
| Default constructor. | |
| void | afficheB1 (unsigned int indObs, unsigned int indVue) |
| void | afficheB2 (unsigned int indObs, unsigned int indObj) |
| template<typename typeCam > | |
| void | processData (bundle::observationsContainer &bobs, bundle::bundleVariables< typeCam > &bvar) |
| Computation of the jacobian matrix J, of the gradient vector G and of the matrix A=trans(J)*SIGMA*J (see Lourakis's TR to more infos). | |
| double | maxDiagA () |
| Return the max value of the diagonal of A. | |
| void | solveByLU (double mu=0.0) |
| Resolve the linear system (A+muId)dp = g by LU decomposition. | |
| void | solveByGC (double mu=0.0) |
| Resolve the linear system (A+muId)dp = g by the Conjugate Gradient method. | |
Public Attributes | |
| jblas::vec | gradient |
| Gradient vector. | |
| jblas::vec | deltap |
| Incremental upate of the BA variables vector (extrinsic parameters + 3D points localization) | |
Private Member Functions | |
| void | bundle_forward_substitution (double const mu) |
| void | bundle_backward_substitution () |
| After resvoling of S dpCPDV = T, dp3D is obtained by backward substitution. | |
Private Attributes | |
| unsigned int | nbCam |
| unsigned int | nbObj3D |
| unsigned int | nbObs2D |
| jmath::matofmat< double, 2, 6 > | B1 |
| jmath::matofmat< double, 2, 3 > | B2 |
| std::vector< jblas::mat66 > | U |
| std::vector< jblas::mat33 > | V |
| std::vector< jblas::mat33 > | invV |
| jblas::mat | Y |
| std::vector< jblas::mat_range * > | rangeY |
| jblas::vec | T |
| std::vector< jblas::vec_range * > | rangeT |
| jblas::mat | S |
| std::vector< jblas::mat_range * > | rangeS |
| jblas::mat | D |
| std::vector< jblas::mat_range * > | rangeD |
| std::vector< jblas::vec_range * > | gradCpdv |
| std::vector< jblas::vec_range * > | grad3d |
| jblas::vec_range | dpcpdv |
| jblas::vec_range | dp3d |
| std::vector< jblas::vec_range * > | dp1cpdv |
| std::vector< jblas::vec_range * > | dp1obj3d |
| double jafar::bundle::bundleLinearSys::maxDiagA | ( | ) | [inline] |
Return the max value of the diagonal of A.
max(Aii) = max(max(Uii),max(V(ii))) This value is used to initialize mu (in the Levenberg Marquardt algorithm)
Definition at line 344 of file linearsys.hpp.
Referenced by jafar::bundle::bundleLM().
| Generated on Wed Oct 15 2014 00:37:32 for Jafar by doxygen 1.7.6.1 |
|