Title: Image-Based Rendering using Hardware Accelerated Dynamic Textures
1Image-Based Rendering using Hardware Accelerated
Dynamic Textures
- Keith Yerex
- Dana Cobzas Martin Jagersand
2Motivation
- Traditional geometry based techniques
- detailed 3D model texture
- hard to achieve photorealism
- Image-based models
- non-geometric model from images
- practically hard to apply
3Challenges
- Hard to generate detailed 3D models
- Texturing from images require very precise
alignment with the model - Rendering arbitrary views using IBM requires
dense sample of the plenoptic function - IBR techniques dont deal with dynamic scenes
4Overview
Training
Model
New view
I1
It
Structure P
New pose (R a b)
(R1 a1 b1) (Rt at bt)
Motion params
Texture basis
Warped texture
y1 yt
Texture coeff
5Structure from motion
- Input Structure from set of corresponding
points tracked in a set of images - Assumptions
- Static scene
- Camera model
- injective ? perspective ? weak perspective ?
orthographic - Estimated model
- projective ? affine ? metric ? euclidean
6Structure from motion
Tracked features
poses
structure
Structure from motion algorithm
7SFM algorithms
- Few images, perspective camera, precise
calibration - epipolar constraint
- trilinear tensor
- Long motion, affine or perspective structure
- factorization methods
8Metric structure
- Weak perspective camera
- Extension of Tomasi Kanade factorisation
- algorithm
- Extract affine structure
- Relation between the sffine structure and camera
coordinate frame - Transform the structure into metric (unit pixel
size)
9Weak perspective projection
-
- N points
-
- Normalized with respect to centroid
- Rank theorem
- Factorization
-
10Metric constraints
- Extract motion parameters
- Eliminate scale
- Compute direction of camera axis k i x j
- parameterize rotation with Euler angles
- Model P Reprojection
- Pose x (r,s,a,b)
11Dynamic Textures
- Purpose
- Model image intensity variations due to
- Small geometric errors due to tracking
- Non planarity of real surface
- Non-rigidity of real object
- Pose varying lighting effects
- Non-geometric, mixing of spatial basis
12Spatial Basis Intro
- Moving sine wave can be modeled
- Small image motion
Spatially fixed basis
2 basis vectors
6 basis vectors
13Image Variability
- Formally consider residual variation in an image
stabilization problem - Optic flow type constraint
14Structural Image Variability
- Affine warp function
- Corresponding image variability
- Discretized for images
15Composite Image variability
- Similarily can show that composite image
variability - Can be modeled as sum of basis
Struct Depth Non-plan Light Res Err
16Example Lighting variation
17Statistical Image Variability
- In practice image variability hard to compute
from one image - Instead we use PCA to estimate image variability
from a large sequence of images - This yields a transformed basis
- Can estimate linear model J
- In practice Delaunay triang bi-linear model
18Image variability comparison
Derivatives from one picture
Statistically estimated variability
19Implementation
- Matlab for geometric modeling and prototyping
- mexVision for tracking (30Hz frame rate)
- Hardware accelerated OpenGL for rendering (2.8Hz
in SW, 18Hz on GeForce 2) - pthreads and pvm for parallel processing
MATLAB
OpenGL
meXVision
20Hardware rendering
- Unsigned basis
- Scaling to 8 bit
- Where
21OpenGL
22Example Renderings
23Kinematic arm
24Geometric errors
static
dynamic
25Geometric errors
dynamic
static
26Geometric errors
Dynamic
Static
Dynamic
Static texturing
27Pixel error
Vertical jitter Horizontal jitter
Static texture 1.15 0.98
Dynamic texture 0.52 0.71
28Conclusions
- Coarse geometry tractable to estimate
- Errors from small geometric misalignments
compensated for using dynamic texture - System runs on consumer PC with web cam and game
graphics card - Applications
- Insert characters/objects into games
- Video phone