Horizon Map Capture

36
Horizon Map Capture H. Rushmeier, L. Balmelli, F. Bernardini IBM TJ Watson Research Center

description

Horizon Map Capture. H. Rushmeier, L. Balmelli, F. Bernardini. IBM TJ Watson Research Center. OVERVIEW. I. Why Capture Horizon Maps? II. Capture & Processing Under Ideal Conditions III. Dealing with Real World Data IV. Some Example Maps. I. Why Capture Horizon Maps?. General Problem: - PowerPoint PPT Presentation

Transcript of Horizon Map Capture

Page 1: Horizon Map Capture

Horizon Map Capture

H. Rushmeier, L. Balmelli, F. Bernardini

IBM TJ Watson Research Center

Page 2: Horizon Map Capture

I. Why Capture Horizon Maps?II. Capture & Processing Under Ideal ConditionsIII. Dealing with Real World DataIV. Some Example Maps

OVERVIEW

Page 3: Horizon Map Capture

General Problem:How do we capture and represent existing objects ?

I. Why Capture Horizon Maps?

Page 4: Horizon Map Capture

Image maps used to represent object detail:

Textures: colors

View Dependent Textures: changing colors

Normals: relit details

Surface Light Fields: all light from object

I. Why Capture Horizon Maps?

geometry

+ map

Page 5: Horizon Map Capture

I. Why Capture Horizon Maps?

Surface Light Fields

Normals

Maps

Advantages All effects included: fast rendering

Limited effects included: can’t render some effects

Disadvantages All effects included: limited editing

Limited effects included: easy to edit

Page 6: Horizon Map Capture

Goal:

Add captured cast shadows to normals maps to represent more lighting effects

Retain ability to edit

Store data in a form that is fast to render

I. Why Capture Horizon Maps?

Page 7: Horizon Map Capture

Attached versus Cast Shadows:

I. Why Capture Horizon Maps?

Page 8: Horizon Map Capture

Efficient representation of cast shadows:Horizon Maps (Max ’88)hardware rendering (Sloan & Cohen, ’00, Kautz et al. ’00)

I. Why Capture Horizon Maps?

Page 9: Horizon Map Capture

Simple Hardware Set Up

I. Why Capture Horizon Maps?

Page 10: Horizon Map Capture

Use Photometric Stereo to Compute Normals

I. Why Capture Horizon Maps?

Discard lightest and darkest values at each pixel, solve:

Li dot N,p = Gi,p

L = Light source direction, light iN = Surface normal at pGi,p = Gray scale, image I, pixel p

Page 11: Horizon Map Capture

Why not reconstruct surface from normals?

Discontinuities:

Outliers:

I. Why Capture Horizon Maps?

Results are by integration:Effect of one bad normal

spreads across image

Page 12: Horizon Map Capture

Why not reconstruct surface from normals?

I. Why Capture Horizon Maps?

Error in L dot N smaller than error in height.

Page 13: Horizon Map Capture

Why not reconstruct surface from normals?

I. Why Capture Horizon Maps?

Page 14: Horizon Map Capture

I. Why Capture Horizon Maps?

captured shadows from reconstructed heights

Page 15: Horizon Map Capture

1. Identify regions of cast shadow

II. Capture and Processing Under Ideal Conditions

Page 16: Horizon Map Capture

2. Identify height of ridge casting the shadow

II. Capture and Processing Under Ideal Conditions

Page 17: Horizon Map Capture

Ridge height exact for sharp bumps only

II. Capture and Processing Under Ideal Conditions

Page 18: Horizon Map Capture

Differentiate between bumps and grooves

II. Capture and Processing Under Ideal Conditions

Page 19: Horizon Map Capture

3. Compute horizon map for each pixel by marching in light direction for each pixel until ridge encountered

ridge height h known

find distance from pixel to ridge in

Compute angle

II. Capture and Processing Under Ideal Conditions

Page 20: Horizon Map Capture

Correcting for Finite Light Locations

III. Dealing With Real World Data

Page 21: Horizon Map Capture

Shadows aren’t really black – analyze histograms

III. Dealing With Real World Data

No spike at zero “shadow”

Page 22: Horizon Map Capture

Computing ridge locations: Identifying types of shadow edges

III. Dealing With Real World Data

Jaggy edge can cause pixel parallel to be misclassified as the “end” of the shadow

Page 23: Horizon Map Capture

Computing Ridge locations:Combining, smoothing data

III. Dealing With Real World Data

Page 24: Horizon Map Capture

IV. Some Example Maps

Page 25: Horizon Map Capture

IV. Some Example Maps

captured corrected for finite light

Page 26: Horizon Map Capture

IV. Some Example Maps

relit normals cast shadows

Page 27: Horizon Map Capture

IV. Some Example Maps

horizon map reconstructed image

Page 28: Horizon Map Capture

IV. Some Example Maps

Page 29: Horizon Map Capture

IV. Some Example Maps

Page 30: Horizon Map Capture

IV. Some Example Maps

Page 31: Horizon Map Capture

IV. Some Example Maps

Page 32: Horizon Map Capture

Editing

layers

Except for horizon maps, no pixel contains lighting information from other pixels. New horizon maps can be generated from edited ridges

IV. Some Example Maps

colors normals ridges horizonmap

Page 33: Horizon Map Capture

IV. Some Example Maps

copydelete

cyan

blue

yellow

Page 34: Horizon Map Capture

IV. Some Example Maps

copydelete

cyan

blue

yellow

Page 35: Horizon Map Capture

IV. Some Example Maps

Page 36: Horizon Map Capture