A Discriminatively Trained, Multiscale, Deformable Part Model

Similar documents
Discriminative part-based models. Many slides based on P. Felzenszwalb

Object Detection Grammars

Visual Object Detection

DISCRIMINATIVE DECORELATION FOR CLUSTERING AND CLASSIFICATION

CS4495/6495 Introduction to Computer Vision. 8C-L3 Support Vector Machines

Machine Learning for NLP

Deep Learning for Computer Vision

Q&A of the Deformable Part Model

Loss Functions and Optimization. Lecture 3-1

FPGA Implementation of a HOG-based Pedestrian Recognition System

Improving Image Similarity With Vectors of Locally Aggregated Tensors (VLAT)

Machine Learning for NLP

Kai Yu NEC Laboratories America, Cupertino, California, USA

CS 1674: Intro to Computer Vision. Final Review. Prof. Adriana Kovashka University of Pittsburgh December 7, 2016

Kernelized Perceptron Support Vector Machines

38 1 Vol. 38, No ACTA AUTOMATICA SINICA January, Bag-of-phrases.. Image Representation Using Bag-of-phrases

Clustering with k-means and Gaussian mixture distributions

Support Vector Machine (SVM) & Kernel CE-717: Machine Learning Sharif University of Technology. M. Soleymani Fall 2012

Kernel Methods in Computer Vision

Asaf Bar Zvi Adi Hayat. Semantic Segmentation

CMU-Q Lecture 24:

Face detection and recognition. Detection Recognition Sally

Loss Functions and Optimization. Lecture 3-1

CS5670: Computer Vision

Kaggle.

Introduction to Discriminative Machine Learning

Neural networks and support vector machines

Pictorial Structures Revisited: People Detection and Articulated Pose Estimation. Department of Computer Science TU Darmstadt

Analyzing the Performance of Multilayer Neural Networks for Object Recognition

Support Vector Machine (SVM) and Kernel Methods

Mixture Models & EM. Nicholas Ruozzi University of Texas at Dallas. based on the slides of Vibhav Gogate

OBJECT DETECTION AND RECOGNITION IN DIGITAL IMAGES

Mixture Models & EM. Nicholas Ruozzi University of Texas at Dallas. based on the slides of Vibhav Gogate

EE613 Machine Learning for Engineers. Kernel methods Support Vector Machines. jean-marc odobez 2015

CSC 411 Lecture 17: Support Vector Machine

SIFT: SCALE INVARIANT FEATURE TRANSFORM BY DAVID LOWE

Boosting: Algorithms and Applications

Least Mean Squares Regression

Machine Learning. Support Vector Machines. Fabio Vandin November 20, 2017

Non-Linearity. CS 188: Artificial Intelligence. Non-Linear Separators. Non-Linear Separators. Deep Learning I

Lecture 2 - Learning Binary & Multi-class Classifiers from Labelled Training Data

CENG 793. On Machine Learning and Optimization. Sinan Kalkan

Learning by constraints and SVMs (2)

Lecture 11. Linear Soft Margin Support Vector Machines

Shape of Gaussians as Feature Descriptors

Pattern Recognition and Machine Learning. Perceptrons and Support Vector machines

Joint Optimization of Segmentation and Appearance Models

Introduction to Graphical Models

Max-Margin Additive Classifiers for Detection

Probabilistic Graphical Models

Statistical learning theory, Support vector machines, and Bioinformatics

Support Vector Machine (SVM) and Kernel Methods

Machine Learning: Chenhao Tan University of Colorado Boulder LECTURE 5

9 Classification. 9.1 Linear Classifiers

Machine Learning for Signal Processing Bayes Classification and Regression

CSCI-567: Machine Learning (Spring 2019)

Support Vector Machines and Kernel Methods

Convolutional Neural Networks

Nonlinear Support Vector Machines through Iterative Majorization and I-Splines

CPSC 340: Machine Learning and Data Mining

TUTORIAL PART 1 Unsupervised Learning

CPSC 340: Machine Learning and Data Mining

CS 343: Artificial Intelligence

LINEAR CLASSIFIERS. J. Elder CSE 4404/5327 Introduction to Machine Learning and Pattern Recognition

Active Detection via Adaptive Submodularity

Cheng Soon Ong & Christian Walder. Canberra February June 2018

One-class Label Propagation Using Local Cone Based Similarity

10-701/ Machine Learning - Midterm Exam, Fall 2010

Engineering Part IIB: Module 4F10 Statistical Pattern Processing Lecture 5: Single Layer Perceptrons & Estimating Linear Classifiers

EXAM IN STATISTICAL MACHINE LEARNING STATISTISK MASKININLĂ„RNING

