[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42496] branches/bmesh/blender: svn merge ^/trunk/blender -r42466:42495
Campbell Barton
ideasman42 at gmail.com
Wed Dec 7 19:29:22 CET 2011
Revision: 42496
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42496
Author: campbellbarton
Date: 2011-12-07 18:29:21 +0000 (Wed, 07 Dec 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42466:42495
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42466
Modified Paths:
--------------
branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.cc
branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.h
branches/bmesh/blender/extern/libmv/libmv-capi.cpp
branches/bmesh/blender/extern/libmv/libmv-capi.h
branches/bmesh/blender/intern/cycles/kernel/CMakeLists.txt
branches/bmesh/blender/release/scripts/presets/tracking_settings/default.py
branches/bmesh/blender/release/scripts/presets/tracking_settings/fast_motion.py
branches/bmesh/blender/release/scripts/startup/bl_ui/space_clip.py
branches/bmesh/blender/release/scripts/startup/bl_ui/space_userpref.py
branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d.py
branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/tracking.c
branches/bmesh/blender/source/blender/blenkernel/intern/unit.c
branches/bmesh/blender/source/blender/editors/interface/resources.c
branches/bmesh/blender/source/blender/editors/object/object_vgroup.c
branches/bmesh/blender/source/blender/editors/render/render_internal.c
branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_vertex.c
branches/bmesh/blender/source/blender/editors/space_outliner/outliner_select.c
branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c
branches/bmesh/blender/source/blender/makesdna/DNA_object_types.h
branches/bmesh/blender/source/blender/makesdna/DNA_userdef_types.h
branches/bmesh/blender/source/blender/makesrna/intern/rna_userdef.c
branches/bmesh/blender/source/blender/python/intern/bpy_driver.c
branches/bmesh/blender/source/blender/windowmanager/intern/wm_gesture.c
Added Paths:
-----------
branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_footage.py
Removed Paths:
-------------
branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_movie.py
Property Changed:
----------------
branches/bmesh/blender/
branches/bmesh/blender/release/
branches/bmesh/blender/source/blender/editors/space_outliner/
Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379
/trunk/blender:39992-42466
+ /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:39992-42495
Modified: branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.cc
===================================================================
--- branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.cc 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.cc 2011-12-07 18:29:21 UTC (rev 42496)
@@ -273,11 +273,31 @@
// If the step was accepted, then check for termination.
if (d.squaredNorm() < min_update_squared_distance) {
- if (new_error > reasonable_error) {
- LG << "Update size shrank but reasonable error ("
- << reasonable_error << ") not achieved; failing.";
- return true; // XXX
+ // Compute the Pearson product-moment correlation coefficient to check
+ // for sanity.
+ // TODO(keir): Put this somewhere smarter.
+ double sX=0,sY=0,sXX=0,sYY=0,sXY=0;
+ for (int r = 0; r < width; ++r) {
+ for (int c = 0; c < width; ++c) {
+ double x = image_and_gradient1_sampled(r, c, 0);
+ double y = image_and_gradient2_sampled[new_image](r, c, 0);
+ sX += x;
+ sY += y;
+ sXX += x*x;
+ sYY += y*y;
+ sXY += x*y;
+ }
}
+ double N = width*width;
+ sX /= N, sY /= N, sXX /= N, sYY /= N, sXY /= N;
+ double correlation = (sXY-sX*sY)/sqrt(double((sXX-sX*sX)*(sYY-sY*sY)));
+ LG << "Final correlation: " << correlation;
+
+ if (correlation < minimum_correlation) {
+ LG << "Correlation " << correlation << " greater than "
+ << minimum_correlation << "; bailing.";
+ return false;
+ }
LG << "Successful track in " << (i + 1) << " iterations.";
return true;
}
Modified: branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.h
===================================================================
--- branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.h 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/extern/libmv/libmv/tracking/esm_region_tracker.h 2011-12-07 18:29:21 UTC (rev 42496)
@@ -38,7 +38,8 @@
max_iterations(16),
min_determinant(1e-6),
min_update_squared_distance(1e-4),
- sigma(0.9) {}
+ sigma(0.9),
+ minimum_correlation(0.78) {}
virtual ~EsmRegionTracker() {}
@@ -54,6 +55,7 @@
double min_determinant;
double min_update_squared_distance;
double sigma;
+ double minimum_correlation;
};
} // namespace libmv
Modified: branches/bmesh/blender/extern/libmv/libmv-capi.cpp
===================================================================
--- branches/bmesh/blender/extern/libmv/libmv-capi.cpp 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/extern/libmv/libmv-capi.cpp 2011-12-07 18:29:21 UTC (rev 42496)
@@ -111,12 +111,13 @@
/* ************ RegionTracker ************ */
-libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size)
+libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size, double minimum_correlation)
{
libmv::EsmRegionTracker *esm_region_tracker = new libmv::EsmRegionTracker;
esm_region_tracker->half_window_size = half_window_size;
esm_region_tracker->max_iterations = max_iterations;
esm_region_tracker->min_determinant = 1e-4;
+ esm_region_tracker->minimum_correlation = minimum_correlation;
libmv::PyramidRegionTracker *pyramid_region_tracker =
new libmv::PyramidRegionTracker(esm_region_tracker, pyramid_level);
@@ -124,12 +125,13 @@
return (libmv_RegionTracker *)pyramid_region_tracker;
}
-libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size)
+libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size, double minimum_correlation)
{
libmv::EsmRegionTracker *esm_region_tracker = new libmv::EsmRegionTracker;
esm_region_tracker->half_window_size = half_window_size;
esm_region_tracker->max_iterations = max_iterations;
esm_region_tracker->min_determinant = 1e-4;
+ esm_region_tracker->minimum_correlation = minimum_correlation;
libmv::BruteRegionTracker *brute_region_tracker = new libmv::BruteRegionTracker;
brute_region_tracker->half_window_size = half_window_size;
Modified: branches/bmesh/blender/extern/libmv/libmv-capi.h
===================================================================
--- branches/bmesh/blender/extern/libmv/libmv-capi.h 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/extern/libmv/libmv-capi.h 2011-12-07 18:29:21 UTC (rev 42496)
@@ -43,8 +43,8 @@
void libmv_setLoggingVerbosity(int verbosity);
/* RegionTracker */
-struct libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size);
-struct libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size);
+struct libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size, double minimum_correlation);
+struct libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size, double minimum_correlation);
int libmv_regionTrackerTrack(struct libmv_RegionTracker *libmv_tracker, const float *ima1, const float *ima2,
int width, int height, double x1, double y1, double *x2, double *y2);
void libmv_regionTrackerDestroy(struct libmv_RegionTracker *libmv_tracker);
Modified: branches/bmesh/blender/intern/cycles/kernel/CMakeLists.txt
===================================================================
--- branches/bmesh/blender/intern/cycles/kernel/CMakeLists.txt 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/intern/cycles/kernel/CMakeLists.txt 2011-12-07 18:29:21 UTC (rev 42496)
@@ -129,7 +129,7 @@
add_library(cycles_kernel ${SRC} ${SRC_HEADERS} ${SRC_SVM_HEADERS})
if(WITH_CYCLES_OPTIMIZED_KERNEL)
- SET_SOURCE_FILES_PROPERTIES(kernel_optimized.cpp PROPERTIES COMPILE_FLAGS ${CYCLES_OPTIMIZED_KERNEL_FLAGS})
+ set_source_files_properties(kernel_optimized.cpp PROPERTIES COMPILE_FLAGS "${CYCLES_OPTIMIZED_KERNEL_FLAGS}")
endif()
if(WITH_CYCLES_CUDA)
Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/blender/release:31524-42466
+ /trunk/blender/release:31524-42495
Copied: branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_footage.py (from rev 42495, trunk/blender/release/scripts/presets/tracking_settings/blurry_footage.py)
===================================================================
--- branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_footage.py (rev 0)
+++ branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_footage.py 2011-12-07 18:29:21 UTC (rev 42496)
@@ -0,0 +1,11 @@
+import bpy
+settings = bpy.context.edit_movieclip.tracking.settings
+
+settings.default_tracker = 'Hybrid'
+settings.default_pyramid_levels = 2
+settings.default_correlation_min = 0.75
+settings.default_pattern_size = 21
+settings.default_search_size = 100
+settings.default_frames_limit = 0
+settings.default_pattern_match = 'PREV_FRAME'
+settings.default_margin = 0
Deleted: branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_movie.py
===================================================================
--- branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_movie.py 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/release/scripts/presets/tracking_settings/blurry_movie.py 2011-12-07 18:29:21 UTC (rev 42496)
@@ -1,11 +0,0 @@
-import bpy
-settings = bpy.context.edit_movieclip.tracking.settings
-
-settings.default_tracker = 'KLT'
-settings.default_pyramid_levels = 4
-settings.default_correlation_min = 0.75
-settings.default_pattern_size = 11
-settings.default_search_size = 202
-settings.default_frames_limit = 25
-settings.default_pattern_match = 'KEYFRAME'
-settings.default_margin = 0
Modified: branches/bmesh/blender/release/scripts/presets/tracking_settings/default.py
===================================================================
--- branches/bmesh/blender/release/scripts/presets/tracking_settings/default.py 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/release/scripts/presets/tracking_settings/default.py 2011-12-07 18:29:21 UTC (rev 42496)
@@ -1,11 +1,11 @@
import bpy
settings = bpy.context.edit_movieclip.tracking.settings
-settings.default_tracker = 'KLT'
+settings.default_tracker = 'Hybrid'
settings.default_pyramid_levels = 2
settings.default_correlation_min = 0.75
settings.default_pattern_size = 11
-settings.default_search_size = 51
+settings.default_search_size = 61
settings.default_frames_limit = 0
settings.default_pattern_match = 'KEYFRAME'
settings.default_margin = 0
Modified: branches/bmesh/blender/release/scripts/presets/tracking_settings/fast_motion.py
===================================================================
--- branches/bmesh/blender/release/scripts/presets/tracking_settings/fast_motion.py 2011-12-07 18:22:16 UTC (rev 42495)
+++ branches/bmesh/blender/release/scripts/presets/tracking_settings/fast_motion.py 2011-12-07 18:29:21 UTC (rev 42496)
@@ -1,11 +1,11 @@
import bpy
settings = bpy.context.edit_movieclip.tracking.settings
-settings.default_tracker = 'KLT'
+settings.default_tracker = 'Hybrid'
settings.default_pyramid_levels = 2
-settings.default_correlation_min = 0.75
-settings.default_pattern_size = 11
-settings.default_search_size = 121
+settings.default_correlation_min = 0.7
+settings.default_pattern_size = 31
+settings.default_search_size = 300
settings.default_frames_limit = 0
-settings.default_pattern_match = 'KEYFRAME'
-settings.default_margin = 0
+settings.default_pattern_match = 'PREV_FRAME'
+settings.default_margin = 5
Modified: branches/bmesh/blender/release/scripts/startup/bl_ui/space_clip.py
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list