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

Similar documents
EECS 556 Image Processing W 09

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

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

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

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

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

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

Peripheral drift illusion

Computer Vision Lecture 20

Computer Vision Lecture 20

Spatial track: motion modeling

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

Comparison between Motion Analysis and Stereo

EE795: Computer Vision and Intelligent Systems

CS 4495 Computer Vision Motion and Optic Flow

Lecture 20: Tracking. Tuesday, Nov 27

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

Spatial track: motion modeling

Multi-stable Perception. Necker Cube

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

Dense Image-based Motion Estimation Algorithms & Optical Flow

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Feature Tracking and Optical Flow

Computer Vision Lecture 20

Mariya Zhariy. Uttendorf Introduction to Optical Flow. Mariya Zhariy. Introduction. Determining. Optical Flow. Results. Motivation Definition

Optical flow and tracking

Ruch (Motion) Rozpoznawanie Obrazów Krzysztof Krawiec Instytut Informatyki, Politechnika Poznańska. Krzysztof Krawiec IDSS

Feature Tracking and Optical Flow

Hand-Eye Calibration from Image Derivatives

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

Lecture 16: Computer Vision

Lecture 16: Computer Vision

EE795: Computer Vision and Intelligent Systems

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

Comparison between Optical Flow and Cross-Correlation Methods for Extraction of Velocity Fields from Particle Images

Last update: May 4, Vision. CMSC 421: Chapter 24. CMSC 421: Chapter 24 1

Module 7 VIDEO CODING AND MOTION ESTIMATION

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

Motion Tracking and Event Understanding in Video Sequences

Motion Analysis. Motion analysis. Now we will talk about. Differential Motion Analysis. Motion analysis. Difference Pictures

Chapter 3 Image Registration. Chapter 3 Image Registration

calibrated coordinates Linear transformation pixel coordinates

Midterm Exam Solutions

Local Image Registration: An Adaptive Filtering Framework

Marcel Worring Intelligent Sensory Information Systems

CS 664 Segmentation. Daniel Huttenlocher

ELEC Dr Reji Mathew Electrical Engineering UNSW

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

CHAPTER 5 MOTION DETECTION AND ANALYSIS

CS-465 Computer Vision

Motion in 2D image sequences

Computational Photography

Dynamic Obstacle Detection Based on Background Compensation in Robot s Movement Space

Motion detection Computing image motion Motion estimation Egomotion and structure from motion Motion classification. Time-varying image analysis- 1

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

Minimizing Noise and Bias in 3D DIC. Correlated Solutions, Inc.

Computer Vision for HCI. Motion. Motion

ECE Digital Image Processing and Introduction to Computer Vision

A Robust Two Feature Points Based Depth Estimation Method 1)

Final Exam Study Guide

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

Event-based Computer Vision

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

VC 11/12 T11 Optical Flow

Notes 9: Optical Flow

Optical Flow Estimation

CS664 Lecture #18: Motion

Motion Estimation for Video Coding Standards

3D Reconstruction from Scene Knowledge

Depth. Common Classification Tasks. Example: AlexNet. Another Example: Inception. Another Example: Inception. Depth

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

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

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

Final Exam Study Guide CSE/EE 486 Fall 2007

Comparison Between The Optical Flow Computational Techniques

Capturing, Modeling, Rendering 3D Structures

Chapter 9 Object Tracking an Overview

Representing Moving Images with Layers. J. Y. Wang and E. H. Adelson MIT Media Lab

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

Self-calibration of a pair of stereo cameras in general position

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Stereo Vision. MAN-522 Computer Vision

SURVEY OF LOCAL AND GLOBAL OPTICAL FLOW WITH COARSE TO FINE METHOD

Face Tracking. Synonyms. Definition. Main Body Text. Amit K. Roy-Chowdhury and Yilei Xu. Facial Motion Estimation

CIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM

Optic Flow and Basics Towards Horn-Schunck 1

Fundamentals of Stereo Vision Michael Bleyer LVA Stereo Vision

Basic distinctions. Definitions. Epstein (1965) familiar size experiment. Distance, depth, and 3D shape cues. Distance, depth, and 3D shape cues

Adaptive Multi-Stage 2D Image Motion Field Estimation

ENGN2911I: 3D Photography and Geometry Processing Assignment 1: 3D Photography using Planar Shadows

DD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication

Optical Flow-Based Person Tracking by Multiple Cameras

Visual Tracking (1) Feature Point Tracking and Block Matching

Redundancy and Correlation: Temporal

Global Flow Estimation. Lecture 9

CS201: Computer Vision Introduction to Tracking

Gesture based PTZ camera control

Epipolar Geometry and Stereo Vision

Lecture 14: Computer Vision

Efficient Block Matching Algorithm for Motion Estimation

Transcription:

1 Image Motion Estimation I 2 Outline 1. Introduction to Motion 2. Why Estimate Motion? 3. Global vs. Local Motion 4. Block Motion Estimation 5. Optical Flow Estimation Basics 6. Optical Flow Estimation Horn 7. Optical Flow Estimation Kanade 8. Conclusions 1

3 1. Introduction to Motion Visual motion is very important 2

Uses of motion Estimating 3D structure Far is slow vs. near is fast Segmenting objects based on motion cues Learning about and tracking objects/people Recognizing events and activities We are tuned for seeing motion Even impoverished motion data can evoke a strong percept G. Johansson, Visual Perception of Biological Motion and a Model For Its Analysis", Perception and Psychophysics 14, 201-211, 1973. 3

What are we measuring? Motion field and parallax X(t) is a moving 3D point Velocity of scene point: V = dx/dt X(t) V X(t+dt) x(t) = (x(t),y(t)) is the projection of X in the image Apparent velocity v in the image: given by components v x = dx/dt and v y = dy/dt x(t) v x(t+dt) These components are known as the motion field of the image 8 Video Images A pair of images from a video scene appears to be very similar: f(t-1) f(t) 4

9 The Motion Model - Illustration f(t-1) 10 The Motion Model - Illustration f(t) 5

11 The Motion Model - Illustration The difference image f(t) f(t-1) f(t)-f(t-1) 12 The Motion Model - Description For a pair of such images, (almost) every pixel in one image can be found in the other in a slightly different location. f(t-1) f(t) 6

13 f The Motion Model - Equation x, y, t f x v ( x, y, t), y v ( x, y, t), t 1 x y Both vx & vy may be spatially varying. The above equation is called the Brightness Constancy Equation (BCE), implying that brightness is preserved. The BCE does not always hold (occlusion, boundaries, illumination changes). 14 1.5 The Motion estimation Problem Motion Estimation Module v v( x, y, t) v x y ( x, y, t) ( x, y, t) 7

15 2. Why Estimate Motion? 16 Application 1 De-Noising Additive noise in video sequences can be removed by spatial & temporal filtering. A typical such filter applies a weighted average of the 3D neighborhood in order to compute the corrected pixel value. In applying temporal smoothing, the correspondence information is crucial for good performance. 8

17 Application 1 De-Noising f(x,y,t) f(x,y,t-1) f(x,y,t-2) 18 Application 2 Compression In compressing video images, if we have already compressed f(t-1), we know much about f(t). Typical approach building a predicted image for f(t), based on f(t-1). Much better compression is achieved if we apply motion compensation. 9

20 Application 2 Compression Previous image Prediction MC previous image Prediction Current Image Predicted Image Error Image 21 Application 3 Surveillance Motion estimation plays an important role in applications such as target tracking and movement/change detection in surveillance systems. If the motion is a result of both camera and the imaged objects motion, these tasks are far more complex, due to the need to decouple these motion fields. 10

22 Application 3 Surveillance 23 Application 3 Surveillance + 11

24 Application 4 Depth Estimation Given a pair of images and the correspondence between them, depth of the imaged objects can be recovered. Depth is important for mapping (Digital Elevation Model extraction), segmentation to background/foreground, objects recognition, etc. 25 Application 4 Depth Estimation 1D Surface 12

26 Application 4 Depth Estimation Sensor F Focal Plane H Field of View 27 Application 4 Depth Estimation Pixel in the Image Point on the surface 13

28 Application 4 Depth Estimation D Second Camera with the same Height & slightly different position 29 Application 4 Depth Estimation D 1 D 2 Pixel in the first Image D Pixel in the second Image H h 14

30 Application 5 Super-resolution Given a set of low quality images of the same object taken from slightly different locations, a better (super-resolution) image can be recovered. The recovery process requires the knowledge of the motion with sub-pixel accuracy. 31 Application 5 Super-resolution Example: A set of low quality images 15

32 Application 5 Super-resolution Each of these images looks like this: 33 Application 5 Super-resolution The recovery result: 16

34 Other Applications There are numerous other applications for motion in images. Every application comes with a different set of requirements regarding: Motion representation, Accuracy, Complexity,. 35 3. Global vs. Local Motion 17

