the epipolar occlusion camera - cs.purdue.edu filethe epipolar occlusion camera paul rosen voicu...

77
The Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Upload: hoangthien

Post on 10-Aug-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

The Epipolar

Occlusion Camera

Paul Rosen

Voicu Popescu

Department of Computer SciencePurdue University

Page 2: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

2

Depth images

� Expressive

� Inexpensive to

render

� Provide good LOD

control

Page 3: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

3

Depth image limitation

� Sample only what

visible from

reference viewpoint

Page 4: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

4

Depth image limitation

� Sample only what

visible from

reference viewpoint

� Missing samples

cause gaps, or

“disocclusion errors”

Page 5: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

� Even small viewpoint translations cause substantial artifacts

5

Disocclusion errors

Page 6: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

� More depth images

� Difficult to pick

viewpoints

� Many duplicate

samples

� Expensive

6

A palliative solution

Page 7: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

7

A solution: the EOC

� Render depth image with epipolar occlusion camera� EOC: non-pinhole that

gathers all samples needed as the viewpoint translates

7

Page 8: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

8

Outline

� Prior work

� EOC Construction

� EOC Rendering

� Results, discussion and future work

Page 9: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

9

Occlusion cameras

� A family of cameras whose rays reach around

occluders to gather samples that are barely

hidden from the reference viewpoint thus

needed to avoid disocclusion errors when the

viewpoint translates

Page 10: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

10

Prior work SPOC [Mei ‘05]

Page 11: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

11

Prior work DDOC [Popescu ’06, Mo ‘07]

Page 12: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

12

DDOC limitations

� Limited disocclusion capability for complex scenes

� Depth discontinuities compete for same image region

� Set of novel viewpoints for which DDOC image

has sufficient samples is defined empirically

Page 13: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

EOC Reconstruction

� Viewsegment as opposed to viewpoint

� Makes additional image space as needed to

reveal occluded samples

EOC Depth Image

13

Epipolar occlusion camera

Page 14: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

14

Construction

� Given

� A 3-D scene

� Two adjacent viewpoints L and R

� Construct camera model (i.e. set of rays) that is

� Comprehensive—samples surfaces visible from

viewpoints on segment LR

� Non-redundant—rays do not intersect so a 3-D point

has a unique projection

� Efficient—the scene is rendered interactively

Page 15: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

15

Epipolar constraints

� As viewpoint translates between L and R, samples “move” on epipolar lines

� Epipolar lines allow partitioning the disocclusion events in disjoint 1-D events

� The EOC model is constructed one epipolar line at the

time

Page 16: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

16

Construction

RL

Page 17: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

17

Construction

RL

Page 18: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

18

Construction

RL

Page 19: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

19

Construction

RL

Page 20: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

20

Construction

RL

Page 21: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

21

Construction

RL

Page 22: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

22

Construction

RL

Page 23: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

23

Construction

RL

Page 24: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

24

Construction

RL

Page 25: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

25

Construction

RL

Page 26: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

26

Construction

RL

Page 27: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

27

Construction

RL

Page 28: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

28

Construction

RL

Page 29: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

29

Construction

RL

Page 30: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

30

Construction

RL

Page 31: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

31

Construction

RL

Page 32: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

32

Construction

RL

Page 33: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

33

Construction

RL

Page 34: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

34

Construction

RL

Page 35: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

35

Construction

RL

Page 36: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

36

Construction

RL

Page 37: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

37

Construction

RL

Page 38: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

38

Construction

RL

Page 39: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

39

Construction

RL

Page 40: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

40

Construction

RL

Page 41: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

41

Construction

RL

Page 42: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

42

Construction

RL

Page 43: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

43

Construction

Thin Occluder

RL

Page 44: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

44

Construction

Thin Occluder

RL

Page 45: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

45

Construction

Thin Occluder

RL

Page 46: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

46

Construction

Thin Occluder

RL

Page 47: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

47

Construction

Thin Occluder

RL

Page 48: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

48

RL

Construction

Thin Occluder

Page 49: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

49

RL

Construction

Thin Occluder

Page 50: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

50

RL

Construction

Thin Occluder

Page 51: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

51

RL

Construction

Thin Occluder

Page 52: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

52

Construction examples

RL

Page 53: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

53

Construction examples

RL

Page 54: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

� Given a camera model, one option is ray tracing

� Trace rays back into 3-D scene

� Compute intersections with geometric primitives

� Feed-forward EOC rendering algorithm on GPU

� For each scene triangle

� Project vertices (vertex shader)

� Split into epipolar spans (geometry shader)

� For each span

� Project span endpoints (geometry shader)

� Rasterize projected span (pixel shader)

54

Page 55: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

55

Page 56: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

56

Page 57: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

57

Page 58: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

58

Page 59: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

59

Page 60: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Rendering

RL

60

Page 61: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Picket Fence

61

Page 62: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Picket Fence

62

Page 63: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Picket Fence

63

Page 64: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Using EOC Images

� Recovering 3-D positions is trivial� Rays are calculated during construction

� Depth is calculated during rendering

� Scene Reconstruction� Point based rendering is trivial

� Triangulation is more challenging

64

Page 65: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Scene Reconstruction

65

Page 66: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

PHC Projection Radial Projection

Radial Epipolar Motion

Sphere

66

Page 67: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Radial Epipolar Motion

Sphere

67

Page 68: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Radial Epipolar Motion

Armadillo

68

Page 69: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

4 Depth Images 2 EOC Images

Multiple ImagesCrossing Segments of Projection

69

Page 70: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Multiple ImagesCrossing Segments of Projection

70

4 Depth Images 2 EOC Images

Page 71: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Unity scene

71

Page 72: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Performance

72

Scene TrianglesConstruction

Time

Rendering

Time

Teapot 1K ~100 ms 19 ms

Picket Fence 1K ~100 ms 16 ms

Sphere 1K ~100 ms 36 ms

Armadillo 346K ~100 ms 1,130 ms

Unity 110K ~100 ms 1,793 ms

Bunny

1K

4K

16K

69K

~100 ms15 ms

20 ms

25 ms

68 ms

Page 73: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Conclusions

� The EOC is a robust solution to disocclusion

errors in complex scenes

� Not conservative, as only the first layer depth

discontinuities are examined

� Epipolar constraints are leveraged to separate

disocclusion errors in the image plane into a

manageable set of 1-D disocclusion errors

73

Page 74: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Future work

� The EOC is an infrastructure-level innovation� Produces a “better” depth image� Many potential applications

� Impostors, simplification, LOD

� Visibility, occlusion culling

� 3-D environment maps for reflections & refractions

� Compression, 3-D display bandwidth reduction

� The EOC generalizes the viewpoint (0-D) to a viewsegment (1-D)� Generalizations to a viewtriangle (2-D) or a viewtetrahedron (3-

D)

� Constructing occlusion camera images from photographs?� Might be possible without an intermediate 3-D reconstruction

74

Page 75: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Future work

� Apprehension about removing pinhole constraint not justified

� Non-pinhole images can be rendered quickly in feed-forward fashion

� Fast projection is not reserved for pinholes

� Effective and efficient non-pinholes open the door to

camera model design

� Abandon conventional simplicity and rigidity of camera model

� Design and dynamically optimize camera model for application and data set at hand

75

Page 76: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Acknowledgments

� NSF grant CNS-0417458

� Members of the Computer Graphics and

Visualization Lab @ Purdue

76

Page 77: The Epipolar Occlusion Camera - cs.purdue.edu fileThe Epipolar Occlusion Camera Paul Rosen Voicu Popescu Department of Computer Science Purdue University

Questions

77