web.stanford.edu

1 Overview

비디오가 주어지면 optical flow는 카메라(관찰자)와 장면(객체, surface, edges) 사이의 상대 움직임으로 인한 각 픽셀의 apparent(겉보기) 움직임을 설명하는 2d 벡터 장으로 정의된다. 카메라 또는 장면 또는 둘 다 움직일 수 있다. 그림 1은 반시계 방향으로 회전하는 파리를 보인다(파리의 시점에서). 장면이 정적이더라도 apparent 움직임의 2d optical flow는 원점을 중심으로 반대 방향(시계 방향) 의 회전을 나타낸다.

Cap 2024-06-19 11-24-21-408.jpg

1.1 Motion field

optical flow을 motion field와 혼동해서는 안된다. motion field는 관찰자의 이미지 평면에 대한 장면 내 점들의 3d motion vector를 설명하는 2d vector field를 의미한다. 그림 2는 간단한 2d 경우에서 motion field를 보인다(3d 장면을 top-down 관점에서 본다고 상상해 보라). 2d 객체 점 $\bold{P}_o$는 관찰자 $O$가 보는 이미지 평면의 1d 점 $\bold{P}_i$로 투영된다. 객체 점 $\bold{P}_o$가 $\bold{V}_o \cdot dt$(motion vector라 부른다)만큼 이동하면, 해당하는 투영된 1d 점은 $\bold{V}_i \cdot dt$ 만큼 움직인다. 여기서 1d motion field는 이미지 평면에 위치한 모든 $i$에 대한 모든 속도 값 $\bold{V}_i$로 구성된다.

Cap 2024-06-19 11-24-31-944.png

3d 장면을 일반화하여 픽셀 $(x, y)$에 대한 motion field는 다음과 같이 주어진다.

$$ \begin{pmatrix} u \\ v \end{pmatrix} = \begin{pmatrix} {dx \over dt} \\ {dy \over dt} \end{pmatrix} = \bold{Mx}' \tag{1} $$

여기서 $\bold{x}' = [{dx \over dt}, {dy \over dt}, {dz \over dt}]^\top$는 3d 점의 motion을 나타내고 $\bold{M} \in \mathbb{R}^{2 \times 3}$은 3d 점 위치 관점에 대한 픽셀 displacement(변위)의 편도함수를 포함한다.

motion field는 이미지 평면에 투영된 3d motion의 이상적인 2d representation이다. 이것은 직접적으로 관찰할 수 없는 ‘ground truth’이고, 우리는 video와 같은 noisy 관찰에서만 optical flow(apparent motion)을 추정할 수 있다. optical flow는 항상 motion field와 동일하지 않다는 점이 중요하다. 예컨대 고정된 조명 소스를 갖고 균일하게 회전하는 구는 optical flow가 없지만 non-zero motion field를 갖는다. 반면 고정된 구에 조명이 그 주위를 움직이는 경우 non-zero optical flow이지만 zero motion field이다. 이 두 경우는 그림 3 참조.

Cap 2024-06-19 11-24-50-522.jpg

2 Computing the optical flow

video를 시간에 걸쳐 포착된 프레임의 정렬된 시퀀스로 정의할 수 있다. 공간과 시간 모두의 함수인 $I(x, y, t)$는 시간 $t$에서 프레임에서 픽셀 $(x, y)$의 강도를 나타낸다. dense optical flow에서 각 시간 $t$와 각 픽셀 $(x, y)$에 대해 x-축과 y-축 모두에서 픽셀의 apparent 속도 $u(x, y, t) = {\Delta x \over \Delta t}$와 $v(x, y, t) = {\Delta y \over \Delta t}$를 각각 계산하기를 원한다. 각 픽셀에 대한 optical flow vector는 $\bold{u} = [u, v]^\top$로 주어진다.

이후 섹션에서 Lucas-Kanade 방법을 설명한다. 이것은 least-squares를 사용하여 $\bold{u}$개의 서로 다른 픽셀 패치를 독립적으로 해결하기 위한 semi-local 접근을 사용한다.

brightness constancy assumption에서 우리는 동일 객체에 대한 이미지 평면에서 apparent 강도가 서로 다른 프레임에 걸쳐 변경되지 않는다고 가정할 수 있다. 이것은 시간 $t$에서 $t + \Delta t$ 사이의 $x$와 $y$ 방향에서 $\Delta x$와 $\Delta y$로 움직이는 픽셀에 대한 방정식 2에 의해 표현된다.

$$ I(x,y,t) = I(x + \Delta x, y + \Delta y, t + \Delta t) \tag{2} $$

한가지 일반적인 단순화 방법은 $\Delta t = 1$ (연속 프레임)을 사용하는 것이다. 이 경우 속도는 변위 $u = \Delta x$와 $v = \Delta y$에 동등하다. 그 다음 강의 슬라이드에서와 같이 $I(x, y, t) = I(x + u, y+u, t+1)$을 얻을 수 있다.