Rostislav Vasilikhin
9ba4bb7355
initIntrisicParams2D() refactored
...
variables refactoring
levmarq fix
initIntrinsicParams2D() refactoring
undo LM fix
cameraCalcJErr: made a lambda; warnings fixed; vars rearranged & renamed, jacobian buffers, perViewErrors and allErrors fix, etc.
stereoCalibrate: internal vars in callback
stereoCalibrate: capture only useful variables
stereoCalibrate: perViewError fix + minors
rvecs and tvecs are not pointers anymore
no extra lambda
newObjPoints: no pointers
stdDevs: no pointers
_Jo removed: not used
Range::all() -> rowRange, colRange
param and mask are std::vectors now
indices shortened
tabs
less func-scoped vars; TODOs
less formatting & renaming changes
trailing whitespaces
less diff
less changes
less changes
Range::all() back
perViewErr ptr fix
NINTRINSIC captured
try to fix warning
trying to fix a warning
fix warnings, another attempt
2022-09-15 22:55:40 +02:00
Rostislav Vasilikhin
b1020639f1
perViewErr fix
2022-09-09 17:40:26 +02:00
Rostislav Vasilikhin
a8b4ffac50
volatile variable made mask-fixed as it should be
2022-09-05 18:42:17 +02:00
Rostislav Vasilikhin
8a43956a1b
less pointers
...
rtsort + formatting
less pointers + more compact code
less reallocations, cleaner code
less pointers, less GEMMs
trailing whitespace
2022-09-05 18:42:15 +02:00
Rostislav Vasilikhin
96e2d32618
fixing broken stereo calibration
2022-09-05 18:42:12 +02:00
Rostislav Vasilikhin
487619e5fe
no address arithmetics
...
less address arithmetics
happy valgrind: copy recomputed intrinsics only
2022-09-05 18:42:09 +02:00
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
Vadim Pisarevsky
eff6d32337
* refactored the remaining old-style functions in 3d and calib modules to use the new C++ API.
...
* extended C++ version of Levenberg-Marquardt (LM) solver to accommodate all features of the C counterpart.
* removed C version of LM solver
* made a few other little changes to make the code compile and run smoothly
2021-06-07 20:55:25 +08:00
Vadim Pisarevsky
d6c699c014
calib3d module in opencv is split into 3 modules: 3d, calib and stereo.
...
stereo module in opencv_contrib is renamed to xstereo
2020-12-01 23:42:15 +03:00