OE 18. Module Optflow - alalek/opencv GitHub Wiki
Introduce a separate optflow module with up-to-date algorithms
- Author: Vadim Pisarevsky
- Link: The feature request
- Status: Draft
- Platforms: All
- Complexity: 1-2 man-weeks
Introduction and Rationale
The module video from OpenCV 2.x and 3.x includes various functionality including sparse and dense optical flow algorithms. At the same time, there is experimental optflow module in opencv_contrib that includes some new optical flow algorithms. It makes sense to consolidate optical flow estimation algorithm into a dedicated module.
Proposed solution
Create a dedicated optflow
module in the main repository with the best available (within the library) collection of sparse and dense optical flow algorithms. For the sparse optical flow we have LK optical flow and maybe some experimental semi-dense
optical flow somewhere that we can put it. As for the dense optical flow, we have more or less classical Farneback algorithm and we have much better DIS optical flow. We need to compare them all and select the best algorithms.
We will also need to shape all the optical flow algorithms as classes derived from the base sparse or dense optical flow estimators
. Some attempts to do that can already be found in video
module.
We also need to rename optflow
module in opencv_contrib to something else (let's move away from xmodule
naming scheme in opencv_contrib)
Impact on existing code, compatibility
Even though we consolidate API and move to the uniform object-oriented API, we may keep the old API for backward compatibility (e.g. cv::computeOptFlowFarneback
etc.).
Possible alternatives
nothing really; we need to consolidate optical flow code.
References
TBD