Blender Git Commit Log
Git Commits -> Revision 52f34f0
Revision 52f34f0 by Sergey Sharybin (master) February 28, 2013, 14:24 (GMT) |
Modal (aka tripod) solver rework Several major things are done in this commit: - First of all, logic of modal solver was changed. We do not rely on only minimizer to take care of guessing rotation for frame, but we're using analytical rotation computation for point clouds to obtain initial rotation. Then this rotation is being refined using Ceres minimizer and now instead of minimizing average distance between points of point of two clouds, minimization of reprojection error of point cloud onto frame happens. This gives quite a bit of precision improvement. - Second bigger improvement here is using bundle adjustment for a result of first step when we're only estimating rotation between neighbor images and reprojecting markers. This averages error across the image sequence avoiding error accumulation. Also, this will tweak bundles themselves a bit for better match. - And last bigger improvement here is support of camera intrinsics refirenment. This allowed to significantly improve solution for real-life footage and results after such refining are much more usable than it were before. Thanks to Keir for the help and code review. |
Commit Details:
Full Hash: 52f34f017dca0bfe12976c997c2396de0dce2a71
SVN Revision: 54932
Parent Commit: 2a5ed52
Lines Changed: +375, -59
1 Added Path:
/extern/libmv/libmv/multiview/panography.h (+181, -0) (View)
9 Modified Paths:
/extern/libmv/CMakeLists.txt (+1, -0) (Diff)
/extern/libmv/files.txt (+1, -19) (Diff)
/extern/libmv/libmv-capi.cpp (+22, -5) (Diff)
/extern/libmv/libmv-capi.h (+1, -0) (Diff)
/extern/libmv/libmv/simple_pipeline/bundle.cc (+7, -2) (Diff)
/extern/libmv/libmv/simple_pipeline/bundle.h (+11, -1) (Diff)
/extern/libmv/libmv/simple_pipeline/modal_solver.cc (+149, -30) (Diff)
/release/scripts/startup/bl_ui/space_clip.py (+1, -2) (Diff)
/source/blender/blenkernel/intern/tracking.c (+1, -0) (Diff)
/extern/libmv/files.txt (+1, -19) (Diff)
/extern/libmv/libmv-capi.cpp (+22, -5) (Diff)
/extern/libmv/libmv-capi.h (+1, -0) (Diff)
/extern/libmv/libmv/simple_pipeline/bundle.cc (+7, -2) (Diff)
/extern/libmv/libmv/simple_pipeline/bundle.h (+11, -1) (Diff)
/extern/libmv/libmv/simple_pipeline/modal_solver.cc (+149, -30) (Diff)
/release/scripts/startup/bl_ui/space_clip.py (+1, -2) (Diff)
/source/blender/blenkernel/intern/tracking.c (+1, -0) (Diff)