Struct FeatureTrackerConfig::MotionEstimator
Defined in File FeatureTrackerConfig.hpp
Nested Relationships
This struct is a nested type of Class FeatureTrackerConfig.
Nested Types
Struct Documentation
-
struct MotionEstimator
Used for feature reidentification between current and previous features.
Public Types
-
enum class Type : std::int32_t
Values:
-
enumerator LUCAS_KANADE_OPTICAL_FLOW
Using the pyramidal Lucas-Kanade optical flow method.
-
enumerator HW_MOTION_ESTIMATION
Using a dense motion estimation hardware block (Block matcher).
-
enumerator LUCAS_KANADE_OPTICAL_FLOW
Public Functions
-
DEPTHAI_SERIALIZE(MotionEstimator, enable, type, opticalFlow)
Public Members
-
bool enable = true
Enable motion estimation or not.
-
Type type = Type::LUCAS_KANADE_OPTICAL_FLOW
Motion estimator algorithm type.
-
OpticalFlow opticalFlow
Optical flow configuration. Takes effect only if MotionEstimator algorithm type set to LUCAS_KANADE_OPTICAL_FLOW.
-
struct OpticalFlow
Optical flow configuration structure.
Public Functions
-
DEPTHAI_SERIALIZE(OpticalFlow, pyramidLevels, searchWindowWidth, searchWindowHeight, epsilon, maxIterations)
Public Members
-
std::int32_t pyramidLevels = AUTO
Number of pyramid levels, only for optical flow. AUTO means it’s decided based on input resolution: 3 if image width <= 640, else 4. Valid values are either 3/4 for VGA, 4 for 720p and above.
-
std::int32_t searchWindowWidth = 5
Image patch width used to track features. Must be an odd number, maximum 9. N means the algorithm will be able to track motion at most (N-1)/2 pixels in a direction per pyramid level. Increasing this number increases runtime
-
std::int32_t searchWindowHeight = 5
Image patch height used to track features. Must be an odd number, maximum 9. N means the algorithm will be able to track motion at most (N-1)/2 pixels in a direction per pyramid level. Increasing this number increases runtime
-
float epsilon = 0.01f
Feature tracking termination criteria. Optical flow will refine the feature position on each pyramid level until the displacement between two refinements is smaller than this value. Decreasing this number increases runtime.
-
std::int32_t maxIterations = 9
Feature tracking termination criteria. Optical flow will refine the feature position maximum this many times on each pyramid level. If the Epsilon criteria described in the previous chapter is not met after this number of iterations, the algorithm will continue with the current calculated value. Increasing this number increases runtime.
-
DEPTHAI_SERIALIZE(OpticalFlow, pyramidLevels, searchWindowWidth, searchWindowHeight, epsilon, maxIterations)
-
enum class Type : std::int32_t