Computer Vision for HCI. Motion. Motion

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

Feature Tracking and Optical Flow

EE795: Computer Vision and Intelligent Systems

Peripheral drift illusion

Dense Image-based Motion Estimation Algorithms & Optical Flow

CS 4495 Computer Vision Motion and Optic Flow

Feature Tracking and Optical Flow

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

EE795: Computer Vision and Intelligent Systems

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

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

CS6670: Computer Vision

Global Flow Estimation. Lecture 9

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

Multi-stable Perception. Necker Cube

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

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

Comparison between Motion Analysis and Stereo

Optic Flow and Basics Towards Horn-Schunck 1

Global Flow Estimation. Lecture 9

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

Lecture 16: Computer Vision

Chapter 3 Image Registration. Chapter 3 Image Registration

ELEC Dr Reji Mathew Electrical Engineering UNSW

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

Optical flow and tracking

EECS 556 Image Processing W 09

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

Introduction to Computer Vision

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier

The 2D/3D Differential Optical Flow

Spatial track: motion modeling

VC 11/12 T11 Optical Flow

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

CS-465 Computer Vision

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

Lecture 16: Computer Vision

Introduction to Computer Vision

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

Optical Flow Estimation

Spatial track: motion modeling

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

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

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

Computer Vision Lecture 20

Capturing, Modeling, Rendering 3D Structures

Midterm Exam Solutions

An introduction to 3D image reconstruction and understanding concepts and ideas

Computer Vision Lecture 20

CS231A Section 6: Problem Set 3

Lecture 20: Tracking. Tuesday, Nov 27

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

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

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

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

Computer Vision Lecture 20

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

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

CS201: Computer Vision Introduction to Tracking

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

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

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han

CHAPTER 5 MOTION DETECTION AND ANALYSIS

Autonomous Navigation for Flying Robots

CS664 Lecture #18: Motion

CS 565 Computer Vision. Nazar Khan PUCIT Lectures 15 and 16: Optic Flow

Feature descriptors and matching

Hand-Eye Calibration from Image Derivatives

Lecture 9: Hough Transform and Thresholding base Segmentation

Robert Collins CSE598G. Intro to Template Matching and the Lucas-Kanade Method

Marcel Worring Intelligent Sensory Information Systems

Notes 9: Optical Flow

Video Alignment. Final Report. Spring 2005 Prof. Brian Evans Multidimensional Digital Signal Processing Project The University of Texas at Austin

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

Edge and corner detection

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Optic Flow and Motion Detection

CS 4495/7495 Computer Vision Frank Dellaert, Fall 07. Dense Stereo Some Slides by Forsyth & Ponce, Jim Rehg, Sing Bing Kang

Region-based Segmentation

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

Digital Image Processing COSC 6380/4393

Outline 7/2/201011/6/

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

Motion in 2D image sequences

Hand-Eye Calibration from Image Derivatives

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

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

Chapter 3: Intensity Transformations and Spatial Filtering

CS4495 Fall 2014 Computer Vision Problem Set 5: Optic Flow

A Robust Two Feature Points Based Depth Estimation Method 1)

Cameras and Stereo CSE 455. Linda Shapiro

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

CAP 5415 Computer Vision Fall 2012

Computer Vision II Lecture 4

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

Motion detection Computing image motion Motion estimation Egomotion and structure from motion Motion classification

Binocular Stereo Vision. System 6 Introduction Is there a Wedge in this 3D scene?

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Digital Image Processing. Image Enhancement - Filtering

Motion Tracking and Event Understanding in Video Sequences

Transcription:

Computer Vision for HCI Motion Motion Changing scene may be observed in a sequence of images Changing pixels in image sequence provide important features for object detection and activity recognition 2 1

General Cases of Motion Still camera, single moving object, constant background Simplest case, motion sensors for security Still camera, several moving objects, constant background Tracking, multi-person event analysis Moving camera, relatively constant scene Egomotion, panning to provide wider panoramic view Moving camera, several moving objects Most difficult, robot navigating through heavy traffic 3 Image Differencing Simplest means of motion detection Detect absolute value of difference between frame t-1 and t Threshold result Only motion presence, no direction Frame t-1 Frame t Difference image 4 2

Single, Constant Threshold? Image differencing: ΔI 1 It It 1 τ = 0 else Appropriate threshold perhaps not a constant value Set too low and noise will appear in the difference image Set too high and will not work in all situations Perception: Weber s Law Weber s Law: For humans, the ratio of just noticeable difference (δl) and luminance (L) is constant (i.e., δl = kl) The greater the luminance, the more luminance change that is needed to perceive a change (or, can see smaller luminance changes in lower luminance areas) Better/Other models exist but Weber s Law suffices as approximation Image Difference Algorithm : Compute Difference Image δi = I I t 1 Smooth It 1 with Gaussian kernel to receive ~ 1 δi ki Apply Weber's Law ΔI = 0 else t ~ I 3

