• No results found

Dynamic 2D/3D Registration

N/A
N/A
Protected

Academic year: 2022

Share "Dynamic 2D/3D Registration "

Copied!
208
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Dynamic 2D/3D Registration

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly

(2)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Presenters

2

Computer Graphics and Geometry

Mark Pauly

Sofien Bouaziz Andrea Tagliasacchi

(3)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

3

(4)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

2008

(5)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

2008

(6)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

2008 2010

(7)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

2008 2010

(8)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

2008 2010 2013

(9)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

...

2008 2010 2013

(10)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

4

...

2008 2010

size/cost

2013

(11)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly

Dynamic 2D/3D Registration For the Kinect 5

(12)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Overview

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

6

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

Introduction

Conclusions

(13)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

RGB-D Sensors

7

http://www.openni.org

http://www.openni.org/openni-programmers-guide

(14)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Scan to scan

Registration - Examples

8

(15)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Scan to scan

Registration - Examples

8

(16)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Scan to scan

Registration - Examples

8

(17)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Scan to scan

Registration - Examples

9

Newcombe, Izadi, Hilliges, Molyneaux, Kim, Davison, Kohli, Shotton, Hodges, Fitzgibbon:

KinectFusion: Real-Time Dense Surface Mapping and Tracking, ISMAR 2011

(18)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Parameterized template to scan

Registration - Examples

10

(19)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Parameterized template to scan

Registration - Examples

10

(20)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Parameterized template to scan

Registration - Examples

10

(21)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

11

X Y

X Y

(22)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

• find a transformation that brings into alignment with

11

X Y

X Y

X Y

T ( X )

Y

Z = T ( X )

(23)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

• find a transformation that brings into alignment with

12

X Y

X Y

X Y

T ( X )

Z = T ( X )

(24)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

• find a transformation that brings into alignment with

• Two main questions:

13

X Y

T ( X )

X Y

(25)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

• find a transformation that brings into alignment with

• Two main questions:

• How do we measure the quality of the alignment?

13

X Y

T ( X )

X Y

(26)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Pairwise Registration

• Align a source model onto a target model

• find a transformation that brings into alignment with

• Two main questions:

• How do we measure the quality of the alignment?

• What transformations are allowed / good?

13

X Y

T ( X )

X Y

(27)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Issues

Pairwise Registration

14

Noise

(28)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Issues

Pairwise Registration

14

Partial matching

missing data

Noise

(29)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Issues

Pairwise Registration

14

Partial matching

missing data

Noise

Ambiguity

(30)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Issues

Pairwise Registration

14

Partial matching

missing data

Noise

Illumination changes

Ambiguity

(31)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

Overview

15

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

Introduction

Conclusions

(32)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

• Registration as energy minimization

16

arg min

T

E reg (T, X , Y )

source

target

transformation

(33)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

• Registration as energy minimization

17

Alignment Error

How do we measure the quality of the alignment?

arg min

T

E reg (T, X , Y )

E reg (T, X , Y ) = E match (T, X , Y ) + E prior (T )

(34)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

• Registration as energy minimization

18

Alignment Error

How do we measure the quality of the alignment?

Transformation Error

What transformations are allowed / good?

arg min

T

E reg (T, X , Y )

E reg (T, X , Y ) = E match (T, X , Y ) + E prior (T )

(35)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

19

• Alignment Error E reg = E match + E prior

E match (T, X , Y )

(36)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

E match (T, X , Y )

(37)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

X

E match (T, X , Y )

(38)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

Y X

E match (T, X , Y )

(39)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

Y X

T ( X )

E match (T, X , Y )

(40)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

E match Y

X

T ( X )

E match (T, X , Y )

(41)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

E match Y

X

T ( X )

E match (T, X , Y )

(42)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

distance function

=

Z

X

'(T (x), Y )dx

Registration

19

• Alignment Error E reg = E match + E prior

E match Y

X

T ( X )

E match (T, X , Y )

(43)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

(44)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

rigid

(45)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

elastic

rigid

(46)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

elastic

articulated

rigid

(47)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

elastic

articulated rigid

composite

(48)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

20

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(49)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

rigid motion

prior

(50)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(pseudo-) elastic deformation prior rigid motion

prior

(51)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(pseudo-) elastic deformation prior

skeletal model prior

rigid motion

prior

(52)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(pseudo-) elastic deformation prior

skeletal model prior

data-driven prior

rigid motion

prior

(53)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(pseudo-) elastic deformation prior

skeletal model prior

data-driven prior

rigid motion prior

?

(54)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

21

E reg = E match + E prior

elastic

articulated rigid

fluid

composite

(pseudo-) elastic deformation prior

skeletal model prior

data-driven prior

rigid motion prior

?

(55)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

E reg = E match + E prior

(56)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

E reg = E match + E prior

(57)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

(58)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

( X , Y )

Input

(59)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

( X , Y )

Input

E reg

Z 1 = T 1 ( X )

(60)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

( X , Y )

Input

E reg Z 1 = T 1 ( X )

Z 2 = T 2 ( X )

(61)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

( X , Y )

Input

E reg Z 1 = T 1 ( X )

Z 2 = T 2 ( X ) Z n = T n ( X )

. . .

(62)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Registration

22

arg min

T

E reg (T, X , Y )

source

target transformation

• Registration as energy minimization

• typically non-linear

• common solution: linearize, iterate

E reg = E match + E prior

( X , Y )

Input

T = T n

Output E reg

Z 1 = T 1 ( X ) Z 2 = T 2 ( X ) Z n = T n ( X )

. . .

(63)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

Overview

23

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

Introduction

Conclusions

(64)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration

24

(65)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration

25

source

target

(66)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration

26

source

target

transformed source

(67)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration

27

source

target

transformed source

(68)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

28

E match ( Z ) =

Z

Z

'(z, Y )dz

E reg = E match + E prior

(69)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

29

E match ( Z ) =

Z

Z

'(z, Y )dz

E reg = E match + E prior

(70)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

30

E match ( Z ) =

Z

Z

'(z, Y )dz

E reg = E match + E prior

(71)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

3D Registration - Matching

31

E match ( Z ) =

Z

Z

'(z, Y )dz E reg = E match + E prior

discretized matching cost based

on point correspondences

(72)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

32

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(73)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

32

transformed point on source

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(74)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

32

transformed point on source

corresponding point on target

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(75)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Matching

32

transformed point on source

corresponding point on target correspondence

weight

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(76)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

(77)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences

using closest points for fixed

transformation

(78)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences using closest points for fixed transformation

• Step 2: find best rigid

transformation for fixed

correspondences

(79)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences using closest points for fixed transformation

• Step 2: find best rigid transformation for fixed correspondences

Iterate until

convergence

(80)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences using closest points for fixed transformation

→ efficient data structures

• Step 2: find best rigid transformation for fixed correspondences

Iterate until

convergence

(81)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences using closest points for fixed transformation

→ efficient data structures

• Step 2: find best rigid transformation for fixed correspondences

→ closed form solution Iterate until

convergence

(82)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

33

• Step 1: find correspondences using closest points for fixed transformation

→ efficient data structures

• Step 2: find best rigid transformation for fixed correspondences

→ closed form solution Iterate until

convergence

DEMO

(83)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• (approximate) closest points→ (more) efficient data structures

34

(84)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• (approximate) closest points→ (more) efficient data structures

• weight accounts for importance (area measure) and confidence

34

(85)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• (approximate) closest points→ (more) efficient data structures

• weight accounts for importance (area measure) and confidence

• heuristics to prune or down-weigh bad correspondences

34

(86)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• (approximate) closest points→ (more) efficient data structures

• weight accounts for importance (area measure) and confidence

• heuristics to prune or down-weigh bad correspondences

34

Rusinkiewicz, Levoy: Efficient Variants of the ICP Algorithm, 3D Digital Imaging and Modeling, 2001

(87)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

35

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(88)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• Side Remark: Error norm

35

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(89)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• Side Remark: Error norm

• squared Euclidean distance is sensitive to outliers

35

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(90)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• Side Remark: Error norm

• squared Euclidean distance is sensitive to outliers

• robust norms reduce this sensitivity

35

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(91)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Example

• Iterative Closest Point (ICP) Algorithm

• Side Remark: Error norm

• squared Euclidean distance is sensitive to outliers

• robust norms reduce this sensitivity

35

Bouaziz, Tagliasacchi, Pauly: Sparse Iterative Closest Point, SGP 2013

E match ( Z ) =

X n

i=1

w i k z i P Y (z i ) k 2 2

(92)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

36

elastic

articulated rigid

fluid

composite

E reg = E match + E prior

(93)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Global Rigidity

37

E reg = E match + E prior

source transformed source

(94)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Global Rigidity

37

E prior (Z, R, t) =

X n

i=1

k z i (Rx i + t) k 2 2 E reg = E match + E prior

source transformed source

(95)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

38

E reg = E match + E prior

(96)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

38

E reg = E match + E prior

source

transformed source

(97)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

38

E prior (Z, R i | n i=1 ) =

X n

i=1

X

j 2N i

k (z j z i ) R i (x j x i ) k 2 2 E reg = E match + E prior

source

transformed source

(98)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

38

E prior (Z, R i | n i=1 ) =

X n

i=1

X

j 2N i

k (z j z i ) R i (x j x i ) k 2 2 E reg = E match + E prior

Sorkine, Alexa: As-Rigid-As-Possible Surface Modeling, SGP 2007

source

transformed source

(99)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

39

E reg = E match + E prior

DEMO source

transformed source

(100)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Local Rigidity

40

Sumner, Schmid, Pauly:

Embedded Deformation for Shape Manipulation ACM SIGGRAPH 2007

E reg = E match + E prior

Bouaziz, Deuss, Schwartzburg, Weise, Pauly:

Shape-Up: Shaping Discrete Geometry With Projection

SGP 2012

(101)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

(102)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

m p 1 p 2 p 3 p 4

(103)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

s = Pd + m,

m p 1 p 2 p 3 p 4

(104)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

s = Pd + m,

m p 1 p 2 p 3 p 4 mean shape

(105)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

s = Pd + m,

m p 1 p 2 p 3 p 4 basis mean shape

(106)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

s = Pd + m,

m p 1 p 2 p 3 p 4 basis mean shape

coefficients

(107)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

41

E reg = E match + E prior

s = Pd + m,

m p 1 p 2 p 3 p 4

d 4 d 3

d 2

+ d 1 + + + =

basis mean shape

coefficients

(108)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

42

E reg = E match + E prior

s = Pd + m,

E prior (Z, d) =

X n

i=1

k z i (P i d + m i ) k 2 2

(109)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

42

E reg = E match + E prior

s = Pd + m,

E prior (Z, d) =

X n

i=1

k z i (P i d + m i ) k 2 2

Blanz, Vetter: A Morphable Model for the Synthesis of 3D Faces

ACM SIGGRAPH 1999

(110)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

3D Registration - Prior

• Linear Model

42

E reg = E match + E prior

s = Pd + m,

E prior (Z, d) =

X n

i=1

k z i (P i d + m i ) k 2 2

Blanz, Vetter: A Morphable Model for the Synthesis of 3D Faces

ACM SIGGRAPH 1999

Weise, Bouaziz, Li, Pauly: Realtime

Performance-based Facial Animation

ACM SIGGRAPH 2011

(111)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

Overview

43

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

Introduction

Conclusions

(112)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

44

? Source

Target

(113)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

45

T

(114)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

45

T

(115)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

45

T

(116)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

45

T

(117)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration

45

T

DEMO

(118)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Matching

46

E match (Z ) =

X n

i=1

k I(x i ) J(z i ) k 2 2

E reg = E match + E prior

color value at of image

x i I

color value at of image

z i J

(119)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Lucas-Kanade

• Constant displacement field

2D Registration - Prior

47

E prior (Z ) =

X n

i=1

X

j 2N i

k (z j x j ) (z i x i ) k 2 2

E reg = E match + E prior

Lucas, Kanade: An Iterative Image Registration Technique with an Application to Stereo Vision, IJCAI 1981

(120)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Prior

48

• Lucas-Kanade

• Constant displacement field

E prior (Z ) =

X n

i=1

X

j 2N i

k (z j x j ) (z i x i ) k 2 2

E reg = E match + E prior

Lucas, Kanade: An Iterative Image Registration Technique with an Application to Stereo Vision, IJCAI 1981

(121)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Prior

• Lucas-Kanade

• Constant displacement field

E prior (Z ) =

X n

i=1

X

j 2N i

k (z j x j ) (z i x i ) k 2 2

E reg = E match + E prior

|| - ||

|| - || + || - || + || - || + || - || + + || - || + || - | | + | | - | |

Lucas, Kanade: An Iterative Image Registration Technique with an Application to Stereo Vision, IJCAI 1981

(122)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Prior

50

• Horn-Schunck

• Smooth displacement field

E prior (Z ) =

X n

i=1

k (z i x i ) 1

|N i |

X

j 2N i

(z j x j ) k 2 2

E reg = E match + E prior

Horn, Schunk: “Determining Optical Flow”, Artificial Intelligence Journal 1981

(123)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Prior

51

• Horn-Schunck

• Smooth displacement field

E prior (Z ) =

X n

i=1

k (z i x i ) 1

|N i |

X

j 2N i

(z j x j ) k 2 2

E reg = E match + E prior

Horn, Schunk: “Determining Optical Flow”, Artificial Intelligence Journal 1981

(124)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D Registration - Prior

52

• Horn-Schunck

• Smooth displacement field

E prior (Z ) =

X n

i=1

k (z i x i ) 1

|N i |

X

j 2N i

(z j x j ) k 2 2

E reg = E match + E prior

+ + + + +

+

( + )

- ||

|| 1/8

Horn, Schunk: “Determining Optical Flow”, Artificial Intelligence Journal 1981

(125)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

Overview

53

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

Introduction

Conclusions

(126)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D Registration

54

?

(127)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D Registration

54

?

(128)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D Registration

55

T

Weise, Bouaziz, Li, Pauly: Realtime

Performance-based Facial Animation,

ACM SIGGRAPH 2011

(129)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D - Matching

56

E match (Z ) = w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k I(x i ) J(f (z i )) k 2 2

E reg = E match + E prior

(130)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D - Matching

56

E match (Z ) = w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k I(x i ) J(f (z i )) k 2 2 E reg = E match + E prior

projection of the 3D vertex

in the 2D image

(131)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

2D/3D - Matching

57

f(z i ) = h f z

i,x

z i,z

f z i,y z i,z

i T

Perspective projection

f(z i ) = ⇥

z i,x z i,yT

Orthographic projection

E match (Z ) = w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k I(x i ) J(f (z i )) k 2 2

(132)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

• Applications

• Rigid Scanning

• Non-rigid Modeling

• Realtime Face Tracking

• Registration

• 3D Geometry

• 2D Images

• Combined 2D / 3D

Overview

58

Introduction

Conclusions

(133)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

• Popular Kinect application

59

(134)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(135)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(136)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(137)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(138)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(139)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning

60

(140)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

(141)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

Calibration matrix K

Depth map

(142)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

Calibration matrix K

Depth map

Smoothing

(143)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

Calibration matrix K

Depth map

Smoothing Mesh & Normals

(144)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

Alignment &

Accumulation Calibration matrix K

Depth map

Smoothing Mesh & Normals

(145)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Pipeline

61

Alignment &

Accumulation Calibration matrix K

Depth map

Smoothing Mesh & Normals

(146)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

62

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

(147)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

62

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

matching term

(148)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

62

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

matching term rigid prior

(149)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

62

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

matching term rigid prior

(150)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

63

arg min

Z t+1 , R, ˜ ˜ t

w 1

X n

i=1

k z t+1 i P Y (z t i ) k 2 2 + w 2

X n

i=1

|| z t+1 i ( ˜ R(R t x i + t t ) + ˜ t) || 2 2

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

(151)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

63

arg min

Z t+1 , R, ˜ ˜ t

w 1

X n

i=1

k z t+1 i P Y (z t i ) k 2 2 + w 2

X n

i=1

|| z t+1 i ( ˜ R(R t x i + t t ) + ˜ t) || 2 2

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

use previous estimate

= closest point

(152)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

63

arg min

Z t+1 , R, ˜ ˜ t

w 1

X n

i=1

k z t+1 i P Y (z t i ) k 2 2 + w 2

X n

i=1

|| z t+1 i ( ˜ R(R t x i + t t ) + ˜ t) || 2 2

arg min

Z,R,t

w 1

X n

i=1

k z i P Y (z i ) k 2 2 + w 2

X n

i=1

k z i (Rx i + t) k 2 2

use previous estimate

= closest point linearize rotation matrix

R t+1 = ˜ RR t

t t+1 = ˜ Rt t + ˜ t

(153)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

64

R ⇡ R ˜ =

2

4 1

1 ↵

↵ 1

3 5

Rotation matrix linearization

cos(✓ ) ⇡ 1

sin(✓ ) ⇡ ✓

(154)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

65

k z t+1 i P Y (z t i ) k 2 2

z t i

Y

P Y (z t i )

(155)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

65

k z t+1 i P Y (z t i ) k 2 2

z t i

Y

P Y (z t i )

z t i

Y

P Y (z t i )

n i

(156)

Sofien Bouaziz Andrea Tagliasacchi Mark Pauly Dynamic 2D/3D Registration For the Kinect

Rigid Scanning - Optimization

65

(n T i (z t+1 i P Y (z t i ))) 2 k z t+1 i P Y (z t i ) k 2 2

z t i

Y

P Y (z t i )

z t i

Y

P Y (z t i )

n i

Referanser

RELATERTE DOKUMENTER

[VGXW07] presented a GPU based non-rigid registration for multi-modal medical image data.. As a draw- back, this approach uses 2D-textures only and omits exploit- ing the full 3D

An original face recognition approach based on 2D and 3D Radial Geodesic Distances (RGDs), respectively computed on 2D face images and 3D face models, is proposed in this work1. In

7. Dynamic 3D Depth Keying and Shadow Interaction One application particularly well suited for ToF-cameras is real-time depth keying in dynamic 3D scenes. A feature commonly used in

All standardized geologic textures are defined in 2D (Figure 4). However the seismic data to be interpreted is in- herently 3D. 2D textures lend themselves directly to illustrate

Proposed for the registration of multi modal medical images, in the last years MI has been adapted to align a 3D model to a given image by using different renderings of the model and

Tangential point movement  velocity vectors orthogonal to surface normals... (rigid) velocity

The complete pipeline consists of following five steps: (1) DRR generation; (2) intensity-based 2D-2D deformable b-spline registration; (3) updating positions of all control points’

We presented RegistrationShop, a 3D-3D volume registra- tion system making use of 3D visualizations for the moving and fixed volumes alongside the current registration result.