01 object detection - cvut.cz · 2017-05-02 · czech technical university in prague faculty of...

34
Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Object detection outline Karel Zimmermann

Upload: others

Post on 16-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Object detection outline

Karel Zimmermann

Page 2: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Classifier:

f( ) = �1

f : RN⇥M ! {+1,�1}

f( ) = +1

Page 3: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 4: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 5: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 6: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 7: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 8: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 9: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 10: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 11: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 12: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 13: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 14: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 15: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 16: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Page 17: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Classifier:

f( ) = �1

f : RN⇥M ! {+1,�1}

f( ) = +1

Page 18: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones face detector • http://www.intel.com/technology/computing/opencv

Classifier: f : RN⇥M ! {+1,�1}

f([3.1,�1.8]) = +1

Haar-features use instead of pure pixel intensities

Page 19: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones detector • Implementation available in OpenCV: http://www.intel.com/

technology/computing/opencv

First two selected features for face detection

Page 20: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones detector • Implementation available in OpenCV: http://www.intel.com/

technology/computing/opencv

Page 21: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones detector • Implementation available in OpenCV: http://www.intel.com/

technology/computing/opencv

Page 22: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones detector • Implementation available in OpenCV: http://www.intel.com/

technology/computing/opencv Profile detector required completely different features

Page 23: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Scale-space search with a classifier • Famous application Viola Jones detector • Implementation available in OpenCV: http://www.intel.com/

technology/computing/opencv Profile detector required completely different features

Page 24: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Haar feature as 2D convolution

|0|0|0|0|0|0|0|0|0||1|1|1|1|1|1|1|1|1|

Convolutional kernel corresponding to vertical gradient

Page 25: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection1. Convolution

• Dependencies are local • Translation invariance• Few parameters (filter weights)• Stride can be greater than 1

(faster, less memory)

Input Feature Map

.

.

.

Convolutional kernel

Page 26: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detection

• Many different feature types manually designed (SIFT, HOG) • Most of them consists of convolution, spatial pool and norm Compare: SIFT Descriptor

Applyoriented filters

Spatial pool (Sum)

Normalize to unit length

Feature Vector

Image Pixels

Lowe[IJCV 2004]

Page 27: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Classical approach to object detectionTraditional Recognition Approach

Hand-designedfeature

extraction

Trainableclassifier

Image/ VideoPixels

• Features are not learned• Trainable classifier is often generic (e.g. SVM)

ObjectClass

What about learning the features?

• Learn a feature hierarchy all the way from pixels to classifier

• Each layer extracts features from the output of previous layer

• Train all layers jointly

Layer 1 Layer 2 Layer 3 Simple Classifier

Image/ VideoPixels

Shallow architecture

Deep architecture:

Page 28: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Deep convolutional neural network

Page 29: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Deep convolutional neural network

Searching for pulsars using image pattern recognition - Zhu, W.W. et al. Astrophys.J. 781 (2014)

2, 117 arXiv:1309.0776

Page 30: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Imagenet

Searching for pulsars using image pattern recognition - Zhu, W.W. et al. Astrophys.J. 781 (2014)

2, 117 arXiv:1309.0776

ImageNet Challenge 2012

[Deng et al. CVPR 2009]

• ~14 million labeled images, 20k classes

• Images gathered from Internet

• Human labels via Amazon Turk

• Challenge: 1.2 million training images, 1000 classes

A. Krizhevsky, I. Sutskever, and G. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NIPS 2012

• 14M labeled images • Human labels via

Amazon Turk

A. Krizhevsky, I. Sutskever, and G. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NIPS 2012

Page 31: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Pascal VOC object detection challengePASCAL VOC object detection

0%

10%

20%

30%

40%

50%

60%

70%

2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

mea

n Av

erag

e Pr

ecisi

on (m

AP)

year

< 2 years1.8x mAP

~5 years

Before the successful application of ConvNets

After

Precision: higher is better

Page 32: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Layer 1 filtersLayer 1 Filters

Page 33: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Filters in different layersEvolution of Features During Training

Page 34: 01 object detection - cvut.cz · 2017-05-02 · Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Imagenet Searching for pulsars using

Czech Technical University in PragueFaculty of Electrical Engineering, Department of Cybernetics

Deep convolutional nets usefull links

• Many Python/C++/Matlab frameworks with tutorials: • https://www.tensorflow.org • http://caffe.berkeleyvision.org • http://deeplearning.net/software/theano/ • http://www.vlfeat.org/matconvnet/

• Many datasets with competitions: • http://mscoco.org • http://www.image-net.org • http://host.robots.ox.ac.uk/pascal/VOC/

• Many ready-to-use applications and pre-trained models: • https://pjreddie.com/darknet/yolo/ • https://arxiv.org/abs/1512.03385