0

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

オプティカルフローの空間導関数を計算するためのPythonライブラリはありますか?ルーカスカナデオプティカルフロー、方向ベクトルにいくぶん似ているこのSOの質問を見つけました。空間派生物を計算するためにその人が書いたコードがありますが、可能であれば、自分でコードを書くのではなく、ライブラリが好きです。任意の提案をいただければ幸いです!

4

1 に答える 1

0

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

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

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

  • フロー配列/マトリックスを2つのマトリックスに分割します:xyフロー。
  • それらのそれぞれについて、あなたは素朴なルートに行き、単純な違いをすることができます:derivative = current_state - last_state。しかし、導関数はわずかな誤差に敏感であるため、このアプローチは非常に厄介です。
  • これに対抗するために、データポイントの1つのチャンク(おそらく行全体?)を、多項式のように簡単に微分できる回帰曲線で近似することができます。

その近似曲線を区別するだけで、準備は完了です。

また、個々の行列を平滑化して単純な違いを実行することもできます。これは、データポイントを近似するよりもはるかに高速ですが、エラーに対してより耐性があるはずです。

于 2011-10-27T19:19:47.720 に答える