diff options
author | Keir Mierle <mierle@gmail.com> | 2013-10-29 05:06:50 +0400 |
---|---|---|
committer | Keir Mierle <mierle@gmail.com> | 2013-10-29 05:06:50 +0400 |
commit | 427844c28d2083ffcec93066ebee3fcf0fd01e42 (patch) | |
tree | 66d1ca63022a6f63deddbc19fced942291f47518 /extern/libmv/libmv-capi.cc | |
parent | 5f05de0c1ee99f0c4ae884f1102862f0d242c64f (diff) |
Eagerly attempt to refine a track before doing a brute search
Before the refinement phase of tracking, a brute force SAD search
is run across the search area. This works well but is slow;
especially if the guess for the track's location is accurate.
This patch runs a refinement phase before running a brute force
search, hoping that the guessed position (in x2, y2) is close to
the best answer. If it is, then no brute search is done. If it is
not, then a normal brute force search followed by refinement is
done.
In some cases this may produce worse tracks than before; the
regressions will need investigation. The predictive motion model
(to be implemented) will reduce the probability of that happening.
Diffstat (limited to 'extern/libmv/libmv-capi.cc')
-rw-r--r-- | extern/libmv/libmv-capi.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/extern/libmv/libmv-capi.cc b/extern/libmv/libmv-capi.cc index 0585bd3e8ac..f02ca0e98e0 100644 --- a/extern/libmv/libmv-capi.cc +++ b/extern/libmv/libmv-capi.cc @@ -306,6 +306,9 @@ int libmv_trackRegion(const libmv_TrackRegionOptions *options, track_region_options.num_extra_points = 1; track_region_options.image1_mask = NULL; track_region_options.use_brute_initialization = options->use_brute; + /* TODO(keir): This will make some cases better, but may be a regression until + * the motion model is in. Since this is on trunk, enable it for now. */ + track_region_options.attempt_refine_before_brute = true; track_region_options.use_normalized_intensities = options->use_normalization; if (options->image1_mask) { |