Computer Vision Lecture 20

Similar documents
Computer Vision Lecture 20

Computer Vision Lecture 20

Visual motion. Many slides adapted from S. Seitz, R. Szeliski, M. Pollefeys

Peripheral drift illusion

Multi-stable Perception. Necker Cube

Feature Tracking and Optical Flow

Feature Tracking and Optical Flow

CS 4495 Computer Vision Motion and Optic Flow

Optical flow and tracking

Comparison between Motion Analysis and Stereo

Finally: Motion and tracking. Motion 4/20/2011. CS 376 Lecture 24 Motion 1. Video. Uses of motion. Motion parallax. Motion field

Ninio, J. and Stevens, K. A. (2000) Variations on the Hermann grid: an extinction illusion. Perception, 29,

Computer Vision Lecture 18

Motion and Optical Flow. Slides from Ce Liu, Steve Seitz, Larry Zitnick, Ali Farhadi

ECE Digital Image Processing and Introduction to Computer Vision

Fundamental matrix. Let p be a point in left image, p in right image. Epipolar relation. Epipolar mapping described by a 3x3 matrix F

EECS 556 Image Processing W 09

EE795: Computer Vision and Intelligent Systems

Lecture 16: Computer Vision

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Computer Vision II Lecture 4

Lecture 16: Computer Vision

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Lucas-Kanade Motion Estimation. Thanks to Steve Seitz, Simon Baker, Takeo Kanade, and anyone else who helped develop these slides.

CS6670: Computer Vision

Computer Vision Lecture 17

Computer Vision Lecture 17

Lecture 19: Motion. Effect of window size 11/20/2007. Sources of error in correspondences. Review Problem set 3. Tuesday, Nov 20

Overview. Video. Overview 4/7/2008. Optical flow. Why estimate motion? Motion estimation: Optical flow. Motion Magnification Colorization.

Motion and Tracking. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Capturing, Modeling, Rendering 3D Structures

Computer Vision II Lecture 4

Dense Image-based Motion Estimation Algorithms & Optical Flow

Particle Tracking. For Bulk Material Handling Systems Using DEM Models. By: Jordan Pease

Visual Tracking (1) Feature Point Tracking and Block Matching

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Optical flow. Cordelia Schmid

CS664 Lecture #18: Motion

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Visual Tracking. Image Processing Laboratory Dipartimento di Matematica e Informatica Università degli studi di Catania.

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Automatic Image Alignment (direct) with a lot of slides stolen from Steve Seitz and Rick Szeliski

Spatial track: motion modeling

EE795: Computer Vision and Intelligent Systems

Autonomous Navigation for Flying Robots

Visual Tracking. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania

VC 11/12 T11 Optical Flow

EE 264: Image Processing and Reconstruction. Image Motion Estimation I. EE 264: Image Processing and Reconstruction. Outline

Optical flow. Cordelia Schmid

Structure from Motion

Spatial track: motion modeling

CSCI 1290: Comp Photo

Image processing and features

Wikipedia - Mysid

Leow Wee Kheng CS4243 Computer Vision and Pattern Recognition. Motion Tracking. CS4243 Motion Tracking 1

Tracking Computer Vision Spring 2018, Lecture 24

Motion Estimation. There are three main types (or applications) of motion estimation:

Epipolar Geometry and Stereo Vision

Optical Flow CS 637. Fuxin Li. With materials from Kristen Grauman, Richard Szeliski, S. Narasimhan, Deqing Sun

Optical Flow-Based Motion Estimation. Thanks to Steve Seitz, Simon Baker, Takeo Kanade, and anyone else who helped develop these slides.

Stereo II CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

Epipolar geometry. x x

Epipolar Geometry and Stereo Vision

Two-view geometry Computer Vision Spring 2018, Lecture 10

Structure from motion

Lecture 14: Tracking mo3on features op3cal flow

Stereo CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

Announcements. Motion. Structure-from-Motion (SFM) Motion. Discrete Motion: Some Counting

Stereo Vision. MAN-522 Computer Vision

CPSC 425: Computer Vision

Lecture 13: Tracking mo3on features op3cal flow

Optic Flow and Basics Towards Horn-Schunck 1

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation

Recovering structure from a single view Pinhole perspective projection

