590 likes | 673 Views
Quadric Transfer for Immersive Curved Screen Displays. Ramesh Raskar , Jeroen van Bar, Thomas Willwacher, Srinivas Rao Mitsubishi Electric Research Labs Cambridge, MA USA. Curved Screen Displays. Multiple overlapping projectors Goal : Replace single-proj Higher resoltn
E N D
Quadric Transfer for Immersive Curved Screen Displays Ramesh Raskar, Jeroen van Bar, Thomas Willwacher, Srinivas Rao Mitsubishi Electric Research Labs Cambridge, MA USA
Curved Screen Displays Multiple overlapping projectors Goal : • Replace single-proj • Higher resoltn • Higher brightness • Sub-pixel auto-alignment • Parametric solution Planetarium Simulators
Dome Projection Edge-Blended Display Spherical Warping Sub-Frames
OutlineSeamless Curved Display • Multi-projector methods • Simplified Quadric Image Transfer • Calibration with camera-pair • Parametric Rendering solution
OutlineSeamless Curved Display • Multi-projector methods • Simplified Quadric Image Transfer • Calibration with camera-pair • Parametric Rendering solution
Multi-Projector Displays Precise config = Costly setup Manual alignment = High maintenance
Camera 1 2 2 1 3 1 4 4 2 3 3 4 1 2 10 Seconds 3 4 Planar Displaywith parametric approach R Raskar
Planar projective transfer: homography • Two images of 3D points on a plane • Related by a 3x3 matrix ~ x’ = A3 x 3 x M x A3 x 3 x’ x’ x Proj 1 Proj 2 Proj 1 Proj 2
X x’ x Parametric Image Transfer X x x’ Planar Homography Quadric Transfer
Parametric Approach • Calibration • Lower camera resolution • Tolerance for pixel localization errors • Faster calibration • Rendering • Efficient well-defined warping • Avoids look up tables
Curved ScreensView for a Sweet-spot Projector Sweet spot
Calibration for a Sweet-spot Projector Camera at Sweet spot
Discretized non-parametric approach Projector Image p1 p6 c1 c6 Camera Image Desired Image =
Pre-Warped Projection Discretized Warping Software Spitz - PolyDome™
OutlineSeamless Curved Display • Multi-projector methods • Simplified Quadric Image Transfer • Calibration with camera-pair • Parametric Rendering solution
Degenerate ruled quadrics: cone two planes Quadric classification Projectively equivalent to sphere: sphere ellipsoid paraboloid hyperboloid Ruled quadrics: hyperboloids of one sheet
Quadrics 4x4 symmetric matrix, Nine d.o.f X Q 9 points in 3D define quadric
Quadric Image Transfer [Shashua97] X If , x’ x 21 params, 4 more than necessary !
Simplified Quadric Image Transfer Based on.. X Homography with polar plane Projected conic x’ x 17 param warp
Simplified Quadric Image Transfer X 17 param warp x’ x Planar homography: 4+ corresponding pixels Quadric transfer: 9+ corresponding pixels
OutlineSeamless Curved Display • Multi-projector low cost method • Simplified Quadric Image Transfer • Calibration with camera-pair • Parametric Rendering solution
Calibration of Quadric Screens 1 Dome Screen 2 4 3
Approach Calibration • At each projector i , • Project structured pattern • View with stereo camera • Finding camera to projector quadric transfer, Run-time • At each projector i, • Pre-warp input image using
CalibrationFinding relationship between camera and projector Low-res Camera 640x480 images But each Projector 1024x768
Intensity Correction in Overlap Projector Framebuffers
OutlineSeamless Curved Display • Multi-projector low cost method • Simplified Quadric Image Transfer • Calibration with camera-pair • Parametric Rendering solution
Rendering a 3D Scene Steps at each projector (Pre-distort vertex 3D location) • For each triangle T with vertices {Mj} • For each vertex M • Find pixel m via VirtualViewProjection( M ) • Find warped pixel m’via quadricTransferof m • Replace M with m’
Vertex Shader for Quadric Transfer in Cg vertout main( appin IN, uniform float4x4 modelViewProj, uniform float4 constColor, uniform float3x3 A, uniform float3x3 E, uniform float3 e) { vertout OUT; float4 m1 = float4(IN.position.x, IN.position.y, IN.position.z, 1.0f ); float4 m, mi ; float3 m2,mp; float scale; m = mul( modelViewProj, m1); m2.x = m.x/m.w; m2.y = m.y/m.w; m2.z = 1; scale = mul(m2, mul(E,m2)); mp = mul(A,m2) + sqrt(scale)*e; mi.x = m.w * (mp.x)/(mp.z); mi.y = m.w * (mp.y)/(mp.z); mi.zw = m.zw; OUT.position = mi; OUT.color0 = IN.color0; // Use the original per-vertex color specified return OUT; } ParametricWarp
Parametric Rendering Benefits • Head tracking support • Update quadric transfer per frame • Single pass rendering • Avoid post-rasterized warp • Efficient rendering • Better image quality • Programmable hardware • Distributed rendering • Runs unmodified 3D applications
Acknowledgements • Mitsubishi Electric Research Labs • Paul Beardsley, Jay Thornton • Joe Marks • Mitsubishi Electric, Japan • Masato Ogata, Hiroyuki Wada • Masatoshi Kameyama, Ashizaki
Seamless Curved Display • Multi-projector low cost method • Simplified Quadric Image Transfer • Complete Parametric calib+rendering solution • Head tracking support, single pass rendering www.MERL.com/Projects/Projector/
Details I Skipped .. • Photometric Correction [Majumder03] • Depth of field is limited • Estimating camera and projector params • Internal and External params • Issue with near-planar 3D points • Finding pixels weights for blending • Non-linear optimization • Rendering • Warping and Depth buffer issues
Advantages • Parametric warp • Lower camera resolution • Tolerance for pixel localization errors • Faster calibration • Efficient well-defined warping
What is homography ? ~ j = A3 x 3 i A3 x 3 a1 a2 a3 b1 b2 b3 c1 c2 c3 jx jy 1 ix iy 1 = k j i ~ jx = (a •i)/ (c •i) Proj 1 Proj 2 ~ jy = (b •i)/ (c •i)
Rendering 2D + 3D scene Concave Dome Convex Dome
Projector Mailing List majordomo@cs.unc.edusubscribe projector Projector bibliography www.raskar.com/Projector/