• No results found

View Dependent Texturing using a Linear Basis

N/A
N/A
Protected

Academic year: 2021

Share "View Dependent Texturing using a Linear Basis"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

Neil Birkbeck, Dana Cobzas, Martin Jagersand, Adam Rachmielowski, Keith Yerex

University of Alberta

Computing Science

video

video

(2)

1. Overview of

Research Interests & Projects

• Mathematical imaging models Mathematical imaging models

• Computer vision Computer vision

• Medical imaging Medical imaging

• Robotics Robotics

• Visual Servoing Visual Servoing

(3)

CSA, Neptec, Xiphos and Barrett in Space Tele-robotics

Human-in-the-loop Human-in-the-loop

teleoperation is a current teleoperation is a current

mission bottleneck mission bottleneck

• Current ground-based Current ground-based tele-manipulation

tele-manipulation inefficient

inefficient

– Transmission delaysTransmission delays

– Non-anthophomorphic armsNon-anthophomorphic arms

• Space craft don’t fit Space craft don’t fit enough operators enough operators

Tele-operator

Shuttle flight trainer, Johnson Space Ctr

(4)

Low budget 3D from video example

• Inexpensive Inexpensive

• Quick and convenient Quick and convenient for the user

for the user

• Integrates with existing Integrates with existing SW e.g. Blender, Maya SW e.g. Blender, Maya

Capture objects

(5)

Low budget 3D from video

• Inexpensive Inexpensive

• Quick and convenient for the user

• Integrates with existing SW e.g. Blender, Maya

$100: Webcams, Digital Cams $100,000 Laser scanners etc.

(6)

Low budget 3D from video

• Inexpensive Inexpensive

• Quick and convenient Quick and convenient for the user

for the user

• Integrates with existing Integrates with existing SW e.g. Blender, Maya SW e.g. Blender, Maya

Modeling geom primitives into scenes: >>Hours

Capturing 3D from 2D video: minutes

(7)

Low budget 3D from video

• Inexpensive Inexpensive

• Quick and convenient Quick and convenient for the user

for the user

• Integrates with existing Integrates with existing

SW e.g. Blender, Maya

SW e.g. Blender, Maya

(8)

Application Case Study Modeling Inuit Artifacts

New acquisition at the UofA: A group of 8 sculptures depicting Inuit seal hunt

Acquired from sculptor by Hudson Bay Company

(9)

Application Case Study Modeling Inuit Artifacts

Results:

Results:

1. 1. A collection of 3D models of each component A collection of 3D models of each component

2. 2. Assembly of the individual models into Assembly of the individual models into animations

animations and and Internet web study material Internet web study material . .

(10)

Preliminaries:

Capturing Macro geometry:

Shape From SilhouetteShape From Silhouette

Works for objectsWorks for objects RobustRobust

Visual hull not true object surfaceVisual hull not true object surface

Structure From MotionStructure From Motion

Works for ScenesWorks for Scenes Typically sparseTypically sparse

Sometimes fragile (no salient points in scene)Sometimes fragile (no salient points in scene)

Space carvingSpace carving

Use free space constraintsUse free space constraints

(Dense “Stereo” -- later)(Dense “Stereo” -- later)

Use as second refinement stepUse as second refinement step

(11)

Incremental Free-Space Carving 2D Example

(b) New point event (a) Initial

(c) Retriangulation

& carving

(d) New camera event

Freespace

Uncarved/

occupied Cameras

In 3D: Triang  Tetrahedra Conflicts

(12)

3D Modeling System

• Online, incremental handling of new-information events

– Inputs continuously change online

– Different types of changes trigger tailored processing

(13)

3-tier Macro, Meso, Micro model

• Multi-Tiered Models: Multi-Tiered Models:

Commonly:Commonly:

Two tiers: 3D Geometry and appearance (* texture mapping)Two tiers: 3D Geometry and appearance (* texture mapping) Used in graphics applications, recovered in Vision applicationsUsed in graphics applications, recovered in Vision applications Three-TierThree-Tier

Macro scale: describes scene geometry (triangulated mesh)Macro scale: describes scene geometry (triangulated mesh) Meso scale: fine scale geometric detail (displacement map)Meso scale: fine scale geometric detail (displacement map) Micro: fine scale geometry and reflectance (Texture basis)Micro: fine scale geometry and reflectance (Texture basis) Captured by sequential refinementCaptured by sequential refinement

(14)

Geometry alone does not solve modeling!

Need: Multi-Scale Model

Modeling Modeling

(Computer vision)

(Computer vision)

Rendering Rendering

(Computer Graphics) (Computer Graphics)

Geometry

