Professional Documents
Culture Documents
Lecture21 PDF
Lecture21 PDF
@I @I dx dy @I
Ix = Iy = u= v= It =
@x @y dt dt @t
spatial derivative optical flow temporal derivative
Ix u + Iy v + It = 0
known
Ix u + Iy v + It = 0
known
Ix u + Iy v + It = 0
Assume that the surrounding patch (say 5x5) has
constant flow
Assumptions:
Flow is locally smooth
Neighboring pixels have same displacement
Matrix form
Assumptions:
Flow is locally smooth
Neighboring pixels have same displacement
A
25 ⇥ 2
x
2⇥1
b
25 ⇥ 1
> 1 >
x = (A A) A b
Least squares approximation
2 > >
x̂ = arg min ||Ax b|| is equivalent to solving A Ax̂ = A b
x
> >
A Ax̂ = A b
2 P P 3
Ix Ix Ix Iy
> 4 p2P
P p2P
P 5
A A = Iy Ix Iy Iy
p2P p2P
Where have you seen this before?
2 P P 3
Ix Ix Ix Iy
4 p2P
P p2P
P 5
Iy Ix Iy Iy
p2P p2P
Ix u + Iy v + It = 0
Compute gradients Solution:
Ix (3, 3) = 0
Iy (3, 3) = 1 v=1
It (3, 3) = I(3, 3) H(3, 3) = 1
Constraint: Contraint:
Flow of neighboring pixels Flow over a small patch
should be smooth should be the same
Horn-Schunck
16-385 Computer Vision
Carnegie Mellon University (Kris Kitani)
Horn-Schunck ! Lucas-Kanade!
Optical Flow (1981) Optical Flow (1981)
brightness constancy
method of differences
small motion
0
I(x, y, t) I(x, y, t )
Color Constancy!
(Brightness constancy for intensity images)
Small Motion!
(pixels only move a little bit)
0
I(x, y, t) I(x, y, t )
(x, y) (x, y)
I(x, y, t) I(x, y, t + t)
I(x + u t, y + v t, t + t) = I(x, y, t)
For a really small time step…
Optical Flow Constraint equation
I(x + u t, y + v t, t + t) = I(x, y, t)
@I @I @I
I(x, y, t) + x+ y+ t = I(x, y, t)
@x @y @t
@I dx @I dy @I
+ + =0
@x dt @y dt @t
Ix u + Iy v + It = 0
Solution lies on a straight line
u
Ix u + Iy v + It = 0
brightness constancy
method of differences
small motion
Enforce
brightness constancy
Enforce
smooth flow field
Ix u + Iy v + It = 0
Ix u + Iy v + It = 0
Ix Iy It
+ =
ui,j 1
u-component of flow
Which flow field is more likely?
X X
2 2
(uij ui+1,j ) ? (uij ui+1,j )
ij ij
Which flow field is more likely?
Smoothness constraint
1
Es (i, j) = (uij ui+1,j )2 + (uij ui,j+1 )2 + (vij vi+1,j )2 + (vij vi,j+1 )2
4
i, j + 1 i, j + 1 i, j + 1 i, j + 1
i 1, j ij i + 1, j i 1, j ij i + 1, j i 1, j ij i + 1, j i 1, j ij i + 1, j
i, j 1 i, j 1 i, j 1 i, j 1
Horn-Schunck optical flow
X ⇢
min Ed (i, j) + Es (i, j)
u, v
ij
where
2
Ed (i, j) = Ix uij + Iy vij + It
and
1
Es (i, j) = (uij ui+1,j )2 + (uij ui,j+1 )2 + (vij vi+1,j )2 + (vij vi,j+1 )2
4
How do we solve this
minimization problem?
X ⇢
min Ed (i, j) + Es (i, j)
u, v
ij
How do we solve this
minimization problem?
X ⇢
min Ed (i, j) + Es (i, j)
u, v
ij
Compute partial derivative, derive update equations
(gradient decent)
Compute the partial derivatives of this huge sum!
( )
X 1 2
(uij ui+1,j )2 + (uij ui,j+1 )2 + (vij vi+1,j )2 + (vij vi,j+1 )2 + Ix uij + Iy vij + It
ij
4
Compute the partial derivatives of this huge sum!
( )
X 1 2
(uij ui+1,j )2 + (uij ui,j+1 )2 + (vij vi+1,j )2 + (vij vi,j+1 )2 + Ix uij + Iy vij + It
ij
4
@E
= 2(ukl ūkl ) + 2 (Ix ukl + Iy vkl + It )Ix
@ukl
@E
= 2(ukl ūkl ) + 2 (Ix ukl + Iy vkl + It )Ix
@ukl
i, j + 1
(uij ui+1,j )
(u2ij 2uij ui+1,j + u2i+1,j ) (u2ij 2uij ui,j+1 + u2i,j+1 )
i 1, j ij i + 1, j
@E
= 2(ukl ūkl ) + 2 (Ix ukl + Iy vkl + It )Ix
@ukl
@E
= 2(vkl v̄kl ) + 2 (Ix ukl + Iy vkl + It )Iy
@vkl
⇢
1
local average ūij = ui+1,j + ui 1,j + ui,j+1 + ui,j 1
4
@E
= 2(ukl ūkl ) + 2 (Ix ukl + Iy vkl + It )Ix
@ukl
@E
= 2(vkl v̄kl ) + 2 (Ix ukl + Iy vkl + It )Iy
@vkl
2
(1 + Ix )ukl + Ix Iy vkl = ūkl Ix It
2
(1 + Ix )ukl + Ix Iy vkl = ūkl Ix It
@E
= 2(ukl ūkl ) + 2 (Ix ukl + Iy vkl + It )Ix
@ukl
@E
= 2(vkl v̄kl ) + 2 (Ix ukl + Iy vkl + It )Iy
@vkl
2
(1 + Ix )ukl + Ix Iy vkl = ūkl Ix It
1 adjA
Recall x=A b= b
det A
2
(1 + Ix )ukl + Ix Iy vkl = ūkl Ix It
2
Ix Iy ukl + (1 + Iy )vkl = v̄kl Iy It
1 adjA
Recall x=A b= b
det A
(determinant of A)
2 2 2
{1 + (Ix + Iy )}vkl = (1 + Iy )v̄kl Ix Iy ūkl Iy It
(determinant of A)
{1 + (Ix2 + Iy2 )}ukl = (1 + Ix2 )ūkl Ix Iy v̄kl Ix It
(determinant of A)
2 2 2
{1 + (Ix + Iy )}vkl = (1 + Iy )v̄kl Ix Iy ūkl Iy It
(determinant of A)
Ix ūkl + Iy v̄kl + It
ûkl = ūkl 2 2
I x
new old 1 + (Ix + Iy )
value average
Ix ūkl + Iy v̄kl + It
v̂kl = v̄kl 2 2
I y
1 + (Ix + Iy )
check for missing lambda
ok, take a step back, why did we do all this math?
We are solving for the optical flow (u,v) given
two constraints
( )
X 1 2
(uij ui+1,j )2 + (uij ui,j+1 )2 + (vij vi+1,j )2 + (vij vi,j+1 )2 + Ix uij + Iy vij + It
ij
4