CS231A Section 6: Problem Set 3

Similar documents
Peripheral drift illusion

Optical flow and tracking

Scale Invariant Feature Transform by David Lowe

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Local Features Tutorial: Nov. 8, 04

CS 4495 Computer Vision Motion and Optic Flow

Local Features: Detection, Description & Matching

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Scale Invariant Feature Transform

Feature Tracking and Optical Flow

Scale Invariant Feature Transform

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

CAP 5415 Computer Vision Fall 2012

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Feature Tracking and Optical Flow

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

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

Outline 7/2/201011/6/

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

Final Exam Study Guide

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

Multi-stable Perception. Necker Cube

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

CS664 Lecture #18: Motion

Lecture 16: Computer Vision

EECS 556 Image Processing W 09

CS6670: Computer Vision

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

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

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

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

3D Photography. Marc Pollefeys, Torsten Sattler. Spring 2015

ECE Digital Image Processing and Introduction to Computer Vision

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

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

Comparison between Motion Analysis and Stereo

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

CS 231A Computer Vision (Fall 2012) Problem Set 3

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Multi-view 3D reconstruction. Problem formulation Projective ambiguity Rectification Autocalibration Feature points and their matching

EE795: Computer Vision and Intelligent Systems

CS664 Lecture #21: SIFT, object recognition, dynamic programming

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

School of Computing University of Utah

Eppur si muove ( And yet it moves )

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

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

Designing Applications that See Lecture 7: Object Recognition

Computer Vision Lecture 20

Feature Detection and Matching

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Computer Vision Lecture 20

Object Recognition with Invariant Features

Lecture 16: Computer Vision

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

VC 11/12 T11 Optical Flow

Local Feature Detectors

Computer Vision for HCI. Topics of This Lecture

Image matching. Announcements. Harder case. Even harder case. Project 1 Out today Help session at the end of class. by Diva Sian.

