Instance Learning Boris Babenko, Ming-Hsuan Yang, Serge Belongie - - PowerPoint PPT Presentation

instance learning
SMART_READER_LITE
LIVE PREVIEW

Instance Learning Boris Babenko, Ming-Hsuan Yang, Serge Belongie - - PowerPoint PPT Presentation

Visual Tracking with Online Multiple Instance Learning Boris Babenko, Ming-Hsuan Yang, Serge Belongie Kelsie Zhao Content Goal Background: Tracking by Detection Previous Work New Tracking Solution MILTrack Online MILBoost


slide-1
SLIDE 1

Visual Tracking with Online Multiple Instance Learning

Kelsie Zhao

Boris Babenko, Ming-Hsuan Yang, Serge Belongie

slide-2
SLIDE 2

Content

  • Goal
  • Background: Tracking by Detection
  • Previous Work
  • New Tracking Solution
  • MILTrack
  • Online MILBoost
  • Experiments & Results
slide-3
SLIDE 3

Goal

Track one arbitrary object in video, given its location in first frame

slide-4
SLIDE 4

Background: Tracking by detection

  • Frame 1 is labeled, tracker location known
slide-5
SLIDE 5

Background: Tracking by detection

  • Crop one positive and some negative patches

near tracker

Negative Positive

x2 x1 x3

slide-6
SLIDE 6

Background: Tracking by detection

  • Use patches to train the classifier

Negative Positive

Classifier {(x1, 1), (x2, 0), (x3, 0)}

x2 x1 x3

slide-7
SLIDE 7

Background: Tracking by detection

  • Frame 2 comes

Classifier

slide-8
SLIDE 8

Background: Tracking by detection

  • Calculate classifier response within a range of

the old tracker location

Classifier

X Old location

slide-9
SLIDE 9

Background: Tracking by detection

  • Find the maximum response location

Classifier

X Old location X New location

slide-10
SLIDE 10

Background: Tracking by detection

  • Move tracker

Frame 1 Frame 2

slide-11
SLIDE 11

Background: Tracking by detection

  • Repeat

Negative Positive Frame 2

slide-12
SLIDE 12

Background: Tracking by detection

  • Problem: If tracker location is not precise, might

select bad training examples

slide-13
SLIDE 13

Background: Tracking by detection

  • Problem: If tracker location is not precise, might

select bad training examples Model start to degrade!

slide-14
SLIDE 14

Background: Tracking by detection

  • Problem: If tracker location is not precise, might

select bad training examples

  • How to select good training

examples? Model start to degrade!

slide-15
SLIDE 15

Previous Work

  • Solution 1: multiple positive examples around

tracker location x4 x2 x5 x1 x3

{(x1, 1), (x2, 1), (x3, 1), (x4, 0), (x5, 0)}

Classifier

slide-16
SLIDE 16

Previous Work

  • Solution 1

Might confuse classifier! x4 x2 x5 x1 x3

{(x1, 1), (x2, 1), (x3, 1), (x4, 0), (x5, 0)}

Classifier

slide-17
SLIDE 17

Previous Work

  • Solution 2: Multiple Instance Learning (MIL)

[Keeler ‘90, Dietterich et al. ‘97]

slide-18
SLIDE 18

Previous Work: Multiple Instance Learning

  • Multiple examples in one bag

[Keeler ‘90, Dietterich et al. ‘97]

x13 x12 x11 x21 x31

slide-19
SLIDE 19

Previous Work: Multiple Instance Learning

X3 X2 X1

  • Multiple examples in one bag

[Keeler ‘90, Dietterich et al. ‘97]

x13 x12 x11 x21 x31

slide-20
SLIDE 20

Previous Work: Multiple Instance Learning

(X3 , 0) (X2 , 0) (X1 , 1)

  • Multiple examples in one bag
  • One bag one label

[Keeler ‘90, Dietterich et al. ‘97]

x13 x12 x11 x21 x31

slide-21
SLIDE 21

Previous Work: Multiple Instance Learning

(X3 , 0) (X2 , 0) (X1 , 1)

  • Multiple examples in one bag
  • One bag one label
  • Bag Positive if at least one example is Positive

[Keeler ‘90, Dietterich et al. ‘97]

x13 x12 x11 x21 x31

slide-22
SLIDE 22

Previous Work: Multiple Instance Learning

{(X1, 1), (X2, 0), (X3, 0)} Classifier

(X3 , 0) (X2 , 0) (X1 , 1)