Lecture 12. Neural Networks Bastian Leibe RWTH Aachen

Machine Learning Practice Page 2 of 2 10/28/13

CSE 417T: Introduction to Machine Learning. Final Review. Henry Chai 12/4/18

Applied Machine Learning Lecture 5: Linear classifiers, continued. Richard Johansson

Support Vector Machines. Introduction to Data Mining, 2 nd Edition by Tan, Steinbach, Karpatne, Kumar

Pattern Recognition and Machine Learning

Beyond the Point Cloud: From Transductive to Semi-Supervised Learning

Support Vector Machines: Training with Stochastic Gradient Descent. Machine Learning Fall 2017

Probabilistic Models for Sequence Labeling

MIRA, SVM, k-nn. Lirong Xia

Final Exam, Machine Learning, Spring 2009

Lecture 13 Visual recognition

10-701/15-781, Machine Learning: Homework 4

SUPPORT VECTOR MACHINE

Distributed Optimization via Alternating Direction Method of Multipliers

Linear & nonlinear classifiers

Multi-layer Neural Networks

Linear & nonlinear classifiers

Probabilistic Graphical Models & Applications

GRADIENT DESCENT AND LOCAL MINIMA

PCA FACE RECOGNITION

Sound Recognition in Mixtures

Mean-Shift Tracker Computer Vision (Kris Kitani) Carnegie Mellon University

Multiclass Classification-1

Linear Classifiers as Pattern Detectors

(Kernels +) Support Vector Machines

Brief Introduction of Machine Learning Techniques for Content Analysis

Fantope Regularization in Metric Learning

Support Vector Machine (SVM) and Kernel Methods

Warm up. Regrade requests submitted directly in Gradescope, do not instructors.

Transcription:

A Discriminatively Trained, Multiscale, Deformable Part Model P. Felzenszwalb, D. McAllester, and D. Ramanan Edward Hsiao 16-721 Learning Based Methods in Vision February 16, 2009 Images taken from P. Felzenszwalb, D. Ramanan, N. Dalal and B. Triggs

Overview

Histogram of Oriented Gradients (HOG) Split detection window into 8x8 non-overlapping pixel regions called cells Compute 1D histogram of gradients in each cell and discretize into 9 orientation bins Normalize histogram of each cell with the total energy in the four 2x2 blocks that contain that cell -> 9x4 feature vector Apply a linear SVM classifier

Histogram of Oriented Gradients (HOG) block Feature vector f = [,,,, ] cell 9 orientation bins 0-180 degrees normalize 9x4 feature vector per cell

Histogram of Oriented Gradients (HOG) block Feature vector f = [,,,, ] cell 9 orientation bins 0-180 degrees normalize 9x4 feature vector per cell

Histogram of Oriented Gradients (HOG) block Feature vector f = [,,,, ] cell 9 orientation bins 0-180 degrees normalize 9x4 feature vector per cell

Histogram of Oriented Gradients (HOG) block Feature vector f = [,,,, ] cell 9 orientation bins 0-180 degrees normalize 9x4 feature vector per cell

SVM Review w x = 1 2 w c = 1 w x =1 c =1 minimize 1 2 c ( w x ) 1 i w 2 i subject to c ( w i xi ) 1

Hinge Loss max( 0,1 c ( w x i i )) incorrectly classified 1 marginal correctly classified 1 1 c ( w x ) > i i 0 if incorrectly classified or inside margin arg min λ w w 2 + n i= 1 max(0,1 c i ( w x i ))

HOG & Linear SVM not pedestrian w f < 0 pedestrian w f > 0 HOG space

Histogram of Oriented Gradients (HOG) w + Positive components w - Test image HOG descriptor Negative components

Average Gradients person car motorbike

Deformable Part Models Root filter 8x8 resolution

Deformable Part Models Root filter 8x8 resolution Part filter 4x4 resolution Quadratic spatial model 2 a x + a y + b x + 2 x, i i y, i i x, i i y, i i b y

HOG Pyramid φ( H, p) concatenation of HOG features in a subwindow of the HOG pyramid H at position p = (x,y,l)

