Blender Git Commit Log
Git Commits -> Revision db86c6b
Revision db86c6b by Keir Mierle (master) October 30, 2011, 12:42 (GMT) |
Improve the KLT tracking behaviour and UI - Remove the overly-conservative use of libmv's re-track tracker. The re-track tracker would take a normal tracker such as TRKLT or KLT or pyramid KLT, and track from frame 1 to 2, then back from the position found in 2 back to 1. Then, when the reverse-track doesn't match the original track with high precision, the track is considered "failed". This is a good approach for fully automatic reconstruction, but is too conservative for supervised tracking. The retrack-tracker will return when fully automatic tracking is added. - Always solve for (dx, dy) in the TRKLT loop even if the linear system is ill-conditioned. The client (Blender in this case) can still use the solved position, even though it is less reliable. - Expose the pyramid level setting to the tracking UI when in KLT tracking mode. While it was tempting to hide this detail from the user, in reality it does more harm than good, since the way tracking fails depends on the pyramid level. For now, exposing the pyramid details is a good compromise. - Move the settings for the tracking algorithm, including search window, tracking algorithm, pyramid levels, etc, into the track object instead of a global movie clip object. |
Commit Details:
Full Hash: db86c6bcf810fc7cd2e311634c3caf42bd8ade1e
SVN Revision: 41383
Parent Commit: e4cbb8d
Lines Changed: +210, -102
14 Modified Paths:
/extern/libmv/libmv-capi.cpp (+3, -8) (Diff)
/extern/libmv/libmv-capi.h (+1, -1) (Diff)
/extern/libmv/libmv/tracking/pyramid_region_tracker.cc (+2, -0) (Diff)
/extern/libmv/libmv/tracking/trklt_region_tracker.cc (+14, -20) (Diff)
/extern/libmv/libmv/tracking/trklt_region_tracker.h (+1, -1) (Diff)
/release/scripts/startup/bl_ui/space_clip.py (+8, -5) (Diff)
/source/blender/blenkernel/BKE_tracking.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/movieclip.c (+0, -2) (Diff)
/source/blender/blenkernel/intern/tracking.c (+75, -37) (Diff)
/source/blender/editors/space_clip/clip_draw.c (+35, -0) (Diff)
/source/blender/makesdna/DNA_space_types.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_tracking_types.h (+18, -9) (Diff)
/source/blender/makesrna/intern/rna_space.c (+6, -0) (Diff)
/source/blender/makesrna/intern/rna_tracking.c (+45, -19) (Diff)
/extern/libmv/libmv-capi.h (+1, -1) (Diff)
/extern/libmv/libmv/tracking/pyramid_region_tracker.cc (+2, -0) (Diff)
/extern/libmv/libmv/tracking/trklt_region_tracker.cc (+14, -20) (Diff)
/extern/libmv/libmv/tracking/trklt_region_tracker.h (+1, -1) (Diff)
/release/scripts/startup/bl_ui/space_clip.py (+8, -5) (Diff)
/source/blender/blenkernel/BKE_tracking.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/movieclip.c (+0, -2) (Diff)
/source/blender/blenkernel/intern/tracking.c (+75, -37) (Diff)
/source/blender/editors/space_clip/clip_draw.c (+35, -0) (Diff)
/source/blender/makesdna/DNA_space_types.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_tracking_types.h (+18, -9) (Diff)
/source/blender/makesrna/intern/rna_space.c (+6, -0) (Diff)
/source/blender/makesrna/intern/rna_tracking.c (+45, -19) (Diff)