object detection - seoulai.com20171014... · traditional object detection: pipeline input image...

25
Presenter: Dae-Yong Object Detection Part2

Upload: others

Post on 08-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Presenter: Dae-Yong

Object Detection

Part2

Page 2: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Contents

Traditional Object Detection

- Feature: Histogram of Oriented Gradient

- Classifier: Support Vector Machine

Page 3: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection

Page 4: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection: Pipeline

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Page 5: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection: Pipeline

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Page 6: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection: Pipeline

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Page 7: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection: Pipeline

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Car CarCar Pedestrian

Bus

Traffic LightTraffic Light

Page 8: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Real data is too complicate to explain what it is. FEATURE

Features in Computer Vision

- Color, Edge, Local Binary Pattern(LBP), Scale Invariant Feature Transform(SIFT),

Histogram of Oriented Gradient(HOG), …

RG

B

Color

Edge

HOG

Features in Computer Vision

- Color, Edge, Local Binary Pattern(LBP), Scale Invariant Feature Transform(SIFT),

Histogram of Oriented Gradient(HOG), …

Traditional Object Detection – Feature Extraction

Page 9: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection – Feature Extraction

Histogram of Oriented Gradient Pipeline

Input Image Compute gradient

HOG Feature Extraction

Compute Hist. of Oriented Gradient for each 8x8 Cell

8x8 cell division

It will be used for describing object

Magnitude Orientation

Page 10: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

*Magnitude = 𝒅𝒙𝟐 + 𝒅𝒚𝟐 *(Unsigned) Orientation = 𝒂𝒓𝒄𝒕𝒂𝒏𝒅𝒚

𝒅𝒙

Traditional Object Detection – Feature Extraction

How to compute Histogram of Oriented Gradient?

Magnitude Orientation

9 bins

Magnitude

Orientation 0 20 40 60 80 100 120 140 160

Page 11: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

*Magnitude = 𝒅𝒙𝟐 + 𝒅𝒚𝟐 *(Unsigned) Orientation = 𝒂𝒓𝒄𝒕𝒂𝒏𝒅𝒚

𝒅𝒙

Traditional Object Detection – Feature Extraction

How to compute Histogram of Oriented Gradient?

Magnitude Orientation

9 bins

Magnitude

Orientation 0 20 40 60 80 100 120 140 160

81

Page 12: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

*Magnitude = 𝒅𝒙𝟐 + 𝒅𝒚𝟐 *(Unsigned) Orientation = 𝒂𝒓𝒄𝒕𝒂𝒏𝒅𝒚

𝒅𝒙

Traditional Object Detection – Feature Extraction

How to compute Histogram of Oriented Gradient?

Magnitude Orientation

9 bins

Magnitude

Orientation 0 20 40 60 80 100 120 140 160

85.25 80.75

Page 13: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

*Magnitude = 𝒅𝒙𝟐 + 𝒅𝒚𝟐 *(Unsigned) Orientation = 𝒂𝒓𝒄𝒕𝒂𝒏𝒅𝒚

𝒅𝒙

Traditional Object Detection – Feature Extraction

How to compute Histogram of Oriented Gradient?

Magnitude Orientation

9 bins

Magnitude

Orientation 0 20 40 60 80 100 120 140 160

94.35 162.65

Page 14: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

*Magnitude = 𝒅𝒙𝟐 + 𝒅𝒚𝟐 *(Unsigned) Orientation = 𝒂𝒓𝒄𝒕𝒂𝒏𝒅𝒚

𝒅𝒙

Traditional Object Detection – Feature Extraction

How to compute Histogram of Oriented Gradient?

Magnitude Orientation

0 20 40 60 80 100 120 140 160

94.35 162.65 33.25 99.75

It decreases 64 dimension to 9 dimension (85%↓)

9 bins

Magnitude

Orientation 40 60 120 140 160

000

Page 15: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

How to describe TARGET OBJECT using HOG feature?

32

32

x16

This FEATURE vector describes PEDESTRIAN

4x4 cells

