10/2/201615-494 Cognitive Robotics1 Object Recognition 15-494 Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2011.

Slides:



Advertisements
Similar presentations
Distinctive Image Features from Scale-Invariant Keypoints
Advertisements

Feature Detection. Description Localization More Points Robust to occlusion Works with less texture More Repeatable Robust detection Precise localization.
Distinctive Image Features from Scale-Invariant Keypoints David Lowe.
Object Recognition from Local Scale-Invariant Features David G. Lowe Presented by Ashley L. Kapron.
Presented by Xinyu Chang
BRISK (Presented by Josh Gleason)
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
Object Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition l Panoramas,
Image alignment Image from
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
IBBT – Ugent – Telin – IPI Dimitri Van Cauwelaert A study of the 2D - SIFT algorithm Dimitri Van Cauwelaert.
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Robust and large-scale alignment Image from
Computational Vision: Object Recognition Object Recognition Jeremy Wyatt.
A Study of Approaches for Object Recognition
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Distinctive Image Feature from Scale-Invariant KeyPoints
Feature extraction: Corners and blobs
Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer Vision, 60, 2 (2004), pp Presented by: Shalomi.
Feature-based object recognition Prof. Noah Snavely CS1114
Object Recognition Using Distinctive Image Feature From Scale-Invariant Key point D. Lowe, IJCV 2004 Presenting – Anat Kaspi.
Scale Invariant Feature Transform (SIFT)
Blob detection.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
Lecture 6: Feature matching and alignment CS4670: Computer Vision Noah Snavely.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
Computer vision.
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Object Tracking/Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition.
Lecture 4: Feature matching CS4670 / 5670: Computer Vision Noah Snavely.
CVPR 2003 Tutorial Recognition and Matching Based on Local Invariant Features David Lowe Computer Science Department University of British Columbia.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Puzzle Solver Sravan Bhagavatula EE 638 Project Stanford ECE.
Kylie Gorman WEEK 1-2 REVIEW. CONVERTING AN IMAGE FROM RGB TO HSV AND DISPLAY CHANNELS.
Distinctive Image Features from Scale-Invariant Keypoints David Lowe Presented by Tony X. Han March 11, 2008.
Jack Pinches INFO410 & INFO350 S INFORMATION SCIENCE Computer Vision I.
Feature extraction: Corners and blobs. Why extract features? Motivation: panorama stitching We have two images – how do we combine them?
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
Project 3 questions? Interest Points and Instance Recognition Computer Vision CS 143, Brown James Hays 10/21/11 Many slides from Kristen Grauman and.
Local features: detection and description
Line Matching Jonghee Park GIST CV-Lab..  Lines –Fundamental feature in many computer vision fields 3D reconstruction, SLAM, motion estimation –Useful.
Presented by David Lee 3/20/2006
776 Computer Vision Jan-Michael Frahm Spring 2012.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
Distinctive Image Features from Scale-Invariant Keypoints Presenter :JIA-HONG,DONG Advisor : Yen- Ting, Chen 1 David G. Lowe International Journal of Computer.
Blob detection.
SIFT.
776 Computer Vision Jan-Michael Frahm Spring 2012.
10/1/ Cognitive Robotics1 Object Recognition Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2008.
SIFT Scale-Invariant Feature Transform David Lowe
CS262: Computer Vision Lect 09: SIFT Descriptors
Presented by David Lee 3/20/2006
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Scale Invariant Feature Transform (SIFT)
SIFT paper.
TP12 - Local features: detection and description
Object Recognition Cognitive Robotics David S. Touretzky &
Object Recognition Cognitive Robotics David S. Touretzky &
Assistive System Progress Report 1
Aim of the project Take your image Submit it to the search engine
Brief Review of Recognition + Context
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
Interest Points & Descriptors 3 - SIFT
SIFT keypoint detection
SIFT.
ECE734 Project-Scale Invariant Feature Transform Algorithm
Presented by Xu Miao April 20, 2005
Presentation transcript:

10/2/ Cognitive Robotics1 Object Recognition Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2011

10/2/ Cognitive Robotics2 What Makes Object Recognition Hard? ● Translation invariance ● Scale invariance ● Rotation invariance (2D) ● Rotation invariance (3D) ● Occlusion ● Figure/ground segmentation (where is the object?) ● Articulated objects (limbs, scissors)

10/2/ Cognitive Robotics3 Template Matching ● Simplest possible object recognition scheme. ● Compare template pixels against image pixels at each image position. TemplateMatch ScoreSource image

10/2/ Cognitive Robotics4 Sketch templateMatch(const Sketch &sketch, Sketch &kernel, int istart, int jstart, int width, int height) { Sketch result("templateMatch("+sketch->getName()+")",sketch); result->setColorMap(jetMapScaled); int const npix = width * height; int const di = - (int)(width/2); int const dj = - (int)(height/2); for (int si=0; si<sketch.width; si++) for (int sj=0; sj<sketch.height; sj++) { int sum = 0; for (int ki=0; ki<width; ki++) for (int kj=0; kj<height; kj++) { int k_pix = kernel(istart+ki,jstart+kj); if ( si+di+ki >= 0 && si+di+ki < sketch.width && sj+dj+kj >= 0 && sj+dj+kj < sketch.height ) { int s_pix = sketch(si+di+ki,sj+dj+kj); sum += (s_pix - k_pix) * (s_pix - k_pix); } else sum += k_pix * k_pix; } result(si,sj) = uint( sqrt(sum/float(npix))); } result -= result->min(); return result; } Template Matcher