Lecture 20: Tracking. Tuesday, Nov 27

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Lecture 6 Stereo Systems Multi- view geometry Professor Silvio Savarese Computational Vision and Geometry Lab Silvio Savarese Lecture 6-24-Jan-15

Visual Tracking (1) Pixel-intensity-based methods

Lecture 9: Epipolar Geometry

Real-Time Scene Reconstruction. Remington Gong Benjamin Harris Iuri Prilepov

CS201: Computer Vision Introduction to Tracking

Application questions. Theoretical questions

Computer Vision. Computer Science Tripos Part II. Dr Christopher Town. Texture. Includes: more regular patterns. Includes: more random patterns

BIL Computer Vision Apr 16, 2014

Final Exam Study Guide CSE/EE 486 Fall 2007

Towards the completion of assignment 1

1 (5 max) 2 (10 max) 3 (20 max) 4 (30 max) 5 (10 max) 6 (15 extra max) total (75 max + 15 extra)

Final Exam Study Guide

Undergrad HTAs / TAs. Help me make the course better! HTA deadline today (! sorry) TA deadline March 21 st, opens March 15th

Structure from motion

Dense 3D Reconstruction. Christiano Gava

Lecture 6 Stereo Systems Multi-view geometry

Camera Geometry II. COS 429 Princeton University

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Lecture 10: Multi view geometry

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Structure from Motion and Multi- view Geometry. Last lecture

Local invariant features

Announcements. Motion. Structure-from-Motion (SFM) Motion. Discrete Motion: Some Counting

Transcription:

Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Computer Perceptual Vision and Sensory WS 16/76 Augmented Computing Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Computer Vision Lecture 2 Motion and Optical Flow 25.1.217 Announcements Lecture Evaluation Please fill out the evaluation form Bastian Leibe RWTH Aachen http://www.vision.rwth-aachen.de leibe@vision.rwth-aachen.de Many slides adapted from K. Grauman, S. Seitz, R. Szeliski, M. Pollefeys, S. Lazebnik 2 Course Outline Image Processing Basics Segmentation & Grouping Object Recognition Local Features & Matching Object Categorization 3D Reconstruction Epipolar Geometry and Stereo Basics Camera calibration & Uncalibrated Reconstruction Active Stereo Motion Motion and Optical Flow 3D Reconstruction (Reprise) Structure-from-Motion 3 Recap: Epipolar Geometry Calibrated Case x [ t ( Rx )] X x x x T Ex with E [ t ] R Essential Matrix (Longuet-Higgins, 1981) 4 Recap: Epipolar Geometry Uncalibrated Case xˆ T Ex ˆ x K xˆ x K xˆ X x x T x F x with F K EK T 1 Fundamental Matrix (Faugeras and Luong, 1992) 5 Recap: The Eight-Point Algorithm 2 3 x = (u, v, 1) T, x = (u, v, 1) T F11 F12 F13 F21 [u u; u v; u ; uv ; vv ; v ; u; v; 1] F22 = F23 6F317 4 5 F32 2 3 F33 2 3 2 3 u 1u1 u 1v1 u 1 u1v1 v1v1 v F11 1 u1 v1 1 u 2 u2 u 2 v2 u 2 u2v2 v2v2 v2 u2 v2 1 F12 u 3 u3 u 3 v3 u 3 u3v3 v3v3 v3 u3 v3 1 F13 u 4u4 u 4v4 u 4 u4v4 v4v4 v4 u4 v4 1 F21 u 5u5 u 5v5 u 5 u5v5 v5v5 v5 u5 v5 1 F22 = 6u 6u6 u 6v6 u 6 u6v6 v6v6 v6 u6 v6 1 F23 7 6 7 4u 7 u7 u 7 v7 u 7 u7v7 v7v7 v7 u7 v7 156F317 4 4 5 5 u This minimizes: 8u8 u 8v8 u 8 u8v8 v8v8 v8 F32 u8 v8 1 Solve using? SVD! Slide adapted from Svetlana Lazebnik F33 Af = N T 2 ( x F x i ) i i 1 6 1

