[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