VU Augmented Reality on Mobile Devices VU Augmented Reality on - - PowerPoint PPT Presentation

vu augmented reality on mobile devices vu augmented
SMART_READER_LITE
LIVE PREVIEW

VU Augmented Reality on Mobile Devices VU Augmented Reality on - - PowerPoint PPT Presentation

VU Augmented Reality on Mobile Devices VU Augmented Reality on Mobile Devices Introduction Introduction What is AR What is AR Interaction Techniques Navigation Collaboration Navigation, Collaboration Visualization


slide-1
SLIDE 1

VU Augmented Reality on Mobile Devices VU Augmented Reality on Mobile Devices

  • Introduction

What is AR

  • Introduction – What is AR
  • Interaction Techniques
  • Navigation Collaboration

Navigation, Collaboration

  • Visualization Techniques
  • Visual Coherence

Visual Coherence

  • Tracking

Based on material from Denis Kalkofen, TU Graz

1

,

slide-2
SLIDE 2

Visual Augmentation Visual Augmentation

  • Combine real and virtual imagery
  • Combine real and virtual imagery
  • Tracking & Registration data is used to align virtual
  • bjects within real imagery

j g y

+ =

2

slide-3
SLIDE 3

Augmented Graphics Augmented Graphics

  • Information
  • Visualization
  • Understanding
  • Virtual Objects
  • Graphics
  • Realism

3

Understanding Realism

slide-4
SLIDE 4

Spatial Arrangements Spatial Arrangements

  • Left, Right
  • In Front / Behind

In Front / Behind How do we perceive spatial arrangements?

4

slide-5
SLIDE 5

Making the Invisible visible Making the Invisible visible

  • Hidden structures &

& information

  • Superman’s Xray

Vision

  • Spatial

t? arrangement?

5

slide-6
SLIDE 6

Information display management Information display management

  • Selection
  • Placement
  • Clutter
  • Context

Context

  • Task
  • Environment

6

slide-7
SLIDE 7

XRay Vision XRay Vision

7

slide-8
SLIDE 8

The Depth Problem The Depth Problem

  • Where is the ball in 3D?
  • Where is the ball in 3D?
  • Same position in 2D
  • Depth cues indicate position in 3D

Depth cues indicate position in 3D

8

slide-9
SLIDE 9

[Depth]: Dynamic Cues [Depth]: Dynamic Cues

  • Motion Parallax
  • Obtained by
  • Movement of the scene
  • Movement of the camera
  • Movement of the camera

(head)

  • Speed as a function of

di t distance

  • Far distant objects

appear to move slower pp than near objects

9

slide-10
SLIDE 10

[Depth]: Disparity [Depth]: Disparity

  • The difference in distance of the projected position of
  • The difference in distance of the projected position of

the same point on the retina

  • Used in stereo displays

p y

10

slide-11
SLIDE 11

[Depth]: Static Cues [Depth]: Static Cues

  • Occlusion
  • Relative height
  • Relative size
  • Perspective
  • Brightness
  • Shadows
  • Texture Details

11

slide-12
SLIDE 12

Transparent Occluder Transparent Occluder

  • Blend foreground pixel where object is hidden
  • Blend foreground pixel where object is hidden
  • Via pixel blending & stencil masking

12

slide-13
SLIDE 13

Transparent Phantoms Transparent Phantoms

  • Entire occluder is

transparent

  • > Need scene knowledge

Via pi el blending &

  • Via pixel blending &

stencil test

Algorithm:

1. Render Phantom to stencil buffer

Algorithm:

1. Render Phantom to stencil buffer stencil buffer 2. Draw video outside the mask 3. Clear depth buffer stencil buffer 2. Draw video outside the mask 3. Clear depth buffer 4. Render virtual objects 5. Setup glBlendFunc 6. Blend video inside mask 4. Render virtual objects 5. Setup glBlendFunc 6. Blend video inside mask