Computer Perceptual Vision and Sensory WS 16/17 Augmented Computing Recap: Normalized Eight-Point Algorithm Practical Considerations 1. Center the image data at the origin, and scale it so the mean squared distance between the origin and the data points is 2 pixels. 2. Use the eight-point algorithm to compute F from the normalized points. 3. Enforce the rank-2 constraint using SVD. SVD F UDV 4. Transform fundamental matrix back to original units: if T and T are the normalizing transformations in the two images, than the fundamental matrix in original coordinates is T T F T. T d11 v11 v13 U d 22 d v31 v33 33 7 [Hartley, 1995] T Set d 33 to zero and reconstruct F Small Baseline Large Baseline 1. Role of the baseline Small baseline: large depth error Large baseline: difficult search problem Solution Track features between frames until baseline is sufficient. Slide adapted from Steve Seitz 16 Topics of This Lecture Video Introduction to Motion Applications, uses Motion Field Derivation Optical Flow Brightness constancy constraint Aperture problem Lucas-Kanade flow Iterative refinement Global parametric motion Coarse-to-fine estimation Motion segmentation KLT Feature Tracking A video is a sequence of frames captured over time Now our image data is a function of space (x, y) and time (t) 17 18 Motion and Perceptual Organization Sometimes, motion is the only cue Motion and Perceptual Organization Sometimes, motion is foremost cue 19 Slide credit: Kristen Grauman 2 2

Motion and Perceptual Organization Motion and Perceptual Organization Even impoverished motion data can evoke a strong percept Even impoverished motion data can evoke a strong percept 21 22 Uses of Motion Estimating 3D structure Directly from optic flow Indirectly to create correspondences for SfM Segmenting objects based on motion cues Learning dynamical models Recognizing events and activities Improving video quality (motion stabilization) Motion Estimation Techniques Direct methods Directly recover image motion at each pixel from spatiotemporal image brightness variations Dense motion fields, but sensitive to appearance variations Suitable for video and when image motion is small Feature-based methods Extract visual features (corners, textured areas) and track them over multiple frames Sparse motion fields, but more robust tracking Suitable when image motion is large (1s of pixels) Slide adapted from Svetlana Lazebnik 23 24 Topics of This Lecture Motion Field Introduction to Motion Applications, uses Motion Field Derivation The motion field is the projection of the 3D scene motion into the image Optical Flow Brightness constancy constraint Aperture problem Lucas-Kanade flow Iterative refinement Global parametric motion Coarse-to-fine estimation Motion segmentation KLT Feature Tracking 25 26 3

Motion Field and Parallax P(t) is a moving 3D point Velocity of 3D scene point: V = dp/dt p(t) = (x(t),y(t)) is the projection of P in the image. Apparent velocity v in the image: given by components v x = dx/dt and v y = dy/dt These components are known as the motion field of the image. P(t) V p(t) v P(t+dt) p(t+dt) Motion Field and Parallax P(t) To find image velocity v, differentiate p with respect to t (using quotient rule): Quotient rule: (f/g) = (g f g f)/g 2 p(t) P(t+dt) p(t+dt) Image motion is a function of both the 3D motion (V) and the depth of the 3D point (Z). V v 27 28 Motion Field and Parallax Pure translation: V is constant everywhere Motion Field and Parallax Pure translation: V is constant everywhere V z is nonzero: Every motion vector points toward (or away from) v, the vanishing point of the translation direction. 29 3 Motion Field and Parallax Pure translation: V is constant everywhere V z is nonzero: Every motion vector points toward (or away from) v, the vanishing point of the translation direction. V z is zero: Motion is parallel to the image plane, all the motion vectors are parallel. The length of the motion vectors is inversely proportional to the depth Z. Topics of This Lecture Introduction to Motion Applications, uses Motion Field Derivation Optical Flow Brightness constancy constraint Aperture problem Lucas-Kanade flow Iterative refinement Global parametric motion Coarse-to-fine estimation Motion segmentation KLT Feature Tracking 31 32 4