Depth

Dynamic texture

Multi-Scale model: Macro geometry, Meso depth, Micro texture Demo

(15)

Three scales map naturally to CPU and GPU hardware layers

Key issue: Efficient memory access and processing Key issue: Efficient memory access and processing

1. Macro: Conventional geometry 1. Macro: Conventional geometry

processing processing 2. Meso: Pixel shader 2. Meso: Pixel shader

– Fixed code, variable data accessFixed code, variable data access

3. Micro: Shader or Register comb.

3. Micro: Shader or Register comb.

– Fixed code, fixed data accessFixed code, fixed data access

10x 10x Speedup

(16)

2. Meso Structure:

Depth with respect to a plane

Flat texture

Flat texture Displacement Displacement mapped

mapped

(17)

Computing Meso structure:

Variational shape and reflectance

i

i i

i

i I P R

P

h( , ) ( ( )) ( , , ) )

,

(X n X X X n L

Per-point cost function

Visibility+sampling reflectance

Deformable mesh Depth from Base

2 ,n

n

k

t S

(18)

Rendering Meso Structure:

GPU: 83 pixel shader instructions

1. 1. Sample d and ray at Sample d and ray at N (say15) points. N (say15) points.

2. 2. Find point location Find point location j of intersection j of intersection

3. 3. Approximate Approximate d with line, calculate intersection d with line, calculate intersection

4. 4. Potentially iterate if needed for accuracy Potentially iterate if needed for accuracy

(19)

Results:

Over 100 fps on consumer graphics cards Over 100 fps on consumer graphics cards

Video

(20)

3. Micro structure:

Spatial texture basis

• Render a temporally varying Render a temporally varying dynamic texture dynamic texture by by modulating a linear basis:

modulating a linear basis:

• Basis contains spatial derivatives of image Basis contains spatial derivatives of image

• Rendered by linear blending Rendered by linear blending

=> fixed execution and data access pattern

=> fixed execution and data access pattern

=> very fast implementation in graphics hardware

=> very fast implementation in graphics hardware y1* +y2* +…+ym*

(21)

How/why do dynamic textures work?

I1

t

CAPTURE

I

View Re-projected

geometry

Texture warp

Texture

=

Problem:

Texture images different

3D geometry and texture warp map between views and texture images

(22)

Sources of errors:

I1

t

CAPTURE

View Re-projected

geometry

Texture warp

Texture

3D geometry and texture warp map between views and texture images

1: Planar error: Incorrect texture coordinates 2: Out of plane error:

Object surface /= texture plane

(23)

Spatial basis intro

1. Moving sine wave can be modeled:

2. Small image motion

I (t) = sin(u + at)

I = I

0

+

@u@I

É u +

@v@I

É v

Spatially fixed basis

2 basis vectors 6 basis vectors

= sin(u) cos(at) + cos(u) sin(at)

= sin(u)y1(t) + cos(u)y2(t) Spatially fixed basis

(24)

Linear basis for

spatio-temporal variation

On the object/texture plane:

On the object/texture plane:

– Variation resulting from small warp perturbationsVariation resulting from small warp perturbations – Taylor expansion:Taylor expansion:

. . . )

( view T

0

T

0

h o t T  

  

( )    h . o . t .

Similarly: Can derive linear basis for out of plane and light variation!

T0

Small if small and smooth

(25)

Geometric spatio-temporal variability

Image “warp”

Image “warp”

Image variability caused by an imperfect warp Image variability caused by an imperfect warp First order approximation

First order approximation Concrete examples

Concrete examples

Image planeImage plane Out of plane Out of plane

)) ,

