Practical SVBRDF Acquisition of 3D Objects with...

41
Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash Photography KAIST Universidad de Zaragoza, I3A § Giljoo Nam Joo Ho Lee Diego Gutierrez Min H. Kim §

Transcript of Practical SVBRDF Acquisition of 3D Objects with...

Page 1: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash Photography

KAIST Universidad de Zaragoza, I3A †

† † †§Giljoo Nam Joo Ho Lee Diego Gutierrez Min H. Kim

§

Page 2: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

2/41

Input & Output

Unstructured flash photographs 3D geometry

Page 3: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

3/41

Input & Output

Spatially-varying BRDFUnstructured flash photographs

Page 4: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

4/41

Input & Output

Reproduction in a virtual environmentUnstructured flash photographs

Page 5: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

5/41

Previous Work

[Holroyd et al., 2010] [Schwartz et al., 2013]

[Lensch et al., 2003] [Tunwattanapong et al., 2013]

Page 6: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

6/41[Riviere et al., 2015]

[Ren et al., 2011]

Previous Work

[Aittala et al., 2015]

[Hui et al., 2017]

Page 7: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

7/41

Challenges

• Limited sampling angles for BRDF acquisition

objectcamera &

light

How can we reconstruct a full BRDF from retro-reflected observations?

Page 8: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

8/41

Challenges

• Simultaneous acquisition of SVBRDF and 3D geometry

objectcamera &

light

How can we ensure 3D-2D correspondence?

same point

Page 9: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

9/41

BRDF Acquisition from Flash Photography

objectcamera &

light

n

o

df

h

hq

dq

i

( , ) ( , , )h d df f q q f=i o

• Parameter space for isotropic BRDFs

a 3D BRDF data

dq

hq

df

[Rusinkiewicz 98] [Matusik 02]

Page 10: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

10/41

BRDF Acquisition from Flash Photography

a full 3D BRDF

dq

hq

df

subsample(flash photography)

hq

df

5dq » °object

camera &light

• Limited BRDF sampling angle in flash photography

Page 11: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

11/41

• Cook-Torrance BRDF with 1D data-driven NDF

BRDF Model Validation

• Cook-Torrance BRDF with 1D data-driven NDF

( ) ( )( )( ) ( , , ) ( , ),4

dsD G Ff r r

p= +

× ×h n i o h ii on i n o

reconstructed BRDF

dq

hq

df

subsample(flash photography)

hq

df

5dq = °

a full 3D BRDF

dq

hq

dfC-T BRDFw/ 1D NDF

fit BRDF

[MERL BRDF dataset]

Page 12: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

12/41

BRDF Model Validation

• Cook-Torrance BRDF with 1D data-driven NDF

( ) ( )( )( ) ( , , ) ( , ),4

dsD G Ff r r

p= +

× ×h n i o h ii on i n o

reference reconstructed difference0

1

Page 13: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

13/41

SVBRDF Representation

• Basis BRDFs and spatial blending weights

object

( )3, ;f i o x

( )2, ;f i o x

( ) ( )1

, ; ,B

b bb

f fw=

=åi o x i o

( )1, ;f i o x

( )( ), ; :SVBRDF

, : basis BRDF

: blending weight: # of basis BRDFs

b

f

f

Bw

i o x

i o

Page 14: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

14/41

Problem Definition

, , ,minimize

bX N W F

• Objective function using photometric consistency

-2

photographs rendering

X: 3D verticesN: surface normals

W: blending weightsFb: basis BRDFs

Page 15: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

15/41

Problem Definition

( )2, , , 1 1

minimize ( ; ) ( , ; ) ( ; )( )P K

p kL f L

= =

- - ×ååbX N W F

o x i o x i x n i

• Objective function using photometric consistency

for all images & for all 3D vertices

captured radiance reconstructed radiance

X: 3D verticesN: surface normals

W: blending weightsFb: basis BRDFs

Page 16: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

16/41

Overview

• Iterative & alternating optimization of {X, N, W, Fb}

initialize update W update Fb update N update X

update SVBRDF

X: 3D verticesN: surface normals

W: blending weightsFb: basis BRDFs

Page 17: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

17/41

Data Capture

• Any camera with a flash will work

• We test two types of cameras

– Mobile phone with built-in LED

– DSLR with built-in flash

• 100 - 200 images (still/video)

example images

Page 18: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

18/41

Initialization

• Initial geometry from image-based 3D modeling COLMAP [Schönberger 2016]: SfM è MVS è meshing

point cloud high-res mesh low-res mesh(our initial geo.)

point cloud high-res mesh low-res mesh

Page 19: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

19/41

Initialization

• Initial geometry from image-based 3D modeling COLMAP [Schönberger 2016]: SfM è MVS è meshing

point cloud high-res mesh low-res mesh(our initial geo.)

initial geo.point clouds

Page 20: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

20/41

Initialization

• Initial geometry from image-based 3D modeling COLMAP [Schönberger 2016]: SfM è MVS è meshing

point cloud high-res mesh low-res mesh(our initial geo.)

point cloud high-res mesh low-res mesh

Page 21: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

21/41

Initialization

• Initial geometry from image-based 3D modeling COLMAP [Schönberger 2016]: SfM è MVS è meshing

point cloud high-res mesh our result point cloud high-res mesh our result

Page 22: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

22/41

Overview

• Iterative & alternating optimization of {X, N, W, Fb}

X: 3D verticesN: surface normals

W: blending weightsFb: basis BRDFs

initialize update W update Fb update N update X

update SVBRDF

Page 23: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

23/41

2

, , , ,, 1 1 1

minimizeP K B

p k p k p k p b bp k b

v f w= = =

æ ö¢ -ç ÷è ø

åå åbW F

Φ f

Update SVBRDF

captured reflectance reconstructed reflectance

• Re-formulate the equation w.r.t. the reflectance

( )2, , , 1 1

minimize ( ; ) ( , ; ) ( ; )( )P K

p kL f L

= =

- - ×ååbX N W F

o x i o x i x n i

update W update Fb update N update X

update SVBRDF

W: blending weightsFb: basis BRDFs

Page 24: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

24/41

• Per-vertex optimization

Update SVBRDF: Blending Weights

2,

1

1minimize s.t. 0, 12

B

b p bb

w w=

- > =åωQω r

update W update Fb update N update X

update SVBRDF

é ù é ùé ùê ú ê úê úê ú ê ú=ê úê ú ê úê úê ú ê úë û

ë û ë û

Q ω r

geometric factors& basis BRDFs

weights(unknowns)

observations

Page 25: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

25/41

Update SVBRDF: Basis BRDFs

• Optimize for all observations (NOT per-vertex)

• Hold W fixed and solve for Fb• Sparse quadratic programming

2

, , , ,1 1 1

minimizeP K B

p k p k p k p b bp k b

v f w= = =

æ ö¢ -ç ÷è ø

åå åbF

Φ f

observation basis BRDFs(unknowns)

estimated weights

update W update Fb update N update Xupdate SVBRDF

Page 26: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

26/41

Update Normals

• Per-vertex optimization

• Non-linear optimization è hard to solve!

( )21

minimize ( ; ) ( , ; , ) ( ; )( )K

kL f L

=

- - ×ån

o x i o x n i x n i

normal for BRDF normal for irradiance

update W update Fb update N update X

update SVBRDF

K: # of images

Page 27: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

27/41

Update Normals

• Per-vertex optimization

• Linear regression è easy to solve!

geometric normal( , known)

shading normal( , unknown)

update W update Fb update N update X

update SVBRDF

( )21

minimize ( ; ) ( , ; , ) ( ; )( )K

kL f L

=

- - ×ån

o x i o x n i x n i!

K: # of images

n!n

( )21

minimize ( ; ) ( , ; , ) ( ; )( )K

kL f L

=

- - ×ån

o x i o x n i inx !

Page 28: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

28/41

Update Geometry

• Screened Poisson surface reconstruction [Kazhdan 2015]

2 2minimize ( ) ( ) ( )p

p p p pdc

c a cÎ

-Ñ + åòx X

V x x x x

3D vector field fromshading normals

gradient of new geometry

squared distance ofcurrent and new geometry

: new geometry (unknown)c

update W update Fb update N

update SVBRDF

update X

Page 29: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

29/41

Update Geometry

• Screened Poisson surface reconstruction [Kazhdan 2015]

shading normalinput

geometryestimated

shading normals Nupdate

geometry X

mesh vertex

mesh edge

GT surface

update W update Fb update N

update SVBRDF

update X

Page 30: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

30/41

Iterative Optimization

• Iterate the whole process until RMSE of the test set starts to increase

geometric difference

0.00

0.01

0.02

0.03

1 3 5 7

Hau

sdor

ff di

stan

ce

iteration

photo consistency error

0.087

0.095

0.103

0.111

1 3 5 7

RM

SE

iteration

train test

update W update Fb update N update Xupdate SVBRDF

Page 31: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

31/41

Results

Page 32: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

32/41

Results

Page 33: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

33/41

Results

Page 34: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

34/41

Comparison with Previous Work

reference(NextEngine)

Xia SIGA'16(passive env. lighting)

Ours(active flashlight)

Page 35: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

35/41

Evaluation: Geometry Refinement

high low ours

0.10

63

0.09

17

0.05

93

avg. geo. diff. [mm]

reference (NextEngine)

COLMAP (low res.)

oursCOLMAP (high res.)

Page 36: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

36/41

Evaluation: Geometry Refinement

reference (NextEngine)

COLMAP (low res.)

oursCOLMAP (high res.)

high low ours

0.10

63

0.09

17

0.05

93

avg. geo. diff. [mm]

Page 37: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

37/41

Discussion: DLSR vs. Mobile Phone

• DLSRs

– Higher sensor signal-to-noise ratio

– Brighter flashlight intensity

– Does not need a darkroom

experiment setup flash + indoor lightflash in a darkroom

SNR: 85.22 dB

Page 38: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

38/41

Discussion: DLSR vs. Mobile Phone

• Mobile phones

– Better portability

– Record a video with the LED light on

Page 39: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

39/41

Limitation

• Geometry– Complex geometries cannot be reconstructed accurately from

image-based 3D modeling.• Pinecones, hair strands, etc.

• Material Appearance– Inter-reflections

– Subsurface scattering– Transparency

Page 40: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

40/41

Conclusion

• Capture images using commercial cameras with flash lights

• You will get high-quality 3D geometry & SVBRDF!

Page 41: Practical SVBRDF Acquisition of 3D Objects with ...vclab.kaist.ac.kr/siggraphasia2018p1/multiview_slides.pdf · Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash

41/41