[Keeler ‘90, Dietterich et al. ‘97]

x13 x12 x11 x21 x31

slide-23
SLIDE 23

Previous Work: Multiple Instance Learning

MIL training input: 𝒀𝟐, 𝑧1 … 𝒀𝒐, 𝑧𝑜 , where, 𝒀𝒋 = 𝑦𝑗1 … 𝑦𝑗𝑛 , 𝑧𝑗 = 𝑛𝑏𝑦𝑘 𝑧𝑗𝑘

(X3 , 0) (X2 , 0) (X1 , 1) x13 x12 x11 x21 x31 [Keeler ‘90, Dietterich et al. ‘97]

slide-24
SLIDE 24

x13 x12 x11

Previous Work: Multiple Instance Learning

MIL training input: 𝒀𝟐, 𝑧1 … 𝒀𝒐, 𝑧𝑜 , where, 𝒀𝒋 = 𝑦𝑗1 … 𝑦𝑗𝑛 , 𝑧𝑗 = 𝑛𝑏𝑦𝑘 𝑧𝑗𝑘

(X3 , 0) (X2 , 0) (X1 , 1)

Bag babel is 1 if at least one instance is 1

[Keeler ‘90, Dietterich et al. ‘97] x21 x31

slide-25
SLIDE 25

Now we have training examples! How to train the classifier?

slide-26
SLIDE 26

Previous Work: MILBoost

  • MIL + boosting

Train a boosting classifier that maximizes log likelihood of bags 𝑚𝑝𝑕𝑀 = log (𝑞 𝑧𝑗 𝒀𝒋))

𝑗

where, 𝑞 𝑧𝑗 𝒀𝒋) = 1 − (1 − 𝑞 𝑧𝑗 𝑦𝑗𝑘))

𝑘

[Viola et al. ‘05]

slide-27
SLIDE 27

Previous Work: MILBoost

  • MIL + boosting

Train a boosting classifier that maximizes log likelihood of bags 𝑚𝑝𝑕𝑀 = log (𝑞 𝑧𝑗 𝒀𝒋))

𝑗

where, 𝑞 𝑧𝑗 𝒀𝒋) = 1 − (1 − 𝑞 𝑧𝑗 𝑦𝑗𝑘))

𝑘

[Viola et al. ‘05]

1 ~1

slide-28
SLIDE 28

Previous Work: MILBoost

  • Problem: need all training examples

[Viola et al. ‘05]

slide-29
SLIDE 29

Previous Work: MILBoost

But in tracking, only current frame available

[Viola et al. ‘05]

slide-30
SLIDE 30

Previous Work: MILBoost

But in tracking, only current frame available Need an online training algorithm for MIL

[Viola et al. ‘05]

slide-31
SLIDE 31

Main Contribution of this paper

  • Online-MILBoost:

Online training for MIL-based classifier

  • MILTrack

New tracking solution using Online-MILBoost

slide-32
SLIDE 32

MILTrack workflow

New frame comes in:

  • 1. Crop out a set of image patches

𝑌𝑡 = {𝑦| < 𝑡1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

X

Babenko et al., 09 1: s = 35 in authors’ experiment

slide-33
SLIDE 33

MILTrack workflow

New frame comes in:

  • 1. Crop out a set of image patches

𝑌𝑡 = {𝑦| < 𝑡1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

X

Babenko et al., 09 1: s = 35 in authors’ experiment

slide-34
SLIDE 34

MILTrack workflow

New frame comes in:

  • 1. Crop out a set of image patches

𝑌𝑡 = {𝑦| < 𝑡1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

X

1: s = 35 in authors’ experiment Babenko et al., 09

slide-35
SLIDE 35

MILTrack workflow

New frame comes in:

  • 1. Crop out a set of image patches

𝑌𝑡 = {𝑦| < 𝑡1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

X

Babenko et al., 09 1: s = 35 in authors’ experiment

slide-36
SLIDE 36

MILTrack workflow

New frame comes in:

  • 1. Crop out a set of image patches

𝑌𝑡 = {𝑦| < 𝑡1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

Babenko et al., 09 1: s = 35 in authors’ experiment

slide-37
SLIDE 37

MILTrack workflow

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

  • 2. Use MIL classifier to find new tracker location

𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

Babenko et al., 09

slide-38
SLIDE 38

MILTrack workflow

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜} 2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

  • 3. 1) Crop positive examples

𝑌𝑠 = {𝑦| < 𝑠1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

Babenko et al., 09 1: r = 5 in authors’ experiment

slide-39
SLIDE 39

MILTrack workflow

(X1 , 1) Babenko et al., 09

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜} 2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

  • 3. 1) Crop positive examples

𝑌𝑠 = {𝑦| < 𝑠1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

1: r = 5 in authors’ experiment x13 x12 x11

slide-40
SLIDE 40

MILTrack workflow

Babenko et al., 09

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜} 2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

3. 1) Crop positive examples 𝑌𝑠 = {𝑦| < 𝑠 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

  • 3. 2) Crop Negative examples

𝑌𝑠, 𝛾 = 𝑦 𝑠 𝑢𝑝 𝛾1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑏𝑥𝑏𝑧 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

1: 𝛾 = 50 in authors’ experiment

slide-41
SLIDE 41

MILTrack workflow

(X3 , 0) x31 (X2 , 0) x21 Babenko et al., 09

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜} 2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