Optic Flow Image sequence f ( x, y, t) Assume with small motion change (of patch), no change in gray levels Brightness constancy constraint: f ( x, y, t) = f ( x + dx, y + dy, t + dt) y x t 7 Optic Flow f ( x, y, t) = f ( x + dx, y + dy, t + dt) Taylor series expansion (r.h.s.) f f f f ( x, y, t) = f ( x, y, t) + dx + dy + x y t dt f f f dx + dy + x y t dt = 0 Divide by dt f x dx dt f + y dy dt f + t = 0 8 4

f x Optic Flow dx dt f + y dy dt f + t = 0 Gradients can be computed from images (keep proper gradient normalization factor!!!) 1 0 1 f = fx 2 0 2 /8 x 1 0 1 f y = f y 1 0 1 2 0 2 1 0 /8 1 Compute in I t f = ft F( It It 1) t e.g., F( ) could use 3x3 smoothing filter applied to each image before taking the difference at center 9 pixel locations Optic Flow ****For motion from I t-1 to I t Image (I t ) 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 f x = [0(-1) + 0(0) + 1(1) + 0(-2) + 1(0) + 1(2) +1(-1) + 1(0) + 1(1)]/8 = 3/8 f y = [0(-1) + 0(-2) + 1(-1) + 0(0) + 1(0) + 1(0) +1(1) + 1(2)+ 1(1)]/8 = 3/8 1 1 1 1 1 ft = F( It It 1) or ft = F( smooth( It) smooth( It 1)) 10 5

Optic Flow f x dx dt f + y dy dt f + t = 0 or fu x + fv y + ft = 0 Goal is to compute image motion But only one equation and two unknowns!?! 11 dx dt dy dt Aggregate Optic Flow One solution: Over-constrain by checking over small patch of pixels = u = v E = ( f u+ f v+ f ) i xi yi ti E 2 = ( fxi u + fxi fyiv + fxi fti ) = 0 u i E 2 = ( fyi fxiu + fyi v + fyi fti ) = 0 v i 2 fxi fxi f yi fxi fti i i u i = v f f 2 fyi fxi fyi i i i yi ti Perform least squares to solve 2 12 6

Can I do anything with this equation itself? Consider Normal Form of Straight Line Equation: A B C x+ y+ = 0 2 2 2 2 2 2 A + B A + B A + B y fu x + fv y + ft = 0 A C + B 2 2 x A B, A + B A + B 2 2 2 2 13 Normal Optic Flow fu+ fv+ f = 0 x y t f f x y ft u+ v+ = 0 f + f f + f f + f 2 2 2 2 2 2 x y x y x y Can determine only one component of flow: Magnitude of flow in the direction of the brightness gradient (perpendicular to brightness contour) Normal Flow v f x f y, f + f f + f 2 2 2 2 x y x y f x u f t + f 2 2 y 14 7

Aperture Problem 15 Aperture Problem 16 8

Barber Pole Illusion 17 Weighted Aggregate Normal Flow Weight the computation of the normal flow magnitude by the strength of gradients in local region (smoothes result) NF mag = f f t + f 2 2 x y wnf mag i ( ) i ( ) ( ) ( ) f + f f f + f f = = f f f f f f 2 2 2 2 xi yi ti xi yi ti i 2 2 2 2 2 2 2 xi + yi xi + yi xi + yi i 18 9

Normal Flow vs. Desired Optic Flow for Moving Box 19 Motion Hierarchical Motion Estimation 10

Optical Flow Assumptions for computation of optical flow fu x + fv y + ft = 0 Small motion change (of patch) No change in gray levels after moving (brightness constancy constraint) Not entirely realistic for real-world motions in video Usually larger motion (even at 30+ frames/sec) 21 Hierarchical Motion Estimation Bergen J., and Hingorani R. Hierarchical Motion-Based Frame Rate Conversion, 1990 Bergen J., Anandan P., Hanna K., and Hingorani R. Hierarchical Model-Based Motion Estimation, 1992 Key feature of framework Coarse-to-fine refinement strategy Local model (used in estimation process) Global model (constrains overall structure of motion) 22 11

Hierarchical Motion Estimation Key element is use of multi-resolution image representation to allow optical flow constraint equation even when motion is fairly large 23 Displacement Reduction in Pyramid Can compute optical flow at this level Δx = 1 pixel Δx = 2 pixels Δx = 4 pixels Δx Δx = 8 pixels Gaussian pyramid of image I t-1 24 Gaussian pyramid of image I t 12