Optical Flow Apparent Motion Motion Field Definition Optical flow is the apparent motion of brightness patterns in the image. Important difference Ideally, optical flow would be the same as the motion field. But we have to be careful: apparent motion can be caused by lighting changes without any actual motion. Think of a uniform rotating sphere under fixed lighting vs. a stationary sphere under moving illumination 33 Slide credit: Kristen Grauman 34 Figure from Horn book Estimating Optical Flow The Brightness Constancy Constraint I(x,y,t 1) I(x,y,t) I(x,y,t 1) Given two subsequent frames, estimate the apparent motion field u(x,y) and v(x,y) between them. Key assumptions Brightness constancy: projection of the same point looks the same in every frame. Small motion: points do not move very far. Spatial coherence: points move like their neighbors. I(x,y,t) 35 Brightness Constancy Equation: I( x, y, t 1) I( x u( x, y), y v( x, y), t) Linearizing the right hand side using Taylor expansion: I( x, y, t 1) I( x, y, t) I u( x, y) I v( x, y) Hence, Ix u I y v It Spatial derivatives x Temporal derivative y 36 The Brightness Constancy Constraint The Aperture Problem I u I v I x y t How many equations and unknowns per pixel? One equation, two unknowns Intuitively, what does this constraint mean? I ( u, v) I t The component of the flow perpendicular to the gradient (i.e., parallel to the edge) is unknown If (u,v) satisfies the equation, so does (u+u, v+v ) if I ( u', v') gradient (u,v) (u,v ) (u+u,v+v ) edge 37 Perceived motion 38 5

The Aperture Problem The Barber Pole Illusion Actual motion 39 http://en.wikipedia.org/wiki/barberpole_illusion 4 The Barber Pole Illusion The Barber Pole Illusion http://en.wikipedia.org/wiki/barberpole_illusion 41 http://en.wikipedia.org/wiki/barberpole_illusion 42 Solving the Aperture Problem Solving the Aperture Problem How to get more equations for a pixel? Spatial coherence constraint: pretend the pixel s neighbors have the same (u,v) If we use a 5x5 window, that gives us 25 equations per pixel Least squares problem: Minimum least squares solution given by solution of B. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. In Proceedings of the International Joint Conference on Artificial Intelligence, pp. 674 679, 1981. 43 (The summations are over all pixels in the K K window) Slide adapted from Svetlana Lazebnik 44 6

Conditions for Solvability Eigenvectors of A T A Optimal (u, v) satisfies Lucas-Kanade equation When is this solvable? A T A should be invertible. A T A entries should not be too small (noise). A T A should be well-conditioned. Haven t we seen an equation like this before? Recall the Harris corner detector M = A T A is the second-moment matrix. The eigenvectors and eigenvalues of M relate to edge direction and magnitude. The eigenvector associated with the larger eigenvalue points in the direction of fastest intensity change. The other eigenvector is orthogonal to it. 45 46 Interpreting the Eigenvalues Edge Classification of image points using eigenvalues of the second moment matrix: 2 Edge 2 >> 1 Corner 1 and 2 are large, 1 ~ 2 1 and 2 are small Slide credit: Kristen Grauman Flat region Edge 1 >> 2 1 47 Gradients very large or very small Large 1, small 2 48 Low-Texture Region High-Texture Region Gradients have small magnitude Small 1, small 2 49 Gradients are different, large magnitude Large 1, large 2 5 7

Per-Pixel Estimation Procedure Iterative Refinement Let T II x t M I I and b II y t Algorithm: At each pixel compute U by solving MU b 1. Estimate velocity at each pixel using one iteration of Lucas and Kanade estimation. M is singular if all gradient vectors point in the same direction E.g., along an edge Trivially singular if the summation is over a single pixel or if there is no texture I.e., only normal flow is available (aperture problem) 2. Warp one image toward the other using the estimated flow field. (Easier said than done) Corners and textured areas are OK 3. Refine estimate by repeating the process. 51 Slide adapted from Steve Seitz 52 Optical Flow: Iterative Refinement Optical Flow: Iterative Refinement estimate update Initial guess: Estimate: estimate update Initial guess: Estimate: x x x x (using d for displacement here instead of u) (using d for displacement here instead of u) 53 54 Optical Flow: Iterative Refinement Optical Flow: Iterative Refinement estimate update Initial guess: Estimate: x x (using d for displacement here instead of u) (using d for displacement here instead of u) 55 56 8

