多くのリソースは、2種類のオプティカルフローアルゴリズムがあると言っています。ルーカスカナデはまばらなテクニックですが、まばらで密な意味がわかりませんか?密なオプティカルフローと疎なオプティカルフローの違いは何ですか?
簡単な説明は、スパース手法は画像全体から一部のピクセルを処理するだけでよく、デンス手法はすべてのピクセルを処理することです。緻密な手法は遅くなりますが、より正確になる可能性がありますが、私の経験では、Lucas-Kanadeの精度は、リアルタイムアプリケーションには十分かもしれません。密なオプティカルフローアルゴリズム(最も一般的な)の例は、Gunner Farnebackのオプティカルフローです。
フロー品質の概要を確認するには、ベンチマークページをご覧ください。 [〜#〜] kitti [〜#〜] または Middleburry データセット
スパースオプティカルフローは、画像内のいくつかの「興味深い特徴」のフローベクトルを提供します。
高密度オプティカルフローは、画像全体のフロー(ピクセルあたりのフローベクトルまで)を提供しようとします。
まず、Lucas-Kanadeはスパースオプティカルフローテクニックではありません。多くの人がそれを信じる理由は、広範な誤解によるものです。 OpenCVでのLucas-Kanadeの最初の実装がSPARSEとラベル付けされて以来、誤解は受け入れられた真実になりました。 Lucas-Kanadeがスパースと呼ばれるべき理由についての議論は、どの密流アルゴリズムにも当てはまります。 Lucas-Kanadeがスパースであると主張する場合、すべてのフローアルゴリズムはスパースであり、それらを区別する意味はありません。
疎フローはポイントトラッキングと同じです。密フローはビデオ上のベクトルで構成され、固定位置の動きの推定を示します。
このすべての詳細については、- 私が書いたこのチュートリアル で読むことができます。ここでは、Lucas-Kanadeが他のアルゴリズムと同じくらい密集していることも示しています(ただし、正確ではありません)。
スパースオプティカルフロー-Lucas-Kanadeメソッドは、スパースフィーチャセット(Shi-Tomasiアルゴリズムを使用して検出されたコーナーなど)のオプティカルフローを計算します。密なオプティカルフロー-Gunner Farnebackのアルゴリズムは、フレーム内のすべてのポイントのオプティカルフローを計算します。これは、2003年のGunner Farnebackによる「多項式展開に基づく2フレームの動き推定」で説明されています。
の実装例は opencvのドキュメントにあります
スパースオプティカルフローは、フィーチャ(エッジ、コーナーなど)で機能します。高密度オプティカルフローは、すべてのピクセルで機能するように設計されています。 1番目の利点は、2番目の方が最初のピクセルよりも多くのピクセルを推定できる一方で、最初の方が一般的に高速であることです。
スパースオプティカルフローは、いくつかの興味深い(コーナー)ポイントの速度ベクトルを提供します。これらのポイントは、Shi-Tomashi、Harrisなどのアルゴリズムを使用して事前に抽出されます。抽出されたポイントは、現在の画像と一緒に[オプティカルフロー関数]に渡されます。画像。優れたオプティカルフロー機能は、上記のコーナーポイントとバックトラックを使用して順方向のオプティカルフローをチェックし、同じポイントをたどっているかどうかをクロスチェックする必要があります。
一方、密なオプティカルフローはここから参照できます: http://www.cs.toronto.edu/~fleet/courses/cifarSchool09/flowChapter05.pdf