fast r-cnnweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/fast_rcnn.… · confidence produce...

56
Fast R-CNN Ross Girshick Facebook AI Research (FAIR) Work done at Microsoft Research Presented by: Nick Joodi Doug Sherman

Upload: others

Post on 25-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Fast R-CNNRoss Girshick

Facebook AI Research (FAIR)Work done at Microsoft Research

Presented by: Nick Joodi ⎸ Doug Sherman

Page 2: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Fast Region-based ConvNets (R-CNNs)

Fast Sorry about the black BG, Girshick’s slides were all black. 2

Page 3: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

The Pascal Visual Object Classes Challenge● Overview

○ Classification, Detection, Segmentation○ For each image:

■ Does it contain the class? → classification■ Where is it? → detection via bounding box

● Evaluation○ Mean Average Precision (mAP)

■ Participants submitted results in the form of confidence

■ Produce Precision Recall curves● Average precision for each class - ● Take mean to get mAP

3

Page 4: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Object detection renaissance (2013-Present)

Adapted from Fast R-CNN [R. Girshick (2015)]4

Page 5: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Object detection renaissance (2013-Present)

Adapted from Fast R-CNN [R. Girshick (2015)]5

Page 6: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Object detection renaissance (2013-Present)

Adapted from Fast R-CNN [R. Girshick (2015)]6

Page 7: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

1. Pre-existing Modelsa. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Results & Future Work

Agenda

7

Page 8: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

● R-CNN (aka “slow R-CNN”) [Girshick et al. CVPR14]● SPP-net [He et al. ECCV14]

Region-based convnets (R-CNNs)

8

Page 9: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]Adapted from Fast R-CNN [R. Girshick (2015)]9

Page 10: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]10

Page 11: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]11

Page 12: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]12

Page 13: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]13

Page 14: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]14

Page 15: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

What’s wrong with slow R-CNN?● Ad hoc training objectives

○ Fine-tune network with softmax classifier (log loss)○ Train post-hoc linear SVMs (hinge loss)○ Train post-hoc bounding-box regressors (L2 loss)

15

Page 16: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

What’s wrong with slow R-CNN?● Ad hoc training objectives

○ Fine-tune network with softmax classifier (log loss)○ Train post-hoc linear SVMs (hinge loss)○ Train post-hoc bounding-box regressors (L2 loss)

● Training is slow (84h), takes a lot of disk space

16

Page 17: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

What’s wrong with slow R-CNN?● Ad hoc training objectives

○ Fine-tune network with softmax classifier (log loss)○ Train post-hoc linear SVMs (hinge loss)○ Train post-hoc bounding-box regressors (L2 loss)

● Training is slow (84h), takes a lot of disk space● Inference (detection) is slow

○ 47s / image with VGG16 [Simonyan & Zisserman. ICLR15]○ Fixed by SPP-net [He et al. ECCV14]

17

Page 18: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

1. Pre-existing Modelsa. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Results & Future Work

Agenda

18

Page 19: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]19

Page 20: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]20

Page 21: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]21

Page 22: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]22

Page 23: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]23

Page 24: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]24

Page 25: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Pyramid Pooling Layer

25

1 2

3 4

RegionOutput of Pooling Concatenated

(w/2 x h/2)(4 x 2)

(w/4 x h/4)(2 x 1)

(w/1 x h/1)(8 x 2)

To FC

Stride/Window Size

8

4

1

2

3

4

Page 26: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]26

Page 27: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

What’s wrong with SPP-net?● Inherits the rest of R-CNN’s problems

○ Ad hoc training objective○ Training is slow (25h), takes a lot of disk space

● Introduces a new problem: cannot update parameters below SPP layer during training

27

Page 28: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]28

Page 29: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Agenda1. Pre-existing Models

a. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Results & Future Work

29

Page 30: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]30

Page 31: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]31

Page 32: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]32

Input size for SPP-net

Page 33: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]33

Page 34: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]34

Page 35: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]35

Page 36: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]36

Page 37: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

SGD Mini-Batch Method for RoIs

Adapted from Fast R-CNN [R. Girshick (2015)]37

Page 38: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Agenda1. Pre-existing Models

a. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Resultsc. Future Work

38

Page 39: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Revised loss function For the classification For the bounding box

p: Predicted RoI Classificationu: True RoI Classification

tu = (tx,ty,tw,th): Predicted Bounding Boxv = (vx,vy,vw,vh): True Bounding Box

ƛ : Controls the balance between the two losses

39

Page 40: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Revised loss function

40

Page 41: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Revised loss function

Smooth: Continuously Differentiable41

Page 42: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

1. Pre-existing Modelsa. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Results & Future Work

Agenda

42

Page 43: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Fast R-CNN● Fast test-time, like SPP-net● One network, trained in one stage● Higher mean average precision than slow R-CNN and SPP-net

43

Page 44: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]44

Page 45: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]45

Page 46: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]46

Page 47: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]47

Page 48: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]48

Page 49: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]49

Page 50: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]50

Page 51: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Agenda1. Pre-existing Models

a. “Slow” R-CNNb. SPP-net

2. Ways to improvea. SGD Mini-Batchb. New Loss Function

3. Fast R-CNNa. Architectureb. Results & Future Work

51

Page 52: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]52

Page 53: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]53

Page 54: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Adapted from Fast R-CNN [R. Girshick (2015)]54

Page 55: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

● Out-of-network region proposals○ Selective search: 2s / img; EdgeBoxes: 0.2s / img

● Fortunately, this has already been solved

S. Ren, K. He, R. Girshick & J. Sun. “Faster R'CNN: Towards Real'Time Object Detection with Region Proposal Networks.” NIPS (2015).

What’s still wrong?

55

Page 56: Fast R-CNNweb.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/Fast_RCNN.… · confidence Produce Precision Recall curves Average precision for each class - Take mean to get mAP

Fast R-CNN take-aways● End-to-end training of deep ConvNets for object detection● Fast training times● Open source for easy experimentation● A large number of ImageNet detection and COCO detection methods are

built on Fast R-CNN

56