The SIFT (Scale Invariant Feature

CS 223B Computer Vision Problem Set 3

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

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

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

Image processing and features

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

Implementing the Scale Invariant Feature Transform(SIFT) Method

Patch-based Object Recognition. Basic Idea

Ulas Bagci

Feature Based Registration - Image Alignment

Chapter 3 Image Registration. Chapter 3 Image Registration

3D Vision. Viktor Larsson. Spring 2019

Introduction to SLAM Part II. Paul Robertson

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

EE795: Computer Vision and Intelligent Systems

CS4670: Computer Vision

Coarse-to-fine image registration

Computer Vision Lecture 20

Pictures at an Exhibition

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Image Features. Work on project 1. All is Vanity, by C. Allan Gilbert,

Local features: detection and description May 12 th, 2015

Key properties of local features

CPSC 425: Computer Vision

Classifying Images with Visual/Textual Cues. By Steven Kappes and Yan Cao

CS-465 Computer Vision

Obtaining Feature Correspondences

CS5670: Computer Vision

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

A Rapid Automatic Image Registration Method Based on Improved SIFT

Image Matching. AKA: Image registration, the correspondence problem, Tracking,

Feature Matching and Robust Fitting

Motion Estimation and Optical Flow Tracking

Motion illusion, rotating snakes

Capturing, Modeling, Rendering 3D Structures

Bias-Variance Trade-off (cont d) + Image Representations

Transcription:

CS231A Section 6: Problem Set 3 Kevin Wong Review 6 -! 1 11/09/2012

Announcements PS3 Due 2:15pm Tuesday, Nov 13 Extra Office Hours: Friday 6 8pm Huang Common Area, Basement Level. Review 6 -! 2

Topics Review Optical Flow PS3 Keypoints and features SIFT Descriptors SIFT Matching Projects OpenCV with Matlab Review 6 -! 3 11/09/2012

Review: Optical Flow Overview Review of Theory Applications Review 6 -! 4 11/09/2012

Optical Flow Learning OpenCV, page 322 Review 6 -! 5 11/09/2012

Optical Flow A low level motion tracking algorithm that tracks apparent motion from frame to frame of a video. Uses brightness patterns as features, not corners. Key Assumptions Brightness consistency: I(x, y, t 1) = I (x + u(x, y),y+ v(x, y),t) Review 6 -! 6 11/09/2012

Optical Flow Key Assumptions Cont. Spatial Coherence Neighboring points are from the same surface and will have similar motion. Small Motion The points do not move very far between frames * Image from Michael Black, CS143 2003 Review 6 -! 7 11/09/2012

Optical Flow I (x + u, y + v, t) I(x, y, t 1) + I x u + I y v + I t I (x + u, y + v, t) I(x, y, t 1) = I x +I y v + I t I x u + I y v + I t 0 5I [u v] T + I t =0 Taylor Expansion -> Brightness consistency We have one equation and two unknowns, motion perpendicular to the gradient, parallel to an edge is ambiguously, Aperture problem/barber pole illusion. Review 6 -! 8 11/09/2012

Review 6 -! 9 11/09/2012

Lucas-Kanade Flow Solvable when A T A is invertible Eigenvectors of A T A describe the patch Good patches turn out to be Harris corners. Improvements? Spatial consistency doesn t really hold across the scene. Solution? Motion segmentation: Divide the region into blocks, cluster pixel movement, reassign pixels to closets clusters and repeat. Review 6 -! 10 11/09/2012

Optical flow applications Object tracking via motion segmentation Traffic analysis Crowd flow/behavior analysis. Review 6 -! 11 11/09/2012

SIFT Motivations What makes a point interesting What to do with Keypoints SIFT detector SIFT descriptor Object Recognition with SIFT Review 6 -! 12

Where are we? CV Timeline Scene Object Local Patches Pixels Camera Models Review 6 -! 13

What to identify? (Keypoints) Salient points that would be present across a set of (reasonably) related images Repeatable Distinctive Review 6 -! 14

What information? (Descriptors) Review 6 -! 15

SIFT Ubiquitous: 10,000+ Citations David Lowe, 2001 and 2004, from UBC Both a detector and a descriptor Invariant to: Illumination Scale Rotation Affine Perspective Review 6 -! 16

SIFT: Keypoint Detector Difference of Gaussians using Scale Space Pyramid Section 3 and 4 of Lowe, 2004 = Review 6 -! 17

Extract and Prune max(dog) A point is extreme if it larger/smaller than its 26 neighboring points Prune for: Low Contrast Edge Points Review 6 -! 18

What can we do with keypoints? Review 6 -! 19

SIFT Descriptor Sections 5 and 6 in Lowe, 2004. Inspired by neurological research and models Keypoint is center of square patch of pixels, blurred at the scale of the keypoint Construction of Orientation Histogram for each 4x4 set of pixels All pixels are rotated by the orientation of the keypoint Review 6 -! 20

Steps of finding descriptor (for PS3) Given a keypoint P 1. Find gradient: 1. Apply Gaussian filter to the image using the scale of P as sigma (standard deviation) 2. Find gradient in x and y directions (down - up, right - left) 3. Magnitude: sqrt(ix 2 +Iy 2 ); Theta: atan2(iy, Ix) 4. Account for keypoint orientation. 2. Find the patch associated with P 3. For each bin b of the 4 x 4 bins in the patch 1. Initialize the histogram of the 8 angle bins 2. For each pixel p in b 1. Find the angle bin it falls into 2. In the histogram, increase the value of this angle bin by the gradient magnitude of p 3. Append this histogram to the end of the descriptor Review 6 -! 21

Many little details Many, many experimentally determined parameters for descriptor. The standard patch size is 16 Feature Vector = 16 patches * 8 bins = 128 elements Normalize each feature vector Avoid large (and potentially erroneous) gradients by capping each element at 0.2 Add extra blur for camera sensor [More steps ] We try to make the process as linear as possible Review 6 -! 22

The Matching Problem Locate arbitrary objects despite environmental difficulties Review 6 -! 23

Object Recognition with SIFT (Sec 7, Lowe 2004) Step 1: Feature matching Step 2: Hough transform in pose space Step 3: Geometric verification via affine transformation Review 6 -! 24

Step 1: Feature matching A match is determined by distance between closest neighbor and second closest neighbor Euclidean distance between descriptor vectors Nearest Neighbor problem k-d tree is inefficient Best-Bin-First (BBF) (Beis and Lowe, 1997), modified from k-d tree, giving approximated result Review 6 -! 25

Step 2: Hough transform in pose space Goal: given test image and training image, find object pose Input: Descriptor matches (p i -> p i ) of an object, many are false matches Output: estimated object pose A match is specified by 4 parameters <x, y, scale, orientation> Review 6 -! 26

Step 2: Hough transform in pose space 1. Discrete bins in 4D space; 2. Assign each match to the bin whose object pose is consistent with it; 3. Find bins with > 3 votes. Review 6 -! 27

Step 2: Hough transform in pose space Have to use broad bins since there are only 4 parameters but 6 dof bin size of 30 degrees for orientation, a factor of 2 for scale, etc. For the problem, you can use a uniform bins, which isn t optimal, good enough for the problem. Review 6 -! 28

Step 3: Geometric verification via affine transformation Verify each bin with at least 3 entries 3 matches determine an affine transformation (An approximation of finding the fundamental matrix which requires more matches) Review 6 -! 29

Parameters of Affine Transformation Affine transformation: Least-squares solution for the best affine projection parameters Review 6 -! 30

Results Review 6 -! 31

Object Matching in PS3 PS3 uses a simplified version of object matching Match on keypoints descriptors Use Hough to determine bounding box parameters. http://www.cs.washington.edu/homes/ankit/research_projects/sura/sura-website/sift.htm Review 6 -! 32

Projects OpenCV with Matlab http://xanthippi.ceid.upatras.gr/people/evangelidis/ matlab_opencv/ Guide to building OpenCV Mex files for windows that can be called in Matlab. Note that the Guide is for OpenCV 2.1. Macs: Tested using OSX 10.8, Xcode 4.5, OpenCV 2.4.2. Other options: Use files for I/O to standalone OpenCV applications Use OpenCV exclusively, with CGAL for potential matrix operations. Review 6 -! 33 11/09/2012