13

slide-14
SLIDE 14

Transparent Phantoms Transparent Phantoms

Problem:

Blends with black if no virtual object is hidden hidden Sometimes hard to ’understand’ the

  • bject’s spatial

relationship, especially in case of multiple occluding

  • bjects

14

slide-15
SLIDE 15

Transparent Phantoms Transparent Phantoms

  • Better blend with video’s history
  • Better blend with video s history
  • Static viewpoint
  • Static hidden

background background

15

[Buchmann05]

slide-16
SLIDE 16

Problems with Simple Blending Problems with Simple Blending

  • If occluder’s transparency is very high scene may be
  • If occluder s transparency is very high, scene may be

hard to ’understand’

  • Object’s spatial relationship, especially in case of multiple

l di bj t

  • ccluding objects
  • Important depth cues and landmarks are lost

! Missing Occlusion Cues ! ! Missing Occlusion Cues !

17

slide-17
SLIDE 17

Cut Aways Cut Aways

  • Display Fully opaque hidden objects

Display Fully opaque hidden objects

  • Additional occlusion cues provided via cut-out

[Sielhorst06] [Sielhorst06]

18

slide-18
SLIDE 18

Cut Aways Cut Aways

[Bichlmeier06] [Sielhorst06]

  • Video vs. Black background
  • Left: Only hidden objects are cut

Right: Video is removed in cutting

19

  • Right: Video is removed in cutting
slide-19
SLIDE 19

Cut Away Shapes Cut Away Shapes

  • 2-1/2D Window
  • Screen aligned
  • Cut-away follows occluder‘s geometry
  • -> Need 3D Representation

> Need 3D Representation

20

[Bichlmeier06] [Furmanski04]

slide-20
SLIDE 20

Cut Away Types Cut Away Types

  • 2 1/2D Window
  • 2-1/2D Window
  • Additional Box Rendering
  • Additional perspective cue

p p

[F h92] [Fuch92]

21

[Furmanski04]

slide-21
SLIDE 21

Cut Away for Underground Infrastructure Cut Away for Underground Infrastructure

Fixed box cut away Geometry-based cut away

22

slide-22
SLIDE 22

Cut Away Types Cut Away Types

  • 2-1/2D Window Cuts
  • Additional Box
  • Box Cuts
  • Use a cubic geometry

to cut away occluder

  • Need 3D occluder

[Li07]

23

[Coffin02]

slide-23
SLIDE 23

Cut Away Types Cut Away Types

  • 2-1/2D Window
  • Additional Box
  • Box Cuts

Box Cuts

  • Tube Cuts
  • Perpendicular to

primary axis

24

[Li07]

slide-24
SLIDE 24

Cut Away Types Cut Away Types

  • 2 1/2D Window Cuts
  • 2-1/2D Window Cuts
  • Additional Box
  • Box Cuts

Box Cuts

  • Tube Cuts
  • Wedge Cuts

Wedge Cuts

  • Similar to Box Cuts
  • Use wedge instead of box

Combined Wedge [Li07]

25

g and Tube Cut

slide-25
SLIDE 25

Cut Away Types Cut Away Types

  • 2-1/2D Window Cuts
  • Additional Box
  • Box Cuts

Box Cuts

  • Tube Cuts
  • Wedge Cuts

Wedge Cuts

  • Inset Cuts
  • Multi-Object

j Occlusions

26

[Li07]

slide-26
SLIDE 26

Interactive Cut Away Creation Interactive Cut Away Creation

  • Interactive ’window’ placement
  • Interactive window placement
  • Define window corner

[Coffin02] [Bichlmeier06]

27

slide-27
SLIDE 27

Interactive Cut Away Creation Interactive Cut Away Creation

  • Li 2007
  • Interactive object

classification B d

  • Based on

classification, the system chooses the cutting type

29

slide-28
SLIDE 28