36 f The Motion Estimation Problem x, y, t f x v ( x, y, t), y v ( x, y, t), t 1 x y Motion Estimation Module v v x y ( x, y, t) ( x, y, t) 37 Motion Representation The possibilities are: Define a motion vector for every pixel v(x,y,t). Define a motion vector for every block of M by M pixels. Assume global motion behavior and represent the motion by the parameters of the global mapping. 18

38 Example For an image of 1000 by 1000 pixels: Direct representation requires 2,000,000 unknowns to be computed. Using blocks of 10 by 10 pixels, we need 20,000 numbers. If we assume that the motion consists of rotation and translation, we need 3 numbers only! Which is better? Depends on the application. 39 Global Motion Assumption In the general case, we assume the existence of the following relation: x x p, Parameters y y t t1 The function p is a simple relation that relates previous position to the current one. A set of parameters governs the specific type of motion. 19

40 Global Motion Translation x y x y t t1 a b a=2.1 b=4.7 41 x y Global Motion Similarity c 0 0cos d sin sin x a cos y b t t1 a=5 b=5 c=0.7 d=1.5 =10 20

42 Global Motion Affine x y c f ex d y t t1 a b a=-45 b=15 c=1 d=1.3 e=0.7 f=-0.1 43 Global Motion Projective x y t c f g ex d y hx y t1 t1 a b 1 a=-45 b=15 c=1 d=1.3 e=0.7 f=-0.1 g=0.01 h=0.0062 21

44 Global Motion Estimation Parametric Model Motion Estimation Module Motion Parameters 45 4. Block Motion Estimation 22

46 Why Blocks? If we are to find the motion by assigning a vector per pixel then we have Too many unknowns to be estimated, Too much storage space is consumed, Too much data to be transmitted (coding), Ill posed problem too many unknowns. Solution: Divide the image to blocks and assign a motion vector per each block. 47 The Basics Stage 1 Divide the image f(x,y,t) into nonoverlapping blocks of M by M pixels. M ( m 1) x, M ( n 1) y, t, x, y [1, ] B[ m, n ][ x, y] f M 23

48 The Basics Stage 2 For every block we perform a search process in the previous image f(x,y,t-1). For M=3: 3(2 1) x,3(2 1) y, t f 3 x,3 y t B x, y] f, [ 2,2][ 49 The Basics Stage 3 The search in f(t-1) is done by computing a matching factor to every possible displacement. E[ m, n] 3 3 x1 y1 2 B [ x, y] f 3 x m,3 y n, t [ 2,2] 1 24

50 The Basics Stage 4 Choose the motion vector [vx,vy] which results with the smallest error E. [ v x, v y ] ArgMin [ m, n] E[ m, n] 51 Basic Assumption In the Block-Matching algorithm we assume that all the pixels in every block have the same motion vector. The above implies that the block is assumed to have global translational motion. We can assume more general parameteric model for the block motion, such as affine. 25

52 Complexity - Search Zone Instead of computing E for every possible position in f(x,y,t-1), assume: D v, v x y D This way, E is computed only (2D+1) 2 times. 53 Complexity Error Comp. Instead of defining the error E as a Mean-Square-Error, define it as Mean- Absolute- Differences: E[ m, n] 3 3 x1 y1 B[ 2,2] [ x, y] f 3 x m,3 y n, t 1 26

54 Complexity Thresholding Start by computing E[0,0], and if it is smaller than some threshold, assume no motion and do not continue: E[0,0] 3 3 x1 y1 3 x,3 y, t T B[ 2,2] [ x, y] f 1 55 Complexity Spiral Search Start from the [0,0] and compare E[u,v] (while computed) to the minimum so far. If bigger, no need to continue. E[ m, n] 3 3 x1 y1 B[ 2,2] [ x, y] f 3 x m,3 y n, t 1 27

56 Complexity Sub-Optimal 1.Computing E[u,v] at 9 locations around the [0,0]. 2.Find the minimum point and compute 3 additional E near it. 3.Search the new minimum point. 57 Example 1 28

58 Example 2 59 Example 3 29

60 Applications Block Motion Estimation (BME) is extensively used in video coding (MPEG1, MPEG2, MPEG4, H261, & H263). Typically blocks of 8 by 8 or 16 by 16 are used. In regular video coding, motion estimation consumes 50-80% of the CPU time. There are chips that perform BME. 30