144-dimensional vector: HOG Feature Descriptor

Traditional Object Detection – Feature Extraction

Pre-defined patch

Page 16: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection – Candidate Generation

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

What is pre-defined patch?

- Object candidate

- Sliding Window Scheme / Object Proposal Scheme

- Designed by user

*Parameters: width, height, stride

Width: 2 pix

Height: 3 pix

Stride: 1 pix

Width: 4 pix

Height: 2 pix

Stride: 2 pix

1pixel

Page 17: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Another way to consider multiple scale/size of objects

Fixed Window

“Image Pyramid”Siz

eScale

Traditional Object Detection – Candidate Generation

Page 18: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Traditional Object Detection – Classification

Input

ImageClassification

Detection

Output

Candidate

Generation

Feature

Extraction

Support Vector Machine (SVM)

- Goal: Classify POSITIVE(+) – NEGATIVE(-)

- How: Define HYPERPLANE which maximizes the margin btw two classes

PIC: https://medium.com/@haydar_ai/learning-data-science-day-11-support-vector-machine-8ef06da91bfc

Negative Sample

Positive Sample

Margin

Page 19: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

What is the hyperplane?

3-dimensional space>> Hyperplane: plane

Support Vector Machine (SVM)

Def) A subspace of one dimension less than its ambient space

2-dimensional space>> Hyperplane: line

n-dimensional space>> Hyperplane: n-1 dim

?

𝒇 𝒙, 𝒚 = 𝒂𝒙 + 𝒃𝒚 + 𝒄 𝒇 𝒙, 𝒚, 𝒛 = 𝒂𝒙 + 𝒃𝒚 + 𝒄𝒛 + 𝒅

𝐰𝐓𝐱 = 𝟎

What we know from training data

What we need to compute

𝐰 =𝒂𝒃𝒄

𝐱 =𝒙𝒚𝟏

Page 20: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

What is the OPTIMAL hyperplane?

Support Vector Machine (SVM)

Case 1) Case 2) Case 3)

How to obtain the OPTIMAL hyperplane?

1. Select two hyperplanes which separate

the data (Gray dashed lines)

2. Maximize their distances (= margin)

Margin

Optimal Hyperplane

Data in Class A

Data in Class B

Page 21: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Two hyperplane selection

Support Vector Machine (SVM)

𝐰 ⋅ 𝐱 + 𝐛 = 𝟎

𝐰 ⋅ 𝐱 + 𝐛 ≥ 𝜹 for 𝐱 having the class A (label: 1)

𝐰 ⋅ 𝐱 + 𝐛 ≤ −𝜹 for 𝐱 having the class B (label: -1)

Data in Class A

Data in Class B

[Constraints]

Objective Function: 𝐲 𝐰 ⋅ 𝐱 + 𝐛 ≥ 𝟏

𝐰 ⋅ 𝐱 + 𝐛 = −𝜹

𝐰 ⋅ 𝐱 + 𝐛 = 𝜹

Page 22: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Maximize distance between two hyperplanes

Support Vector Machine (SVM)

𝐰 ⋅ 𝐱 + b = 𝟎

𝐰 ⋅ 𝐱 + b = −𝛿

𝐰 ⋅ 𝐱 + b = 𝛿

Maximize 𝑚 ↔ Minimize 𝐰

Distance between two hyperplanes: 𝑚 =2

w

Minimize 𝐰 subject to 𝐲 𝐰 ⋅ 𝐱 + b ≥ 1

https://www.svm-tutorial.com/2015/06/svm-understanding-math-part-3/

Numerical Optimization

Page 23: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Kernel trick

Support Vector Machine (SVM)

- How can we handle data which are not linearly separable?

→ Utilize KERNEL TRICK

https://www.youtube.com/watch?v=9NrALgHFwTo

Page 24: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car

Practice with Toy Example

COMING SOON

Page 25: Object Detection - seoulai.com20171014... · Traditional Object Detection: Pipeline Input Image Classification Detection Output Candidate Generation Feature Extraction Car Car Car