オプティカルフロー

読み: おぷてぃかるふろー

連続するフレーム間で各ピクセルの見かけの動きをベクトル場として表現する手法。動画解析、動体検出、映像安定化などの基盤技術である。

オプティカルフロー (Optical Flow) は、時間的に連続する 2 枚以上の画像間で、各ピクセルがどの方向にどれだけ移動したかを 2D ベクトルとして推定する技術である。物体の動きやカメラの動きを画像レベルで捉えるための基本的な手法であり、動画解析の中核をなす。

オプティカルフローの計算は「輝度恒常性の仮定」に基づく。すなわち、ある画素の輝度値は短い時間間隔では変化しないと仮定し、フレーム間の輝度変化から動きベクトルを導出する。この仮定から導かれる光流束拘束方程式 Ix*u + Iy*v + It = 0 が基本式となる。

オプティカルフローの主な推定手法
手法仕組み得られるフローと実装
Lucas-Kanade 法局所的な小領域内でフローが一定と仮定し、最小二乗法で解く特徴点上の疎なフロー。cv2.calcOpticalFlowPyrLK()
Farneback 法各ピクセルの近傍を 2 次多項式で近似する全画素の密なフロー場。cv2.calcOpticalFlowFarneback()
深層学習ベースFlowNet や RAFT などの CNN / Transformer ベースの手法。RAFT は反復的な更新でフローを絞り込む精度で古典手法を大幅に上回る

疎なフロー

密なフロー

疎なフローは追跡した特徴点だけに動きベクトルが得られ、密なフローは画像全体にベクトルが並びます。矢印の向きがその点の移動方向、長さが移動量に対応します。

応用範囲は広く、動体検出 (背景差分との組み合わせ)、映像安定化 (カメラの動きを補正)、フレーム補間 (中間フレームの生成)、自動運転 (周囲の動き推定) などに利用される。リアルタイム処理では GPU 実装や軽量モデルが活用される。

関連用語

関連記事