Presentation is loading. Please wait.

Presentation is loading. Please wait.

Motion and Optical Flow. Moving to Multiple Images So far, we’ve looked at processing a single imageSo far, we’ve looked at processing a single image.

Similar presentations


Presentation on theme: "Motion and Optical Flow. Moving to Multiple Images So far, we’ve looked at processing a single imageSo far, we’ve looked at processing a single image."— Presentation transcript:

1 Motion and Optical Flow

2 Moving to Multiple Images So far, we’ve looked at processing a single imageSo far, we’ve looked at processing a single image Multiple imagesMultiple images – Multiple cameras at one time: stereo – Single camera at many times: video – (Multiple cameras at multiple times)

3 Applications of Multiple Images 2D2D – Feature / object tracking – Segmentation based on motion 3D3D – Shape extraction – Motion capture

4 Applications of Multiple Images in Graphics Stitching images into panoramasStitching images into panoramas Automatic image morphingAutomatic image morphing Reconstruction of 3D models for renderingReconstruction of 3D models for rendering Capturing articulated motion for animationCapturing articulated motion for animation

5 Applications of Multiple Images in Biological Systems Shape inferenceShape inference Peripheral sensitivity to motionPeripheral sensitivity to motion Looming field – obstacle avoidanceLooming field – obstacle avoidance Very similar applications in roboticsVery similar applications in robotics

6 Looming Field Pure translation: motion looks like it originates at a point – focus of expansionPure translation: motion looks like it originates at a point – focus of expansion

7 Key Problem Main problem in most multiple-image methods: correspondenceMain problem in most multiple-image methods: correspondence

8 Correspondence Small displacementsSmall displacements – Differential algorithms – Based on gradients in space and time – Dense correspondence estimates – Most common with video Large displacementsLarge displacements – Matching algorithms – Based on correlation or features – Sparse correspondence estimates – Most common with multiple cameras / stereo

9 Result of Correspondence For points in image i displacements to corresponding locations in image jFor points in image i displacements to corresponding locations in image j In stereo, usually called disparityIn stereo, usually called disparity In video, usually called motion fieldIn video, usually called motion field

10 Computing Motion Field Basic idea: a small portion of the image (“local neighborhood”) shifts positionBasic idea: a small portion of the image (“local neighborhood”) shifts position AssumptionsAssumptions – No / small changes in reflected light – No / small changes in scale – No occlusion or disocclusion – Neighborhood is correct size: aperture problem

11 Actual and Apparent Motion If these assumptions violated, can still use the same methods – apparent motionIf these assumptions violated, can still use the same methods – apparent motion Result of algorithm is optical flow (vs. ideal motion field)Result of algorithm is optical flow (vs. ideal motion field) Most obvious effects:Most obvious effects: – Aperture problem: can only get motion perpendicular to edges – Errors near discontinuities (occlusions)

12 Computing Optical Flow: Preliminaries Image sequence I(x,y,t)Image sequence I(x,y,t) Uniform discretization along x,y,t – “cube” of dataUniform discretization along x,y,t – “cube” of data Differential framework: compute partial derivatives along x,y,t by convolving with derivative of GaussianDifferential framework: compute partial derivatives along x,y,t by convolving with derivative of Gaussian

13 Computing Optical Flow: Image Brightness Constancy Basic idea: a small portion of the image (“local neighborhood”) shifts positionBasic idea: a small portion of the image (“local neighborhood”) shifts position Brightness constancy assumptionBrightness constancy assumption

14 Computing Optical Flow: Image Brightness Constancy This does not say that the image remains the same brightness!This does not say that the image remains the same brightness! vs. : total vs. partial derivative vs. : total vs. partial derivative Use chain ruleUse chain rule

15 Computing Optical Flow: Image Brightness Constancy Given optical flow v(x,y)Given optical flow v(x,y) Image brightness constancy equation

16 Computing Optical Flow: Discretization Look at some neighborhood N:Look at some neighborhood N:

17 Computing Optical Flow: Least Squares In general, overconstrained linear systemIn general, overconstrained linear system Solve by least squaresSolve by least squares

18 Computing Optical Flow: Stability Has a solution unless C = A T A is singularHas a solution unless C = A T A is singular

19 Computing Optical Flow: Stability Where have we encountered C before?Where have we encountered C before? Corner detector!Corner detector! C is singular if intensity is constant or if there’s an edgeC is singular if intensity is constant or if there’s an edge Use eigenvalues of C:Use eigenvalues of C: – to evaluate stability of optical flow computation – to find good places to compute optical flow (finding good features to track)

20 Computing Optical Flow: Improvements Assumption that optical flow is constant over neighborhood not always goodAssumption that optical flow is constant over neighborhood not always good Decreasing size of neighborhood  C more likely to be singularDecreasing size of neighborhood  C more likely to be singular Alternative: weighted least-squaresAlternative: weighted least-squares – Points near center = higher weight – Still use larger neighborhood

21 Computing Optical Flow: Weighted Least Squares Let W be a matrix of weightsLet W be a matrix of weights

22 Computing Optical Flow: Improvements What if windows are still bigger?What if windows are still bigger? Adjust motion model: no longer constant within a windowAdjust motion model: no longer constant within a window Popular choice: affine modelPopular choice: affine model

23 Computing Optical Flow: Affine Motion Model Translational modelTranslational model Affine modelAffine model

24 Computing Optical Flow: Improvements Larger motion: how to maintain “differential” approximation?Larger motion: how to maintain “differential” approximation? Solution: iterateSolution: iterate Even better: adjust window / smoothingEven better: adjust window / smoothing – Early iterations: use larger Gaussians to allow more motion – Late iterations: use less blur to find exact solution, lock on to high-frequency detail

25 Computing Optical Flow: Lucas-Kanade Iterative algorithm:Iterative algorithm: 1. Set  = large (e.g. 3 pixels) 2. Set I’  I 1 3. Set v  0 4. Repeat while SSD(I’, I 2 ) >  1.v += Optical flow(I’  I 2 ) 2.I’  Warp(I 1, v) 5. After n iterations, set  = small (e.g. 1.5 pixels)

26 Computing Optical Flow: Lucas-Kanade I’ always holds warped version of I 1I’ always holds warped version of I 1 – Best estimate of I 2 Gradually reduce thresholdsGradually reduce thresholds Stop when difference between I’ and I 2 smallStop when difference between I’ and I 2 small – Simplest difference metric = sum of squared differences (SSD) between pixels

27 Optical Flow Applications [Feng & Perona] Video Frames

28 Optical Flow Applications Optical Flow Depth Reconstruction [Feng & Perona]

29 Optical Flow Applications Obstacle Detection: Unbalanced Optical Flow Temizer

30 Optical Flow Applications Collision avoidance: keep optical flow balanced between sides of image Temizer


Download ppt "Motion and Optical Flow. Moving to Multiple Images So far, we’ve looked at processing a single imageSo far, we’ve looked at processing a single image."

Similar presentations


Ads by Google