1
0
mirror of https://github.com/opencv/opencv_contrib.git synced 2025-10-18 08:44:11 +08:00
Commit Graph

21 Commits

Author SHA1 Message Date
tsenst
1c9e23745c Merge pull request #1940 from tsenst:add_robust_optical_flow_implementation
Add robust local optical flow (RLOF) implementations (#1940)

* Add robust local optical flow (RLOF) implementations which is an improved pyramidal iterative Lucas-Kanade approach. This implementations contains interfaces for sparse optical flow for feature tracking and dense optical flow based on sparse-to-dense interpolation schemes.
Add performance and accuracy tests have been implementation as well as documentation with the related publications

* - exchange tabs with spaces
- fix optflow.bib indentation
- remove optflow_o.hpp
- change RLOFOpticalFlowParameter interfaces to Ptr<RLOFOpticalFlowParameter>
to remove error on building. Fix warnings

* introducing precompiler flag RLOD_SSE

* remove header that could not be found

* remove whitespaces
fix perf and accuracy tests

* remove x86intrin.h header

* fix ios and arm by removing last sse commands

* fix warnings for windows compilation

* fix documentation RLOFOpticalFlowParameter

* integrate cast to remove last warnings

* * add create method and function inferfaces to RLOFOpticalFlowParamter to enable python wrapper interfaces

* white space fixes / coding style

* fix perf test

* other changes: precomp.hpp / static

* use Matx44f and Vec4f instead of Mat

* normSigmas into constants

* replace ceil() calls

* maximum level is set to 5 so that it is similar value used in the papers

* implement paralellized horizontal cross segmentation as used in Geistert2016

* drop dead code

* Avoid using "data" and "step" calculations. Use .ptr<mat_type>(row, col) instead.

* Avoid using "data" and "step" calculations. Use .ptr<mat_type>(row, col) instead.

* bugfix on BEPLK with ica and adapt the accuracy tests

* more 'static' functions

* bugfix after changing ptr + step to .ptr(y,x) calls by adjusting ROI of
prevImage, currImage and derivI as well as changing the offset of the
points in the invoker classes.

* add some static_cast to avoid warning

* remove 50 grid size sample from perf test. This grid size is to sparse
for the epic interpolation

* remove notSameColor function since it is not used anymore
2018-12-30 13:10:21 +03:00
Vadim Pisarevsky
2cc5ead103 moved DIS optical flow from opencv_contrib to opencv, moved TVL1 from opencv to opencv_contrib 2018-11-09 00:48:48 +03:00
Vladislav Samsonov
ac62d70f97 [GSoC] Implementation of the Global Patch Collider and demo for PCAFlow (#752)
* Minor fixes

* Start adding correspondence finding

* Added finding of correspondences using GPC

* New evaluation tool for GPC

* Changed default parameters

* Display ground truth in the evaluation tool

* Added training tool for MPI Sintel dataset

* Added the training tool for Middlebury dataset

* Added some OpenCL optimization

* Added explanatory notes

* Minor improvements: time measurements + little ocl optimization

* Added demos

* Fixed warnings

* Make parameter struct assignable

* Fix warning

* Proper command line argument usage

* Prettified training tool, added parameters

* Fixed VS warning

* Fixed VS warning

* Using of compressed forest.yml.gz files by default to save space

* Added OpenCL flag to the evaluation tool

* Updated documentation

* Major speed and memory improvements:
1) Added new (optional) type of patch descriptors which are much faster. Retraining with option --descriptor-type=1 is required.
2) Got rid of hash table for descriptors, less memory usage.

* Fixed various floating point errors related to precision.
SIMD for dot product, forest traversing is a little bit faster now.

* Tolerant floating point comparison

* Triplets

* Added comment

* Choosing negative sample among nearest neighbors

* Fix warning

* Usage of parallel_for_() in critical places. Performance improvments.

* Simulated annealing heuristic

* Moved OpenCL kernel to separate file

* Moved implementation to source file

