OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

Zach、Pock、Bischof によるデュアル TV-L1 オプティカルフロー手法の実装。 続き...

#include <opencv2/cudaoptflow.hpp>

Collaboration diagram for cv::cuda::OpticalFlowDual_TVL1:

公開メンバ関数

virtual double getEpsilon () const =0
 
virtual double getGamma () const =0
 
virtual double getLambda () const =0
 
virtual int getNumIterations () const =0
 
virtual int getNumScales () const =0
 
virtual int getNumWarps () const =0
 
virtual double getScaleStep () const =0
 
virtual double getTau () const =0
 
virtual double getTheta () const =0
 
virtual bool getUseInitialFlow () const =0
 
virtual void setEpsilon (double epsilon)=0
 
virtual void setGamma (double gamma)=0
 
virtual void setLambda (double lambda)=0
 
virtual void setNumIterations (int iterations)=0
 
virtual void setNumScales (int nscales)=0
 
virtual void setNumWarps (int warps)=0
 
virtual void setScaleStep (double scaleStep)=0
 
virtual void setTau (double tau)=0
 
virtual void setTheta (double theta)=0
 
virtual void setUseInitialFlow (bool useInitialFlow)=0
 
- Public Member Functions inherited from cv::cuda::DenseOpticalFlow
virtual void calc (InputArray I0, InputArray I1, InputOutputArray flow, Stream &stream=Stream::Null())=0
 密なオプティカルフローを計算する。
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< OpticalFlowDual_TVL1create (double tau=0.25, double lambda=0.15, double theta=0.3, int nscales=5, int warps=5, double epsilon=0.01, int iterations=300, double scaleStep=0.8, double gamma=0.0, bool useInitialFlow=false)
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

Zach、Pock、Bischof によるデュアル TV-L1 オプティカルフロー手法の実装。

覚え書き
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".

メンバ関数詳解

◆ create()

static Ptr< OpticalFlowDual_TVL1 > cv::cuda::OpticalFlowDual_TVL1::create ( double tau = 0.25,
double lambda = 0.15,
double theta = 0.3,
int nscales = 5,
int warps = 5,
double epsilon = 0.01,
int iterations = 300,
double scaleStep = 0.8,
double gamma = 0.0,
bool useInitialFlow = false )
static

◆ getEpsilon()

virtual double cv::cuda::OpticalFlowDual_TVL1::getEpsilon ( ) const
pure virtual

数値スキームで使用される停止判定のしきい値で、精度と実行時間のトレードオフとなる。値を小さくすると、収束が遅くなる代わりにより正確な解が得られる。

◆ getGamma()

virtual double cv::cuda::OpticalFlowDual_TVL1::getGamma ( ) const
pure virtual

(u - v)^2 に対する重み引数、すなわち緊密度(tightness)引数。これはデータ項と正則化項を結びつける役割を果たす。理論上、両者の対応関係を維持するために小さな値を取るべきである。本手法はこの引数の広い範囲の値に対して安定である。

◆ getLambda()

virtual double cv::cuda::OpticalFlowDual_TVL1::getLambda ( ) const
pure virtual

データ項に対する重み引数、すなわち付着度(attachment)引数。これは最も重要な引数であり、出力の滑らかさを決定する。この引数が小さいほど、得られる解はより滑らかになる。これは画像の動きの範囲に依存するため、その値は各画像シーケンスに合わせて調整すべきである。

◆ getNumIterations()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumIterations ( ) const
pure virtual

数値スキームで使用される停止判定の反復回数。

◆ getNumScales()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumScales ( ) const
pure virtual

画像ピラミッドを生成するために使用するスケールの数。

◆ getNumWarps()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumWarps ( ) const
pure virtual

スケールごとのワーピング回数。スケールごとに I1(x+u0) および grad( I1(x+u0) ) が計算される回数を表す。これは手法の安定性を保証する引数である。実行時間にも影響するため、速度と精度の妥協点となる。

◆ getScaleStep()

virtual double cv::cuda::OpticalFlowDual_TVL1::getScaleStep ( ) const
pure virtual

◆ getTau()

virtual double cv::cuda::OpticalFlowDual_TVL1::getTau ( ) const
pure virtual

数値スキームの時間刻み幅。

◆ getTheta()

virtual double cv::cuda::OpticalFlowDual_TVL1::getTheta ( ) const
pure virtual

動き推定に使用される引数。照明の変化を許容する変数を追加する。照明が変化する場合はこの引数を 1 に設定する。参照: Chambolle et al, A First-Order Primal-Dual Algorithm for Convex Problems with Applications to Imaging Journal of Mathematical imaging and vision, may 2011 Vol 40 issue 1, pp 120-145

◆ getUseInitialFlow()

virtual bool cv::cuda::OpticalFlowDual_TVL1::getUseInitialFlow ( ) const
pure virtual

◆ setEpsilon()

virtual void cv::cuda::OpticalFlowDual_TVL1::setEpsilon ( double epsilon)
pure virtual

◆ setGamma()

virtual void cv::cuda::OpticalFlowDual_TVL1::setGamma ( double gamma)
pure virtual

◆ setLambda()

virtual void cv::cuda::OpticalFlowDual_TVL1::setLambda ( double lambda)
pure virtual

◆ setNumIterations()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumIterations ( int iterations)
pure virtual

◆ setNumScales()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumScales ( int nscales)
pure virtual

◆ setNumWarps()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumWarps ( int warps)
pure virtual

◆ setScaleStep()

virtual void cv::cuda::OpticalFlowDual_TVL1::setScaleStep ( double scaleStep)
pure virtual

◆ setTau()

virtual void cv::cuda::OpticalFlowDual_TVL1::setTau ( double tau)
pure virtual

◆ setTheta()

virtual void cv::cuda::OpticalFlowDual_TVL1::setTheta ( double theta)
pure virtual

◆ setUseInitialFlow()

virtual void cv::cuda::OpticalFlowDual_TVL1::setUseInitialFlow ( bool useInitialFlow)
pure virtual

このクラス詳解は次のファイルから抽出されました: