Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... ·...

57
Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring 2013 Credits: M. Pollefey UNC CS256, Ohad Ben-Shahar CS BGU, Wolff JUN (http://www.cs.jhu.edu/~wolff/course600.461/week9.3/index.htm)

Transcript of Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... ·...

Page 1: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Photometric Stereo, Shape from Shading SfS

Chapter 2 new F&P Guido Gerig

CS 6320, Spring 2013

Credits: M. Pollefey UNC CS256, Ohad Ben-Shahar CS BGU, Wolff JUN (http://www.cs.jhu.edu/~wolff/course600.461/week9.3/index.htm)

Page 2: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Photometric Stereo

Depth from Shading? First step: Surface Normals from Shading Second step: Re-integration of surface from Normals

Page 3: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Examples http://www.youtube.com/watch?v=sfCQ7f7PMbc&feature=related

http://www.youtube.com/watch?v=KiTA6ftyQuY

Simulated voyage over the surface of Neptune's large moon Triton http://www.youtube.com/watch?v=nwzVrC2GQXE

Page 4: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Credit: Ohad Ben-Shahar CS BGU

Page 5: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Shape from Shading

Page 6: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Photometric Stereo

• Assume: – a local shading model – a set of point sources that are infinitely

distant – a set of pictures of an object, obtained in

exactly the same camera/object configuration but using different sources

– A Lambertian object (or the specular component has been identified and removed)

Page 7: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Setting for Photometric Stereo

Multiple images with different lighting (vs binocular/geometric stereo)

Page 8: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Goal: 3D from One View and multiple Source positions

Input images Usable Data Mask

Page 9: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Scene Results

Needle Diagram: Surface Normals

Albedo

Re-lit:

Page 10: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Projection model for surface recovery - usually called a Monge patch

Page 11: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Lambertian Reflectance Map

LAMBERTIAN MODEL

E = r <n,ns> =r COS q Y

X Z

q (ps,qs,-1)

(p,q,-1)

2222 11

1

LL

LL

qpqp

qqppCOS++++

++=q

Page 12: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Wolff, November 4, 1998 12

REFLECTANCE MAP IS A VIEWER-CENTERED REPRESENTATION OF REFLECTANCE

Depth

Surface Orientation

Y

X

Z

IMAGE PLANE

z=f(x,y)

x y

dx dy

y (-f , -f , 1)

(f , f , -1)

(0,1,f ) x

(0,1,f ) x

(1,0,f )

(1,0,f ) y =

x y

Page 13: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

13

REFLECTANCE MAP IS A VIEWER-CENTERED REPRESENTATION OF REFLECTANCE

(-f x , -f y , 1) = (-p, -q, 1)

p, q comprise a gradient or gradient space representation for local surface orientation.

Reflectance map expresses the reflectance of a material directly in terms of viewer-centered representation of local surface orientation.

Wolff, November 4, 1998

Page 14: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map (ps=0, qs=0)

Page 15: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map

Credit: Ohad Ben-Shahar CS BGU

Page 16: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map

Credit: Ohad Ben-Shahar CS BGU

Page 17: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map

Page 18: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map (General)

yzq

xzp

¶¶

=

¶¶

=

isophote

( )ss qp ,

Page 19: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Reflectance Map

Given Intensity I in image, there are multiple (p,q) combinations (= surface orientations). ð Use multiple images with different light source directions.

yzq

xzp

¶¶

=

¶¶

=

Isophote I

( )ss qp ,

Page 20: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Multiple Images = Multiple Maps

Can isolate p, q as contour intersection

(p,q) I1

I2

I2 I1

Page 21: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Example: Two Views

Still not unique for certain intensity pairs.

Page 22: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Constant Albedo

Solve linear equation system to calculate 𝑁�.

Page 23: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Varying Albedo

Solution Forsyth & Ponce: For each point source, we know the source vector (by assumption). We assume we know the scaling constant of the linear camera (k). Fold the normal (N) and the reflectance (𝝆(x,y)) into one vector g, and the scaling constant and source vector into another Vj.

• Out of shadow:

• In shadow: 𝐼 𝑥, 𝑦 = 0

Page 24: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Multiple Images: Linear Least Squares Approach • Combine albedo and normal • Separate lighting parameters • More than 3 images => overdetermined system

• How to calculate albedo 𝜌 and 𝑁�?

�̅� 𝑥, 𝑦 = 𝜌 𝑥, 𝑦 𝑁�(x,y)

→ 𝑁�= 𝑔�𝑔�

, 𝜌 𝑥, 𝑦 = �̅�

: �̅�(x,y)=𝑉−1i(x,y)

Page 25: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Example LLS Input

Problem: Some regions in some images are in the shadow (no image intensity).

Page 26: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Dealing with Shadows (Missing Info)

l For each point source, we know the source vector (by assumption). We assume we know the scaling constant of the linear camera. Fold the normal and the reflectance into one vector g, and the scaling constant and source vector into another Vj

lOut of shadow: l In shadow:

I j(x,y) = 0

I j (x, y) = kB(x, y)

= kr(x, y) N(x, y) ·S j( )= g(x,y)· Vj

No partial shadow

Page 27: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Matrix Trick for Complete Shadows

• Matrix from Image Vector:

• Multiply LHS and RHS with diag matrix

I12(x,y)

I22(x,y)

..In

2(x,y)

æ

è

ç ç ç ç

ö

ø

÷ ÷ ÷ ÷

=

I1(x,y) 0 .. 00 I2(x,y) .. .... .. .. 00 .. 0 In(x,y)

æ

è

ç ç ç ç

ö

ø

÷ ÷ ÷ ÷

V1T

V2T

..Vn

T

æ

è

ç ç ç ç

ö

ø

÷ ÷ ÷ ÷

g(x,y)

Known Known Known Unknown

ð Relevant elements of the left vector and the matrix are zero at points that are in shadow.

Page 28: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Obtaining Normal and Albedo

• Given sufficient sources, we can solve the previous equation (most likely need a least squares solution) for g(x, y).

• Recall that N(x, y) is the unit normal. • This means that r(x,y) is the magnitude of

g(x, y). • This yields a check

– If the magnitude of g(x, y) is greater than 1, there’s a problem.

• And N(x, y) = g(x, y) / r(x,y).

Page 29: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Example LLS Input

Page 30: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Example LLS Result

• Reflectance / albedo:

Page 31: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Recap

• Obtain normal / orientation, no depth

IMAGE PLANE

Depth?

Surface Orientation

Page 32: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Goal

Shape as surface with depth and normal

Page 33: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Recovering a surface from normals - 1

l Recall the surface is written as

l This means the normal has the form:

l If we write the known vector g as

l Then we obtain values for the partial derivatives of the surface:

(x,y, f (x, y))

g(x,y) =g1(x, y)g2 (x, y)g3(x, y)

æ

è

ç ç

ö

ø

÷ ÷

fx (x,y) = g1(x, y) g3(x, y)( )

fy(x, y) = g2(x,y) g3(x,y)( )

N(x,y) =1

fx2 + fy

2 +1

æ

è ç

ö

ø ÷

- fx

- fy

1

æ

è

ç ç

ö

ø

÷ ÷

Page 34: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Recovering a surface from normals - 2

l Recall that mixed second partials are equal --- this gives us an integrability check. We must have:

l We can now recover the surface height at any point by integration along some path, e.g.

¶ g1(x, y) g3(x, y)( )¶y

=

¶ g2(x, y) g3(x, y)( )¶x

f (x, y) = fx (s, y)ds0

x

ò +

fy (x,t)dt0

y

ò + c

Page 35: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Height Map from Integration

How to integrate?

Page 36: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Possible Solutions

• Engineering approach: Path integration (Forsyth & Ponce)

• In general: Calculus of Variation Approaches

• Horn: Characteristic Strip Method • Kimmel, Siddiqi, Kimia, Bruckstein: Level

set method • Many others ….

Page 37: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Shape by Integation (Forsyth&Ponce) • The partial derivative gives the change in surface height

with a small step in either the x or the y direction • We can get the surface by summing these changes in

height along some path.

Page 38: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Simple Algorithm Forsyth & Ponce Problem: Noise and numerical (in)accuracy are added up and result in distorted surface. Solution: Choose several different integration paths, and build average height map.

Page 39: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Mathematical Property: Integrability

• Smooth, C2 continuous surface: 𝑍(𝑥, 𝑦)𝑥𝑥=𝑍(𝑥, 𝑦)𝑥𝑥

ð 𝜕𝑝𝜕𝑥

=𝜕𝑞𝜕𝑥

ð check if (𝜕𝑝𝜕𝑥

− 𝜕𝑞𝜕𝑥

)2 is small

Page 40: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Wolff, November 4, 1998

SHAPE FROM SHADING (Calculus of Variations Approach)

• First Attempt: Minimize error in agreement with Image Irradiance Equation over the region of interest:

( ( , ) ( , ))I x y R p q dxdyobject

-òò 2

Page 41: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

SHAPE FROM SHADING (Calculus of Variations Approach)

• Better Attempt: Regularize the Minimization of error in agreement with Image Irradiance Equation over the region of interest:

p p q q I x y R p q dxdyx y x y

object

2 2 2 2 2+ + + + -òò l( ( , ) ( , ))

Wolff, November 4, 1998

Page 42: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method Horn, Chapter11, pp. 250-255

Small step in x,y → change in depth:

New values of p,q at this new point (x,y):

(r, s, t: second partial derivatives of z(x,y) w.r.t. x and y)

Hessian: curv. of surface

xpr

¶¶

=xq

yps

¶¶

=¶¶

=yqt

¶¶

=

Page 43: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method Horn, Chapter11, pp. 250-255

Irradiance Equation, Reflectance Map:

Derivatives (chain rule):

Relationship between gradient in the image and gradient in the reflectance map

Page 44: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method Horn, Chapter11, pp. 250-255

2 Equations for 3 unknowns (r,s,t): We can’t continue in artibrary direction. → Trick: Specially chosen direction

Step in image E(x,y) parallel to gradient in R

Page 45: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method Horn, Chapter11, pp. 250-255

2 Equations for 3 unknowns (r,s,t): We can’t continue in artibrary direction. → Trick: Specially chosen direction

Step in image E(x,y) parallel to gradient in R

Solving for new values for p,q:

Change in (p,q) can be computed via gradient of image

Page 46: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method

Page 47: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method

Solution of differential equations: Curve on surface

Page 48: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method

Page 49: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Horn: Characteristic Strip Method

Horn, Chapter11, pp. 250-255

Page 50: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Another Solution to SFS: Kimmel, Siddiqi, Kimia, Bruckstein

x pdf document

Page 51: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Kimmel, Siddiqi, Kimia, Bruckstein

Page 52: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Kimmel, Siddiqi, Kimia, Bruckstein

Page 53: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Kimmel, Siddiqi, Kimia, Bruckstein

Page 54: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Application Area: Geography

Page 55: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Application: Braille Code

pdf document

Page 56: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Mars Rover Heads to a New Crater NYT Sept 22, 2008

Page 57: Photometric Stereo, Shape from Shading SfS Chapter 2 new F&Pgerig/CS6320-S2015/Materials... · Photometric Stereo, Shape from Shading SfS Chapter 2 new F&P Guido Gerig CS 6320, Spring

Limitations

• Controlled lighting environment – Specular highlights? – Partial shadows? – Complex interrreflections?

• Fixed camera – Moving camera? – Multiple cameras?

=> Another approach: binocular / geometric stereo