[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