Smoothness Pyramid construction smoothens out discontinuities to provide better gradientbased estimations Smooths over boundaries, but dealt with in later estimations 25 Displacement Reduction in Pyramid Can compute optical flow at top level of pyramid, but Low image resolution (reduced size), so not true answer for original sized image Motion may even start at lower (larger) levels This only provides an initial estimate (to be refined) 26 13

Hierarchical Motion Estimation Overview of approach for pair of images (I t-1, I t ) Generate multi-resolution Gaussian pyramid of images Iteratively reduce image Perform local estimation of displacements Compute optical flow Start at smallest pyramid level Expand flow and warp image (by the flow) at next level below, then compute local flow estimation and update Compensates for previously estimated displacements Iteratively refine optical flow 27 Course-to-Fine Motion Estimation compute flow 1) Expand & scale flow 2) warp I t-1 at next level compute flow 1) update motion 2) Expand & scale flow 3) warp I t-1 at next level compute flow 1) update motion 2) Expand & scale flow 3) warp I t-1 at final level compute flow Gaussian pyramid of image I t-1 update motion 28 Gaussian pyramid of image I t 14

dx dt dy dt = u = v Computing Optic Flow Aggregate flow method E = ( f u+ f v+ f ) i xi yi ti E 2 = ( fxi u + fxi fyiv + fxi fti ) = 0 u i E 2 = ( fyi fxiu + fyi v + fyi fti ) = 0 v i 2 fxi fxi f yi fxi fti i i u i = v f f 2 fyi fxi fyi i i i yi ti Least squares 2 29 Expanding & Scaling Motion The flow (u, v) is expanded to match the size of the next (bigger) pyramid image Using 2x spatial expand operations (see upsampling in pyramid lecture) Also must expand the flow magnitude, as the vectors are in pixel units (and image was just doubled in size) u = expand(u) * 2 v = expand(v) * 2 30 15

Image Warping Given image I t-1 at next (larger) pyramid level below and the corresponding (u,v ) motion estimate expanded down for that level, use motion vectors to warp I t-1 into W W and the corresponding level I t should appear to be close Enough to compute valid optical flow 31 Matlab function [warpim]=warp(im, u, v) [M, N]=size(Im); [x, y]=meshgrid(1:n,1:m); warpim=interp2(x, y, Im, x-u, y-v); % Matlab returns a NaN in places outside the first image I=find(isnan(warpIm)); warpim(i)=zeros(size(i)); 32 16

Updating Motion Compute new, local motion flow at this level From W to I t Refine previous flow estimate (that was expanded/scaled and used from previous level for W) u = u + local_u v = v + local_v Updated motion estimate at this level Motion using warped image W and I t at this level Expanded motion from previous level (used for warping this level into W) 33 Other 2-D Motion Approaches Many, many, many other approaches Add smoothness terms to error function Robust statistics 34 17

Motion BONUS MATERIAL: 3-D Motion with Images and Model 3-D Motion Infer 3-D motion of object from 2-D image properties and 3-D model of object Instantaneous method Optical flow used to recover 3-D motion and depth values 36 18

3-D Motion of Point V = " $ $ $ # $ V x V y V z % ' ' ' & ' = = = T + ω r " T % " $ x ' i j k % $ ' $ T ' $ y + $ ω ' x ω y ω z ' $ ' # $ T z & ' # $ X Y Z &' " T % " x ω $ ' y Z Yω % $ z ' $ T ' $ y + $ Xω ' z ω x Z ' $ ' # $ T z & ' $ ω x Y Xω # y ' & " T x +ω y Z Yω % $ z ' $ T y + Xω z ω x Z ' $ ' $ T z +ω x Y Xω ' # y & 37 Pinhole Camera Model Rays connect image plane to object through pinhole Object is imaged upside-down on image plane 19

2-D Perspective Motion 2-D perspective motion (camera focal length F, pinhole camera ) dx d FX dx F FX dz F dx X dz F X = = = V 2 = x V z dt dt Z dt Z Z dt Z dt Z dt Z Z dy d FY dy F FY dz F dy Y dz F Y = = = V 2 = y V z dt dt Z dt Z Z dt Z dt Z dt Z Z Substitute V x, V y, V z from previous slide dx F X F X = Vx Vz = Tx + ωyz Yωz Tz + ωxy Xωy dt Z Z Z Z dy F Y F Y = Vy Vz = Ty + Xωz ωxz Tz + ωxy Xωy dt Z Z Z Z 39 Optical Flow Constraint Recall optical flow constraint equation dx dy fx + fy + ft = 0 dt dt Substitute derivatives from previous slide F X ft = fx Tx yz Y z Tz xy X y Z + ω ω Z + ω ω F Y + fy Ty + Xωz ωxz Tz + ωxy Xωy Z Z 40 20