Optic Flow: Iterative Refinement Problem Cases in Lucas-Kanade Some Implementation Issues: The motion is large (larger than a pixel) Warping is not easy (ensure that errors in warping are smaller than the estimate refinement). Warp one image, take derivatives of the other so you don t need to re-compute the gradient after each iteration. Iterative refinement, coarse-to-fine estimation A point does not move like its neighbors Motion segmentation Often useful to low-pass filter the images before motion estimation (for better derivative estimation, and linear approximations to image intensity). Brightness constancy does not hold Do exhaustive neighborhood search with normalized correlation. 57 61 Dealing with Large Motions Temporal Aliasing Temporal aliasing causes ambiguities in optical flow because images can have many pixels with the same intensity. I.e., how do we know which correspondence is correct? actual shift estimated shift Nearest match is correct (no aliasing) Nearest match is incorrect (aliasing) To overcome aliasing: coarse-to-fine estimation. 62 63 Idea: Reduce the Resolution! Coarse-to-fine Optical Flow Estimation u=1.25 pixels u=2.5 pixels u=5 pixels Image 1 u=1 pixels Image 2 Gaussian pyramid of image 1 Gaussian pyramid of image 2 64 65 9

Coarse-to-fine Optical Flow Estimation Topics of This Lecture Introduction to Motion Applications, uses Image 1 Run iterative L-K Warp & upsample Run iterative L-K... Image 2 Motion Field Derivation Optical Flow Brightness constancy constraint Aperture problem Lucas-Kanade flow Iterative refinement Global parametric motion Coarse-to-fine estimation Motion segmentation Gaussian pyramid of image 1 Gaussian pyramid of image 2 66 KLT Feature Tracking 75 Feature Tracking Tracking Challenges So far, we have only considered optical flow estimation in a pair of images. If we have more than two images, we can compute the optical flow from each frame to the next. Given a point in the first image, we can in principle reconstruct its path by simply following the arrows. Ambiguity of optical flow Find good features to track Large motions Discrete search instead of Lucas-Kanade Changes in shape, orientation, color Allow some matching flexibility Occlusions, disocclusions Need mechanism for deleting, adding new features Drift errors may accumulate over time Need to know when to terminate a track 76 77 Handling Large Displacements Define a small area around a pixel as the template. Match the template against each pixel within a search area in next image just like stereo matching! Use a match measure such as SSD or correlation. After finding the best discrete location, can use Lucas- Kanade to get sub-pixel estimate. Tracking Over Many Frames Select features in first frame For each frame: Update positions of tracked features Discrete search or Lucas-Kanade Terminate inconsistent tracks Compute similarity with corresponding feature in the previous frame or in the first frame where it s visible Start new tracks if needed Typically every ~1 frames, new features are added to refill the ranks. 78 79 1

Shi-Tomasi Feature Tracker Tracking Example Find good features using eigenvalues of secondmoment matrix Key idea: good features to track are the ones that can be tracked reliably. From frame to frame, track with Lucas-Kanade and a pure translation model. More robust for small displacements, can be estimated from smaller neighborhoods. Check consistency of tracks by affine registration to the first observed instance of the feature. Affine model is more accurate for larger displacements. Comparing to the first frame helps to minimize drift. J. Shi and C. Tomasi. Good Features to Track. CVPR 1994. 8 J. Shi and C. Tomasi. Good Features to Track. CVPR 1994. 81 Real-Time GPU Implementations Real-Time Optical Flow Example This basic feature tracking framework (Lucas-Kanade + Shi-Tomasi) is commonly referred to as KLT tracking. Used as preprocessing step for many applications (recall the Structure-from-Motion pipeline) Lends itself to easy parallelization Very fast GPU implementations available C. Zach, D. Gallup, J.-M. Frahm, Fast Gain-Adaptive KLT tracking on the GPU. In CVGPU 8 Workshop, Anchorage, USA, 28 216 fps with automatic gain adaptation 26 fps without gain adaptation http://www.cs.unc.edu/~ssinha/research/gpu_klt/ http://www.cs.unc.edu/~ssinha/research/gpu_klt/ http://cs.unc.edu/~cmzach/opensource.html 82 http://cs.unc.edu/~cmzach/opensource.html 83 Dense Optical Flow Summary Dense measurements can be obtained by adding smoothness constraints. Color map Motion field: 3D motions projected to 2D images; dependency on depth. Solving for motion with Sparse feature matches Dense optical flow Optical flow Brightness constancy assumption Aperture problem Solution with spatial coherence assumption T. Brox, C. Bregler, J. Malik, Large displacement optical flow, CVPR 9, Miami, USA, June 29. 84 Slide credit: Kristen Grauman 85 11

References and Further Reading Here is the original paper by Lucas & Kanade B. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. In Proc. IJCAI, pp. 674 679, 1981. 86 12