
コンピュータビジョンと画像処理において、動き推定とは、ある2D画像から別の2D画像への変換を表す動きベクトルを決定するプロセスです。通常は、ビデオシーケンス内の隣接するフレームから動きベクトルを求めます。動きは3次元(3D)で発生しますが、画像は3Dシーンを2D平面に投影したものであるため、動き推定は不適切問題です。動きベクトルは、画像全体(グローバル動き推定)または特定の部分(矩形ブロック、任意の形状のパッチ、あるいはピクセル単位)に関連付けられます。動きベクトルは、並進モデル、あるいは実際のビデオカメラの動きを近似できる他の多くのモデル(3次元すべての回転と並進、ズームなど)で表現できます。
多くの場合、モーション推定とオプティカルフローという用語は互換的に使用されます。また、概念的には画像レジストレーションやステレオ対応とも関連しています。[ 1 ]実際、これらの用語はすべて、 2 つの画像またはビデオ フレーム間の対応する点を見つけるプロセスを指します。実際のシーンまたはオブジェクトの 2 つのビュー (画像またはフレーム) で互いに対応する点は、「通常」そのシーンまたはそのオブジェクト上の同じ点です。モーション推定を行う前に、対応の測定、つまりマッチング メトリックを定義する必要があります。これは、2 つの画像点がどれだけ似ているかを測定するものです。ここに正解も不正解もありません。マッチング メトリックの選択は通常、最終的に推定されたモーションが何に使用されるか、および推定プロセスの最適化戦略に関連しています。
各モーションベクトルは、参照画像と呼ばれる別の画像におけるマクロブロック(または類似のマクロブロック)の位置に基づいて、画像内のマクロブロックを表すために使用されます。
H.264/MPEG-4 AVC規格では、動きベクトルを次のように定義しています。
モーションベクトル:インター予測に使用される2次元ベクトルで、デコードされた画像の座標から参照画像の座標へのオフセットを提供します。[ 2 ] [ 3 ]
動きベクトルを見つける方法は、ピクセルベースの方法(「直接」)と特徴ベースの方法(「間接」)に分類できます。有名な議論の結果、対立する陣営から2つの論文が発表され、結論を確立しようとしました。[ 4 ] [ 5 ]
間接的な手法では、コーナー検出などの特徴量を利用し、フレーム間で対応する特徴量を照合します。通常、この照合には局所的または全体的な領域に統計関数が適用されます。統計関数の目的は、実際の動きに対応しない照合結果を除去することです。
統計関数として成功裏に利用されているものには、RANSAC がある。
ほぼすべての方法では、マッチング基準の何らかの定義が必要であると主張できます。違いは、まずローカル画像領域で要約してから要約を比較するか(特徴ベースの方法など)、またはまず各ピクセルを比較してから(差分を二乗するなど)、ローカル画像領域で要約するか(ブロックベースの動きとフィルタベースの動き)だけです。新しいタイプのマッチング基準は、まずすべてのピクセル位置についてローカル画像領域を要約し(ラプラシアン変換などの何らかの特徴変換を介して)、要約された各ピクセルを比較し、ローカル画像領域で再度要約します。[ 6 ]マッチング基準の中には、実際には互いに対応していない点を除外して良好なマッチングスコアを生成する機能を持つものもあれば、この機能を持たないものもありますが、それでもマッチング基準です。
アフィンモーション推定は、コンピュータビジョンや画像処理において、2つの画像またはフレーム間の動きを推定するために用いられる手法です。この手法は、動きがアフィン変換(平行移動+回転+ズーム)としてモデル化できるという前提に基づいています。アフィン変換とは、線形変換の後に平行移動を行う変換のことです。

画像に動きベクトルを適用して次の画像への変換を合成することを動き補償と呼びます。[ 7 ]これは、ブロック単位で符号化が行われるため、離散コサイン変換(DCT)ベースのビデオ符号化規格に最も容易に適用できます。 [ 8 ]
時間的な冗長性を活用する方法として、動き推定と動き補償はビデオ圧縮の重要な要素です。ほぼすべてのビデオ符号化規格は、ブロックベースの動き推定と動き補償を使用しており、最新のHEVCを含むMPEGシリーズなどがその例です。
同時位置推定とマッピングでは、移動するカメラからの画像を使用してシーンの3Dモデルが再構築されます。[ 9 ]