オプティカルフローの空間微分を計算するためのPythonライブラリ

私は、PythonでOpenCVを使ってビデオから差分画像速度不変量(カール、発散、変形など)を計算しようとしています。そのためには、オプティカルフローのx、y方向の空間微分を計算する必要があります。残念ながら、OpenCVはオプティカルフローを計算するためのAPIを提供しているに過ぎず、その派生物ではありません。

Are there any Python libraries out there for computing spatial derivatives of optical flow? I found this SO question that was somewhat similar Lucas Kanade Optical Flow, Direction Vector, and there is code the person wrote for computing spatial derivatives, but if at all possible I'd love a library rather than writing the code myself. Any suggestions would be appreciated!

0
実際にはライブラリでもありません...誰かが書いたコードでもあります:P
追加された 著者 Magsol,
それは非常にうまくいくかもしれません。私が "オプティカルフローの派生物"のために見つけた唯一の結果の周りに私のグーグルグーグルでは、1)オプティカルフローを計算する方法、2)消化が困難な非常に専門的な学術論文でした。私は図書館がすでに存在することを望んでいましたが、それに代わって、私がそれについて何をしているのか分かるなら、私はそれを自分で書くことができました。私は主なアイデアを理解していますが、技術的な詳細はわかりません。
追加された 著者 Magsol,
なぜ自分でコードを書くのですか?その人のコードをフォルダにダンプし、 __ init __。py および import を追加します。
追加された 著者 Blender,
PythonのライブラリはPythonファイルが入ったフォルダです。また、オプティカルフローの導関数をかなり単純なタスクとして計算していないのですか?データを平滑化し、多項式で近似し、多項式を微分するだけで十分です。
追加された 著者 Blender,

1 答え

これは私がそれを見る方法です(私はオプティカルフローで少し作業しました):

オプティカルフローフィールドの個々の偏微分を計算する必要があります。 1つは x の方向、もう1つは y の方向です。

私はそのような問題を解決しようとします:

  • フロー配列/マトリックスを xy の2つの行列に分割します。
  • これらのそれぞれについて、あなたは素朴なルートに行き、単に derivative = current_state-last_state のような単純な違いがあります。しかし、このアプローチは非常に面倒です。微妙な違いがあるからです。
  • これに対処するには、多項式のように簡単に微分可能な回帰曲線を使って、データポイントの1つのチャンク(多分行全体ですか?)を近似することができます。

近似された曲線をちょうど区別して、あなたは行くのが良いです。

個々の行列を滑らかにすることもできますし、データ点を近似するよりもはるかに速くなければならない単純な差異を行うこともできますが、エラーに対してはより寛容でなければなりません。

0
追加された
これはすべて意味があります。私が探していたのは、高水準の直感(簡単に微分可能な多項式をデータにフィットさせる)とそのタスクを実行するためのコードとの間の概念的なつながりでした。私は必要と思われるscipy.signalライブラリを見つけましたが、今はPython TypeErrorsを実行しています。しかし、それはおそらく独自の質問に値する。ご協力いただきありがとうございます!また、Blenderを愛する! :)
追加された 著者 Magsol,
LOL、問題ありません。私はこの種のものが大好きです。
追加された 著者 Blender,