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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to