3. 1) Crop positive examples 𝑌𝑠 = {𝑦| < 𝑠 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

  • 3. 2) Crop Negative examples

𝑌𝑠, 𝛾 = 𝑦 𝑠 𝑢𝑝 𝛾1 𝑞𝑗𝑦𝑓𝑚𝑡 𝑏𝑥𝑏𝑧 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

1: 𝛾 = 50 in authors’ experiment

slide-42
SLIDE 42

MILTrack workflow

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜} 2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

3. Crop positive and negative examples near new

  • bject location
  • 4. Online MILBoost:

Update MIL classifier with positive and negative example bags

(X3 , 0) (X2 , 0) (X1 , 1) Babenko et al., 09 x31 x21 x13 x12 x11

Classifier

slide-43
SLIDE 43

Online-MILBoost:

f1 f2 f3 …

Image patch x

Babenko et al., 09

slide-44
SLIDE 44

Online-MILBoost:

  • ℎ𝑙: a weak classifier using one feature

Image patch x

Babenko et al., 09

f1 f2 f3 … f9 …

ℎ1(𝑦) ℎ2(𝑦)

slide-45
SLIDE 45

Online-MILBoost:

  • ℎ𝑙: a weak classifier using one feature

ℎ𝑙(𝑦) = log 𝑞(𝑧 = 1|𝑔𝑙(𝑦)) 𝑞(𝑧 = 0|𝑔𝑙(𝑦))

Image patch x

Babenko et al., 09

f1 f2 f3 … ft …

ℎ𝑙(𝑦)

slide-46
SLIDE 46

Online-MILBoost:

  • ℎ𝑙: a weak classifier using one feature

ℎ𝑙(𝑦) = log 𝑞(𝑧 = 1|𝑔𝑙(𝑦)) 𝑞(𝑧 = 0|𝑔𝑙(𝑦)) with,

𝑞 𝑔𝑙 𝑦 𝑧 = 1 ~ 𝒪(𝜈1, 𝜏1) 𝑞 𝑔𝑙 𝑦 𝑧 = 0 ~ 𝒪(𝜈0, 𝜏0) 𝑞 𝑧 = 1 = 𝑞 𝑧 = 0 Image patch x

Babenko et al., 09

f1 f2 f3 … ft …

ℎ𝑙(𝑦)

slide-47
SLIDE 47

Online-MILBoost:

  • 𝑰(𝒚) : the MIL classifier made from weak

classifiers 𝑰 𝒚 = ℎ𝑙(𝑦)

𝐿 𝑙=1

Babenko et al., 09 K = 50 in authors’ experiment

Image patch x ℎ1(𝑦) ℎ𝑙(𝑦) … …

f1 f2 f3 … ft …

slide-48
SLIDE 48

Online-MILBoost:

  • Always keep a pool of M >> K weak classifier

candidates h3 h1 h2 … hM

Babenko et al., 09 M = 250 & K = 50 in authors’ experiment

slide-49
SLIDE 49

Online-MILBoost:

  • Update all M weak classifiers with positive and

negative bags

X3

{(X1, 1), (X2, 0), (X3, 0)}

X2 X1 x13 x12 x11 x21 x31

Classifier h1 Classifier h2 Classifier hM

Babenko et al., 09

slide-50
SLIDE 50

Online-MILBoost:

  • Pick best K weak classifiers to form 𝑰(𝒚),

where ℎ𝑙 = argmax

ℎ ∈ {ℎ1 … ℎ𝑁}

