1
commit cfabdfe48df2add3d1f30cf4370efd0b31990ab0
2
Author: Sergey Sharybin <sergey.vfx@gmail.com>
3
Date: Thu Dec 20 05:46:53 2012 +0600
5
Assorted fixes for keyframe selection:
7
- Biggest error was in cost functors used for F and H refirement,
10
- Use natural logarithms, since it's actually makes sense from
11
math papers point of view and error is somewhere else.
13
- Disabled rho for GRIC, for now use non-clamped error for tests.
15
- Made SymmetricEpipolarDistance returning non-squared distance
16
Keyframe selection is currently the only used of this function
17
and it seems using non-squared distance makes much more sense.
19
Also would think to append suffix "Squared" to functions which
20
returns squared distances.
22
- Removed templated version of SymmetricEpipolarDistance, since
23
it's not needed actually.
25
This is actually even worse working than previous implementation,
26
but commit it needed for further review.
28
commit 35d8c57626ad74818f155e6e5960c663ea84e032
29
Author: Sergey Sharybin <sergey.vfx@gmail.com>
30
Date: Thu Dec 20 03:00:40 2012 +0600
32
Euclidean resection cost function didn't use correct constructor
34
It was storing a reference to initial rotation passed by value,
35
leading to pointer being pointing to a stack variable, leading to
36
wrong memory access in residuals computing.
38
Apparently was visible in optimized builds only with inline
41
commit 0798d3162bb49cee7e1c423ceccbca1326ad5650
42
Author: Sergey Sharybin <sergey.vfx@gmail.com>
43
Date: Thu Dec 20 02:50:52 2012 +0600
45
Automatic keyframe selection based on Pollefeys's criteria
47
This commit implements automatic keyframe selection algorithm
48
based on Pollefeys's criteria (F-GRIC is smaller than H-GRIC
49
and correspondence ratio is more then 90%).
51
It is implemented as a part of simple pipeline and returns
52
vector of keyframe images for a given Tracks structure.
54
For simple pipeline reconstruction two best keyframes are
55
expected to be selected from all detected candidates.
56
Criteria for this selection could be reprojection error of
57
solution from two candidate keyfames.
59
Unfortunately, it's not fully workable yet, hopefully would
62
commit e943985552f0598ae122252876f305d72c25c2f9
63
Author: Sergey Sharybin <sergey.vfx@gmail.com>
64
Date: Thu Dec 6 17:47:11 2012 +0600
66
Camera Tracking: allow fallback to reprojection resection
69
This fixes some "regressions" introduced in previous commit
70
which lead to much worse solution in some cases. Now it's
71
possible to bring old behavior back.
73
Perhaps it's more like temporal solution for time being smarter
74
solution is found. But finding such a solution isn't so fast,
75
so let's bring manual control over reprojection usage.
77
But anyway, imo it's now nice to have a structure which could
78
be used to pass different settings to the solver.
80
commit 5a23d01dd531d1e0798298d17ba42a3397effb82
81
Author: Keir Mierle <mierle@gmail.com>
82
Date: Thu Sep 20 18:55:44 2012 +0000
84
Make Euclidean resection "always" succeed.
86
The Euclidean resection code had a magical constant, 1e-3, used to
87
compare the results of solving an equation. This failure detection
88
was well-intended, trying to prevent poor solutions from getting
89
made without notifying the caller. Unfortunately in practice, this
90
threshold is too conservative. Furthermore, it is not clear the
91
threshold should exist at all; the purpose of the Euclidean
92
resection is to come up with the best solution it can; other
93
methods (e.g. reprojection error) should be used to compare
94
whether the method succeeded.
96
This commit changes the Euclidean EPnP code to always succeed,
97
causing the previous fallback to projective resection to never
98
run. In most cases, this will result in better reconstructions.
100
This should, in most cases, fix the dreaded "flipping" problem.
102
commit 57dad861d2a7f9d058c6d8edde1a2d51d7225a51
103
Author: Keir Mierle <mierle@gmail.com>
104
Date: Thu Sep 20 02:27:34 2012 +0000
106
Fix variable naming in the planar tracker.
108
commit e9392fd3b46f5668662935696e7d9afac3390ca4
109
Author: Keir Mierle <mierle@gmail.com>
110
Date: Thu Sep 20 02:10:33 2012 +0000
112
Add smarter tolerance checking in the planar tracker.
114
The planar tracker uses Ceres for the refinement stage. During
115
refinement, Ceres iteratively updates the parameters with the
116
latest best guess. If the change in the parameters falls below a
117
threshold, Ceres will abort successfully ("converged").
119
For the case of pure translation tracking, the parameters are
120
exactly the two pixel shifts (dx, dy), and measuring the change in
121
these parameters gives a meaningful termination criterion.
122
However, for all the other parameterizations like affine, where
123
the parameterization involves affine parameters that have no
124
physical interpretation, Ceres is left with no way to terminate
125
the solver early. With the existing code, often many iterations
126
are run long after Ceres has found a solution sufficiently
127
accurate for all tracking needs. No one needs tracking with
128
a quadrillionth of a pixel accuracy; that time is wasted.
130
This patch extends the existing iteration callback that is passed
131
in to Ceres to check if the pattern has fallen out of the search
132
window, to also check if the optimizer has made a tiny step. In
133
particular, if the maximum shift of any patch corner between two
134
successful optimizer steps is less than a threshold (currently
135
0.005 pixels), the track is declared successful and tracking
138
This leads to dramatic speed increases in some cases, with little
139
to no loss in track quality. This is especially apparent when
140
tracking patches with affine or perspective motion models. For
141
example, on some tracking cases I tried, the iterations Ceres took
144
commit 36729c19bf90cb767e9adb96ba7dd48a5ace2be1
145
Author: Keir Mierle <mierle@gmail.com>
146
Date: Wed Sep 19 22:25:02 2012 +0000
148
Detect too-small planar tracking patches.
150
The planar tracker did not detect very skinny patches which have
151
effectively zero area and are untrackable. This adds detection and
152
rejection of patterns with zero area. This fixes a crash found by
153
during Mango production.
155
commit 5cf2bae255a5a0f2e36ea0516670782cb88b589d
156
Author: Sergey Sharybin <sergey.vfx@gmail.com>
157
Date: Thu Dec 6 17:33:53 2012 +0600
159
Real fix for previous commit from Keir. He's comment;
161
Cleanup for when trackers fall out of the search window.
163
Sergey originally left a TODO() here, but his fix is the correct
164
one. I removed the TODO and fixed some comment issues.
166
commit a11533918720e5b43dc1e95895db0eb36c8c06aa
167
Author: Sergey Sharybin <sergey.vfx@gmail.com>
168
Date: Thu Dec 6 17:31:16 2012 +0600
170
Fix crash when tracking in planar motion model (and maybe some other)
172
It was an Abort() caused by check for solver result not equal to USER_ABORT.
174
In some cases solver returns USER_ABORT due to BoundaryCheckingCallback
175
detects coordinates does not belong to image.
177
Somehow this callback wasn't called in previous version of Ceres and
178
in the same case marker was jumping. Now when the callback is called
179
it seems we could simply return failure of tracking without aborting
182
Probably this is in fact some issue somewhere else, would double
183
check with Keir about this.
185
commit 4be2306bcc664b259aaf7068b9f32ab60124a509
186
Author: Sergey Sharybin <sergey.vfx@gmail.com>
187
Date: Thu Dec 6 17:29:39 2012 +0600
189
Resolved some compilation warnings (missed prototypes)
191
In some cases it was missed include of header file, in some other
192
cases symbol could be static.
194
commit bef729ba5c12683d13584d2a728b8b6506b7ca90
195
Author: Sergey Sharybin <sergey.vfx@gmail.com>
196
Date: Thu Dec 6 17:27:17 2012 +0600
198
Code cleanup: silence some -Wnarrowing warnings from C++11
200
commit add1415d896818367087c784a3013dd8f1bb2095
201
Author: Sergey Sharybin <sergey.vfx@gmail.com>
202
Date: Thu Dec 6 17:25:18 2012 +0600
204
Changes to SamplePlanarPatch to support mask input and
205
added output for pattern center.
207
commit daa354c0735b954b0cd7725626e9a3d67416d46b
208
Author: Keir Mierle <mierle@gmail.com>
209
Date: Sat Jun 9 19:22:39 2012 +0000
211
Change libmv's bilinear sampling to assume the same
212
pixel conventions as Blender. This fixes the preview
213
widget in Blender, and should make tracking slightly
216
commit 99b6222873fbfbe248316316956720376a58f438
217
Author: Keir Mierle <mierle@gmail.com>
218
Date: Sat Jun 9 18:58:51 2012 +0000
220
Add new warp regularization scheme for planar tracking.
222
This adds a new term to the tracking cost function that
223
restricts how much the optimizer can warp the patch (as
224
opposed to merely adjusting the translation). This should
225
reduce the "jumpiness" that is sometimes seen when doing
228
It is disabled in this commit; a subsequent commit will add
229
controls to the tracking dialog for this.
231
commit a1c5a70badd11cba0470700bad2eac2b2bd30c86
232
Author: Keir Mierle <mierle@gmail.com>
233
Date: Sat Jun 9 06:55:21 2012 +0000
235
Planar tracker polish.
237
- Fixes the correlation checking code that was broken in the
238
previous commit. The bug was a transpose error.
239
- Fixes a memory leak of the warp functor, found by Sameer.
240
- Various cleanups done at Sameer's suggestion.
242
Thanks to Sameer Agarwal for a code review.
244
commit 2cb784caa854a77cdd43620ab133f26b87ed0d83
245
Author: Keir Mierle <mierle@gmail.com>
246
Date: Fri Jun 8 17:42:17 2012 +0000
248
Make planar tracking much faster.
250
- This makes planar tracking around 2-3x or more faster than
251
before, by rearranging how the sampling is done.
252
Previously, the source patch was sampled repeatedly on
253
every optimizer iteration; this was done for
254
implementation speed, but was wasteful in computation.
256
- This also contains some additions to Ceres to help
257
deailing with mixed numeric / automatic differentation. In
258
particular, there is now a "Chain::Rule" operator that
259
facilitates calling a function that takes Jet arguments,
260
yet does numeric derivatives internally. This is used to
261
mix the numeric differentation of the images with the warp
262
parameters, passed as jets by Ceres to the warp functor.
264
There is also a new "JetOps" object for doing operations
265
on types which may or may not be jets, such as scaling
266
the derivative part only, or extracting the scalar part
269
This patche is aimed at Ceres upstream.
271
- A new function for sampling a patch is now part of the
272
track_region.h API; this will get used to make the preview
273
widget properly show what is getting tracked. Currently
274
the preview widget does not handle perspective tracks.
278
This patch introduces a bug such that the "Minimum
279
Correlation" flag does not work; if it is enabled, tracking
280
aborts immediately. The workaround for now is to disable the
281
correlation checking, and examine your tracks carefully. A
282
fix will get added shortly.
284
commit 81d028f13738ebe2304287dfce90e91bc782e2cf
285
Author: Keir Mierle <mierle@gmail.com>
286
Date: Fri May 18 20:04:43 2012 +0000
288
Remove an unnecessary template<> line in libmv. Convert debug logs to LG.
290
commit 238aaba241ef99995d254aadc974db719da04b96
291
Author: Keir Mierle <mierle@gmail.com>
292
Date: Fri May 18 12:05:10 2012 +0000
294
Support normalization in the tracking prepass
296
The last tracker commit added normalized tracking. This makes
297
tracking patches undergoing uniform illumination change easier.
298
However, the prepass which computes a quick translation-only
299
estimate of the warp did not take this into account. This commit
302
This works reasonably well but in some examples the brute
303
initialization fails. I suspect this is due to the warped template
304
estimate in the current frame being too different from the
305
original, so there are multiple peaks in the normalized-SAD
306
correlation function.
308
The solution is to use the previous frame for the brute
309
initialization and the keyframe for refinement, but that requires
310
architecture changes.
312
commit 981ca4f6a679cd9ac3d086eae3cd946ce72ca8a5
313
Author: Keir Mierle <mierle@gmail.com>
314
Date: Fri May 18 02:12:47 2012 +0000
316
Add light-normalized tracking to the planar tracker
318
This commit adds the ability to normalize patterns by their
319
average value while tracking, to make them invariant to global
320
illumination changes.
322
To see this in action, check out the "Lobby" scene from Hollywood
323
VFX. If you track the markers that are shadowed by the actress,
324
previously they would not track. With the scale adaption on, the
325
tracker would shrink the area to compensate for the changed
326
illumination, losing the track. With "Normalize" turned on, the
327
patch is correctly tracked and scale is maintained.
329
A remaining problem is that only the Ceres cost function is
330
updated to handle the normalization. The brute translation search
331
does not take this into account. Perhaps "Prepass" (see below)
332
should get disabled if normalization is enabled until I fix the
333
prepass to normalize as well.
335
There are a few other changes:
337
- Bail out of the sampling loop early if the mask is zero; this
338
saves expensive samples of the image derivatives.
340
- Fix a bug where the mask was ignored when sampling in the cost
343
commit e9384b15fb2a6a5b81346d5758fa136f0911e945
344
Author: Keir Mierle <mierle@gmail.com>
345
Date: Thu May 17 23:53:32 2012 +0000
347
Implement support for affine tracking in the planar tracker; cleanups.
349
commit 021d41eed8b4ce6a4e37786ccd357ed5dc83a13f
350
Author: Keir Mierle <mierle@gmail.com>
351
Date: Thu May 17 21:26:06 2012 +0000
353
For the planar tracker, initialize the warp from the four correspondences
354
after brute force translation search.
356
commit 003d1bf6145cfd30938b35f6e10d43708dbf916c
357
Author: Sergey Sharybin <sergey.vfx@gmail.com>
358
Date: Thu Dec 6 16:56:01 2012 +0600
360
Correction to region tracker options initialization.
362
Based on patch from Keir to Blender:
363
https://svn.blender.org/svnroot/bf-blender/branches/soc-2011-tomato@46743
365
commit 6af47b218cfdf5219f0ebb3cb95459817cf9abf2
366
Author: Keir Mierle <mierle@gmail.com>
367
Date: Thu May 17 02:31:52 2012 +0000
369
Add new planar tracker features and use the new planar API
371
This commit removes the use of the legacy RegionTracker API from
372
Blender, and replaces it with the new TrackRegion API. This also
373
adds several features to the planar tracker in libmv:
375
- Do a brute-force initialization of tracking similar to "Hybrid"
376
mode in the stable release, but using all floats. This is slower
377
but more accurate. It is still necessary to evaluate if the
378
performance loss is worth it. In particular, this change is
379
necessary to support high bit depth imagery.
381
- Add support for masks over the search window. This is a step
382
towards supporting user-defined tracker masks. The tracker masks
383
will make it easy for users to make a mask for e.g. a ball.
385
- Add Pearson product moment correlation coefficient checking (aka
386
"Correlation" in the UI. This causes tracking failure if the
387
tracked patch is not linearly related to the template.
389
- Add support for warping a few points in addition to the supplied
390
points. This is useful because the tracking code deliberately
391
does not expose the underlying warp representation. Instead,
392
warps are specified in an aparametric way via the correspondences.
394
- Remove the "num_samples_xy" concept and replace it with
395
automatic determination of the number of samples. This makes the
396
API easier for users.
398
- Fix various bugs in the parameterizations.
400
There remains a bug with subpixel precision tracking when in
401
"keyframe" mode; this will get fixed shortly.
403
commit 16a46db104468cec80bd31ca9d5f8bffbe3e003e
404
Author: Keir Mierle <mierle@gmail.com>
405
Date: Mon May 14 12:15:38 2012 +0000
407
"Efficient Second-order Minimization" for the planar tracker
409
This implements the "Efficient Second-order Minimization"
410
scheme, as supported by the existing translation tracker.
411
This increases the amount of per-iteration work, but
412
decreases the number of iterations required to converge and
413
also increases the size of the basin of attraction for the
416
commit 23243b1b1f3e1ab3ef862b47bca06ee876ac2cf4
417
Author: Keir Mierle <mierle@gmail.com>
418
Date: Sun May 13 23:08:56 2012 +0000
420
Add a planar tracking implementation to libmv
422
This adds a new planar tracking implementation to libmv. The
423
tracker is based on Ceres[1], the new nonlinear minimizer that
424
myself and Sameer released from Google as open source. Since
425
the motion model is more involved, the interface is
426
different than the RegionTracker interface used previously
429
The ESM tracker, also known as the KLT tracker in the UI, is
430
temporarily changed to use the new Ceres-based planar
431
tracker in translation-only mode. Currently it is a bit
432
slower than ESM and also doesn't have all the bells and
433
whistles implemented. Those will come soon. Longer term,
434
both trackers will remain since Ceres is unlikely to be as
435
fast as ESM for pure translation solving, due to its
438
The next step is to implement a new tracking UI. The current
439
UI assumes a translational motion model; the new one must
440
support arbitrary perspective transforms of the pattern
443
[1] http://code.google.com/p/ceres-solver
445
commit 52be92b53eb4decb1a316690b162196f227cc441
446
Author: Sergey Sharybin <sergey.vfx@gmail.com>
447
Date: Thu Dec 6 16:06:08 2012 +0600
449
Initial Ceres integration
451
Currently only put sources to src/third_party/ceres and made sure they're
452
not giving compilation issues.
454
Used Ceres upstream version 1.3.0.
456
Needed to make some modifications to it's CMakeLists.txt also to glog and
457
fglags. They're described in README.libmv of this libraries.
461
- Added -fPIC to glog/gflags, so shared ceres library could be linked
462
statically against this libraries.
464
- Tweaked Ceres's build rules to use needed libraries from libmv's
467
commit b13f9d13122e091cb85855c2094386ccdef6e5a4
468
Author: Sergey Sharybin <sergey.vfx@gmail.com>
469
Date: Wed Dec 5 19:05:34 2012 +0600
471
Update Eigen to version 3.1.2
473
Mainly because of lots of warnings generating by gcc-4.7 which are
474
resolved in newer eigen version.
476
commit 1f0dd94e8e37d3fe2df89282ec16a6a685fdde0b
477
Author: Sergey Sharybin <sergey.vfx@gmail.com>
478
Date: Fri May 25 16:36:44 2012 +0600
480
- Added avutil to qt-tracker linking when building with FFmpeg support.
481
On some platforms it seems to be required
482
- Synchronized QT Creator project for qt-tracker with changes in sources,
483
so no it might be compiled from QT Creator.
485
commit b813dbe3f46bbbc7e73ac791d4665622e4fc7ba5
486
Author: Sergey Sharybin <sergey.vfx@gmail.com>
487
Date: Wed May 9 19:01:10 2012 +0600
489
Modal solver: Detect rigid transformation between initial frame and current
490
instead of detecting it between two neighbour frames.
492
This prevents accumulation of error and seems to be working better in footages i've tested.
494
commit 9254621c76daaf239ec1f535e197ca792eea97b6
495
Author: Sergey Sharybin <sergey.vfx@gmail.com>
496
Date: Wed May 9 18:57:00 2012 +0600
498
Backport changes made by Keir in Blender:
500
- Enhance logging in libmv's trackers.
501
- Cleanups in brute_region_tracker.cc.
503
commit d9c56b9d3c63f886d83129ca0ebed1e76d9c93d7
504
Author: Sergey Sharybin <sergey.vfx@gmail.com>
505
Date: Fri Apr 27 16:20:41 2012 +0600
507
Fixes for MinGW64 support by Caleb Joseph with slight modifications by Antony Riakiotakis
509
- Functions snprintf and sincos shouldn't be redefined for MinGW64
510
- Type pid_t shouldn't be re-defined for MinGW64
512
commit e1902b6938676011607ac99986b8b140bdbf090e
513
Author: Sergey Sharybin <sergey.vfx@gmail.com>
514
Date: Fri Apr 27 16:04:19 2012 +0600
516
Fixes for Qt calibration tool
518
- Passing directory with images via command line argument now isn't
519
required -- it there's no such directory specified standard open
520
dialog might be used for this (before application used to abort
521
due to accessing to non-existing list element).
522
- Conversion of source images to grayscale now happens correct.
523
It was needed to build grayscale palette for 8bit indexed buffer.
525
commit 05f1a0a78ad8ff6646d1e8da97e6f7575b891536
526
Author: Sergey Sharybin <sergey.vfx@gmail.com>
527
Date: Sat Apr 14 17:21:29 2012 +0600
529
Make QtTracker compilable again porting it to recent API change and code cleanup:
531
- It was using SAD tracker with own API, now it's using standard RegionTracker API
532
which should make it easier to switch between different trackers.
533
- Restored LaplaceFilter from old SAD module which convolves images with the
534
discrete laplacian operator.
536
commit a44312a7beb2963b8e3bf8015c516d2eff40cc3d
537
Author: Sergey Sharybin <sergey.vfx@gmail.com>
538
Date: Thu Apr 12 13:56:02 2012 +0600
540
Added solver for modal camera motion, currently supports only tripod solving
542
This solver is intended to deal with such camera motions as tripod and panning,
543
where it's impossible to reconstruct exact position of markers in 3d view.
545
It projects markers onto sphere and uses rigid registration of rotation to
546
find rotation angles which makes bundles from previous and current frame be
547
as closest as it's possible.
549
commit fa3842e472e3b9c789e47bf6d8f592aa40a84f16
550
Author: Sergey Sharybin <sergey.vfx@gmail.com>
551
Date: Thu Apr 12 12:32:48 2012 +0600
553
implementation of some basic algorithms for point cloud orientation:
555
- Implementation of rigid registration algorithm which searches transformation
556
form one point cloud to another assuming that points in this clouds are
557
already paired (points with the same index in different clouds belongs to
558
the same pair) which minimizes average distance between points in pairs.
560
Algorithm uses Levenberg-Marquardt solver to find such transformation.
562
Supports registration of rotation-scale-transform (which is probably most
563
common usage) and rotation only (which might be useful for basic modal
566
- Implementation of Iterative-Point-Clouds algorithm which searches
567
transformation from one arbitrary point cloud to another making
568
points as closest to each other as possible.
570
This algorithm doesn't require points be initially paired, but for
571
good result clouds should have rough initial orientation. If they're
572
arbitrary oriented from the very beginning, algorithm might fail
573
producing good resold.
575
Iteration is based on building pairs of closest to each other points
576
and registering rigid transformation between them which incrementally
577
constructs final result.
579
TODO: building pairs might be speedup a lot using data structures like
580
AABB trees, K-D trees or so.
582
commit 9618d9a1d48bb3c28da605d9027f57a74f462785
583
Author: Sergey Sharybin <sergey.vfx@gmail.com>
584
Date: Wed Apr 11 14:17:14 2012 +0600
586
Added configuration file for glog to compile smooth on Hurd platform.
588
Patch by Pino Toscano <pino@debian.org>, thanks!
590
commit 63b2bd20237c8599fa73ce42556e4fb99b9f7cca
591
Author: Sergey Sharybin <sergey.vfx@gmail.com>
592
Date: Thu Mar 22 17:03:34 2012 +0600
594
Trackers refactoring:
595
- Deduplicate pattern sampling used in esm and lmicklt trackers
596
and move SamplePattern to image/sample.h
597
- Move computation of Pearson product-moment correlation into
598
own function in new file image/correlation.h so all trackers
599
can use it to check final correlation.
600
- Remove SAD tracker. It's almost the same as brute tracker,
601
with only two differences:
602
1. It does brute search of affine transformation which in some cases
603
helps to track rotating features
604
2. It didn't use common tracker api which probably gave some speed
605
advantage, but lead to a real headache to use it together with
606
other trackers leading to duplicated code in 3d-party software.
608
commit 9fe49c32e990f28c83f2bbb1d18057aed8879af7
609
Author: Sergey Sharybin <sergey.vfx@gmail.com>
610
Date: Mon Mar 12 09:36:15 2012 +0600
612
Code cleanup: convert line endings to Unix style (native on my platform) so it
613
wouldn't confuse other versioning systems used for project where libmv is bundled to,
615
Also change mode to +x for glog's windows-related script.
617
commit fe74ae2b53769389b0ed9d7e604c8e60be81077d
618
Author: Sergey I. Sharybin <g.ulairi@gmail.com>
619
Date: Sun Mar 11 20:34:15 2012 +0600
621
Replace "third_party/glog/src/glog/logging.h" with <glog/logging.h>
623
It was needed because of how build systems is setup in Blender but think
624
this will be helpful change for other applications too because it makes
625
it's easier to move libraries around and even use libraries installed
626
on the operation system.
628
commit 37fc726701479f2d321d6af878fa93f3176278d5
629
Author: Sergey I. Sharybin <g.ulairi@gmail.com>
630
Date: Sun Mar 11 19:27:41 2012 +0600
632
Upgrade gflags and glog libraries - stage 2 (final)
634
Changes to upstream code which are needed to make libmv compile smooth on all platforms
636
* Replace <gflags/gflags.h> with "third_party/gflags/gflags/gflags.h" which is easier
637
to setup things in libmv and also helps with setting up building libmv into
638
external applications.
639
* Replace "glog/logging.h" and "glog/logging.h" with <glog/logging.h> and <glog/logging.h>
640
which is needed on Windows platform because otherwise files like logging.cc will be using
641
relative path which points to headers used by linux instead of headers need to be used
643
* Replace _asm int 3 with __debugbreak(). Such assembler code is obsolete and doesn't work
644
with 64bit versions of MSVC compilers.
645
* Do not use stacktrace for MinGW and FreeBSD because it leads into issues accessing
646
some specific data on this platforms.
647
* Define HAVE_LIB_GFLAGS for Windows builds.
648
* Do not define __declspec(dllimport) for MinGW platforms.
649
* Setup proper includes and datatypes for int32, uint32, int64 and uint64 for MinGW
650
* Do not define va_copy for MinGW platforms (it's already defined there).
651
* Patch localtime_r to be working fine with MinGW, disable strerror_r for MinGW because
652
of lack of needed functions.
654
commit 8ed07abfa49d1e0511752021c972e0715e5a1383
655
Author: Sergey I. Sharybin <g.ulairi@gmail.com>
656
Date: Sun Mar 11 19:06:33 2012 +0600
658
Upgrade gflags and glog libraries - stage 1
660
This commit copies sources from latest original release of gflags and glog
661
over currently bundled versions of this libraries without any modifications.
663
This revision can't b compiled, all needed changes to make new libraries working
664
fine will be done with next commit to make it clear which changes were necessary
665
for easier bundling further newer version and extract patches and put them to
666
gflags/glog upstream repo.
668
Such upgrade of libraries is needed to make it able to compile libmv
669
with clang compilers. Currently used versions:
671
- gflags is version 2.0
672
- glog is version 0.3.2
674
commit 75b9af405964ff2c7d3f0a44500e27e63b37c91b
675
Author: Sergey Sharybin <sergey.vfx@gmail.com>
676
Date: Fri Feb 17 23:29:11 2012 +0600
678
_USE_MATH_DEFINES is needed to define constants like M_E when building with msvc
679
Occasionally was removed, but now added comment about this so hopefully it
680
wouldn't removed again.
682
commit f85b1232a9b929f69443b5eed6e7a39908cd6551
683
Author: Sergey Sharybin <sergey.vfx@gmail.com>
684
Date: Fri Feb 17 21:34:40 2012 +0600
686
Picky edit: corrected mode for ssba readme file.
688
commit f8c2b223f01551fd81a85f6d5221646165147035
689
Author: Sergey Sharybin <sergey.vfx@gmail.com>
690
Date: Fri Feb 17 21:32:05 2012 +0600
692
Picky edits: corrected EOL
694
commit 3f2a4205ec5adadcdfa306b161c705c868a7be93
695
Author: Sergey Sharybin <sergey.vfx@gmail.com>
696
Date: Fri Feb 17 21:30:07 2012 +0600
698
Fixed incorrect access to ucontext on linux. Caused by incorrect merge conflict resolve.
700
commit d360a21a5aa125cf9e83dd26b302508688ff7007
701
Author: Sergey Sharybin <sergey.vfx@gmail.com>
702
Date: Fri Feb 17 20:54:13 2012 +0600
704
More Windows -> Unix EOL conversions
706
commit 18aeda58bec9556140ba617724e31ada6f5b67c0
707
Author: Sergey Sharybin <sergey.vfx@gmail.com>
708
Date: Fri Feb 17 20:15:42 2012 +0600
710
Looks like this debug output was removed accidentally.
712
commit 189dc0cacdee3c1eab68c43263ecb038ed244c09
713
Author: Sergey Sharybin <sergey.vfx@gmail.com>
714
Date: Fri Feb 17 20:11:56 2012 +0600
716
Made V3D verbose again by default
718
commit 8b3422d3eec5e450d76243886bf07fb0a3e83a81
719
Author: Sergey Sharybin <sergey.vfx@gmail.com>
720
Date: Fri Feb 17 20:08:01 2012 +0600
722
SAD tracker now can deal with pattern size any size,
723
Very quick implementation came from Blender before Hybrid tracker was added.
724
Better to be replaced with brute tracker.
1
commit 2cd653e2952379da7daf56edcd9e71b0aa929f90
2
Author: Sergey Sharybin <sergey.vfx@gmail.com>
3
Date: Sat Jun 1 16:20:35 2013 +0600
5
Pass vectors by a reference
7
Saves couple of time which used to waste on copying objects,
8
also solves win32 compilation errors caused by alignment.
10
commit f61b8198b9bddd8d2fa53feae7924aa23df48cbd
11
Author: Sergey Sharybin <sergey.vfx@gmail.com>
12
Date: Thu May 30 18:00:03 2013 +0600
16
- Made some arguments passing to detector const.
17
- Remove unneeded include from track_region header.
19
commit 61ac890908a397860cabc60207500039876532cc
20
Author: Sergey Sharybin <sergey.vfx@gmail.com>
21
Date: Mon May 13 04:44:14 2013 +0600
23
Pass ApplyRadialDistortionCameraIntrinsics input arguments by reference
25
This shall save some CPU time on calling copy constructor and give
26
some boost of bundle adjuster (where jet could take some time to
29
commit 4d005ff0771e0e28159be25f8da69d983641384f
30
Author: Sergey Sharybin <sergey.vfx@gmail.com>
31
Date: Mon May 13 04:22:05 2013 +0600
33
Minor code style cleanup.
35
commit f003b9e3031db4592c2d91b1ea2538c73b7e767d
36
Author: Sergey Sharybin <sergey.vfx@gmail.com>
37
Date: Sun May 12 22:34:54 2013 +0600
39
Cleanup in simple pipeline's bundler
41
- Better match Google's code style conventions.
42
- Move evaluation part into own function, makes
43
bundling itself easier to follow.
44
- Made evaluation an optional parameter.
45
- Removed note about unsupported camera intrinsics
46
refining flags. Technically, all combinations
49
commit f0e68f69e5c5f0fd82334246d382e59f1eb20164
50
Author: Sergey Sharybin <sergey.vfx@gmail.com>
51
Date: Sun May 12 22:19:31 2013 +0600
53
Remove check for zero focal length in BA cost functor
55
This check is actually redundant, because empty intrinsics
56
will have focal length of 1.0, which means original comment
57
about BundleIntrinsics was not truth.
59
It is possible that external user will send focal length of
60
zero to be refined, but blender prevents this from happening.
62
commit 7ed5e4da65d2c0df63a08b1e1f4b4de1855f1bf0
63
Author: Sergey Sharybin <sergey.vfx@gmail.com>
64
Date: Sat May 11 20:33:54 2013 +0600
66
Fix compilation error with msvc2012
68
Using change from glog's upstream for this.
70
commit 7e162266f96abc25d80e2352cd77f21ed93593b7
71
Author: Sergey Sharybin <sergey.vfx@gmail.com>
72
Date: Sat May 11 19:50:57 2013 +0600
74
Style cleanup, mainly pointed by Sameer in Ceres's codereview
76
commit 42da053c6410b4f3fb13798c7e9c5f4a861b6825
77
Author: Sergey Sharybin <sergey.vfx@gmail.com>
78
Date: Fri May 10 18:30:40 2013 +0600
80
Keyframe selection improvements
82
Added additional criteria, which ignores
83
keyframe pair if success intersection factor
84
is lower than current candidate pair factor.
86
This solves issue with keyframe pair at which
87
most of the tracks are intersecting behind the
88
camera is accepted (because variance in this
89
case is really small),
91
Also tweaked generalized inverse function,
92
which now doesn't scale epsilon by maximal
93
matrix element. This gave issues at really bad
94
candidates with unstable covariance. In this
95
case almost all eigen values getting zeroed
96
on inverse leading to small expected error.
98
commit f3eb090f7240f86799099fe86ce9386eb2bd3007
99
Author: Sergey Sharybin <sergey.vfx@gmail.com>
100
Date: Fri May 10 17:59:40 2013 +0600
102
Keyframe selection code cleanup
104
- Updated comments in code.
105
- Removed currently unused functions.
106
Actually, they'd better be moved to some generic
107
logging module, but we don't have it now so was
108
lazy to create one now. Could happen later using
109
code from git history
110
- Renamed function to match better to what's going
113
commit b917b48bd877eedd17dec907cacf0b27a36e717d
114
Author: Sergey Sharybin <sergey.vfx@gmail.com>
115
Date: Fri May 10 17:44:49 2013 +0600
117
Optimization for reconstruction variance
119
Achieved by replacing SVD-based pseudo-inverse with
120
an eigen solver pseudo inverse.
122
New function works in the same way: it decomposes
123
matrix to V*D*V^-1, then inverts diagonal of D
124
and composes matrix back.
126
The same way is used to deal with gauges - last
127
7 eigen values are getting zeroed.
129
In own tests gives approx 2x boost, without
130
visible affect on selected keyframe quality.
132
commit 041b4b54fff66311347a307a5922c2516c76ee44
133
Author: Sergey Sharybin <sergey.vfx@gmail.com>
134
Date: Thu Mar 14 14:53:42 2013 +0600
136
Initial commit of reconstruction variance criteria
137
which is an addition for GRIC-based keyframe selection.
139
Uses paper Keyframe Selection for Camera Motion and Structure
140
Estimation from Multiple Views,
141
ftp://ftp.tnt.uni-hannover.de/pub/papers/2004/ECCV2004-TTHBAW.pdf
144
Currently implemented camera positions reconstructions,
145
bundle positions estimation and bundle adjustment step.
147
Covariance matrix is estimating using generalized inverse
148
with 7 (by the number of gauge freedoms) zeroed eigen values
152
- Added utility function FundamentalToEssential to extract
153
E from F matrix, used by both final reconstruction pipeline
154
and reconstruction variance code.
156
- Refactored bundler a bit, so now it's possible to return
157
different evaluation data, such as number of cameras and
158
points being minimized and also jacobian.
160
Jacobian currently contains only camera and points columns,
161
no intrinsics there yet. It is also currently converting to
162
an Eigen dense matrix. A bit weak, but speed is nice for
165
Columns in jacobian are ordered in the following way:
166
first columns are cameras (3 cols for rotation and 3 cols
167
for translation), then goes 3D point columns.
169
- Switched F and H refining to normalized space. Apparently,
170
refining F in pixel space squeezes it a lot making it wrong.
172
- EuclideanIntersect will not add point to reconstruction if
173
it happened to be behind the camera.
175
- Cleaned style a bit.
177
commit 94c4654f1145f86779bd0a7e8cda1fd2c751d27d
178
Author: Sergey Sharybin <sergey.vfx@gmail.com>
179
Date: Fri May 10 13:27:21 2013 +0600
181
Left extra debugging print in reconstruction scale by accident.
183
commit 3886b488575ec5e79debce7b9f2e9824f5297c0f
184
Author: Sergey Sharybin <sergey.vfx@gmail.com>
185
Date: Fri May 10 12:23:03 2013 +0600
187
Add check for points behind camera in euclidan BA cost functor
189
In cases keyframes are no so good, algebraic two frames construction
190
could produce result, for which more aggressive Ceres-based BA code
191
will fall to a solution for which points goes behind the camera,
192
which is not so nice.
194
Seems in newer Ceres returning false from cost functor wouldn't
195
abort solution, but will restrict solver from moving points behind
198
Works fine in own tests, but requires more tests.
200
commit a5699d7dbe126024673f51aaa570f9f244f8da2f
201
Author: Sergey Sharybin <sergey.vfx@gmail.com>
202
Date: Wed Apr 24 22:06:38 2013 +0600
204
Forgot to add reconstruction scale to CMakeLists
206
commit 2b7d2b44e6446bbcc23038f5dbb824feca888069
207
Author: Sergey Sharybin <sergey.vfx@gmail.com>
208
Date: Wed Apr 24 19:40:39 2013 +0600
210
Reconstructed scene scale ambiguity improvement
212
Added a function EuclideanScaleToUnity() which is
213
aimed to solve scale ambiguity by scaling solution
214
in a way cameras centers variance in unity.
216
Currently only available for euclidean pipeline,
217
projective one is not finished anyway.
219
commit ed1f650576dc6f5b648a026a2861c54827b0f5c9
220
Author: Sergey Sharybin <sergey.vfx@gmail.com>
221
Date: Tue Apr 23 01:41:29 2013 +0600
223
Use epsilon in modal solver test
225
Default epsilon for isApprox was too small,
226
leading to some false test failures.
228
commit c44679a9a0fafdde6a0a22e7e5c8496fc9c93cd0
229
Author: Sergey Sharybin <sergey.vfx@gmail.com>
230
Date: Tue Apr 23 01:35:56 2013 +0600
232
Update Ceres to current HEAD
234
Brings optimization for DENSE_NORMAL_CHOLESKY and
235
also fixes threading issues with BLAS.
237
commit 03cbc88ce7f51aa26ba503acea2e984bcb78873c
238
Author: Sergey Sharybin <sergey.vfx@gmail.com>
239
Date: Mon Apr 15 05:35:33 2013 +0600
241
Fix for bundle adjusting with motion restricted
243
Was a bug introduced in previous commit, which
244
was trying to set parameterization for non-existing
245
camera->t parameter block.
247
Replaced with subset parameterization.
249
Also added basic synthetic unit test for modal solver.
251
commit c78a68f980e778d40ce836fa1d7471cb7264d4a0
252
Author: Sergey Sharybin <sergey.vfx@gmail.com>
253
Date: Mon Apr 8 23:33:20 2013 +0600
255
Bundle adjustment improvements
257
- Get rid of rotation matrix parameterization,
258
use angle-axis instead.
260
Also Joined rotation and translation into
261
a single parameter block.
263
This made minimization go significantly faster,
264
like 1.3x times in average.
266
- Fix first camera when bundling. This is to
267
address orientation ambiguity.
269
Reconstruction result could still vary in
270
size, but that's another issue to be addressed
275
Split EuclideanBundleCommonIntrinsics into
276
smaller functions, so it's now a bit easier
279
commit 28c7566629c2cf5b03a787c9509856e87472eb2f
280
Author: Sergey Sharybin <sergey.vfx@gmail.com>
281
Date: Mon Apr 8 23:31:57 2013 +0600
283
Update Ceres to current HEAD
285
Brings up some noticeable speed improvements. In particular
286
the automatic differentiation and bundle adjustment solvers.
288
commit efde9faa21e70b031d3cbcb2dcdcd38e597bf56e
289
Author: Sergey Sharybin <sergey.vfx@gmail.com>
290
Date: Mon Apr 8 02:21:26 2013 +0600
292
Corrected path to gflags
294
Currently tools/track.cc is not used, but let's
295
keep things a bit more up-to-date :)
297
commit f8b5ea196fb00ab07d577e9738a60cdd1de16509
298
Author: Sergey Sharybin <sergey.vfx@gmail.com>
299
Date: Mon Apr 8 02:17:16 2013 +0600
301
Re-enable tests for multiview and image
303
For as long code is in repo and used by some tools
304
better to have it covered by tests.
306
Some of them are failing tho, but that's completely
307
different story to be addressed later.
309
commit d2a7ee60a5845738f76b88bfc373eefc2cc8501a
310
Author: Sergey Sharybin <sergey.vfx@gmail.com>
311
Date: Mon Apr 8 02:10:07 2013 +0600
313
Do not modify cache's CMAKE_CXX_FLAGS_RELEASE when configuring Ceres
315
Otherwise you'll have infinite appending of Ceres-specific flags
316
on every saving of any CmakeLists.txt.
318
commit 45edb507bf46194dd55b7fc46a7d90ee3853834d
319
Author: Sergey Sharybin <sergey.vfx@gmail.com>
320
Date: Sun Apr 7 21:53:23 2013 +0600
322
Fixed compilation with BUILD_TOOLS enabled
324
This commit mainly reverts parts of following commits:
325
0eebc21db831211738acc938566bbc29d68d45db
326
d8109b7a4fede1660e0dbd73735f1a9e3fd79eec
327
e59595806c045916ab4ef15ef7047c1a728b2da9
328
2d6cd58ee1cd7c5073980f358c71b2898ad16b4c
330
They declared lots of stuff deprecated, but in
331
fact it's not deprecated just a bit different
332
usage pipeline. Anyway, deprecation shall not
333
happen spontaneously as a part of other changes.
334
And for sure shall not break anything.
336
commit 7a9c83d3ccaa2f0015f88b9156d7662c46244b4a
337
Author: Sergey Sharybin <sergey.vfx@gmail.com>
338
Date: Sat Apr 6 20:49:05 2013 +0600
340
Revert "Change libmv's bilinear sampling to assume the same"
342
Revert changes to bilinear sampler which were originally
343
aimed to match blender's pixel center (where integer coord
344
is a left-bottom corner, x.5 coords are centers.
346
The reason of revert is changing this assumption in only
347
sampler didn't work well and lead to wrong results of
348
BlurredImageAndDerivativesChannels for example.
350
Discovered when was doing unit-tests for brute region tracker.
352
This reverts commit daa354c0735b954b0cd7725626e9a3d67416d46b.
354
commit 15f3bb00340933ce753a1a55e9cde9383352e259
355
Author: Sergey Sharybin <sergey.vfx@gmail.com>
356
Date: Sat Apr 6 18:37:37 2013 +0600
358
Added basic test for brute region tracker
360
It is failing at this moment and this is caused because
361
of how SampleLinear works - seems it's assumption about
362
pixel center is not correct for internal sampling.
364
commit 1146602972c07e99a9e4ab37d35ac83aec490e60
365
Author: Sergey Sharybin <sergey.vfx@gmail.com>
366
Date: Sat Apr 6 16:54:08 2013 +0600
368
Tweak to KLT region tracker test
370
KLT is usually used to track relatively small
371
motions, and in this case motion almost equals
372
to half window size. This confuses math and
373
leads to not so much expected result.
375
Further, not actually sure this is nice idea
376
to use KLT in such synthetic case.
378
commit 1e22cbcac480863b6b5abc5c85f23dc70748933a
379
Author: Sergey Sharybin <sergey.vfx@gmail.com>
380
Date: Sat Apr 6 16:40:59 2013 +0600
382
Pyramid tracker unit test fix
384
Issue was caused by trackers modifying guessed
385
point location even in case of failure. So made
386
id so both level 0 and level 3 of pyramid are
387
starting from the same initial guessed location.
389
Modifying locations in case tracker returns false
390
is not actually a bug - someone could still want
391
to use that location. False in this case means
392
more like "returned location is not so much
395
commit 3ad5e0efa071f202ee7c2034d70dd97aa62b13aa
396
Author: Sergey Sharybin <sergey.vfx@gmail.com>
397
Date: Sat Apr 6 00:38:40 2013 +0600
399
Intersect unit test fix
401
EuclideanIntersect is not aware of camera calibration
402
matrix yet and always assumes it to be an identity.
404
So using non-identity matrix to construct sample case
405
leads to wrong projection results.
407
For now made it so test case uses identity matrix for
410
Also fixed variable shadowing which lead to wrong
411
markers positions (were either zero or undefined).
413
commit 3a153c2b65f38653a36c36975018f68d42d60670
414
Author: Sergey Sharybin <sergey.vfx@gmail.com>
415
Date: Sat Apr 6 00:12:12 2013 +0600
417
Camera intrinsics unit tests fixes
419
- Existing test ApplyIsInvertibleSimple was not
420
doing right thing - distortion model used there
423
Tweaked parameters in a way model is invertible now.
425
- Added some own tests which tests;
427
* Principal point always maps from pixel space to
428
zero normalized position.
430
* Some basic tests to check whether individual
431
apply/invert works correct.
433
commit e3b2bccba6145290738a6677c14f7369ec7a38cd
434
Author: Sergey Sharybin <sergey.vfx@gmail.com>
435
Date: Thu Apr 4 02:59:58 2013 +0600
437
Suppress strict compiler warnings in glags/glog libraries
439
commit 5fca459adcf0a3419fa9cd8d983dc2c952d02647
440
Author: Sergey Sharybin <sergey.vfx@gmail.com>
441
Date: Thu Apr 4 01:20:18 2013 +0600
443
Lint cleanup, mostly white space and line width.
445
Also moved own includes to the top of files.
447
Should be no functional changes :)
449
commit 9a9dd458a622928b91dbd3c79900577923283838
450
Author: Sergey Sharybin <sergey.vfx@gmail.com>
451
Date: Fri Mar 29 00:20:29 2013 +0600
453
Fix for TransformTracks in uncalibrated pipeline
455
Transformation matrix was completely ignored by
456
TransformTracks() and final marker coordinate
457
exactly matched it's source coordinates.
459
Seems to be just a typo in vector usage: need to
460
use "b" (which is transformed one) instead of "a"
461
when converting projective coordinate to 2D space.
463
commit d35766cc9901609e32f4d80faba715695bea3c40
464
Author: Sergey Sharybin <sergey.vfx@gmail.com>
465
Date: Fri Mar 29 00:19:11 2013 +0600
467
Revert part of e2eb58c4230f94ef0c72fb4005e5434088d52e80
469
That commit included one change which shall have been
470
go as separate commit with more detailed description.
472
commit e8d71b4e96fd78eb60773b6557d66da672e65753
473
Author: Sergey Sharybin <sergey.vfx@gmail.com>
474
Date: Wed Mar 27 20:37:05 2013 +0600
476
Silenced more warnings
478
- Added includes of own header to fast implementation files.
480
- Camera intrinsics wouldn't complain about unknown pragma when
481
building without OpenMP support.
483
TODO: Make it a CMake option to build libmv with OpenMP support.
484
Currently multi-threaded intrinsics only available when
485
using custom CMake rules for bundled libmv version
486
(as it's done in Blender).
488
commit ad442812654f270dc088394410fda1b81b8dc450
489
Author: Sergey Sharybin <sergey.vfx@gmail.com>
490
Date: Wed Mar 27 20:18:51 2013 +0600
492
Multithreaded camera intrinsics
494
Implemented multithreaded buffer (un)distortion
495
for camera intrinsics using OpenMP.
497
By default, (un)distortion is single-threaded,
498
but it is possible to as CameraIntrinsics to
499
use more threads by calling SetThreads method.
501
commit c88b4881096174a16a9f9e6fc2c9dcad3e255b25
502
Author: Sergey Sharybin <sergey.vfx@gmail.com>
503
Date: Wed Mar 27 18:45:09 2013 +0600
505
Movie functions implementation from panography header
506
into own CC implementation file.
508
Before this all panography functions were declared as
509
static, which is not so much useful from re-useability
512
commit 2d2faf9104bc035722cff6775e1b8e7c93143aba
513
Author: Sergey Sharybin <sergey.vfx@gmail.com>
514
Date: Wed Mar 27 18:37:36 2013 +0600
516
Build shared Ceres library only if BUILD_SHARED_LIBS is enabled
518
commit daa3ddd3260ccaf2bf9c72eadb89213d91e549ec
519
Author: Sergey Sharybin <sergey.vfx@gmail.com>
520
Date: Wed Mar 27 18:21:52 2013 +0600
522
Update Ceres to upstream version 1.5.0
524
commit cf5dc678878345ea3f221ce50cb2b9e539c2ab38
525
Author: Sergey Sharybin <sergey.vfx@gmail.com>
526
Date: Wed Mar 27 15:06:24 2013 +0600
528
Code cleanup: removed more deprecated FFmpeg API usage
530
This time in qt-tracker application.
532
commit e2eb58c4230f94ef0c72fb4005e5434088d52e80
533
Author: Sergey Sharybin <sergey.vfx@gmail.com>
534
Date: Tue Mar 26 17:19:51 2013 +0600
536
Code cleanup: silent unused variables warnings
538
commit af89bb24667e39b7e655173ea807fdcfbeef4422
539
Author: Sergey Sharybin <sergey.vfx@gmail.com>
540
Date: Tue Mar 26 16:54:14 2013 +0600
542
Code cleanup: no need to declare empty body for ProgressUpdateCallback:invoke
544
Make force this method to be overridden by derivative classes.
545
Also removed currently unneeded callbacks.cc.
547
commit 0441d4ee06fad0219256a5704f931eec916a3868
548
Author: Sergey Sharybin <sergey.vfx@gmail.com>
549
Date: Tue Mar 26 16:37:27 2013 +0600
551
Code cleanup: silent type narrowing in qt-tracker
553
commit cd4b61c976448d0fdedefb3ed4b21d70e078f94b
554
Author: Sergey Sharybin <sergey.vfx@gmail.com>
555
Date: Tue Mar 26 16:26:39 2013 +0600
557
Changes to unit testing
559
- Move ceres test binaries to ${LIBMV_TESTS_OUTPUT_DIR}/ceres,
560
so they don't mess with libmv's application binaries and
563
- Removed ceres_ prefix from ceres unit tests, only use this
564
prefix for targets (targets need to be unique name).
566
- Added unit tests data for ceres, otherwise system_test fails.
568
- Restored "test" makefile target.
570
commit cf704ada08acc8b26167e7bfb3e1e88fd278de23
571
Author: Sergey Sharybin <sergey.vfx@gmail.com>
572
Date: Tue Mar 26 15:01:15 2013 +0600
574
Code cleanup: use rw-rw-r-- mode for source files
576
commit 64b31e3e43acb52aaf6f591b9d1c2449bf6ef3bd
577
Author: Sergey Sharybin <sergey.vfx@gmail.com>
578
Date: Tue Mar 26 14:57:46 2013 +0600
580
Code cleanup: don't use deprecated FFmpeg API functions
582
commit 2a3676499548ad5dba5a5c5eadf3bb71e640b612
583
Author: Sergey Sharybin <sergey.vfx@gmail.com>
584
Date: Tue Mar 5 17:40:52 2013 +0600
586
Switch from DENSE_NORMAL_CHOLESKY to DENSE_QR
588
DENSE_QR is better behaved numerically and after recent
589
changes from Sameer there's no big difference in speed.
591
commit bcb920df02133da5b7e55fbc74edb9222004eecc
592
Author: Sergey Sharybin <sergey.vfx@gmail.com>
593
Date: Tue Mar 5 17:15:43 2013 +0600
595
Update Ceres to 1.5RC3
597
It brings optimization of DENSE_QR and DENSE_SCHUR solvers.
599
commit 473996468a4e67e7c860169181a4ff31ce9b8c80
600
Author: Sergey Sharybin <sergey.vfx@gmail.com>
601
Date: Fri Mar 1 17:44:54 2013 +0600
603
Fixed incorrect order of arguments passing
604
to EXPECT_EQ in keyframe selection tests.