HISTOGRAMS OF ORIENTATIO N GRADIENTS

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

Scale Invariant Feature Transform

SURF. Lecture6: SURF and HOG. Integral Image. Feature Evaluation with Integral Image

Scale Invariant Feature Transform

Local Features: Detection, Description & Matching

2D Image Processing Feature Descriptors

Lecture 10 Detectors and descriptors

The SIFT (Scale Invariant Feature

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

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

Human detection using histogram of oriented gradients. Srikumar Ramalingam School of Computing University of Utah

Category vs. instance recognition

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

CS 231A Computer Vision (Winter 2018) Problem Set 3

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Histograms of Oriented Gradients for Human Detection p. 1/1

Outline 7/2/201011/6/

Object Category Detection. Slides mostly from Derek Hoiem

Local Features Tutorial: Nov. 8, 04

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

Obtaining Feature Correspondences

Scale Invariant Feature Transform by David Lowe

CS4670: Computer Vision

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

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

Classification of objects from Video Data (Group 30)

Histograms of Oriented Gradients

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

Eppur si muove ( And yet it moves )

Feature descriptors and matching

Object Detection Design challenges

School of Computing University of Utah

Object Recognition with Invariant Features

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

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

PS3 Review Session. Kuan Fang CS231A 02/16/2018

Designing Applications that See Lecture 7: Object Recognition

AK Computer Vision Feature Point Detectors and Descriptors

SIFT - scale-invariant feature transform Konrad Schindler

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

Histogram of Oriented Gradients for Human Detection

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

A Novel Algorithm for Color Image matching using Wavelet-SIFT

CAP 5415 Computer Vision Fall 2012

Image processing and features

Car Detecting Method using high Resolution images

Motion Estimation and Optical Flow Tracking

CS 231A Computer Vision (Winter 2014) Problem Set 3

Coarse-to-fine image registration

Types of image feature and segmentation

Selective Search for Object Recognition

Local Image Features

Digital Image Processing COSC 6380/4393

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

3D Reconstruction From Multiple Views Based on Scale-Invariant Feature Transform. Wenqi Zhu

Local features: detection and description. Local invariant features

CS231A Midterm Review. Friday 5/6/2016

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

Feature Based Registration - Image Alignment

Multi-modal Registration of Visual Data. Massimiliano Corsini Visual Computing Lab, ISTI - CNR - Italy

An Exploration of the SIFT Operator. Module number: P00999 Supervisor: Prof. Philip H. S. Torr Course code: CM79

Local features: detection and description May 12 th, 2015

EE795: Computer Vision and Intelligent Systems

Matlab Tutorial. Session 2. SIFT. Gonzalo Vaca-Castano

A Statistical Consistency Check for the Space Carving Algorithm.

Image Features: Detection, Description, and Matching and their Applications

VK Multimedia Information Systems

Local Feature Detectors

Object Category Detection: Sliding Windows

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town


Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Fast Image Matching Using Multi-level Texture Descriptor

Key properties of local features

Lecture 6: Edge Detection

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

Local Image preprocessing (cont d)

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability

Human Motion Detection and Tracking for Video Surveillance

Dense 3D Reconstruction. Christiano Gava

Click to edit title style

Local Image Features

Using Geometric Blur for Point Correspondence

Computer Science Faculty, Bandar Lampung University, Bandar Lampung, Indonesia

Real-time Object Detection CS 229 Course Project

EN1610 Image Understanding Lab # 4: Corners, Interest Points, Hough Transform

Corner Detection. GV12/3072 Image Processing.

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Robotics Programming Laboratory

ECG782: Multidimensional Digital Signal Processing

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

Local invariant features

Person Detection in Images using HoG + Gentleboost. Rahul Rajan June 1st July 15th CMU Q Robotics Lab

Local Image Features

Patch-based Object Recognition. Basic Idea

Local features and image matching. Prof. Xin Yang HUST

Tri-modal Human Body Segmentation

Mobile Human Detection Systems based on Sliding Windows Approach-A Review

IMAGE-GUIDED TOURS: FAST-APPROXIMATED SIFT WITH U-SURF FEATURES

Transcription:

HISTOGRAMS OF ORIENTATIO N GRADIENTS

Histograms of Orientation Gradients Objective: object recognition Basic idea Local shape information often well described by the distribution of intensity gradients or edge directions even without precise information about the location of the edges themselves.

Algorithm Overview Divide image into small sub-images: cells Cells can be rectangular (R-HOG) or circular (C-HOG) Accumulate a histogram of edge orientations within that cell The combined histogram entries are used as the feature vector describing the object To provide better illumination invariance (lighting, shadows, etc.) normalize the cells across larger regions incorporating multiple cells: blocks

Why HOG? Capture edge or gradient structure that is very characteristic of local shape Relatively invariant to local geometric and photometric transformations Within cell rotations and translations do not affect the HOG values Illumination invariance achieved through normalization The spatial and orientation sampling densities can be tuned for different applications For human detection (Dalal and Triggs) coarse spatial sampling and fine orientation sampling works best For hand gesture recognition (Fernandez-Llorca and Lacey) finer spatial sampling and orientation sampling is required

A worked example: Dalal and Triggs CVPR 05

Colour Normalisation RGB and LAB colour spaces equivalent Gamma correction (gain) no major affect on results Greyscale only small negative effect (-1.5%) on results

Computing the Gradient Several gradient detectors tried [1,-1], [1,0,-1], [1,-8,0,8,-1], Sobel Unfiltered and Pre-filtered with Gaussian smoothing Simplest [1,0,-1] proved best Gaussian smoothing affected results negatively For colour images Compute each channel separately Choose the largest value as the gradient for that pixel

Orientation Binning Each pixel votes for an orientation according to the closest bin in the range 0 to 180 (ignore negative edge directions) 0 to 360 Bilinear smoothing to reduce aliasing effects The vote is weighted by the gradient magnitude Magnitude, Magnitude^2, edge presence absence, etc

Normalization Gradient is affected by illumination changes normalization needed Normalization takes the maximum range of a signal and stretches it to take up the maximum possible range E.g.:- A simple normalization scheme: if the range of pixel values is 50-180 out of a total of 0-255 then min=50 and max =180, normalization > (old_pix - min)*((max-min)/255)= new_pix Other normalization schemes can be used Group cells into larger blocks Normalize within the blocks This ensures that low contrast regions are stretched Overlapping blocks This ensures consistency

Dalal and Triggs results (demo)

SIFT: Introduction Matching features across different images in a common problem in computer vision. When all images are similar in nature (same scale, orientation, etc) simple corner detectors can work. But when you have images of different scales and rotations, you need to use the Scale Invariant Feature Transform. Why care about SIFT? SIFT isn't just scale invariant. You can change the following, and still get good results: Scale (duh) Rotation Illumination Viewpoint

Locate maxima/minima in DoG images (demo) The first step is to coarsely locate the maxima and minima. You iterate through each pixel and check all it's neighbours. The check is done within the current image, and also the one above and below it. X marks the current pixel. The green circles mark the neighbours. This way, a total of 26 checks are made. X is marked as a "key point" if it is the greatest or least of all 26 neighbours.

SIFT: Keypoint orientations The idea The idea is to collect gradient directions and magnitudes around each keypoint. Then we figure out the most prominent orientation(s) in that region. And we assign this orientation(s) to the keypoint. Any later calculations are done relative to this orientation. This ensures rotation invariance.

The magnitude and orientation is calculated for all pixels around the keypoint. Then, A histogram is created for this. In this histogram, the 360 degrees of orientation are broken into 36 bins (each 10 degrees). Lets say the gradient direction at a certain point (in the "orientation collection region") is 18.759 degrees, then it will go into the 10-19 degree bin. And the "amount" that is added to the bin is proportional to the magnitude of gradient at that point. Once you've done this for all pixels around the keypoint, the histogram will have a peak at some point. Above, you see the histogram peaks at 20-29 degrees. So, the keypoint is assigned orientation 3 (the third bin) Also, any peaks above 80% of the highest peak are converted into a new keypoint. This new keypoint has the same location and scale as the original. But it's orientation is equal to the other peak. So, orientation can split up one keypoint into multiple keypoints.

SIFT: Generating a feature We want to generate a very unique fingerprint for the keypoint. It should be easy to calculate. We also want it to be relatively lenient when it is being compared against other keypoints. Things are never EXACTLY same when comparing two different images. To do this, a 16x16 window around the keypoint. This 16x16 window is broken into sixteen 4x4 windows.

Gaussian Blur!

A Space Carving Approach to Surface Reconstruction Basic Idea: Volume Intersection Back-project each silhouettes Intersect back-projected volumes

Given N calibrated views/images, recover the 3D scene Problem posed as a constraint satisfaction task Photo-consistent shape recovery Practical Algorithm to perform Space Carving

Algorithm Initialize a volume V containing the true Scene For each voxel on current surface Project it to all visible input images if not photo-consistent, carve (remove) it Stop if no photo-consistent voxel found

Visibility Ordering Basic Idea: Visit Occluders first More Generally, Plane Sweep Algo:- Sweep Plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence