Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.

Similar presentations


Presentation on theme: "Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image."— Presentation transcript:

1 Optical Flow

2 Distribution of apparent velocities of movement of brightness pattern in an image

3 Optical Flow Perspective projection (pinhole camera) Instantaneous 2D velocity

4 4 Definitions optical flow [ Horn&Schunck ] The optical flow is a velocity field in the image which transforms one image into the next image in a sequence [ Horn&Schunck ] [ Horn&Schunck ] The motion field … is the projection into the image of three-dimensional motion vectors [ Horn&Schunck ] + = frame #1 frame #2 flow field

5 5 Ambiguity of optical flow Frame 1 flow (1): true motion flow (2)

6 Determining Optical Flow Berthold K.P. Horn and Brian G. Rhunck Artificial Intelligence Laboratory, MIT.

7 Optical Flow Optical flow field: Estimate the 2D motion field, which are the 2D velocities for all visible points Two key problems – Determine what image property to track – Determine how to track it

8 8 Brightness Constancy frame t frame t+1 v u

9 Brightness Constancy Track points of constant brightness, assuming that surface radiance is constant over time Brightness constancy is often violated by Mother Nature, so the resulting optical flow field is sometimes a very poor approximation to the 2D motion field

10 Optical Flow The optical flow cannot be computed at a point independently of neighboring points without introducing additional constraints

11 Brightness Constancy Constraint The brightness of a particular point in the pattern is constant Cannot determine the flow velocity locally without additional constraints Constraint line

12 Brightness Constancy Constraint Normal Velocity No constraint when the gradient magnitude is zero

13 13 Optical Flow Assumptions: * Slide from Michael Black, CS143 2003

14 14 Optical Flow Assumptions: * Slide from Michael Black, CS143 2003

15 Smoothness Constraint Constraint Assumption – Neighboring points on the objects have similar velocities and – The velocity field of the brightness patterns in the image varies smoothly almost everywhere – Discontinuities in flow can be expected where one object occludes another Algorithms based on smoothness constraint are likely to have difficulties with occluding edges

16 Smoothness Constraint Minimize the square of the gradient magnitude of the optical flow velocity Sum of the squares of Laplacians of x- and y- components of the flow

17 Estimate the Partial Derivatives

18 Estimate the Laplacian of Flow Velocities

19 Minimization Minimize the sum of errors in rate of change of image brightness And measure of departure from smoothness Total error to be minimized

20 Minimization Good (u,v) occurs at

21 Difference of Flow from Local Average (u,v) lies in the direction towards the constraint line along a line that perpendicular to it a^2 plays significant role when Ex, Ey is small: roughly equal to the expected noise in the estimate of

22 Constrained Minimization Minimizing While maintaining = 0 The (u,v) here is just the intersection on the constraint line

23 Iterative Solution

24 24 Optical Flow: 1D Case Brightness Constancy Assumption: IxIx vItIt  Because no change in brightness with time

25 25? Tracking in the 1D case:

26 26 Spatial derivative Temporal derivative Tracking in the 1D case:Assumptions: Brightness constancy Brightness constancy Small motion Small motion

27 27 Tracking in the 1D case: Temporal derivative at 2 nd iteration Iterating helps refining the velocity vector Can keep the same estimate for spatial derivative Converges in about 5 iterations

28 28 Algorithm for 1D tracking:  Compute local image derivative at :  Compute local image derivative at p:  Initialize velocity vector:  Repeat until convergence:  Compensate for current velocity vector:  Compute temporal derivative:  Update velocity vector: For all pixel of interest : For all pixel of interest p:  Need access to neighborhood pixels round p to compute  Need access to the second image patch, for velocity compensation:  The pixel data to be accessed in next image depends on current velocity estimate (bad?)  Compensation stage requires a bilinear interpolation (because is not integer)  Compensation stage requires a bilinear interpolation (because v is not integer)  The image derivative needs to be kept in memory throughout the iteration process Requirements:

29 Iterative Solution Very costly to solve these equations simultaneously Iterative algorithms, such as Gauss-Seidel method It is interesting to note that the new estimates at a particular point do not depend directly on the previous estimate at the same point

30 Fill in Uniform Region Uniform region: brightness gradient is zero No local information to constrain the vecocity Fill in uniform region – Given the values on region boudnary – Solve the Laplace equation under Dirichlet boundary condition

31 Tightness of Constraint In general, the solution is most accurately determined in the region where the brightness is not too small and varies in direction from point to point – Constraint information is available in a relative small neighborhood

32 Choice of Iterative Scheme How to interlace the iterations with the time step? – Get stable values before going to next frame – Only one iteration per time-step gives good initial guess Ability to deal with more images per unit time Better estimation in uniform regions because of the noise in measurements of images will be independent and tend to cancel out

33 Experiment Very low resolution video, say, 32*32 A rotating ball with smoothly varying patterns, but no shading

34 Results I Simple linear translation of the entire pattern Estimate between two images Showing the velocity Few changes occur after 32 iterations when errors ~ 10%

35 Results I 1 time step4 time steps

36 Results I 16 time steps64 time steps

37 Results II Only one iteration per time-step More rapid Few changes after 16 iteration when errors ~ 7%

38 Results II 1 time steps4 time steps

39 Results II 16 time steps64 time steps

40 Results III Simple rotation and contraction of the brightness pattern

41 Result III initial32 time steps

42 Result IV Rigid body motion – Laplacian for one of the velocity components becomes infinite on the occluding bound – Reasonable results are still obtained with finite velocities

43 Results IV Rotating cylinderRotating sphere

44 Results IV Exact flow pattern for a rotating cylinder and rotating sphere

45 Summary A method for computing optical flow from a sequence of images Two components of flow velocity Additional constraint: smoothness Iterative method

46 46 Horn&Schunck Optical Flow Research: Timeline Lucas&Kanade 1981 1992 1998now Benchmark: Barron et.al. Benchmark: Galvin et.al. many methods more methods A slow and not very consistent improvement in results, but a lot of useful ingredients were developed Seminal papers

47 http://people.csail.mit.edu/celiu/ECCV2008/z`z`


Download ppt "Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image."

Similar presentations


Ads by Google