log 𝑀(𝐼𝑙 − 1 + ℎ) 𝑰 𝒚 = ℎ𝑙(𝑦)

𝐿 𝑙=1

where 𝐼𝑙 − 1 is the classifier made up of the first 𝑙 − 1 weak classifiers

Babenko et al., 09

slide-51
SLIDE 51

Online-MILBoost:

  • Prediction : 𝑞 𝑧 = 1 𝑦 = 𝜏(𝑰(𝒚))

𝜏 𝑦 = 1 1 + 𝑓 − 𝑦

Babenko et al., 09

slide-52
SLIDE 52

Online-MILBoost:

  • Prediction : 𝑞 𝑧 = 1 𝑦 = 𝜏(𝑰(𝒚))

𝜏 𝑦 = 1 1 + 𝑓 − 𝑦

Babenko et al., 09

ℎ1 𝑦 = 2, ℎ2 𝑦 = 1.8, ℎ3 𝑦 = 0.6

f1 f2 f3

ℎ1(𝑦) ℎ2(𝑦) ℎ3(𝑦)

slide-53
SLIDE 53

Online-MILBoost:

  • Prediction : 𝑞 𝑧 = 1 𝑦 = 𝜏(𝑰(𝒚))

𝜏 𝑢 = 1 1 + 𝑓 − 𝑢

Babenko et al., 09

𝑰 𝒚 = ℎ𝑙(𝑦)

𝐿 𝑙=1

= 4.4

f1 f2 f3

ℎ1(𝑦) ℎ2(𝑦) ℎ3(𝑦)

𝑞 𝑧 = 1 𝑦 = 𝜏 𝑰 𝒚 = 0.99 ℎ1 𝑦 = 2, ℎ2 𝑦 = 1.8, ℎ3 𝑦 = 0.6

slide-54
SLIDE 54

MILTrack workflow

New frame comes in:

1. Crop out a set of image patches 𝑌𝑡 = {𝑦| < 𝑡 𝑞𝑗𝑦𝑓𝑚𝑡 𝑔𝑠𝑝𝑛 𝑢𝑠𝑏𝑑𝑙𝑓𝑠 𝑚𝑝𝑑𝑏𝑢𝑗𝑝𝑜}

2. Use MIL classifier to find new tracker location 𝑚𝑜𝑓𝑥 = 𝑚(argmax

𝑦 ∈ 𝑌𝑡 𝑞(𝑧 = 1|𝑦))

3. Crop positive and negative examples near new object location

4. Online MILBoost: Update MIL classifier with positive and negative example bags

Babenko et al., 09

slide-55
SLIDE 55

Experiments

Datesets: 8 publicly available videos,

  • Grayscale, 320 x 240 pixels
  • Ground truth labeled every 5 frames by hand

− Babenko et al., 2009

Coke can Girl Occluded face David Occluded face 2 Tiger 1 Sylvester Tiger 2

slide-56
SLIDE 56

Experiments

Compared with:

  • OAB1

Online AdaBoost w/ 1 positive example per frame

  • OAB5

Online AdaBoost w/ 45 positive examples per frame

  • SemiBoost

Label in 1st frame only.

  • FragTrack

Static appearance model

Babenko et al., 2009

slide-57
SLIDE 57

Experiments

Evaluation criterion: Tracker position error (pixels) w.r.t. Ground truth

Babenko et al., 2009 X X

slide-58
SLIDE 58

Results

Video David

Babenko et al., 09

slide-59
SLIDE 59

Results

Position error versus Frame #, Video David

Babenko et al., 2009

slide-60
SLIDE 60

Results

Video Occluded Face

Babenko et al., 09

slide-61
SLIDE 61

Results

Position error versus Frame #, Video Occluded Face

Babenko et al., 2009

slide-62
SLIDE 62

Results

Average Center location errors (pixels)

Best Second Best Babenko et al., 2009

slide-63
SLIDE 63

Conclusion

  • Online MILBoost:

Online algorithm to update MIL-based classifier

  • Performance of “MILTrack” is stable

Babenko et al., 2009

slide-64
SLIDE 64

Discussion

  • Why it can handle occlusion?
  • Possible improvements
  • Motion Model
  • Features
  • Part based representation

Babenko et al., 2009

slide-65
SLIDE 65

Note…

Wu et al., 2013

slide-66
SLIDE 66

Note…

Wu et al., 2013

slide-67
SLIDE 67

Note…

Wu et al., 2013 Project 2 use this!

slide-68
SLIDE 68

Thank You! Q&A