Deformable Part Models score = Root filter F 0 Part filters P 1 P n P = F, v, s, a, b ) i ( i i i i i filter response part placement

Part Models v i root filter s i,1 s i,2 b x, i = by, i part filter F i b x, i < by, i P = i ( Fi, vi, si, ai, bi ) Quadratic spatial model a x + a y + b x + b 2 2 x, i i y, i i x, i i y, i i b i 0 y

Star Graph / 1-fan root filter position part filter positions

Distance Transforms part anchor location part position quadratic distance specified by a i and b i filter response

Quadratic 1-D Distance Transform

Quadratic 1-D Distance Transform

Quadratic 1-D Distance Transform

Distance Transforms in 2-D input column distance transform full distance transform

Latent SVM HOG & Linear SVM ) ( ) ( x w x f w Φ = w = F 0 ) ~, ~, ~, ~,..., ~, ~ ~, ~, ), ), ( ( ),..., ), ( ( ), ), ( ( ( ), ( 2 2 2 1 2 1 1 1 1 0 n n n n n y x y x y x y x p x H p x H p x H z x φ φ φ = Φ )) ( max(0,1 arg min 1 2 * i n i w i w x f y w w = + = λ ), ( max ) ( ) ( z x w x f x Z z w Φ = ),,...,,,,..., ( 1 1 0 n n n b a b a F F w = ) ), ( ( ) ( 0 p x H x φ = Φ Deformable Parts & Latent SVM )) ( max(0,1 arg min 1 2 * i n i w i w x f y w w = + = λ

Semi-convexity f w ( x) = max w Φ( x, z) z Z ( x) convex in w w * = arg min λ w w 2 + i pos max(0,1 f w ( x )) + i i neg max(0,1+ f w ( x )) i If f w (x) is linear in w, this is a standard SVM (convex) If f w (x) is arbitrary, this is in general not convex If f w (x) is convex in w, the hinge loss is convex for negative examples (semi-convex) - hinge loss is convex in w if positive examples are restricted to single choice of Z(x) wˆ = arg min λ w w 2 + i pos max(0,1 w Φ( x, z i i )) + i neg max(0,1+ f w ( x )) i convex Optimization is now convex!

Coordinate Descent 1. Hold w fixed, and optimize the latent values for the positive examples z i = arg max z Z ( x i ) w Φ( x, z) 2. Hold {z i } fixed for positive examples, optimize w by solving the convex problem wˆ = arg min λ w w 2 + i pos max(0,1 w Φ( x i, z i )) + i neg max(0,1+ f w ( x i ))

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Data Mining Hard Negatives HOG Space positive examples negative examples

Model Learning Algorithm Initialize root filter Update root filter Initialize parts Update model

Root Filter Initialization Select aspect ratio and size by using a heuristic - model aspect is the mode of data - model size is largest size > 80% of the data Train initial root filter F 0 using an SVM with no latent variables - positive examples anisotropically scaled to aspect and size of filter - random negative examples

Root Filter Update Find best scoring placement of root filter that significantly overlaps the bounding box Retrain F 0 with new positive set

Part Initialization Greedily select regions in root filter with most energy Part filter initialized to subwindow at twice the resolution Quadratic deformation cost initialized to weak Gaussian

Model Update Positive examples highest scoring placement with > 50% overlap with bounding box Negative examples high scoring detections with no target object (add as many as can fit in memory) Train a new model using SVM Keep only hard examples and add more negative examples Iterate 10 times positive example hard negative example

Results PASCAL07 - Person 0.9562 0.9519 0.8720 0.8298 0.7723 0.7536 0.7186 0.6865

Results PASCAL07 - Bicycle 2.1838 2.1014 1.8149 1.6054 1.4806 1.4282 1.3662 1.3189

Results PASCAL07 - Car 1.5663 1.3875 1.2594 1.1390 1.1035 1.0645 1.0623 1.0525

Results PASCAL07 - Horse -0.3007-0.3946-0.4138-0.4254-0.4573-0.5014-0.5106-0.5499

Results - Person -1.1999-0.7230-0.0189 0.1432 0.3267 So do more realistic images give higher scores?

Superhuman 2.56!

Gradient Domain Editing g x g x ' g y g y ' f(x,y) = x, y f = g 2 f = g Decompose Edit Reconstruct (Solve Poisson Equation)

Generating a person 9 orientation bins 18 orientation bins for positive and negative

Generating a person g x initial orientation bin assignments g y initial person

Simulated Annealing higher cost P = exp ( c c T new current ) T is initially high and decreases with number of iterations

Person Score: 2.56 Score: 0.96

Generated Images Car Score: 3.14 Score: 1.57 Horse Score: 0.84 Score: -0.30

Generated Images Bicycle Score: 2.63 Score: 2.18 Cat Score: 0.80 Score: -0.71

Gradient Erasing Original Score: 0.83 Erased Score: 2.78 Difference image

Gradient Erasing Original Score: -0.76 Erased Score: 0.26 Difference image

Gradient Addition Score: 0.83 Score: 3.03

Gradient Addition Score: 2.15

Discriminatively Trained Mixtures of Deformable Part Models P. Felzenszwalb, D. McAllester, and D. Ramanan http://www.cs.uchicago.edu/~pff/latent Slide taken from P. Felzenszwalb

Questions?

Thank You