用語集

オプティカル・フロー

コンピュータビジョンにおけるオプティカルフローの威力をご覧ください。オプティカルフローがどのように動きを推定し、ビデオ解析を強化し、AIのイノベーションを推進するのかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

オプティカルフロー(Optical Flow)とは、コンピュータビジョン(Cv)における基本的な概念で、観察者(カメラなど)とシーンとの相対的な動きによって引き起こされる、ビジュアルシーン内の物体、表面、エッジの見かけ上の動きを記述するために使用される。これは、ビデオシーケンス内の連続するフレーム間の輝度パターン(ピクセルまたは特徴)の変位を表すベクトルのフィールドを計算します。これは、ビデオ内の動きのダイナミクスに関する貴重な情報を提供し、多くの高次視覚タスクの基礎を形成する。

オプティカル・フローの仕組み

ほとんどのオプティカルフローアルゴリズムの背後にある核となる仮定は、明るさの不変性である。これは、画像平面を横切って移動しても、物体上の特定の点の強度が短い時間間隔で一定であるという考え方である。アルゴリズムは、動きベクトルを推定するために、あるフレームから次のフレームへ、この一定の明るさパターンを追跡する。一般的なテクニックは以下の通り:

  • スパースオプティカルフロー:フレーム間の特定の特徴点(コーナーなど)の限定されたセットの動きを追跡する。Lucas-Kanade法が有名。
  • 高密度オプティカルフロー:画像内の各ピクセルの動きベクトルを計算する。Horn-Schunck法が古典的な例だが、より現代的なアプローチではディープラーニングを用いることが多い。より詳しくは、密なフローと疎なフローの比較をご覧ください。

これらの方法は、ピクセルの動きを低レベルで理解し、それを様々な用途に解釈することができる。

オプティカル・フローの応用

オプティカルフローは、さまざまな領域で数多くの実用的な応用がある:

  • ビデオ圧縮:モーション・ベクトルは、MPEGなどの規格に見られるように、後続フレームの予測に役立ち、保存や伝送に必要なデータ量を削減します。
  • 自律システム: ロボット工学や 自律走行車において、自我運動推定(カメラ自身の動きを決定する)、障害物回避、他の物体の相対的な動きの理解などのタスクに使用される。例えば、自動運転車のAIは、近くの車両や歩行者を追跡するためにフローを使用する。
  • アクション認識:モーションパターンを分析することで、ビデオ内の歩く、走る、転ぶなどのアクションを識別することができる。これは監視、スポーツ分析、人間とコンピュータのインタラクションに役立つ。セキュリティアラームシステムでは、オプティカルフローを使って不審な動きを検出することができる。行動認識研究の詳細を見る
  • メディカルイメージング:超音波やMRIなどのシーケンスで臓器や組織の動きを追跡し、診断や分析に役立てる。医用画像解析の詳細を見る。
  • ビデオスタビライゼーション:カメラの動きを推定して、不要なブレやジッターをデジタル的に除去し、滑らかな映像出力を実現します。電子式手ブレ補正技術について読む。

オプティカルフローと物体追跡の比較

関連はあるが、オプティカルフローとオブジェクトトラッキングは異なるタスクである。オプティカルフローは、連続する2つのフレーム間のピクセルや特徴量の低レベルの動きベクトルを提供する。オプティカルフローは、本質的にオブジェクトの識別を理解したり、より長い時間にわたってそれらを追跡したりはしません。

物体追跡は、多くの場合、次のようなモデルを使用して実行される。 Ultralytics YOLOのようなモデルを用いて実行されることが多く、特定のオブジェクトインスタンス(通常、オブジェクト検出によって検出される)を特定し、複数のフレーム(場合によっては長期間)にわたってそのアイデンティティと軌跡を維持することに焦点を当てています。トラッキングアルゴリズムは、(アピアランスモデルやカルマンフィルタなどと共に)オプティカルフローを入力の1つとして頻繁に使用し、次のフレームでのオブジェクトの位置を予測しますが、トラッキングはオブジェクトの永続性に関係する、より高いレベルのタスクです。トラッキングにはYOLOv8 ようなモデルを検討することができます。

OpenCVのようなライブラリは、様々なオプティカル・フロー・アルゴリズムの実装を容易に利用できる。

すべて読む