Cut-Away Problems Cut-Away Problems

  • Big cuts
  • Big cuts
  • ’Hole’ can become as big as occluder
  • > No occluder and no occlusion cue will remain

M t ll ’ tti ’ b diffi lt f bi t

  • Mentally ’uncutting’ becomes difficult for big cuts

=> Use Ghosting in such cases <=

Ghosting = Sparse representation of occluding objects

30

slide-29
SLIDE 29

Ghosting Ghosting

  • Illustrators technique
  • Illustrators technique
  • Occluder‘s most important features are kept visible to

preserve its shape, texture or landmarks. p p ,

31

khulsey.com

slide-30
SLIDE 30

Types of Preservings Types of Preservings

  • Screen door
  • Screen door
  • Easy to compute
  • Easy scalable between sparse and dense representations

I t d tt

  • Introduces pattern

32

[Viola05]

slide-31
SLIDE 31

Types of Preservings Types of Preservings

  • Perceptual driven preserving
  • Perceptual driven preserving
  • Interrante: Experiments with different types of
  • cclusion pattern

p

[Interrante95]

33

slide-32
SLIDE 32

Procedural Masks Procedural Masks

  • Static and dynamic masks
  • Static and dynamic masks

34

slide-33
SLIDE 33

Types of Preservings: Discrete Preserving Types of Preservings: Discrete Preserving

  • Interrante: Curvature = Import shape indicator
  • Interrante: Curvature = Import shape indicator
  • Preserve Ridge and Valley Lines

35

[Interrante95]

slide-34
SLIDE 34

Types of Preservings: Continous Preserving Types of Preservings: Continous Preserving

  • Non uniform transparency modulation as continuous
  • Non-uniform transparency modulation as continuous

function of occluders attributes

  • transp = f(curvature)

36

[Krueger06]

slide-35
SLIDE 35

Types of Preservings Types of Preservings

  • transparency = f(distance to hiddenobject)
  • transparency = f(distance_to_hiddenobject)

37

[Krueger06]

slide-36
SLIDE 36

Types of Preservings Types of Preservings

  • transparency = f(ShadingIntensity)
  • transparency = f(ShadingIntensity)

[B k 06]

38

[Bruckner06]

slide-37
SLIDE 37

Types of Preservings Types of Preservings

  • transparency = combination of parameters
  • transparency = combination of parameters

Curvature Dist(maskCenter) Angle(normal,viewDir) [Bichlmeier07]

39

similar to f(ShadingIntensity)

slide-38
SLIDE 38

Ghosting in AR Ghosting in AR

40

slide-39
SLIDE 39

Features from Real World Imagery Features from Real World Imagery

  • Use image based filter

g

  • peration, e.g. any type
  • f edge detector

41

slide-40
SLIDE 40

Features from Tracked Model Features from Tracked Model

  • Object-based feature

j detectors are independent from scene conditions like lighting conditions like lighting, texture

  • >gives ususally better

results

  • May suffer from poor

tracking / registration tracking / registration

42

slide-41
SLIDE 41

Sources of Features in AR Sources of Features in AR

  • Feature from video feed
  • Easily over- or underpreserving
  • Reduce overpreserving with

h brid approach hybrid approach

  • detect features only inside

tracked mask

43

slide-42
SLIDE 42

Discrete vs Continuous Preservings Discrete vs. Continuous Preservings

  • Continuous
  • Continuous
  • Can be difficult to understand
  • Less number of fully opaque pixel

Di t

  • Discrete
  • Difficult to interpolate

between level of sparseness

44

slide-43
SLIDE 43

Enhanced vs. Non-Enhanced (Video) Preserving in AR Preserving in AR

  • Discrete non enhanced preservings are difficult to
  • Discrete, non-enhanced preservings are difficult to

identify in video imagery

  • To ’understand’ the occluder, we need to perceive its

, p ghosting as one object

  • Enhance preserving to perceive ghosting or use

