Class DualTVL1OpticalFlow


  • public class DualTVL1OpticalFlow
    extends DenseOpticalFlow
    "Dual TV L1" Optical Flow Algorithm. The class implements the "Dual TV L1" optical flow algorithm described in CITE: Zach2007 and CITE: Javier2012 . Here are important members of the class that control the algorithm, which you can set after constructing the class instance:
    • member double tau Time step of the numerical scheme.
    • member double lambda Weight parameter for the data term, attachment parameter. This is the most relevant parameter, which determines the smoothness of the output. The smaller this parameter is, the smoother the solutions we obtain. It depends on the range of motions of the images, so its value should be adapted to each image sequence.
    • member double theta Weight parameter for (u - v)\^2, tightness parameter. It serves as a link between the attachment and the regularization terms. In theory, it should have a small value in order to maintain both parts in correspondence. The method is stable for a large range of values of this parameter.
    • member int nscales Number of scales used to create the pyramid of images.
    • member int warps Number of warpings per scale. Represents the number of times that I1(x+u0) and grad( I1(x+u0) ) are computed per scale. This is a parameter that assures the stability of the method. It also affects the running time, so it is a compromise between speed and accuracy.
    • member double epsilon Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time. A small value will yield more accurate solutions at the expense of a slower convergence.
    • member int iterations Stopping criterion iterations number used in the numerical scheme.
    C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow". Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation".
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DualTVL1OpticalFlow​(long addr)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static DualTVL1OpticalFlow __fromPtr__​(long addr)  
      static DualTVL1OpticalFlow create()
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations, int outerIterations)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations, int outerIterations, double scaleStep)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations, int outerIterations, double scaleStep, double gamma)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations, int outerIterations, double scaleStep, double gamma, int medianFiltering)
      Creates instance of cv::DualTVL1OpticalFlow
      static DualTVL1OpticalFlow create​(double tau, double lambda, double theta, int nscales, int warps, double epsilon, int innnerIterations, int outerIterations, double scaleStep, double gamma, int medianFiltering, boolean useInitialFlow)
      Creates instance of cv::DualTVL1OpticalFlow
      protected void finalize()  
      double getEpsilon()
      SEE: setEpsilon
      double getGamma()
      SEE: setGamma
      int getInnerIterations()
      SEE: setInnerIterations
      double getLambda()
      SEE: setLambda
      int getMedianFiltering()
      SEE: setMedianFiltering
      int getOuterIterations()
      SEE: setOuterIterations
      int getScalesNumber()
      SEE: setScalesNumber
      double getScaleStep()
      SEE: setScaleStep
      double getTau()
      SEE: setTau
      double getTheta()
      SEE: setTheta
      boolean getUseInitialFlow()
      SEE: setUseInitialFlow
      int getWarpingsNumber()
      SEE: setWarpingsNumber
      void setEpsilon​(double val)
      getEpsilon SEE: getEpsilon
      void setGamma​(double val)
      getGamma SEE: getGamma
      void setInnerIterations​(int val)
      getInnerIterations SEE: getInnerIterations
      void setLambda​(double val)
      getLambda SEE: getLambda
      void setMedianFiltering​(int val)
      getMedianFiltering SEE: getMedianFiltering
      void setOuterIterations​(int val)
      getOuterIterations SEE: getOuterIterations
      void setScalesNumber​(int val)
      getScalesNumber SEE: getScalesNumber
      void setScaleStep​(double val)
      getScaleStep SEE: getScaleStep
      void setTau​(double val)
      getTau SEE: getTau
      void setTheta​(double val)
      getTheta SEE: getTheta
      void setUseInitialFlow​(boolean val)
      getUseInitialFlow SEE: getUseInitialFlow
      void setWarpingsNumber​(int val)
      getWarpingsNumber SEE: getWarpingsNumber
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DualTVL1OpticalFlow

        protected DualTVL1OpticalFlow​(long addr)
    • Method Detail

      • getTau

        public double getTau()
        SEE: setTau
        Returns:
        automatically generated
      • setTau

        public void setTau​(double val)
        getTau SEE: getTau
        Parameters:
        val - automatically generated
      • getLambda

        public double getLambda()
        SEE: setLambda
        Returns:
        automatically generated
      • setLambda

        public void setLambda​(double val)
        getLambda SEE: getLambda
        Parameters:
        val - automatically generated
      • getTheta

        public double getTheta()
        SEE: setTheta
        Returns:
        automatically generated
      • setTheta

        public void setTheta​(double val)
        getTheta SEE: getTheta
        Parameters:
        val - automatically generated
      • getGamma

        public double getGamma()
        SEE: setGamma
        Returns:
        automatically generated
      • setGamma

        public void setGamma​(double val)
        getGamma SEE: getGamma
        Parameters:
        val - automatically generated
      • getScalesNumber

        public int getScalesNumber()
        SEE: setScalesNumber
        Returns:
        automatically generated
      • setScalesNumber

        public void setScalesNumber​(int val)
        getScalesNumber SEE: getScalesNumber
        Parameters:
        val - automatically generated
      • getWarpingsNumber

        public int getWarpingsNumber()
        SEE: setWarpingsNumber
        Returns:
        automatically generated
      • setWarpingsNumber

        public void setWarpingsNumber​(int val)
        getWarpingsNumber SEE: getWarpingsNumber
        Parameters:
        val - automatically generated
      • getEpsilon

        public double getEpsilon()
        SEE: setEpsilon
        Returns:
        automatically generated
      • setEpsilon

        public void setEpsilon​(double val)
        getEpsilon SEE: getEpsilon
        Parameters:
        val - automatically generated
      • getInnerIterations

        public int getInnerIterations()
        SEE: setInnerIterations
        Returns:
        automatically generated
      • setInnerIterations

        public void setInnerIterations​(int val)
        getInnerIterations SEE: getInnerIterations
        Parameters:
        val - automatically generated
      • getOuterIterations

        public int getOuterIterations()
        SEE: setOuterIterations
        Returns:
        automatically generated
      • setOuterIterations

        public void setOuterIterations​(int val)
        getOuterIterations SEE: getOuterIterations
        Parameters:
        val - automatically generated
      • getUseInitialFlow

        public boolean getUseInitialFlow()
        SEE: setUseInitialFlow
        Returns:
        automatically generated
      • setUseInitialFlow

        public void setUseInitialFlow​(boolean val)
        getUseInitialFlow SEE: getUseInitialFlow
        Parameters:
        val - automatically generated
      • getScaleStep

        public double getScaleStep()
        SEE: setScaleStep
        Returns:
        automatically generated
      • setScaleStep

        public void setScaleStep​(double val)
        getScaleStep SEE: getScaleStep
        Parameters:
        val - automatically generated
      • getMedianFiltering

        public int getMedianFiltering()
        SEE: setMedianFiltering
        Returns:
        automatically generated
      • setMedianFiltering

        public void setMedianFiltering​(int val)
        getMedianFiltering SEE: getMedianFiltering
        Parameters:
        val - automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations,
                                                 int outerIterations,
                                                 double scaleStep,
                                                 double gamma,
                                                 int medianFiltering,
                                                 boolean useInitialFlow)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        outerIterations - automatically generated
        scaleStep - automatically generated
        gamma - automatically generated
        medianFiltering - automatically generated
        useInitialFlow - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations,
                                                 int outerIterations,
                                                 double scaleStep,
                                                 double gamma,
                                                 int medianFiltering)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        outerIterations - automatically generated
        scaleStep - automatically generated
        gamma - automatically generated
        medianFiltering - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations,
                                                 int outerIterations,
                                                 double scaleStep,
                                                 double gamma)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        outerIterations - automatically generated
        scaleStep - automatically generated
        gamma - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations,
                                                 int outerIterations,
                                                 double scaleStep)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        outerIterations - automatically generated
        scaleStep - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations,
                                                 int outerIterations)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        outerIterations - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon,
                                                 int innnerIterations)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        innnerIterations - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps,
                                                 double epsilon)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        epsilon - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales,
                                                 int warps)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        warps - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta,
                                                 int nscales)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        nscales - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda,
                                                 double theta)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        theta - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau,
                                                 double lambda)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        lambda - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create​(double tau)
        Creates instance of cv::DualTVL1OpticalFlow
        Parameters:
        tau - automatically generated
        Returns:
        automatically generated
      • create

        public static DualTVL1OpticalFlow create()
        Creates instance of cv::DualTVL1OpticalFlow
        Returns:
        automatically generated
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class DenseOpticalFlow
        Throws:
        java.lang.Throwable