( ( )

( x I W xT

T

w

W I

T    

 ( ( x ,   ))

 

 

 

 

W

T W T

T W

I

T ( ( x , ))

w

(26)

Variability due to a planar projective warp (homography)

• Homography warp Homography warp

• Projective variability: Projective variability:

• Where Where , ,

and and

u0 v0

" #

= Wh(xh; h) = 1+h7u+h1 8v h1u h3v h5 h2u h4v h6

" #

É T h = c11â@T@u;@T@vã u 0 v 0 1 0 à ucc12 à vcc12 0 u 0 v 0 1 à ucc13 à vcc13 2

4

3

5 É h1 ... É h8 2

4

3 5

c1 = 1+ h7u + h8v

c3 = h2u + h4v + h6

c

2

= h

1

u + h

3

v + h

5

= [B 1. . .B 8][y1;. . .;y8]T = Bhyh

(27)

Out-of-plane variability

• Let Let angle for ray to scene point angle for ray to scene point

• Pre-warp texture plane rearrangement: Pre-warp texture plane rearrangement:

• Texture basis Texture basis

É T p = d(u;v)â@T@u;@T@vã cos12ë 0 0 cos12ì

" #

É ë É ì

" #

= r = [ë;ì ]

î u î v

" #

= Wp(x;d) = d(u;v) tanë tanì

" #

c1

c2

Texture plane

Scene

= B pyp

Depth w.r.t. model facet

(28)

Photometric variation

Analytic formula

Analytic formula for irradiance for a convex Lambertian for irradiance for a convex Lambertian object under distant illumination (with attached shadows) object under distant illumination (with attached shadows) - - spherical harmonics spherical harmonics

[Barsi and Jacobs, Ramamoorthi and Hanrahan 2001]

[Barsi and Jacobs, Ramamoorthi and Hanrahan 2001]

) , ( )

, ( )

, , ,

( 2

0

l lk

l

l l k

lk AY

L

T

 

L

T

L B

B

T  [

1

9

][

1

9

]

(29)

Example of photometric variation

(30)

Composite variability

Similarly, composite texture intensity variability Similarly, composite texture intensity variability

Can be modeled as

Can be modeled as sum of basis sum of basis

É T = É T s + É T d+ É T l + É T e

É T = B sys + B dyd + B lyl + É T e

Planar Depth Light Res Err

= B y + É T e

(31)

How to compute?

From a 3D graphics model:

From a 3D graphics model:

1.1. Texture intensity derivativesTexture intensity derivatives 2.2. Jacobian of warp or Jacobian of warp or

displacement function displacement function

• Results in about 20 Results in about 20 components:

components:

TT00

8 for planar, 8 for planar,

2 out-of plane (parallax), 2 out-of plane (parallax), 3-9 light3-9 light

From video:

From video:

• We can expect an We can expect an

approximately 20dim approximately 20dim

variation in the space of variation in the space of all input texture images.

all input texture images.

=> Extract this subspace

=> Extract this subspace

(32)

How to compute

from images (cont)…

1. Take input video sequence, use SFS/SFM 1. Take input video sequence, use SFS/SFM

geometry to warp into texture space geometry to warp into texture space

I1

t

CAPTURE

Input Images Geometry Texture warp

… …

2. Extract a 20-dim 2. Extract a 20-dim

subspace through PCA subspace through PCA

PCA

TexDemo

(33)

Are analytic image derivatives and PCA basis the same?

• Same up to a linear transform! Same up to a linear transform!

• Experimental verification: planar homog Experimental verification: planar homog

Derivatives

PCA

1 4 7 99%

agreement

(34)

Mapping from Images to Texture

(35)

Example renderings from 3D models

(36)

Recap: hierarchical model scale levels

1. Macro:

 SFM, SFS can generate coarse geometry but not detailed enough for realistic rendering

 Integrate tracking and structure computation Scale: dozen pixels and up

2. Meso :

 Refine coarse geometry and acquire reflectance–

variational surface evolution Scale: 1-dozen pixels

3. Micro spatial basis :

 Represents appearance and corrects for small geometric texture errors limited by linearity of image Scale: 0-5 pixels

(37)

Comparison

1. 1. Static texturing: Static texturing:

(Many, e.g. Baumgartner et al. 3DSOM)(Many, e.g. Baumgartner et al. 3DSOM)

Average color projected to point. Average color projected to point.

Better: Pick color minimizing reprojection error over all input imagesBetter: Pick color minimizing reprojection error over all input images Works when model geometry is close to ground truth and light simple Works when model geometry is close to ground truth and light simple

2. 2. Viewdependent texture Viewdependent texture

(Debevec et al)(Debevec et al)

Pick color from closest input photograph (or interpolate from nearest 3)Pick color from closest input photograph (or interpolate from nearest 3) Works when possible to store large numbers of images

Works when possible to store large numbers of images

3. 3. Lumigraph / Surface light field Lumigraph / Surface light field

(Buehler et al / Wood et al)(Buehler et al / Wood et al)

Store all ray colors (plenoptic function) intersecting a proxy surfaceStore all ray colors (plenoptic function) intersecting a proxy surface Works if proxy surface close to true geometry

Works if proxy surface close to true geometry

4. 4. Dynamic texture Dynamic texture

((Ours: Jagersand ’97/ Matusik / Ikeuchi99 /Vasilescu04...Ours: Jagersand ’97/ Matusik / Ikeuchi99 /Vasilescu04...

Derive a Taylor expansion and represent derivatives of view dependencyDerive a Taylor expansion and represent derivatives of view dependency Works for light and small (1-5 pixel) geometric displacements.

Works for light and small (1-5 pixel) geometric displacements.

videos

(38)

From Simple to Complex Scenes 4 test cases

1. 1. Simple Geom: SFS alone ok Simple Geom: SFS alone ok

2. 2. General Geom: SFS + Variational General Geom: SFS + Variational Shape and Reflectance fitting

Shape and Reflectance fitting (+View dep texture)

(+View dep texture)

3. 3. Complex Light: Dynamic Texture / Complex Light: Dynamic Texture / Lumigraph

Lumigraph

4. 4. Challenge for Computer Vision Challenge for Computer Vision

(39)

From Simple to Complex Scenes 4 test cases

1.1. Simple Geom: SFS alone okSimple Geom: SFS alone ok 2.2. General Geom: SFS + General Geom: SFS +

Variational Shape and Variational Shape and

Reflectance fitting (+View dep Reflectance fitting (+View dep texture)

texture)

3.3. Complex Light: Dynamic Complex Light: Dynamic Texture / Lumigraph

Texture / Lumigraph

4.4. Challenge for Computer Challenge for Computer Vision

Vision

(40)

Example of render differences

• Jade Elephant Jade Elephant

– Complex Reflectance (specularities and scattering)Complex Reflectance (specularities and scattering)

Input Static ViewDep Lumigr. DynTexInput Static ViewDep Lumigr. DynTex

Specular highlight

(41)

Tracking with a dyntex model + AR

(42)

Capturing non-rigid animatable models

current PhD project, Neil Birkbeck

(43)

Capturing non-rigid animatable models

current PhD project, Neil Birkbeck

For better movies see: http://webdocs.cs.ualberta.ca/~birkbeck/phd/

(44)

Beyond 3D:

Non-rigid and articulated motion

Our approach

-displacement and flow on proxy -represent motion with linear basis

-variational formulation

PhD work of Neil Birkbeck, Best thesis prize winner

(45)

Beyond 3D:

Non-rigid and articulated motion

PhD work of Neil Birkbeck, Best thesis prize winner

(46)

Beyond 3D

Non-rigid and articulated motion

• Humans ubiquitous in graphics applications Humans ubiquitous in graphics applications

• A practical, realistic model requires A practical, realistic model requires

– SkeletonSkeleton

– Geometry (manually modeled, laser scanned)Geometry (manually modeled, laser scanned)

• Physical simulation for clothes, musclePhysical simulation for clothes, muscle – Texture/appearance (from images)Texture/appearance (from images)

– Animation (mocap, simulation, artist)Animation (mocap, simulation, artist)

(47)

Questions?

More information:

More information:

• Downloadable renderer+models Downloadable renderer+models

www.cs.ualberta.ca/~vis/ibmr www.cs.ualberta.ca/~vis/ibmr

• Capturing software + IEEE VR tutorial text Capturing software + IEEE VR tutorial text

www.cs.ualberta.ca/~vis/VR2003tut www.cs.ualberta.ca/~vis/VR2003tut

• Main references for this talk: Main references for this talk:

Jagersand et al “Three Tier Model” 3DPVT 2008 ….Jagersand et al “Three Tier Model” 3DPVT 2008 ….

Jagersand “Image-based Animation…” CVPR 1997Jagersand “Image-based Animation…” CVPR 1997

• More papers: More papers: www.cs.ualberta.ca/~jag www.cs.ualberta.ca/~jag

(48)

• Computer vision Computer vision

• engineer engineer

References

Related documents

(1) If a plaintiff's action to foreclose a residential mortgage is uncontested, pursuant to R.4:64-1(a) of the Rules Governing the Courts of the State of New Jersey and the

This data element may contain the same information as ''Provider location address country code''.. Provider Business Mailing Address

CaTi-40 and CaTi-50 were identified as promising sorbents for CO 2 capture, they exhibit very high CO 2 -capture capacity and a strong stability during the course of

Table 7 shows the decomposition of the three entry costs to, respectively from top to bottom, a doubling or a division by ten of the share of finance (business sector) in GDP 4 ;

The mean IOP for primary open angle glaucoma (POAG), ocular hypertension (OHT), normal tension glaucoma (NTG), pseudoexfoliative glaucoma (PXG) and primary chronic angle

3200 Wailea Alanui Drive • Wailea, Hawaii 96753 Phone: 808-879-5800 • Fax: 808-874-3723 Private Balconies • Swimming Pool • Deluxe accommodations located in Maui’s popular

Studier viser at barn av deprimerte foreldre har opptil to eller tre ganger så høy risiko for depresjon og andre lidelser sammenliknet med kontrollgrupper.. Disse lidelsene