Rostislav Vasilikhin
9d6f388809
Merge pull request #21018 from savuor:levmarqfromscratch
...
New LevMarq implementation
* Hash TSDF fix: apply volume pose when fetching pose
* DualQuat minor fix
* Pose Graph: getEdgePose(), getEdgeInfo()
* debugging code for pose graph
* add edge to submap
* pose averaging: DualQuats instead of matrix averaging
* overlapping ratio: rise it up; minor comment
* remove `Submap::addEdgeToSubmap`
* test_pose_graph: minor
* SparseBlockMatrix: support 1xN as well as Nx1 for residual vector
* small changes to old LMSolver
* new LevMarq impl
* Pose Graph rewritten to use new impl
* solvePnP(), findHomography() and findExtrinsicCameraParams2() use new impl
* estimateAffine...2D() use new impl
* calibration and stereo calibration use new impl
* BundleAdjusterBase::estimate() uses new impl
* new LevMarq interface
* PoseGraph: changing opt interface
* findExtrinsicCameraParams2(): opt interface updated
* HomographyRefine: opt interface updated
* solvePnPRefine opt interface fixed
* Affine2DRefine opt interface fixed
* BundleAdjuster::estimate() opt interface fixed
* calibration: opt interface fixed + code refactored a little
* minor warning fixes
* geodesic acceleration, Impl -> Backend rename
* calcFunc() always uses probe vars
* solveDecomposed, fixing negation
* fixing geodesic acceleration + minors
* PoseGraph exposes its optimizer now + its tests updated to check better convegence
* Rosenbrock test added for LevMarq
* LevMarq params upgraded
* Rosenbrock can do better
* fixing stereo calibration
* old implementation removed (as well as debug code)
* more debugging code removed
* fix warnings
* fixing warnings
* fixing Eigen dependency
* trying to fix Eigen deps
* debugging code for submat is now temporary
* trying to fix Eigen dependency
* relax sanity check for solvePnP
* relaxing sanity check even more
* trying to fix Eigen dependency
* warning fix
* Quat<T>: fixing warnings
* more warning fixes
* fixed warning
* fixing *KinFu OCL tests
* algo params -> struct Settings
* Backend moved to details
* BaseLevMarq -> LevMarqBase
* detail/pose_graph.hpp -> detail/optimizer.hpp
* fixing include stuff for details/optimizer.hpp
* doc fix
* LevMarqBase rework: Settings, pImpl, Backend
* Impl::settings and ::backend fix
* HashTSDFGPU fix
* fixing compilation
* warning fix for OdometryFrameImplTMat
* docs fix + compile warnings
* remake: new class LevMarq with pImpl and enums, LevMarqBase => detail, no Backend class, Settings() => .cpp, Settings==() removed, Settings.set...() inlines
* fixing warnings & whitespace
2021-12-27 21:51:32 +00:00