[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39546] branches/soc-2011-salad: Merging r39482 through r39545 from soc-2011-tomato into soc-2011-salad

Sergey Sharybin g.ulairi at gmail.com
Fri Aug 19 11:34:37 CEST 2011


Revision: 39546
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39546
Author:   nazgul
Date:     2011-08-19 09:34:37 +0000 (Fri, 19 Aug 2011)
Log Message:
-----------
Merging r39482 through r39545 from soc-2011-tomato into soc-2011-salad

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39482
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39545

Modified Paths:
--------------
    branches/soc-2011-salad/extern/libmv/ChangeLog
    branches/soc-2011-salad/extern/libmv/libmv/numeric/function_derivative.h
    branches/soc-2011-salad/extern/libmv/libmv/numeric/levenberg_marquardt.h
    branches/soc-2011-salad/extern/libmv/libmv/simple_pipeline/detect.cc
    branches/soc-2011-salad/extern/libmv/libmv/simple_pipeline/detect.h
    branches/soc-2011-salad/extern/libmv/libmv/tracking/sad.cc
    branches/soc-2011-salad/extern/libmv/libmv/tracking/sad.h
    branches/soc-2011-salad/extern/libmv/libmv-capi.cpp
    branches/soc-2011-salad/extern/libmv/libmv-capi.h
    branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h
    branches/soc-2011-salad/source/blender/blenkernel/intern/tracking.c
    branches/soc-2011-salad/source/blender/editors/space_clip/tracking_ops.c
    branches/soc-2011-salad/source/blender/editors/transform/transform.c
    branches/soc-2011-salad/source/blender/editors/transform/transform.h
    branches/soc-2011-salad/source/blender/editors/transform/transform_conversions.c
    branches/soc-2011-salad/source/blender/makesdna/DNA_tracking_types.h
    branches/soc-2011-salad/source/blender/makesrna/intern/rna_tracking.c

Property Changed:
----------------
    branches/soc-2011-salad/
    branches/soc-2011-salad/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-salad
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36828-39099
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-39479
/branches/soc-2011-tomato:36831-39481
/trunk/blender:36834-39544
   + /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36828-39099
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-39479
/branches/soc-2011-tomato:36831-39545
/trunk/blender:36834-39544

