CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
CS 206 Introduction to Computer Science II 02 / 27 / 2009 Instructor: Michael Eckmann.
Advertisements

CS 376b Introduction to Computer Vision 04 / 21 / 2008 Instructor: Michael Eckmann.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
CS 102 Computers In Context (Multimedia)‏ 04 / 08 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
CSE 803: image compression Why? How much? How? Related benefits and liabilities.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 09 / 2007 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
1 Motion in 2D image sequences Definitely used in human vision Object detection and tracking Navigation and obstacle avoidance Analysis of actions or.
CS 376b Introduction to Computer Vision 04 / 16 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 27 / 2008 Instructor: Michael Eckmann.
Computing motion between images
CS 376b Introduction to Computer Vision 02 / 18 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 26 / 2007 Instructor: Michael Eckmann.
CSSE463: Image Recognition Day 30 Due Friday – Project plan Due Friday – Project plan Evidence that you’ve tried something and what specifically you hope.
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 04 / 09 / 2008 Instructor: Michael Eckmann.
Stockman MSU Fall Computing Motion from Images Chapter 9 of S&S plus otherwork.
CS 376b Introduction to Computer Vision 04 / 15 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 06 / 2007 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
1 Motion in 2D image sequences Definitely used in human vision Object detection and tracking Navigation and obstacle avoidance Analysis of actions or.
CS 106 Introduction to Computer Science I 04 / 07 / 2010 Instructor: Michael Eckmann.
MSU Fall Computing Motion from Images Chapter 9 of S&S plus otherwork.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 02 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 03 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 29 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
CSSE463: Image Recognition Day 30 This week This week Today: motion vectors and tracking Today: motion vectors and tracking Friday: Project workday. First.
CS 376 Introduction to Computer Graphics 02 / 12 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 02 / 17 / 2010 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 26 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 16 / 2007 Instructor: Michael Eckmann.
Computer Vision, Robert Pless Lecture 11 our goal is to understand the process of multi-camera vision. Last time, we studies the “Essential” and “Fundamental”
CS 376 Introduction to Computer Graphics 04 / 20 / 2007 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
Why is computer vision difficult?
Motion Analysis using Optical flow CIS750 Presentation Student: Wan Wang Prof: Longin Jan Latecki Spring 2003 CIS Dept of Temple.
CS 376 Introduction to Computer Graphics 02 / 23 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 02 / 22 / 2010 Instructor: Michael Eckmann.
CS 450: COMPUTER GRAPHICS PROJECTIONS SPRING 2015 DR. MICHAEL J. REALE.
CS 325 Introduction to Computer Graphics 02 / 26 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 28 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
1 Motion Analysis using Optical flow CIS601 Longin Jan Latecki Fall 2003 CIS Dept of Temple University.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 18 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 12 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 27 / 2009 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 14 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 02 / 19 / 2010 Instructor: Michael Eckmann.
Interest Points EE/CSE 576 Linda Shapiro.
CSSE463: Image Recognition Day 30
CSSE463: Image Recognition Day 30
CSSE463: Image Recognition Day 30
Presentation transcript:

CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions Motion –matching points between frames to compute a sparse motion field –use of motion vectors in MPEG compression

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion The motion field is defined as: a 2d array of 2d vectors representing the motion of 3d scene points. Vectors can be points at time t to t+dt. The focus of expansion (FOE) is defined as: the point in the image plane from which motion field vectors diverge. (This is usually the point toward which the camera is moving.)‏ The focus of contraction (FOC) is defined as: the point in the image plane toward which motion field vectors converge. (This is usually the point from which the camera is moving away.)‏

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion figure 9.2 from Shapiro and Stockman

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion To compute motion field vectors we'll need to detect and locate interest points with high accuracy.

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion To correspond points from one image to the next --- –take the neighborhood of an interesting point and look in some small window of the next frame (assuming motion is limited to some speed/distance) and find the best matching neighborhood. How might you compare neighborhoods?

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion To correspond points from one image to the next take the neighborhood of an interesting point and look in some small window of the next frame (assuming motion is limited to some speed/distance) and find the best matching neighborhood. –Can use normalized cross-correlation of the neighborhoods. –The Cauchy-Schwartz inequality (see page 162 in text) states that the normalized dot product of two vectors is <=1. (Note that the normalized cross- correlation of two neighborhoods is equivalent to the normalized dot product.)‏

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion To compute motion field vectors we can detect –high interest points (have high energy in many directions)‏ –edges are problematic here (only one direction)‏ –corners (two directions)‏ –anything that can be located accurately in a later image –centroids of moving regions after segmentation could be tracked as well. discussion on the board why corners are more accurately located than edges.

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion The text describes an interest operator to detect high interest points –the smallest variance in the vertical, horizontal, and 2 diagonal directions in a neighborhood must be above some threshold –how well will this be able to be located?

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion from algorithm 9.2 in Shapiro and Stockman

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion Let's consider some places where this kind of detection and matching scheme might break down. –What assumptions need to be true to make the scheme work?

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion Let's consider some places where this kind of detection and matching scheme might break down. –occlusion –speed of motion larger than expected (best match is outside of window)‏ –large changes in neighborhood due to possible viewpoint changes –rotation changes in scale and small translations are o.k.

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion MPEG –to compress video (an image sequence)‏ –replaces a 16x16 image block with a motion vector describing the motion of that block so in a later frame, a 16x16 block is represented as a vector –only the vector is stored if the blocks are identical (or very close)‏ if they differ by too much, encode the difference These 16x16 blocks and motion vectors are computed between say a frame f i and f i+3

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion from figure 9.7 Shapiro and Stockman

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion Suppose we are given a video of something (a TV show, movie, news report, etc.)‏ –we can use the techniques just discussed to determine the camera motion by –looking for a FOC, FOE or panning determine when a scene changes (large change in histogram between frames and not some typical motion field due to camera motion)‏ –can segment the video into scenes this way

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion from Shapiro and Stockman figure 9.18 (originally from Zhang et.al. (1993) with permission from Springer-Verlag)‏ top 2 are from same scene, bottom one from different scene.

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Motion from Shapiro and Stockman figure 9.19

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Programming Assignement How's it going? Should work on having it done by end of next week as I anticipate another assignment shortly after that to be due last week of classes.