Tracking Deformable Objects with Point Clouds John Schulman, - - PowerPoint PPT Presentation

tracking deformable objects with point clouds
SMART_READER_LITE
LIVE PREVIEW

Tracking Deformable Objects with Point Clouds John Schulman, - - PowerPoint PPT Presentation

Tracking Deformable Objects with Point Clouds John Schulman, Alex Lee, Jonathan Ho, Pieter Abbeel UC Berkeley, EECS Department Thursday, July 4, 13 Goal Track deformable


slide-1
SLIDE 1

Tracking ¡Deformable ¡Objects ¡with ¡Point ¡Clouds

John ¡Schulman, ¡Alex ¡Lee, ¡Jonathan ¡Ho, ¡Pieter ¡Abbeel UC ¡Berkeley, ¡EECS ¡Department

Thursday, July 4, 13

slide-2
SLIDE 2

Goal

§ Track ¡deformable ¡objects ¡from ¡point ¡cloud ¡data § AssumpHon: ¡we ¡have ¡a ¡physical ¡model ¡of ¡the ¡object

1D 2D 3D Kinect ¡RGB Rendering ¡of ¡state ¡esHmate

Thursday, July 4, 13

slide-3
SLIDE 3

Energy ¡MinimizaHon ¡Methods

Kass, Terzopoulos, Witkin, 1988

Snakes 329

  • Fig. 7. Bottom: Stereogram of a bent piece of paper. Below:

Surface reconstruction from the outline of the paper matched using stereo snakes. The surface model is rendered from a very different viewpoint than the original to emphasize that it is a full 3D model, rather than a 2SD model.

single stereo snake on the outline

  • f a piece of
  • paper. The surface is rendered

from a very dif- ferent viewpoint than the original to emphasize that a 3D model

  • f the piece of paper has been

computed rather than merely a 2.5D model. 4.2 Motion Once a snake finds a salient visual feature, it ‘locks on.’ If the feature then begins to move slowly, the snake will simply track the same local minimum. Movement that is too rapid can cause a snake to flip into a different local minimum, but for ordinary speeds and video-rate sampling, snakes do a good job of tracking motion. Figure 8 shows eight selected frames out of a two-second video sequence. Edge-attracted snakes were in- itialized by hand on the speaker’s lips in the first

  • frame. After

that, the snakes tracked the lip movements automatically. The motion tracking was done in this case without any interframe constraints. Introducing such constraints will doubtless make the tracking

  • Fig. 8. Selected frames from a 2-second video sequence show-

ing snakes used for motion tracking. After being initialized to the speaker’s lips in the first frame, the snakes automatically track the lip movements with high accuracy.

discourage bending and stretching encourage model to match up with image

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

/ r min

x Etotal(x, y)

x: ¡state ¡esHmate ¡ ¡ ¡ ¡ ¡ ¡ ¡y: ¡observaHon

Thursday, July 4, 13

slide-4
SLIDE 4

Energy ¡MinimizaHon ¡Methods

Kass, Terzopoulos, Witkin, 1988

Snakes 329

  • Fig. 7. Bottom: Stereogram of a bent piece of paper. Below:

Surface reconstruction from the outline of the paper matched using stereo snakes. The surface model is rendered from a very different viewpoint than the original to emphasize that it is a full 3D model, rather than a 2SD model.

single stereo snake on the outline

  • f a piece of
  • paper. The surface is rendered

from a very dif- ferent viewpoint than the original to emphasize that a 3D model

  • f the piece of paper has been

computed rather than merely a 2.5D model. 4.2 Motion Once a snake finds a salient visual feature, it ‘locks on.’ If the feature then begins to move slowly, the snake will simply track the same local minimum. Movement that is too rapid can cause a snake to flip into a different local minimum, but for ordinary speeds and video-rate sampling, snakes do a good job of tracking motion. Figure 8 shows eight selected frames out of a two-second video sequence. Edge-attracted snakes were in- itialized by hand on the speaker’s lips in the first

  • frame. After

that, the snakes tracked the lip movements automatically. The motion tracking was done in this case without any interframe constraints. Introducing such constraints will doubtless make the tracking

  • Fig. 8. Selected frames from a 2-second video sequence show-

ing snakes used for motion tracking. After being initialized to the speaker’s lips in the first frame, the snakes automatically track the lip movements with high accuracy.

Padoy & Hager 2011 Saltzman et al. 2007 Wuhrer, Lang, & Shu 2012

discourage bending and stretching encourage model to match up with image

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

/ r min

x Etotal(x, y)

x: ¡state ¡esHmate ¡ ¡ ¡ ¡ ¡ ¡ ¡y: ¡observaHon

Thursday, July 4, 13

slide-5
SLIDE 5

ProbabilisHc ¡Methods

Thursday, July 4, 13

slide-6
SLIDE 6

ProbabilisHc ¡Methods

Energy minimization methods

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

min

x Etotal(x, y)

Thursday, July 4, 13

slide-7
SLIDE 7

ProbabilisHc ¡Methods

p(x, y) / e−Einternal(x)e−Eexternal(x,y) X max

x

p(x, y)

(MAP estimation)

x: ¡state ¡esHmate ¡ ¡ ¡ ¡ ¡ ¡ ¡y: ¡observaHon

Energy minimization methods

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

min

x Etotal(x, y)

Thursday, July 4, 13

slide-8
SLIDE 8

ProbabilisHc ¡Methods

p(x, y) / e−Einternal(x)e−Eexternal(x,y) X max

x

p(x, y)

(MAP estimation)

x: ¡state ¡esHmate ¡ ¡ ¡ ¡ ¡ ¡ ¡y: ¡observaHon

p(x, y) / X

z

e−E(x,y,z)

z: ¡correspondences

Energy minimization methods

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

min

x Etotal(x, y)

Thursday, July 4, 13

slide-9
SLIDE 9

ProbabilisHc ¡Methods

Figure 4: Example of a thinned graph superimposed to the origi-

Cagniart, ¡Boyer, ¡& ¡Ilic ¡2010 Hahnel, ¡Thrun ¡& ¡Burgard ¡2003 Myronenko ¡& ¡Song ¡2007

p(x, y) / e−Einternal(x)e−Eexternal(x,y) X max

x

p(x, y)

(MAP estimation)

x: ¡state ¡esHmate ¡ ¡ ¡ ¡ ¡ ¡ ¡y: ¡observaHon

p(x, y) / X

z

e−E(x,y,z)

z: ¡correspondences

Energy minimization methods

Etotal(x, y) = Einternal(x) + Eexternal(x, y)

min

x Etotal(x, y)

Thursday, July 4, 13

slide-10
SLIDE 10

Challenges

Thursday, July 4, 13

slide-11
SLIDE 11

§ ObservaHon ¡modeling:

§ correspondence ¡problem § noise § occlusions

Challenges

Thursday, July 4, 13

slide-12
SLIDE 12

§ ObservaHon ¡modeling:

§ correspondence ¡problem § noise § occlusions

§ Physical ¡constraints:

§ non-­‑penetraHon § hard ¡constraints ¡on ¡bending ¡ and ¡stretching

Challenges

Thursday, July 4, 13

slide-13
SLIDE 13

§ ObservaHon ¡modeling:

§ correspondence ¡problem § noise § occlusions

§ Physical ¡constraints:

§ non-­‑penetraHon § hard ¡constraints ¡on ¡bending ¡ and ¡stretching

Challenges ContribuHons

Thursday, July 4, 13

slide-14
SLIDE 14

§ ObservaHon ¡modeling:

§ correspondence ¡problem § noise § occlusions

§ Physical ¡constraints:

§ non-­‑penetraHon § hard ¡constraints ¡on ¡bending ¡ and ¡stretching

§ Modeling ¡contribuHon:

§ ProbabilisHc ¡model ¡that ¡captures ¡correspondence ¡ problem, ¡noise, ¡and ¡occlusions

Challenges ContribuHons

Thursday, July 4, 13

slide-15
SLIDE 15

§ ObservaHon ¡modeling:

§ correspondence ¡problem § noise § occlusions

§ Physical ¡constraints:

§ non-­‑penetraHon § hard ¡constraints ¡on ¡bending ¡ and ¡stretching

§ Modeling ¡contribuHon:

§ ProbabilisHc ¡model ¡that ¡captures ¡correspondence ¡ problem, ¡noise, ¡and ¡occlusions

§ Algorithmic ¡contribuHon:

§ ModificaHon ¡of ¡the ¡EM ¡algorithm ¡that ¡accounts ¡ for ¡physical ¡constraints § Operates ¡by ¡only ¡introducing ¡external ¡forces ¡into ¡ physics ¡simulaHon ¡engines

Challenges ContribuHons

Thursday, July 4, 13

slide-16
SLIDE 16

Preliminaries

Thursday, July 4, 13

slide-17
SLIDE 17

Preliminaries

§ Physical ¡models

Thursday, July 4, 13

slide-18
SLIDE 18

Preliminaries

§ Physical ¡models § Image ¡/ ¡point ¡cloud ¡processing

§ background ¡subtracHon ¡(may ¡have ¡false ¡posiHves ¡& ¡negaHves)

Thursday, July 4, 13

slide-19
SLIDE 19

           camera

Graphical ¡model

ObservaHon ¡Model

Thursday, July 4, 13

slide-20
SLIDE 20

           camera

Graphical ¡model

z1 = (1, 0, 0) y1 = N(x1, σ2)

y1

ObservaHon ¡Model

Thursday, July 4, 13

slide-21
SLIDE 21

             camera

Graphical ¡model

z1 = (1, 0, 0) y1 = N(x1, σ2)

y1 y2

z2 = (0, 0, 1) y2 = N(x3, σ2)

ObservaHon ¡Model

Thursday, July 4, 13

slide-22
SLIDE 22

EM ¡Algorithm

Thursday, July 4, 13

slide-23
SLIDE 23

EM ¡Algorithm

§ MAP ¡inference ¡problem:

X arg max

x

log p(x, y) = arg max

x

log X

z

p(x, y, z)

Thursday, July 4, 13

slide-24
SLIDE 24

EM ¡Algorithm

§ MAP ¡inference ¡problem: § For ¡i=1,2,3,...

X arg max

x

log p(x, y) = arg max

x

log X

z

p(x, y, z)

Thursday, July 4, 13

slide-25
SLIDE 25

EM ¡Algorithm

x

q(i)(z) = p(z|x(i−1), y) X

E Step: Calculate posterior of latent variables

§ MAP ¡inference ¡problem: § For ¡i=1,2,3,...

X arg max

x

log p(x, y) = arg max

x

log X

z

p(x, y, z)

Thursday, July 4, 13

slide-26
SLIDE 26

EM ¡Algorithm

x

q(i)(z) = p(z|x(i−1), y) X

E Step: Calculate posterior of latent variables

§ MAP ¡inference ¡problem: § For ¡i=1,2,3,...

X arg max

x

log p(x, y) = arg max

x

log X

z

p(x, y, z)

M Step: Maximize a lower bound to log-probability

|

x(i) = arg max

x

Aq(i)(x) X

Aq(i)(x) = X

z

q(i)(z) log p(x, y, z) + S(q(i))  log p(x, y)

Thursday, July 4, 13

slide-27
SLIDE 27

Modified ¡M ¡Step

Thursday, July 4, 13

slide-28
SLIDE 28

Modified ¡M ¡Step

§ Standard ¡M ¡step ¡(ith ¡iteraHon)

|

x(i) = arg max

x

Aq(i)(x) X

Thursday, July 4, 13

slide-29
SLIDE 29

Modified ¡M ¡Step

§ Standard ¡M ¡step ¡(ith ¡iteraHon) § M ¡step ¡with ¡physical ¡constraints:

§ Repeatedly ¡apply ¡forces ¡in ¡gradient ¡direcHon ¡(+ ¡damping) ¡unHl ¡convergence

fk = rxkAq(x) β ˙ x |

x(i) = arg max

x

Aq(i)(x) X

Thursday, July 4, 13

slide-30
SLIDE 30

Modified ¡M ¡Step

§ Standard ¡M ¡step ¡(ith ¡iteraHon) § M ¡step ¡with ¡physical ¡constraints:

§ Repeatedly ¡apply ¡forces ¡in ¡gradient ¡direcHon ¡(+ ¡damping) ¡unHl ¡convergence § physical ¡interpretaHon: ¡ § simulaHng ¡a ¡system ¡where ¡-­‑ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡the ¡potenHal ¡energy, ¡ § damped ¡physical ¡system ¡converges ¡to ¡local ¡minimum ¡of ¡potenHal ¡energy

fk = rxkAq(x) β ˙ x |

x(i) = arg max

x

Aq(i)(x) X

|

x Aq(i)(x)

Thursday, July 4, 13

slide-31
SLIDE 31

Real-­‑Hme ¡ImplementaHon

Thursday, July 4, 13

slide-32
SLIDE 32

Real-­‑Hme ¡ImplementaHon

§ For ¡Hme ¡t=1,2,...

§ Iterate ¡unHl ¡next ¡point ¡cloud ¡received:

§ E ¡Step § M ¡Step

Thursday, July 4, 13

slide-33
SLIDE 33

Demo ¡video

Thursday, July 4, 13

slide-34
SLIDE 34

QuanHtaHve ¡EvaluaHon ¡of ¡Accuracy

MoHon ¡capture

Thursday, July 4, 13

slide-35
SLIDE 35

Experimental ¡results

Thursday, July 4, 13

slide-36
SLIDE 36

Experimental ¡results

§ 14 ¡different ¡tasks

§ human ¡manipulates ¡rope § robot ¡manipulates ¡rope § human ¡manipulates ¡cloth

Thursday, July 4, 13

slide-37
SLIDE 37

Experimental ¡results

§ 14 ¡different ¡tasks

§ human ¡manipulates ¡rope § robot ¡manipulates ¡rope § human ¡manipulates ¡cloth

§ Succeeds ¡on ¡13/14 ¡tasks ¡with ¡2.5cm ¡mean ¡ error ¡on ¡successful ¡runs

Thursday, July 4, 13

slide-38
SLIDE 38

Summary

Thursday, July 4, 13

slide-39
SLIDE 39

Summary

§ Modeling ¡contribuHon:

§ ProbabilisHc ¡model ¡that ¡captures ¡correspondence ¡ problem, ¡noise, ¡and ¡occlusions

Thursday, July 4, 13

slide-40
SLIDE 40

Summary

§ Modeling ¡contribuHon:

§ ProbabilisHc ¡model ¡that ¡captures ¡correspondence ¡ problem, ¡noise, ¡and ¡occlusions

§ Algorithmic ¡contribuHon:

§ ModificaHon ¡of ¡the ¡EM ¡algorithm ¡that ¡can ¡account ¡for ¡ physical ¡constraints § Operates ¡by ¡only ¡introducing ¡external ¡forces ¡into ¡physics ¡ simulaHon ¡engines § Use ¡your ¡favorite ¡physics ¡engine!

Thursday, July 4, 13

slide-41
SLIDE 41

Summary

§ Modeling ¡contribuHon:

§ ProbabilisHc ¡model ¡that ¡captures ¡correspondence ¡ problem, ¡noise, ¡and ¡occlusions

§ Algorithmic ¡contribuHon:

§ ModificaHon ¡of ¡the ¡EM ¡algorithm ¡that ¡can ¡account ¡for ¡ physical ¡constraints § Operates ¡by ¡only ¡introducing ¡external ¡forces ¡into ¡physics ¡ simulaHon ¡engines § Use ¡your ¡favorite ¡physics ¡engine!

§ ImplementaHon ¡runs ¡in ¡real-­‑Hme ¡on ¡standard ¡ computer

Thursday, July 4, 13

slide-42
SLIDE 42

Thanks

Thursday, July 4, 13

slide-43
SLIDE 43

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-44
SLIDE 44

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-45
SLIDE 45

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-46
SLIDE 46

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-47
SLIDE 47

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-48
SLIDE 48

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-49
SLIDE 49

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-50
SLIDE 50

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13

slide-51
SLIDE 51

Thanks

§ Acknowledgements § Financial ¡support: ¡Intel, ¡AFOSR-­‑YIP § Open-­‑source ¡soeware: ¡Bullet, ¡PCL, ¡OpenCV, ¡ROS, ¡OpenRAVE § Code, ¡data, ¡paper: ¡ § hgp://rll.berkeley.edu/tracking § Contact ¡ § John ¡Schulman: ¡joschu@eecs.berkeley.edu

Thursday, July 4, 13