ti i continous preserving

45

slide-44
SLIDE 44

Problems with Context Preserving Problems with Context Preserving

  • Multiple object occlusions
  • Multiple object occlusions
  • which object to preserve?
  • Amount of preserving

p g

  • Under preserved
  • Over preserved

N d Need:

  • Better feature detectors
  • Information Filter

55

slide-45
SLIDE 45

Information Filter Information Filter

  • Online and Interactively control
  • Online and Interactively control
  • Amount

What ?

  • Location

Where ? St l H ?

  • Style

How ?

56

slide-46
SLIDE 46

Knowledge base Filter Knowledge base Filter

  • Select current set of augmentation
  • Select current set of augmentation
  • Based on current applications state
  • From data base using rule engine

P i t i t Printer maintanance

  • Step 1 open printer
  • Step 2 take out drawer

57

[Feiner93]

slide-47
SLIDE 47

Spatial Filtering: Magic Lenses Spatial Filtering: Magic Lenses

[Bier93] Bier Eric, Stone Maureen, Pier Ken, Buxton William, DeRose Tony, “T l l d M i L th th h i t f ” I di

2D

“Toolglass and Magic Lenses: the see-through interface,” In proceedings SIGGRAPH 1993, pp. 73-80

3D

[Viega96] Viega John, Conway Matthew, Williams George, Pausch Randy, “3D Magic Lenses,” In proceedings ACM Symposium on User Interface

58

Symposium on User Interface Software and Technology, 1996, pp. 51-58

2-1/2D=Flat Lens

slide-48
SLIDE 48

Spatial Filter: XRay Tunnel Spatial Filter: XRay Tunnel

  • Filter information using classification of frustum
  • Filter information using classification of frustum
  • Similar to multi-3D lenses

59

[Bane04]

slide-49
SLIDE 49

Hybrid Filter Hybrid Filter

  • Simon Julier 2002:
  • Simon Julier 2002:

1. Select area using Focus / Nimbus 2. Request augmentation from data base using selected area and task (e g find room x displayed in green) task (e.g. find room_x, displayed in green)

Query with two different distances, lt i t diff t results in two different sets of augmentation

60

[Julier02]

slide-50
SLIDE 50

Hybrid Filter Hybrid Filter

  • Mendez: ”Context driven rendering”
  • Mendez: Context driven rendering

1. Select area using a 3D magic lens (a) 2. Request object’s appereance from data base (scene graph) using lens / object combination using lens / object combination

61

[Mendez06]

slide-51
SLIDE 51

Context Driven Filtering Context Driven Filtering

  • Traditional Lenses define single style per lens
  • Traditional Lenses define single style per lens
  • CSML: Style per lens, object/group pair
  • Selectively render/filter objects inside lens e g red

Selectively render/filter objects inside lens, e.g. red lens intersects two objects (vessel trees), but renders

  • nly one (red tree)

62

[Mendez06]

slide-52
SLIDE 52

Context Driven Filtering Context Driven Filtering

  • First Lens:
  • 1. Color tumors in green
  • 2. Turn vessel trees

t t transparent

  • Second Lens:
  • Stylize only hepatic tree
  • Stylize only hepatic tree
  • Third Lens
  • Stylize only portal tree

S y e o y po a ee

[Mendez06]

63

slide-53
SLIDE 53

Fragment Reduction Fragment Reduction

  • Spatial based filter

during Scene Compositing

  • Spatial based filter - during Scene Compositing

67

slide-54
SLIDE 54

Fragment Reduction

  • During Scene Compositing -
  • During Scene Compositing -
  • Pro:
  • No knowledge needed
  • Easily applicable per

i region

  • Con:
  • Last step of rendering
  • Last step of rendering

68

slide-55
SLIDE 55

Flat G-Buffer Lens on Video Source Flat G-Buffer Lens on Video Source

70