Optical Flow
Optical Flow は、連続する frame の間で、各 pixel がどこへ移動したかを表す 2D motion field です。Video understanding、tracking、visual odometry、scene flow、motion segmentation、video stabilization などで使われます。
定義
時刻 の image と次の時刻の image があるとき、optical flow は各 pixel に対して displacement を推定します。
この仮定は brightness constancy と呼ばれます。
Classical methods
古典的な optical flow は、brightness constancy と smoothness prior を組み合わせて定式化されます。
- Lucas-Kanade method は、local window 内で flow が一定であると仮定します。
- Horn-Schunck method は、image 全体で smooth な flow field を推定します。
Deep learning methods
近年は、FlowNet、PWC-Net、RAFT などの neural network が使われます。特に RAFT は、all-pairs correlation volume と recurrent update によって高精度な flow を推定します。
3D Reconstruction との関係
Optical flow は、temporal な correspondence として 3D Reconstruction に関係します。
- Visual odometry では、frame 間 motion estimation に使えます。
- Dynamic scene では、static background と moving object を分けるために使えます。
- Depth と camera motion が分かると、optical flow は geometry から予測できます。
- Optical flow に depth を加えると、3D motion field である scene flow につながります。
Matching との違い
Feature matching は sparse な keypoint 対応を扱うことが多いです。一方で、optical flow は dense な pixel-wise correspondence を扱います。ただし、modern matching method では両者の境界は曖昧になりつつあります。
数式で見る brightness constancy
Brightness constancy は、同じ scene point の明るさが連続 frame 間で大きく変わらないという仮定です。時刻 の画像を とし、pixel が だけ動くとします。
この式を Taylor 展開で一次近似すると、古典的な optical flow constraint が得られます。
ここで、 は空間方向の画像勾配、 は時間方向の変化、 と は optical flow の成分です。この式の気持ちは、「画像の明るさが増減したように見える量は、画像勾配の上を pixel が移動したことで説明できる」というものです。
ただし、この式は一つの pixel につき一つの制約しか与えません。一方で未知数は の二つです。この不足は aperture problem と呼ばれます。Lucas-Kanade method は local window 内で flow が一定であると仮定して、次の最小二乗問題を解きます。
Horn-Schunck method は、data term に加えて flow field の滑らかさを入れます。
第一項は brightness constancy との整合性を表し、第二項は近い pixel の motion が急に変わりすぎないようにする regularization です。
関連ページ
主なソース
- Horn and Schunck, “Determining Optical Flow”, 1981: https://dspace.mit.edu/handle/1721.1/6337
- Lucas and Kanade, “An Iterative Image Registration Technique”, 1981: https://idl.uw.edu/living-papers-paper/lucas-kanade/
- RAFT paper: https://arxiv.org/abs/2003.12039
- Middlebury Optical Flow benchmark: https://vision.middlebury.edu/flow/