コンピュータビジョンにおけるオプティカルフローの威力をご覧ください。オプティカルフローがどのように動きを推定し、ビデオ解析を強化し、AIのイノベーションを推進するのかをご覧ください。
オプティカルフロー(Optical Flow)とは、コンピュータビジョン(Cv)における基本的な概念で、観察者(カメラなど)とシーンとの相対的な動きによって引き起こされる、ビジュアルシーン内の物体、表面、エッジの見かけ上の動きを記述するために使用される。これは、ビデオシーケンス内の連続するフレーム間の輝度パターン(ピクセルまたは特徴)の変位を表すベクトルのフィールドを計算します。これは、ビデオ内の動きのダイナミクスに関する貴重な情報を提供し、多くの高次視覚タスクの基礎を形成する。
ほとんどのオプティカルフローアルゴリズムの背後にある核となる仮定は、明るさの不変性である。これは、画像平面を横切って移動しても、物体上の特定の点の強度が短い時間間隔で一定であるという考え方である。アルゴリズムは、動きベクトルを推定するために、あるフレームから次のフレームへ、この一定の明るさパターンを追跡する。一般的なテクニックは以下の通り:
これらの方法は、ピクセルの動きを低レベルで理解し、それを様々な用途に解釈することができる。
オプティカルフローは、さまざまな領域で数多くの実用的な応用がある:
関連はあるが、オプティカルフローとオブジェクトトラッキングは異なるタスクである。オプティカルフローは、連続する2つのフレーム間のピクセルや特徴量の低レベルの動きベクトルを提供する。オプティカルフローは、本質的にオブジェクトの識別を理解したり、より長い時間にわたってそれらを追跡したりはしません。
物体追跡は、多くの場合、次のようなモデルを使用して実行される。 Ultralytics YOLOのようなモデルを用いて実行されることが多く、特定のオブジェクトインスタンス(通常、オブジェクト検出によって検出される)を特定し、複数のフレーム(場合によっては長期間)にわたってそのアイデンティティと軌跡を維持することに焦点を当てています。トラッキングアルゴリズムは、(アピアランスモデルやカルマンフィルタなどと共に)オプティカルフローを入力の1つとして頻繁に使用し、次のフレームでのオブジェクトの位置を予測しますが、トラッキングはオブジェクトの永続性に関係する、より高いレベルのタスクです。トラッキングにはYOLOv8 ようなモデルを検討することができます。
OpenCVのようなライブラリは、様々なオプティカル・フロー・アルゴリズムの実装を容易に利用できる。