Rework RLOF by using HAL universal instructions
* * distinguish between SSE2 and SSE 4.1 support
* SSE2 now implements no paralellized _blendv functiona and allows to compile with SSE2 instructions
* * add interface function do enable disable M-estimator framework
* bugfix blendv functions
* * make use of _mm_store and _mm_load functions in blendv_ps and blendv_epi function to fix compiler error
* * implement substitute of _mm_cvtepi8_epi16 and _mm_cvtepi16_epi32 when compiling with less than SSE 4.1 support
* * implement substitute of _mm_abs_epi16 when compiling with less than SSE 3 support
* * move _mm_abs_epi16 to SSE4 req.
* * add HAL intrinsic functions for RLOF ICA
* first tests are OK
* * HAL intrinsic functions -> RLOF ICA is ready now
* * add HAL functions for RLOF illumination model
* * add HAL for PLK ILL
* * add HAL functions for plk ica
* * commit HAL functions for beplk ica
* * add HAL functions for berlof ica
* * add HAL functions for BEPLK ILL
* *remove unused #ifdef
* * remove white spaces and unused variables
* * remove not used variables
* + remove get4BitMask function which contained pure SEE instructions
* * remove buffIdx which has not been used but initialized
* * fix replacement of #ifdef CV_SIMD128 with #if CV_SIMD128
* rename useMEstimator to setUseMEstimator
* *remove whitespace
* * remove unused variable abss
* * remove unused value
* * rename W_BITS1 to W_BITS since they contain same value
* Fix bug: Invalid Syntax at line 14(draw_motion_comp method)
* Fix bug: TypeError- integer argument expected, got float
* Fix bug: clean up the camera by adding .release()
optflow: RLOF fixes (python-binding, status flag, flat textures) (#2097)
* * Bugfix for python-binding related to issue #2094. Copying the prevPtsMat to prevPoints was broken, when using python-binding.
* * Connect the blurred image correctly to CROSS support region segmentation. This allows to compute more robust support region shapes. Commit refers to issue #2094.
* * Bugfix to avoid the unintended assertion on flat textures discussed in issue #2094.
* * Bugfix on SparseRLOFOpticalFlow status was wrongly to to 0 if forward backward error < threshold, which is wrong. Inequation has been corrected. Refers to in issue #2087.
* small documentation changes
* bugfix on assertions and small test changes
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
The while loop in member function buildPyramid in deepflow.cpp terminated as a result of the break statement and never as a result of the termination criteria because the "i" variable in the while loop was never incremented.
Changed the while loop into a for loop
Changed the while loop into a for loop in the member function buildPyramid in deepFlow.cpp
removed trailing whitespace
- made some of dependencies explicit
- removed dependencies to highgui and some other modules where possible
- modified some samples to build without modules
This patch adds ocl kernels to accelerate Dense Inverse Search
based optical flow algorithm, it acclerates 3 parts in the algorithm,
including 1) Structure tensor elements compute, 2) Patch inverse search,
3) Densification compute.
Perf and accuracy test are also added. The perf test shows it is 30%
faster than the current implementation.
Signed-off-by: Li Peng <peng.li@intel.com>
* 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
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.