Modified: branches/soc-2011-salad/extern/libmv/ChangeLog
===================================================================
--- branches/soc-2011-salad/extern/libmv/ChangeLog	2011-08-19 09:27:35 UTC (rev 39545)
+++ branches/soc-2011-salad/extern/libmv/ChangeLog	2011-08-19 09:34:37 UTC (rev 39546)
@@ -1,3 +1,104 @@
+commit 75520f4bc4ccbb272a1b4149d3b8d05a90f7f896
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 23:14:17 2011 +0200
+
+    Fix affine iteration.
+
+commit 4e8e0aa6018e3eb2fbebdad7f1cbd6c909d26e79
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 23:03:26 2011 +0200
+
+    Handle rotations.
+
+commit 3ce41cf3c1b5c136a61d8f4c63ccae3cafbdb8da
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 22:24:47 2011 +0200
+
+    Slow brute-force affine diamond search implementation.
+
+commit 1c4acd03e030c1c50dc6fc36c419c72ea69a0713
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 20:51:43 2011 +0200
+
+    Fix detect.cc.
+
+commit ec18cc5ea9ae2e641075a847e82d0aacb8415ad8
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 17:45:37 2011 +0200
+
+    Compute and return Pearson product-moment correlation coefficient between reference and matched pattern.
+
+commit 21d4245c63a01bfc736192d55baf10983e7c9ec7
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Thu Aug 18 16:18:44 2011 +0200
+
+    UI and API support for affine tracking.
+
+commit a4876d8c40dcde615b44009c38c49e9a1b1d4698
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Wed Aug 17 20:26:01 2011 +0200
+
+    Hack to make sad.cc compile with MSVC on system without support for the SSE instruction set.
+
+commit 0de723dfce5bbe44dbd19be8cd6dd6e9b03b7924
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Wed Aug 17 20:10:46 2011 +0200
+
+    Fix slow path (for computers without SSE2).
+    Heap allocate scores in detect.cc
+
+commit 65a9d496f81e8b37eae39a4063957b8be9a4e6f0
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Wed Aug 17 19:25:17 2011 +0200
+
+    Fix compilation on OSX.
+
+commit d22720e618456329388d2c107422c3b371657cba
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Wed Aug 17 14:14:45 2011 +0200
+
+    Improve Detect and SAD Tracker API and documentation.
+
+commit 5d6cd4ad365b061901bad40695b51d568487a0cf
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Wed Aug 17 11:57:29 2011 +0200
+
+    MSVC support fixes.
+
+commit 50f0323173c6deebd6aaf9c126f0b51b2a79c3c1
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Tue Aug 16 23:21:37 2011 +0200
+
+    Detector can detect features similar to a given pattern.
+
+commit 5734cc27bbf84c2b6edcfcc1ea736798e12d5820
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Tue Aug 16 22:53:54 2011 +0200
+
+    Ensure SAD Tracker is C compatible.
+    Update Detect API documentation.
+
+commit 701c42842574064fea992f8822e3899cb9066108
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Tue Aug 16 21:56:42 2011 +0200
+
+    Remove FAST detector.
+    Add Moravec detector.
+    This detector is more suited to tracking since it try to choose patterns which are unlikely to drift by computing SAD with neighbouring patches.
+    It could be improved to better avoid edges.
+
+commit 9bdf93e13fc880c78b6f34397da673388c16040e
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Tue Aug 16 21:55:08 2011 +0200
+
+    Fix Qt Tracker GL to work with AMD drivers.
+
+commit 81613ee0cc94b315f333c9632b18b95d426aad05
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date:   Tue Aug 16 21:54:12 2011 +0200
+
+    Make CameraIntrinsics (and thus Qt tracker) compilable without linking libmv.
+
 commit a1d9a8fa8b01ef7cf2a79b3b891633fc333fc9cf
 Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
 Date:   Tue Aug 16 21:24:51 2011 +0200
@@ -341,23 +442,3 @@
     Add optimized version of KLT tracker.
     
     FIXME: It currently doesn't work.
-
-commit 07a27f214c98e92b876c0878d05397f2031b35cd
-Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
-Date:   Sun Jul 17 23:01:58 2011 +0200
-
-    Add some #if (QT_VERSION < QT_VERSION_CHECK(4, 7, 0)) and #define constBits bits macros to support Qt < 4.7 which is still used on older systems.
-    
-    Build using Qt < 4.7 will see increased memory usage and unecessary copying.
-
-commit 1b91161241f90ef40391edd13c902d1901b723fb
-Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
-Date:   Sun Jul 17 18:25:47 2011 +0200
-
-    Fix sequence caching.
-
-commit e1737d71b50237c0f0d5a7f2b7463284d95a902e
-Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
-Date:   Sun Jul 17 16:35:48 2011 +0200
-
-    Use deprecated FFmpeg API.

Modified: branches/soc-2011-salad/extern/libmv/libmv/numeric/function_derivative.h
===================================================================
--- branches/soc-2011-salad/extern/libmv/libmv/numeric/function_derivative.h	2011-08-19 09:27:35 UTC (rev 39545)
+++ branches/soc-2011-salad/extern/libmv/libmv/numeric/function_derivative.h	2011-08-19 09:34:37 UTC (rev 39546)
@@ -24,7 +24,6 @@
 #include <cmath>
 
 #include "libmv/numeric/numeric.h"
-#include "libmv/logging/logging.h"
 
 namespace libmv {
 
@@ -98,7 +97,7 @@
 
   typename NumericJacobian<Function>::JMatrixType J_numeric = j_numeric(x);
   typename NumericJacobian<Function>::JMatrixType J_analytic = j_analytic(x);
-  LG << J_numeric - J_analytic;
+  //LG << J_numeric - J_analytic;
   return true;
 }
 