* Added basic accuracy tests for GPC and PCAFlow

* Fixing warnings

* Test accuracy constraints were too strict

* Test accuracy constraints were too strict

* Make tests more lightweight
2016-10-17 18:15:22 +03:00
Maksim Shabunin
73459049a3 Merge pull request #745 from sbokov:DISflow_improvement 2016-08-10 22:17:08 +00:00
sbokov
406d944ec7 Temporal propagation in DISOpticalFlow
Added an option to pass an initial approximation of optical flow in
DISOpticalFlow. Added a python sample that demonstrates the use of this
feature for temporal propagation of flow vectors.
2016-08-10 00:26:24 +03:00
Vladislav Samsonov
5146e0d2e4 Merge https://github.com/Itseez/opencv_contrib into optflow 2016-07-25 03:24:12 +03:00
Vladislav Samsonov
7f93d951d3 Added training part of the Global Patch Collider 2016-07-25 02:28:23 +03:00
vbystricky
5a1fd4c873 Add methods for get/set weights of variational refiment part of DISFlow method 2016-07-15 11:43:30 +03:00
Vladislav Samsonov
1d90d67016 Merge upstream 2016-07-08 13:49:03 +03:00
Alexander Bokov
b96a5f5963 Complete DIS optical flow implementation
Added variational refinement as a separate class (based on implementation
inside DeepFlow, but significantly accelerated, about 4-6 times faster),
accelerated the main dense inverse search algorithm. Added several new
features including patch mean normalization for increased robustness to
illumination changes and spatial propagation, which often helps to recover
from errors introduced by the coarse-to-fine scheme. Expanded the
documentation, added new accuracy and perf tests. Refactored some of
the already existing optical flow accuracy tests.
2016-07-01 18:50:10 +03:00
Vladislav Samsonov
8ebe182f80 Merge recent changes 2016-06-13 02:32:27 +03:00
Vladislav Samsonov
7a18e78865 Post-review fixes 2016-06-13 02:11:38 +03:00
Alexander Bokov
d4c3765e4f Partial DIS implementation and OF benchmark
Basic interfaces and a partial implementation of the Dense Inverse
Search (DIS) optical flow algorithm without variational refinement. Also
added a python benchmarking script that can evaluate different optical
flow algorithms on the MPI Sintel and Middlebury datasets and build
overall comparative charts.
2016-06-10 13:00:36 +03:00
Vladislav Samsonov
25b2958eb5 Added flow estimation using DCT basis 2016-05-09 21:10:08 +03:00
Vladislav Samsonov
fc00397160 Added naive blockmatching algorithm (just to get acquainted with the code base, this algo shouldn't be considered seriously).
Also, added boilerplate for pcaflow.
2016-05-07 09:49:43 +03:00
sbokov
831523ce02 Sparse-to-dense OF algorithm is added
* Sparse match interpolator interface and EdgeAwareInterpolator were
added to the ximgproc module
* New optical flow algorithm, based on PyrLK sparse OF and sparse match
interpolation, is added to the optflow module
2015-09-15 17:55:40 +03:00
Maksim Shabunin
61f36de542 Doxygen tutorials support 2015-02-17 12:49:37 +03:00
Maksim Shabunin
a20c5c8dd9 Doxygen documentation for all modules 2014-12-01 15:54:42 +03:00
tpietruszka
9181b2bd3d Moved deepflow to contrib, minor improvements 2014-08-18 23:35:59 +02:00
tpietruszka
4738fc2e63 Moved optflow interfaces and testing app.
Algorithm::info()-related code disabled-after moving to opencv_contrib caused compilation errors

Added usage examples

Added documentation for optflow_io

+bugfix: handling invalid algorithm choice

+ solving MSVC compilation errors; assuming that int and float are 4-bytes long - possibly needs fixing
2014-08-18 17:45:34 +02:00
Vadim Pisarevsky
4df76c353a added outflow, bgsegm modules; moved matlab from the main repository 2014-08-10 23:25:27 +04:00