3-D Motion Parameters f = F F F f T f T ( f X f Y) T Z + Z + Z F 2 2 2 ( f x XY + f y Z + f y ) ωx Z F 2 2 + 2 ( fz x + fx x + fyx y ) ω y Z F ( fy x f y X ) ωz Z t x x y y 2 x y z (X,Y,Z) points are known from 3-D model of object f x, f y, f t can be computed from images (projected locations) Using least squares, compute translations and rotations (rigid object) 41 Motion Motion History Images 21

Motion Templates From blurred video, easily recognize the activity Recognize holistic patterns of motion No tracking of structural features (hands, elbows) [ video example next slide ] 43 What is it???? 44 22

Representation Theory Decompose motion The where Spatial pattern of where motion occurred Motion energy image (MEI) The how Progression of how the motion is moving Motion history image (MHI) 45 Temporal Template MHI (and MEI) is a static image Value at each pixel is some function of the motion at that pixel MHI: pixel records temporal history MEI: pixel records presence of motion TT = [MEI, MHI] 46 23

Cumulative Motion Images Cumulative motion presence Image differencing Sweeps out particular region Shape can be used to suggest action and view 47 Across View Angle -90-70 -50-40 -20 0 48 24

Motion Energy Image (MEI) Cumulative motion images E ( x, y, t) = τ τ! 1 i= 0 D( x, y, t i) Duration τ defines temporal extent 49 Motion History Image (MHI) Represent how motion is moving Pixel intensity is function of temporal history at that point Simple replace-and-decay operator with timestamp τ MHI δ τ if Ψ( I( x, y)) 0 ( x, y) = 0 else if MHIδ ( x, y) < τ δ Note: later will normalize MHI to values (0-1) for matching 50 25

Silhouette Differences Changing delay δ FRAME-0 FRAME-35 FRAME-70 δ = 0.25 δ = 0.5 δ = 1 MHI-0 MHI-35 MHI-70 51 vs. Image Differencing 52 26

Matching Templates First normalize template to (0-1) See next slide! Invariant to viewing condition? Want scale and translation invariance Feature vector of 7 Similitude moments Vector for MEI Vector for MHI Mahalanobis distance (squared) metric to T 1 models MD = ( x m) K ( x m) 53 MHI (Re)Normalization Want fade to black for time duration used For a pixel having motion that occurred at any time t: t [min t t] max 0, max t [min t t] frame # at pixel frame# [min frame# 1] max (0, max frame # [min frame# 1] Duration Long Medium The most current frame # (most recent) The oldest frame # that still want to keep/display Short 54 27

Aerobics Data 55 MEIs and MHIs 56 28

Confusion Difficulties Test input: Move 13 at 30 o Closest match: Move 6 at 0 o Correct match 57 Subject Variances and Motion Calculation Test input: Move 16 at 30 o Closest match: Move 15 at 0 o Bad motion calculation in test input, and different subject performances Correct match 58 29

Temporal Segmentation Maximum and minimum duration of actions τ min τ max Backward searching time window MHI ( x, y, t) max Compute τ Normalize (0-1), match to models Compute MHIτ Δ τ( x, y, t) Just threshold previous un-normalized version! (removes older parts) Normalize (0-1), Match to models Keep going until τ Δτ = τ min 59 Motion Gradients Can perceive direction of motion in intensity fading of motion template Downward, backward swipe Convolve gradient masks with template Intensity gradient similar to motion flow (normal flow) F x 1 = 2 1 0 0 0 1 2 1 F y 1 = 0 1 2 0 2 1 0 1 60 30

Motion Gradients 61 Demonstration 62 31

Motion Orientation Histograms 63 Effect of Occlusion Un-occluded 64 32

Summary Changing pixels in image sequence provide important features for motion analysis Optic flow Brightness constancy constraint Under-constrained and aperture problem Aggregate optic flow Normal flow Magnitude of flow in the direction of the brightness gradient (perpendicular to brightness contour) 65 Summary (con t) Multi-resolution motion estimation Coarse-to-fine refinement strategy Permits use of optical flow constraint equation even when motion is fairly large Key steps Generate multi-resolution Gaussian pyramid of images Perform local estimation of motion displacements Expand flow and warp image at next level, then compute local flow estimation Update global motion estimation 3-D motion from images (and model) 66 33

Summary (con t) Motion Templates MEI and MHI Temporal accumulator and decay operator Recognition Compute and match first seven scale- and translation-invariant moments from entire MHI (and MEI) Also from a binary MHI Motion Gradients Direction of motion from intensity gradient 67 34