10/2/ Cognitive Robotics5 Limited Invariance Properties OriginalOccludedRotated FlippedSidewaysDiagonal

10/2/ Cognitive Robotics6 Color Histograms (Swain) ● Invariant to translation, 2D rotation, and scale. ● Handles some occlusion. ● But assumes object has already been segmented.

10/2/ Cognitive Robotics7 Object Classes Test Images Figure from M. A. Stricker,

10/2/ Cognitive Robotics8 Blocks World Vision ● One of the earliest computer vision domains. – Roberts (1965) used line drawings of block scenes: the first “computer vision” program. ● Simplified problem because shapes were regular. – Occlusions could be handled. ● Still a hard problem. No standard blocks world vision package exists.

10/2/ Cognitive Robotics9 AIBO Blocks World ● Matt Carson's senior thesis (CMU CSD, 2006). ● Goal: recover positions, orientations, and sizes of blocks.

10/2/ Cognitive Robotics10 Find the Block Faces

10/2/ Cognitive Robotics11 Find the Block From the Faces

10/2/ Cognitive Robotics12 AprilTags ● Robust fiducial markers created by Edwin Olson at the University of Michigan. ● Inspired by ARTag (Fiala) and ARToolkit.

10/2/ Cognitive Robotics13 How AprilTags Work (1/4) 1. Convert to greyscale and apply a Gaussian blur. 2. Compute gradient at each pixel: magnitude + direction. +

10/2/ Cognitive Robotics14 How AprilTags Work (2/4) 3. Generate a list of two-pixel “Edges”. 4. Group aligned edges into Clusters; color indicates gradient direction. 5. Fit lines to the clusters, forming Segments. Notch points toward the bright side of the line.

10/2/ Cognitive Robotics15 How AprilTags Work (3/4) 6. For each Segment, find others that begin where this segment ends. 7. Find loops of length 4, called Quads.

10/2/ Cognitive Robotics16 How AprilTags Work (4/4) 8. Decode the Quads by looking at the pixels inside the border to see if they represent a valid tag code. 9. Search for overlapping tag detections and keep only the best ones (lowest Hamming distance or largest perimeter.)

10/2/ Cognitive Robotics17 SIFT (Lowe, 2004) ● Scale-Invariant Feature Transform ● Can recognize objects independent of scale, translation, rotation, or occlusion. ● Can segment cluttered scenes. ● Slow training, but fast recognition.

10/2/ Cognitive Robotics18 How Does SIFT Work? ● Generate large numbers of features that densely cover each training object at various scales and orientations. ● A 500 x 500 pixel image may generate 2000 stable features. ● Store these features in a library. ● For recognition, find clusters of features present in the image that agree on the object position, orientation, and scale.

10/2/ Cognitive Robotics19 SIFT Feature Generation 1) Scale-space extrema detection ➔ Use differences of Gaussians to find potential interest points. 2) Keypoint localization ➔ Fit detailed model to determine location and scale. 3) Orientation assignment ➔ Assign orientations based on local image gradients. 4) Keypoint descriptor ➔ Extract description of local gradients at selected scale.

10/2/ Cognitive Robotics20 Gaussian Smoothing

10/2/ Cognitive Robotics21 Difference of Gaussians: Edge Detection Difference of Gaussians Zero Crossings = Edges

10/2/ Cognitive Robotics22 Scale Space

10/2/ Cognitive Robotics23 Scale Space Extrema

10/2/ Cognitive Robotics24 Filtering the Features

10/2/ Cognitive Robotics25 Keypoint Descriptors

10/2/ Cognitive Robotics26

10/2/ Cognitive Robotics27 Real-Time SIFT Example Fred Birchmore used SIFT to recognize soda cans. See demo videos on his blog.

10/2/ Cognitive Robotics28 SIFT in Tekkotsu ● Xinghao Pan implemented a SIFT tool for Tekkotsu: – Allow users to construct libraries of objects – Each object has a collection of representative images – User can control which SIFT features to use for matching – Java GUI provides for easy management of the library ● How to integrate SIFT with the dual coding system? – Object scale can be used to estimate distance – Match in camera space must be converted to local space

10/2/ Cognitive Robotics29 Tekkotsu SIFT Video

10/2/ Cognitive Robotics30 SIFT Tool

10/2/ Cognitive Robotics31 Object Recognition in the Brain

10/2/ Cognitive Robotics32 Object Recognition in the Brain ● Mishkin & Ungerleider: dual visual pathways. – The dorsal, “where” pathway lies in parietal cortex. – The ventral, “what” pathway lies in temporal cortex. – Lesions to these areas yield very specific effects.

10/2/ Cognitive Robotics33 The Macaque “Vision Pipeline” DJ Felleman and DC Van Essen (1991), Cerebral Cortex 1:1-47. RGC = retinal ganglion cells

10/2/ Cognitive Robotics34 Serre & Poggio (PAMI 2007): Model Based on Temporal Cortex

10/2/ Cognitive Robotics35 To Learn More About Computer and Biological Vision ● Take Tai Sing Lee's Computer Vision class, ● Take Tai Sing Lee's Computational Neuroscience class, ● There are many books on this subject. One of the classics is “Vision” by David Marr.