[Bf-blender-cvs] [5d701c6] master: Re-bundle libmv from new upstream repository

Sergey Sharybin noreply at git.blender.org
Wed Jan 1 17:37:55 CET 2014


Commit: 5d701c6d25a1c5cea65b15cbcc88b4c745164cc2
Author: Sergey Sharybin
Date:   Mon Dec 30 19:03:13 2013 +0600
https://developer.blender.org/rB5d701c6d25a1c5cea65b15cbcc88b4c745164cc2

Re-bundle libmv from new upstream repository

No functional changes, just to make sure all the patches
are ported nicely and that update scripts works fine.

===================================================================

M	extern/libmv/ChangeLog
M	extern/libmv/bundle.sh

===================================================================

diff --git a/extern/libmv/ChangeLog b/extern/libmv/ChangeLog
index bfa8b29..c4abfae 100644
--- a/extern/libmv/ChangeLog
+++ b/extern/libmv/ChangeLog
@@ -1,4 +1,216 @@
-commit 2cd653e2952379da7daf56edcd9e71b0aa929f90
+commit b9e467e7c077b58199c4110f6967b7c18d1e7bf7
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 20:34:39 2013 +0600
+
+    Update Ceres to the latest upstream
+    
+    This brings up much easier termination type usage,
+    which for us means we might use:
+    
+      ceres::Summary::IsSolutionUsable()
+    
+    instead of doing manual funky enum values check.
+
+commit 3aeb2367e50b52ca2b9d59d4f0f0b4bbfd6a05e8
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 20:43:24 2013 +0600
+
+    Update gtest to latest version 1.7.0
+    
+    Also reshuffled CMakeLists in order to avoid
+    conflicts happening between gflags bundled to
+    Ceres and third_party.
+
+commit 30aaa9cd0b4a4eb0948a17824e7e7622d8ebcb41
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 20:10:06 2013 +0600
+
+    Changes for VC2013
+    
+    Solves compilation error when using msvc2013
+    
+    Original patch is by Alexandr Kuznetsov to blender.git
+
+commit b204c0d25065a2b149de256929ff37d8f00f45bb
+Author: Keir Mierle <mierle at gmail.com>
+Date:   Tue Dec 31 20:05:58 2013 +0600
+
+    Eagerly attempt to refine a track before doing a brute search
+    
+    Before the refinement phase of tracking, a brute force SAD search
+    is run across the search area. This works well but is slow;
+    especially if the guess for the track's location is accurate.
+    
+    This patch runs a refinement phase before running a brute force
+    search, hoping that the guessed position (in x2, y2) is close to
+    the best answer. If it is, then no brute search is done. If it is
+    not, then a normal brute force search followed by refinement is
+    done.
+    
+    In some cases this may produce worse tracks than before; the
+    regressions will need investigation. The predictive motion model
+    (to be implemented) will reduce the probability of that happening.
+
+commit 5361513f0328ff94b53125d29129561bb03132e8
+Author: Keir Mierle <mierle at gmail.com>
+Date:   Tue Dec 31 20:04:46 2013 +0600
+
+    Fix bug where libmv tracking incorrectly succeeds on failure
+    
+    Before this patch, if Ceres returned USER_SUCCESS indicating that
+    Ceres was only changing the tracked quad slightly between
+    iterations (indicating convergence), no final correlation check
+    was done. This leads to incorrectly returning that the tracking
+    was successful, when it actually failed.
+
+commit ba9e63eed09e33a48bbcb081058f45ac16f8738e
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 20:00:46 2013 +0600
+
+    Implementation of weighted tracks
+    
+    Added a weight field to Track structure which means
+    how much affect this track will have on the final
+    reconstruction.
+    
+    Currently it affects on BA step only which in most
+    cases will work just fine. However, it worth looking
+    into weight support for intersection/resection.
+
+commit 4600df8b685ca8c4daa22d6c3b0125fd42c3bc67
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 19:30:14 2013 +0600
+
+    Code cleanup: move function prototype to header file
+
+commit 0ce5b6efde774b3f042acf9e42c95674548f1c01
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 19:26:48 2013 +0600
+
+    Get rid of Allow Fallback option for euclidean resection
+    
+    It was rather confusing from the user usage point of view
+    and didn't get so much improvement after new bundle adjuster
+    was added.
+    
+    In the future we might want to switch resection to PPnP algorithm,
+    which could also might be a nice alternative to fallback option.
+
+commit 5d063426f4809000c27f38ed798e4224bbd09a6d
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 19:24:05 2013 +0600
+
+    Use explicit declaration of int types sign
+    
+    Mainly needs to make blender happy with this custom
+    header which used to run into conflict with other int
+    types headers.
+    
+    Wouldn't harm being more explicit here anyway.
+
+commit c5be59dee94f94de369006c544080282cfb245cc
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Dec 31 14:50:00 2013 +0600
+
+    Implement refinement of estimated homography/fundamental matrices
+    
+    It was only possible to perform algebraic estimation, which didn't
+    give so much accurate results.
+    
+    Implemented a way to perform algebraic estimation followed with
+    refinement step using Ceres minimizer.
+    
+    The code was actually mostly already there since keyframe selection
+    patch. Made such estimation a generic function in multiview/ and
+    hanged API for estimation in order to pass all additional options via
+    an options structure (the same way as it's done fr Ceres).
+    
+    Most of the options are straight-forward to understand,but some
+    deserves more description here:
+    
+    * expected_average_symmetric_distance is used as an early output check
+      and as soon as average symmetric error goes below this threshold
+      refining finishes.
+    
+      This distance is measured in the same units as input points are.
+    
+      It is arguable whether we need callback for this or not, but seems
+      Ceres doesn't have some kind of absolute threshold for function value
+      and function_tolerance behaves different from logic behind expected
+      symmetric error.
+    
+    * There' an option to normalize correspondences before estimating the
+      homography in order to increase estimation stability. See
+    
+        R. Hartley and A. Zisserman. Multiple View Geometry in Computer
+        Vision. Cambridge University Press, second edition, 2003.
+    
+        https://www.cs.ubc.ca/grads/resources/thesis/May09/Dubrofsky_Elan.pdf
+
+commit 1cdad972c4a9005e78891524cbd6d65600ca7e99
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Sep 25 16:12:29 2013 +0600
+
+    Code cleanup: Minor function capitalization fix
+    
+    Original patch by Joseph Mansfield to the Blender repository.
+
+commit 434316d084e8a41fd452f03610d7244d664948dc
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Sep 25 16:07:43 2013 +0600
+
+    Code cleanup: spelling correction
+    
+    Original patch by Joseph Mansfield to the Blender repository.
+
+commit 5cfe8465ac70407c0959c53bcd5206657a1322a2
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Sep 25 16:02:48 2013 +0600
+
+    Fix for uninitialized covariance matrix
+    
+    Lead to unpredictable tracking termination criteria.
+
+commit fd86b77d413489649a989f075b061714ed9a72fc
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Sep 25 16:01:19 2013 +0600
+
+    Add Procrustes PNP ("PPnP") resection algorithm to libmv
+    
+    This adds a new Euclidean resection method, used to create the
+    initial reconstruction in the motion tracker, to libmv. The method
+    is based on the Procrustes PNP algorithm (aka "PPnP"). Currently
+    the algorithm is not connected with the motion tracker, but it
+    will be eventually since it supports initialization.
+    
+    Having an initial guess when doing resection is important for
+    ambiguous cases where potentially the user could offer extra
+    guidance to the solver, in the form of "this point is in front of
+    that point".
+    
+    Original patch by Keir Mierle made to Blender repository.
+
+commit 0d98e9bbde5d57f6cd9515ce8ff2786d322f29ea
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Tue Jun 18 19:24:07 2013 +0600
+
+    Compilation error when using clang
+    
+    Where couple of issues:
+    
+    - Overloaded assignment operator usage ambiguity
+      around some of the Eigen matrix assignment.
+    
+    - Using -O4 flag here on linux ended up in lots
+      of cryptic linker issues, even when using recently
+      release clang 3.3.
+    
+      Disabled forcing optimization flag for now.
+      We could end up with something smarter in the
+      future, but for now i'm not as much fan of
+      forcing compiler's flag.
+
+commit 2b90b3915671cb629f7aabed30a88f28450294f8
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Sat Jun 1 16:20:35 2013 +0600
 
@@ -7,7 +219,7 @@ Date:   Sat Jun 1 16:20:35 2013 +0600
     Saves couple of time which used to waste on copying objects,
     also solves win32 compilation errors caused by alignment.
 
-commit f61b8198b9bddd8d2fa53feae7924aa23df48cbd
+commit 994c02d0ec55e9ae14a93a3ada6e5d4939247fc3
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Thu May 30 18:00:03 2013 +0600
 
@@ -16,7 +228,7 @@ Date:   Thu May 30 18:00:03 2013 +0600
     - Made some arguments passing to detector const.
     - Remove unneeded include from track_region header.
 
-commit 61ac890908a397860cabc60207500039876532cc
+commit 7d0c5325a38e61929f44206761b8aa3565631af5
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Mon May 13 04:44:14 2013 +0600
 
@@ -26,13 +238,13 @@ Date:   Mon May 13 04:44:14 2013 +0600
     some boost of bundle adjuster (where jet could take some time to
     be passed by value).
 
-commit 4d005ff0771e0e28159be25f8da69d983641384f
+commit eb2e567df4567a54887d602aa95d6744aa154d8b
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Mon May 13 04:22:05 2013 +0600
 
     Minor code style cleanup.
 
-commit f003b9e3031db4592c2d91b1ea2538c73b7e767d
+commit ad3dbaaef10ea721230694311a359df152c7a44a
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Sun May 12 22:34:54 2013 +0600
 
@@ -46,7 +258,7 @@ Date:   Sun May 12 22:34:54 2013 +0600
       refining flags. Technically, all combinations
       are possible.
 
-commit f0e68f69e5c5f0fd82334246d382e59f1eb20164
+commit 4432eb80f27e929f8750229aaada625d4f3ac5ee
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Sun May 12 22:19:31 2013 +0600
 
@@ -59,7 +271,7 @@ Date:   Sun May 12 22:19:31 2013 +0600
     It is possible that external user will send focal length of
     zero to be refined, but blender prevents this from happening.
 
-commit 7ed5e4da65d2c0df63a08b1e1f4b4de185

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list