Modified: branches/soc-2011-salad/extern/libmv/libmv/numeric/levenberg_marquardt.h
===================================================================
--- branches/soc-2011-salad/extern/libmv/libmv/numeric/levenberg_marquardt.h	2011-08-19 09:27:35 UTC (rev 39545)
+++ branches/soc-2011-salad/extern/libmv/libmv/numeric/levenberg_marquardt.h	2011-08-19 09:34:37 UTC (rev 39546)
@@ -33,7 +33,6 @@
 
 #include "libmv/numeric/numeric.h"
 #include "libmv/numeric/function_derivative.h"
-#include "libmv/logging/logging.h"
 
 namespace libmv {
 
@@ -124,40 +123,26 @@
     Parameters dx, x_new;
     int i;
     for (i = 0; results.status == RUNNING && i < params.max_iterations; ++i) {
-      VLOG(1) << "iteration: " << i;
-      VLOG(1) << "||f(x)||: " << f_(x).norm();
-      VLOG(1) << "max(g): " << g.array().abs().maxCoeff();
-      VLOG(1) << "u: " << u;
-      VLOG(1) << "v: " << v;
-
-      AMatrixType A_augmented = A + u*AMatrixType::Identity(J.cols(), J.cols());
-      Solver solver(A_augmented);
-      dx = solver.solve(g);
-      bool solved = (A_augmented * dx).isApprox(g);
-      if (!solved) {
-        LOG(ERROR) << "Failed to solve";
-      }
-      if (solved && dx.norm() <= params.relative_step_threshold * x.norm()) {
+      if (dx.norm() <= params.relative_step_threshold * x.norm()) {
         results.status = RELATIVE_STEP_SIZE_TOO_SMALL;
         break;
-      } 
-      if (solved) {
-        x_new = x + dx;
-        // Rho is the ratio of the actual reduction in error to the reduction
-        // in error that would be obtained if the problem was linear.
-        // See [1] for details.
-        Scalar rho((error.squaredNorm() - f_(x_new).squaredNorm())
-                   / dx.dot(u*dx + g));
-        if (rho > 0) {
-          // Accept the Gauss-Newton step because the linear model fits well.
-          x = x_new;
-          results.status = Update(x, params, &J, &A, &error, &g);
-          Scalar tmp = Scalar(2*rho-1);
-          u = u*std::max(1/3., 1 - (tmp*tmp*tmp));
-          v = 2;
-          continue;
-        } 
-      } 
+      }
+      x_new = x + dx;
+      // Rho is the ratio of the actual reduction in error to the reduction
+      // in error that would be obtained if the problem was linear.
+      // See [1] for details.
+      Scalar rho((error.squaredNorm() - f_(x_new).squaredNorm())
+                 / dx.dot(u*dx + g));
+      if (rho > 0) {
+        // Accept the Gauss-Newton step because the linear model fits well.
+        x = x_new;
+        results.status = Update(x, params, &J, &A, &error, &g);
+        Scalar tmp = Scalar(2*rho-1);
+        u = u*std::max(1/3., 1 - (tmp*tmp*tmp));
+        v = 2;
+        continue;
+      }
+
       // Reject the update because either the normal equations failed to solve
       // or the local linear model was not good (rho < 0). Instead, increase u
       // to move closer to gradient descent.

Modified: branches/soc-2011-salad/extern/libmv/libmv/simple_pipeline/detect.cc
===================================================================
--- branches/soc-2011-salad/extern/libmv/libmv/simple_pipeline/detect.cc	2011-08-19 09:27:35 UTC (rev 39545)
+++ branches/soc-2011-salad/extern/libmv/libmv/simple_pipeline/detect.cc	2011-08-19 09:34:37 UTC (rev 39546)
@@ -23,49 +23,88 @@
 ****************************************************************************/
 
 #include "libmv/simple_pipeline/detect.h"
-#include <third_party/fast/fast.h>
 #include <stdlib.h>
+#include <string.h>
 
 namespace libmv {
 
-std::vector<Corner> Detect(const unsigned char* data, int width, int height, int stride,
-                           int margin, int min_trackness, int min_distance) {
-  std::vector<Corner> corners;
-  data += margin*width + margin;
-  // TODO(MatthiasF): Support targetting a feature count (binary search trackness)
-  int num_corners;
-  xy* all = fast9_detect(data, width-2*margin, height-2*margin,
-                         stride, min_trackness, &num_corners);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list