General Linear Cameras: Theory and Applications by Jingyi Yu Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE 0 F TECHNOLOGY August 2005 ) Massachusetts Institute of Technology 2005. All rights reserved. Author............. ............. ........................... Department of Electrical Engineering and Computer Science August 9, 2005 Certified by ........ Certified b y. ~. ... , //~~... ... '' Fredo Durand Assistant Professor Thesis Supervisor . Leonard McMillan Associate Professor · .~- .'(.,y~.....Thesis, Supervisor Acceptedby....... Arthur C. Smith Chairman, Department Committee on Graduate Students MASSACHUSETTS INSITI"E' OF TECHNOLOGY MAR 2 8 2006 I IRPAPIPQ ARCHVES 2 General Linear Cameras: Theory and Applications by Jingyi Yu Submitted to the Department of Electrical Engineering and Computer Science on August 9, 2005, in partial fulfillment of the requirements for the degree of Doctor of Philosophy Abstract I present a General Linear Camera (GLC) model that unifies many previous camera models into a single representation. The GLC model describes all perspective (pin- hole), orthographic, and many multiperspective (including pushbroom and two-slit) cameras, as well as epipolar plane images. It also includes three new and previously unexplored multiperspective linear cameras. The GLC model is general and linear in the sense that, given any vector space where rays are represented as points, it describes all 2D affine subspaces (planes) formed by the affine combination of 3 rays. I also present theories of projection and collineation for GLCs and use these theories to explain various multiperspective distortions. Given an arbitrary multiperspective imaging system that captures smoothly varying set of rays, I show how to map the rays onto a 2D ray manifold embedded into a 4D linear vector space. The GLC model can then be use to analyze the tangent planes on this manifold. Geometric structures associated with the local GLC model of each tangent plane provide an intuitive physical interpretation of the imaging system, and they are closely related to the caustics of reflected rays. These geometric structures are characteristic of only 4 of the 8 GLC types. I also prove that the local GLC type at each tangent plane is invariant to the choice of parametrization, and, thus, an intrinsic property of the reflecting surface. Using GLCs to analyze the caustics of reflection extends the previous Jacobian-based approaches, which consider only a pinhole model at each infinitesimal region about each surface point. Finally, I demonstrate how to use the GLC model in computer vision, computer graphics, and optical design applications. In particular, I show how to use GLCs for modelling and rendering multiperspective images and characterizing real multiperspective imaging systems such as catadioptric mirrors. Thesis Supervisor: Fredo Durand Title: Assistant Professor Thesis Supervisor: Leonard McMillan Title: Associate Professor 3 4 Acknowledgments I would like to thank my advisor, Professor Leonard McMillan for his support and advice. It has been a great pleasure working with Leonard on such an interesting and challenging project for the last five years. Thanks for keeping me focused on the big picture and pushing me to do my best. I have learned much more than research from Leonard. Thanks for tolerating my stubbornness from time to time. I would also like to thank my thesis co-advisor, Professor Fr6do Durand, who has made tremendous efforts for helping me to finish my dissertation in time. And also thanks to Fredo for providing the guidelines to the thesis and for assisting me on my job talk. I would like to thank my thesis committee members Professor Steven Gortler and Professor Tomas Lozano-Perez for their time and helpful feedback. To Tomas for his critical efforts working with Fredo and Leonard to make my Ph.D. defense possible. To Shlomo for the useful phone discussions and his recommendation letter to my faculty application. Many thanks to my friends Jason Yang, Jingdan Zhang, Eric Bennett, and Xianfeng Gu. Thanks to Jason for his codes on GPU-based real-time light field renderer. Thanks to Jingdan for his useful inputs on many of my published papers. Thanks to Eric for his outstanding proofreading ability. Thanks to my buddy Xianfeng for his critical help on the "Non-existence of Cross-slit Mirror" proof. Special thanks to Professor Eric Grimson and Professor Srini Devedas for their support during my last semester at MIT. Thanks to Marilyn Pierce, Bryt Bradley, and Missy Wood for handling numerous administrative issues. Thanks to everyone in the MIT Graphics Group for making the lab a fun and productive place to work. Thanks to Professor Marc Pollefeys and Professor Stephen Pizer at UNC Chapel Hill for the useful discussions and their recommendation letters. Thanks to Dr. Harry Shum for his continuous support as a mentor and a friend. I thank my parents for supporting my decision to study in the US. They have been the greatest parents and I love them very much. Without their support, I wouldn't have fulfilled my dream today. Thanks to my buddies, Zhongji Liao and Jingshen 5 Jiang, for their ability and willingness to help during any crisis, large or small, real or imagined. 6 Contents 1 Introduction 1.1 19 Motivation ... 1.2 Thesis Statement 1.3 Contributions . . 1.4 Thesis Overview. .......................... .......................... .......................... .......................... 2 Background and Previous Work . . 2.2 Multiperspective Images ......... . . . . . 2.3 Multiperspective Cameras ....... . . .. 2.3.1 Commonly Used Multiperspective Cameras 2.3.2 Catadioptric Mirrors ...... . . . . . . 2.4 Ray Representation ........... 2.4.1 Light Fields Parametrization . . . . . 2.4.2 Ray Space Analysis ........ . . . .. . ........... ........... ........... ........... ........... ........... ........... ........... 3 General Linear Cameras General Linear Camera Model ...... 3.2 Equivalence of Classic Camera Models . 3.3 Characteristic Equation of GLC ..... Characterizing Classic Camera Models A = 0 case ............. 3.4.2 A Ocase. 22 23 25 27 29 30 32 32 33 34 37 3.1 3.4.1 21 25 2.1 Cameras .................. 3.4 20 ............ 7 . ................ ................ ................ ................ ................ ................ 37 40 42 45 45 46 3.5 3.6 New Multiperspective Camera Models . . . . . . . . . . . . . . .47 3.5.1 New Camera Models ..... . . . . . . . . . . . . . . 49 3.5.2 All General Linear Cameras . . . . . . . . . . . . . . 50 . . . . . . . . . . . . . . 51 Example GLC Images . . ......... 4 GLC Characteristics 55 4.1 Relative Two Plane Parametrization . . . . . . . . . . . . . . 55 4.2 Sweeping Area ............. . . . . . . . . . . . . . . 57 4.3 GLC Slits . . . . . . . . . . . . . . 58 4.4 Linear Ray Manifolds .......... . . . . . . . . . . . . . . 60 4.4.1 Canonical GLC Representation . . . . . . . . . . . . . . 60 4.4.2 GLC to Linear Constraints . . . . . . . . . . . . . . . . . .60 4.4.3 GLC Degrees of Freedom . . . . . . . . . . . . . . 63 4.5 Plfcker Coordinates .......... . . . . . . . . . . . . . . 64 4.6 . . . . . . . . . . . . . . 68 ................ .... Discussion ................ 5 GLC Projection and Collineation 5.1 GLC Projection ................ 5.2 69 69 5.1.1 Plane Sweeping ........... 71 5.1.2 Singularities .............. 72 5.1.3 Projections of Lines .......... 74 5.1.4 Projections of Points at Infinity . . . 75 GLC Collineation ............... 77 5.2.1 General Collineation between GLCs . 80 5.2.2 Collineation Degeneracies ..... 81 6 GLC Differential Invariance Theorem 85 6.1 Limitations of 2PP ............................ 85 6.2 87 Local Tangent GLC ............................ 6.3 Differential Invariant Theorem ...................... 8 88 7 Multiperspective Rendering 93 7.1 Background and Previous Approaches. . . . . . . . . . . . . . . . . . 7.1.1 7.2 7.3 GLC as Multiperspective Images Multiperspective Ray Manifold .... ......... 7.2.1 Piecewise Multiperspective Image Plane 7.2.2 Adjacency Table ............ 93 . . . . 94 . . . . 95 .. . . 97 . .. . 99 . . . . . . . . . . . . . . . .... .... 100 100 . . . . . . . . . . . . . . . .... 102 GLC Multiperspective Rendering 7.3.1 Image Layout 7.3.2 Ray Blending ........ 7.4 Multiperspective Sampling ........... .. .. 103 .. 106 7.4.1 Perspective and Projective Distortions .. 7.4.2 Resampling . .............. . ... 7.5 Multiperspective Rendering Results ....... 7.5.1 Multiperspective Panoramas ...... 7.5.2 Artistic Multiperspective ........ 7.5.3 Multiperspective Faux-Animation . .. 106 .. .... .. 107 107 .. 108 109 .. 8 Reflection Analysis 113 8.1 Background and Previous Work ......... . . . . . . . . 113 ... 8.2 GLC Reflection Analysis ............. . . . . . . . . 115 ... 8.2.1 Multiperspective Reflection Model .... . . . . . . . . 115 ... 8.2.2 Orthographic Viewing Conditions .... . . . . . . . . 118 ... 8.2.3 Perspective Viewing Conditions ..... . . . . . . . . 120 ... Caustic Surfaces ................. . . . . . . . . 125 ... 8.3.1 . . . . . . . . 126 ... . . . . . . . . 129 ... 8.3 Cross-slit Rulings ............ 8.4 Characteristic GLC Distortions ......... 8.4.1 Cross-slit Distortion .......... . . . . . . . . 130 ... 8.4.2 Predicting Distortions on Mesh Surfaces . . . . . . . . 131 ... 9 Conclusions and Future Work 133 9.1 The Theory of GLC ........................... 9 133 9.2 GLC Applications 9.3 Future Work ........................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 136 A Non-existence of Cross-slit Mirrors 10 139 List of Figures 2-1 Multiperspective images in art. (a) Hall City by M.C. Escher. Portrait of a Young Girl by Pablo Picasso. (b) (c) Red Fish by Henri Matisse ................................... 27 2-2 Pushbroom and Cross-slit Camera. (a) Acquisition geometry of a push- broom camera. (b) The stationary column sampling routine for synthesizing a pushbroom camera. (c) Acquisition geometry of a cross-slit camera. (d) The linearly varying column sampling routine for synthesizing a cross-slit camera ................................. 2-3 Multiperspective 30 images in graphics and vision. (a) and (b) Images captured from catadioptric mirrors (Courtesy of Tomas Pajdla). (c) A reflection image observed on the car window. (d)A pushbroom panorama by University of Washington (Courtesy of Steve Seitz). 2-4 . An camera array samples a light field with an array of images ..... 2-5 Two plane parametrization. 31 33 A new pinhole image can be synthesized by querying and blending rays from the light field. Each ray is parameterized by intersecting the two parallel planes as [s, t] and [u, v]. 3-1 General Linear Camera Model. a)A GLC is characterized 34 by three rays originated from the image plane. b)It collects all possible affine combination of three rays ......................... 3-2 38 Classic camera models represented as GLC. (a)Two similar triangles on two planes define a pinhole camera; (b)Two parallel congruent triangles define an orthographic camera; (c)Three rays from an cross-slit camera. 11 40 3-3 Bilinear Surfaces. (a) r 3 is parallel to S; (b) r3 is parallel to S, but still intersects S; (c) r 3 is not parallel to S, and does not intersect S either .................................... 48 3-4 Pushbroom, Twisted Orthographic, and Pencil Cameras. (a) A pushbroom camera collects rays on a set of parallel planes passing through a line; (b) A twisted orthographic camera collects rays with uniform directions on a set of parallel planes; (c) A pencil camera collects rays on a set of non-parallel planes that share a line................. 3-5 . 49 Comparison between synthetic GLC images. From left to right, top row: a pinhole, an orthographic and an EPI; middle row: a pushbroom, a pencil and an twisted orthographic; bottom row: a bilinear and an cross-slit ............................................. 3-6 52 GLC images created from a light field. Top row: a pencil, bilinear, and pushbroom image. Bottom row: an cross-slit, twisted orthographic, and orthographic image................................... 3-7 . 52 A multiperspective bilinear GLC image synthesized from three pinhole cameras shown on the right. The generator rays are highlighted in red. 53 3-8 Synthesizing GLCs by cutting through a 3D horizontal light fields. Left: we cut through the light field vertical diagonally to generate a cross-slit GLC. Right: we cut through the light field vertical diagonally to generate a pencil GLC......................... 4-1 53 From left to right: the area formed by the three generators at each sweeping plane. Green corresponds to positive areas and red corresponds to negative. When the area is zero, all rays will pass through a slit on the corresponding sweeping plane................................ 57 12 4-2 Area-Depth Curve (ADC) for GLCs. From left to right: ADC of a pinhole/pencil camera is quadratic and intersects area = 0 axis once; ADC of orthographic/twisted orthographic camera is a constant line parallel to area = 0 axis; ADC of a pushbroom camera is a line that intersects area = 0 axis once; ADC of a cross-slit camera is quadratic and intersects area = 0 axis twice; ADC of a bilinear camera is quadratic and never intersects area = 0 axis; ADC of an EPI camera is the area = 0 axis ................................... 5-1 58 (a) Projecting a point P to a ray in the GLC. (b) The projection of P can be computed using the same affine coordinate on the sweeping plane IIz. . 5-2 71 (a) and (c) are cross-slits images synthesized from light fields. (b) and (d) are pushbroom images synthesized from light fields. The distortions of the curved isolines on the objects illustrate various multi-perspective effects of GLC cameras. The pushbroom camera also exhibits apparent stretching/duplications of objects faraway from the image plane, e.g., the lamp on the background ............................... 5-3 73 (a) Imaging the GLC on a plane parallel to the uv plane. (b) Imaging the GLC on a different plane. (c) A GLC image of a toy dog synthesized from a video using image plane (a). (d) A different image of the same GLC camera using image plane (b) ...................................... 7-1 . 78 Image fusion by composing a GLC image: a new pose of the cow (right) is synthesized by specifying the three generator rays (red) of a GLC from left three poses ....................................... 95 7-2 A neocubism styled multiperspective image synthesized using our framework. It combines pinhole images from different points of views with various multiperspective (pushbroom and cross-slit) images..... 13 . 96 7-3 General Linear Camera Models. There are precisely eight GLCs, shown in (a) to (h). (a) In a pinhole camera, all rays pass through a single point. (b) In an orthographic camera, all rays are parallel. (c) In a pushbroom, all rays lie on a set of parallel planes and pass through a line. (d) In a cross slit camera, all rays pass through two non-coplanar lines. (e) In a pencil camera, all coplanar rays originate from a point on a line and lie on a specific plane through the line. (f) In a twisted orthographic camera, all rays lie on parallel twisted planes and no rays intersect. (g) In an bilinear camera, no two rays are coplanar and no two rays intersect. (h) In an EPI camera, all rays lie on a 2D plane . ................... ......... . 97 7-4 A tessellation of the image plane with triangles that correspond to different types of general linear cameras. This model is equivalent to a 2D piecewise planar manifold embedded in 4D ........... 7-5 .... . Desirable image fragments from different GLCs are overlayed on the im age plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 101 Ray coordinate of each vertex in the overlapped region is computed using Algorithm 1............................. 7-7 98 (a) Sampling of a pinhole camera (homography). 103 (b) Sampling of a cross-slit camera. (c) Sampling of an arbitrary multiperspective image is achieved by assigning a sampling plane to each GLC ......... 7-8 104 (a) A multiperspective image before sampling correction; (b) A mul- tiperspective image after sampling correction using sampling planes is applied. In the original stuffed toy, the head is oriented such that it tive im age . looks at the tail. This multiperspective image appears like a plausible perspective image with a different pose of the toy ............ 7-9 (a) Nusch Eluard by Pablo Picasso; (b) Our synthesized multiperspec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 10 107 7-10 Multiperspective panoramas: (a) Our synthesized multiperspective panorama from a virtual flight path. (b) Blended camera types of the multiperspective image. Different GLCs are marked with different colors, red for cross-slit, blue for pinhole, and green for pushbroom ......... . 110 7-11 (a) A perspective view. (b) A synthesized multiperspective image that fuses different perspective views of the handle and beak. (c) A omniperspective image that shows a 360 degree view of the teapot ..... 7-12 From left to right: extracted images from a faux-animation. 111 The source images were acquired by rotating a ceramic figure on a turn table. Mul- tiperspective renderings were used to turn the head and hind quarters of the figure in a fake image-based animation. sampling. 8-1 Bottom right: with resampling . Top row: without re- . . . . . . . . . . . . . . 111 A reflected image seen on a car window. Subregions illustrate multiperspective distortions such as shearing (yellow), uneven aspect ratio (red), and duplications (green).......................................... 8-2 At each point on the surface, the reflected ray is mapped into the ray space by intersecting with the two parametrization planes ............. 8-3 114 115 (a) If viewed from an orthographic camera, the parametrization plane is perpendicular to the incident direction. (b) If viewed from a pinhole camera, the parametrization plane at each point on the surface is parallel to its tangent plane . 8-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 The caustic surface and its ruling of typical mirrors. The viewpoint is shown as a blue sphere. (a) A hyperbolic mirror. (c) A parabolic mirror. (e) A cylindrical mirror. (b), (d), and (f) show the ruling of the caustics of (a), (c), (e), respectively. 8-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Aspect ratio distortion. Top row: reflected images of a hyperbolic, spherical, and cylinder mirror. Bottom row: estimated ratio distortion by the slits distance of the respective mirrors ...................... 15 129 8-6 Estimating reflection distortions of a general surface. (a) A pear-shaped mesh. (b) Estimated distortions. Bright colors correspond to large distortions (closer to pushbroom) and dark colors correspond to small distortions (closer to pinhole). (c) A ray-traced image of the parametric surface. No- tice reflections at regions around the red dashed line correspond to brightest regions in (b) ............................................ . 132 A-1 Reflection between pinhole cameras. Left: an ellipsoid mirror reflects between two pinhole cameras on the same side. Right: a hyperbolic mirror reflects between two pinhole cameras on different sides .... 140 A-2 Geometric constraints on mapping between pinhole and cross-slit camera. 141 16 List of Tables 3.1 Characterize General Linear Cameras by Characteristic Equation 4.1 Characterize GLC with Lines 4.2 Degree of Freedom of GLCs 7.1 Adjacency Tables of GLCs ........................ ...................... ....................... 17 . . 50 59 64 100 18 Chapter 1 Introduction Camera models are fundamental to the fields of computer vision, computer graphics, and photogrammetry. The classic pinhole and orthographic camera models have long served as the workhorse of 3D imaging applications. However, recent develop- ments have suggested alternative multiperspective camera models can provide different and potentially advantageous imaging systems for understanding the structure of observed scenes. Researchers have also shown that these multiperspective are amenable to stereo analysis and interpretation cameras [30, 27, 47]. In contrast to pinhole and orthographic cameras, which can be completely characterized using a simple linear model (the classic 3 by 4 matrix [15]), multiperspective cameras models are defined less precisely. In practice, multiperspective cameras models are described by constructions. By this I mean that a system or process is described for generating each specific class. While such physical models are useful for both acquisition and imparting intuition, they are not particularly amenable to analysis. In this thesis, I present a new theory called the General Linear Camera (GLC) model that unifies many previous multiperspective camera models as well as the pinhole camera into a single representation. The GLC model describes all perspective (pinhole), orthographic, and many multiperspective (including pushbroom and crossslit) cameras, as well as epipolar plane images (EPI). The GLC model is both general and linear in the sense that, given any vector space where rays are represented as 19 points, it describes all 2D affine subspaces (planes) formed by the affine combination of 3 rays. The incident radiance seen along the rays of these 2D affine subspaces are a precise definition of a projected image of a 3D scene. The GLC model and the GLC images help to explain the cause of various multiperspective distortions. show that the GLC model provides an intuitive physical interpretation I further and is closely related to the caustics of the rays. Applications of the GLC model include modelling and rendering multiperspective images, creating cel-animation, image-based faux animation, and characterizing real image systems such as catadioptric mirrors. 1.1 Motivation A perspective image represents the spatial relationships of objects in a scene as they would appear from a single viewpoint. In contrast, a multiperspective image combines what is seen from several viewpoints into a single image. Despite their incongruity of view, effective multiperspective images are still able to preserve spatial coherence. More importantly multiperspective images can depict, within a single context, details of a scene that are simultaneously inaccessible from a single view, yet easily inter- pretable by a viewer. Multiperspective rendering techniques are frequently employed by artists to depict more than can be seen from any specific point. Classic examples include the visual paradoxes of Escher, and the Cubism of Picasso and Braque. Multiperspective images have also received attention from the computer vision community for analyzing structure revealedvia motion [30,27] and generating panoramic images with a wide field-of-view using mirrors [22]. Several researchers have proposed alternative multiperspective camera models which capture rays from different points in space. These multiperspective cameras include pushbroom cameras [13], which collect rays along parallel planes from points swept along a linear trajectory, and two-slit cameras [26], which collect all rays passing through two lines. Finally in our everyday lives, we experience multiperspective images when observing reflections off of curved surfaces. Despite all these efforts in modelling and rendering multiperspective images, there 20 remain several fundamental problems unresolved. First, most of the previous multiperspective models are constructed by enforcing specific geometric constraints. This makes it difficult to characterize and study the general properties and variations of multiperspective cameras. A unified model is desirable to model, render, and characterize arbitrary multiperspective images. Second, very little work has been to qualitatively and quantitatively analyze multiperspective distortions, such as curving of the lines, shearing of the angles, stretching of scene geometry, and the duplication of the scene points. Most previous studies have been restricted to specific mirrors and camera types. Furthermore, there has been little work on that relates image distortions to the geometry of the imaging system. Finally, only perspective rendering is widely supported in three-dimensional computer graphics. There are no simple and efficient methods for supporting multiperspective rendering. This is partly due to the inherent difficulty of specifying the projection process necessary for mapping 3 dimensions down to 2 for multiperspective renderings. This thesis addresses these problems by presenting a unified framework of the General Linear Camera model. It provides a complete set of analytical and modelling tools for interactively designing, analyzing, and rendering multiperspective images. 1.2 Thesis Statement The General Linear Camera (GLC) model unifies many previous perspective and multiperspective camera models and provides a complete description of all 2D aine subspaces of rays. The GLC model also provides a first-order differential tool for modelling, rendering, and analyzing arbitrary (higher-order) multiperspective imaging systems. The GLC model unifies perspective (pinhole), orthographic, and many multiperspective (including pushbroom and two-slit) cameras, as well as epipolar plane images into a single analytical representation. GLC projections and collineations can be used to model any coherent multiperspective imaging systems. Geometrically, the GLC model characterizes all possible all 2D affine subspaces of rays. These set of 21 hyperplanes provide a first-order approximation tool to analyze arbitrary multiperspective imaging systems. I show the GLC model has many useful applications in computer graphics and computer vision, including creating multiperspective panoramas, neocubist-style renderings, faux animations from still-life scenes, characterizing multiperspective image distortions, and guiding mirror designs to improve catadioptric imaging systems. 1.3 Contributions This thesis makes the followingcontributions * It introduces a General Linear Camera (GLC) model that unifies many previ- ous perspective and multiperspective cameras within a single framework and discovers three new, previously unexplored multiperspective camera types. * It provides an analytical representation of the GLC model as 2D affine subspaces of rays parameterized under two-plane-parametrization. * It introduces a set of characteristic equations for identifying each of the 8 atomic GLC types, and proves that these types are completely characterize all possible linear multiperspective camera models. * It provides a projection and collineation theory to model the GLC image distortions. * It describes an analytical framework for mapping arbitrary imaging systems into 2D ray manifolds and uses GLCs as the first-order differential model of local ray behavior. * It proves a Differential Invariant Theorem that shows the local GLC model on the ray manifold is invariant to choice of the parametrization planes. * It provides a complete set of adjacency rules for constructing piecewise linear ray manifolds by tiling GLCs onto an image plane. 22 * It provides an analysis framework for studying reflection ray manifolds via local GLC models. It proves that local reflections observed on arbitrary mirrors can originate from only four of the eight possible GLC cameras. * It characterizes the distortions seen in reflections according to the local GLC model and collineation and it connects specific distortions to the mirror geometry. * It shows the close relationships between GLCs and the caustic surfaces of rays. In particular, the caustic surface, if it exists, corresponds to the loci of the local cross-slit GLCs. * Finally, I show how to use the GLC analysis to assist mirror design and predict distortions seen in catadioptric imaging systems. 1.4 Thesis Overview This thesis is organized as follows. Chapter 2 describes related work on pinhole and multiperspective camera models and their applications in computer graphics and computer vision. I also highlight the limitations of the current approaches in modeling multiperspective imaging systems. Chapter 3 introduces the General Linear Camera (GLC) model and shows the GLC model describes all pinhole, orthographic, pushbroom, cross-slit, and Epipolar (EPI) cameras, as well as three new camera models. It also includes the derivation of the GLC characteristic equation, which is useful for identifying the 8 atomic GLC types, and proves that this set is complete. Chapter 4 describes algebraic properties of the GLCs. I show GLCs are 2D linear subspaces in the 4D ray space and use the GLC model to analyze higher-order ray subspaces. In addition, I compare GLCs under two-plane-parametrization and under the Plucker coordinates. Chapter 5 develops the a model of GLC projection and collineation. Specifically, the projection maps the 3D scene geometries to the rays and the collineation then 23 maps the rays onto an image plane. I use the projection and collineation theory to explain multiperspective distortions for specific types of the GLCs. Chapter 6 studies arbitrary multiperspective imaging systems by mapping them to ray manifolds. I show how to locally model each multiperspective ray manifold using the GLC model. Furthermore, I derive the Differential Invariant Theorem to show that the local GLC analysis is invariant to the choice of the parametrization planes. Chapter 7 uses the GLC framework for multiperspective rendering. sets of GLCs, when constrained I show that by an appropriate set of rules, can be laid out to tile the image plane to form a piecewise continuous ray manifold, and, hence, generate arbitrary multiperspective renderings. I demonstrate applications of the proposed framework in multiperspective panoramas, neocubist style renderings, and faux-animations. Chapter 8 uses the GLC framework to analyze reflections. I first map the re- flected rays off of the mirror to a ray manifold and then use local GLC analysis to characterize the resulting images. GLCs are used to characterize the image distortions seen on arbitrary mirrored surfaces as well as the conventional catadioptric mirrors. Furthermore I show the connection between the GLC model and caustic surfaces of reflections. In particular, I show the "slits" of local GLCs reveal important surface rulings on the caustic surfaces of reflection. I demonstrate applications of the GLC caustic model to improve mirror design, to predict distortions, and to characterize surface properties. Chapter 9 describes future directions for this work and concludes the thesis. 24 Chapter 2 Background and Previous Work This chapter discusses the background and the previous work on multiperspective cameras and images. I first review the classical pinhole (perspective) camera model and its physical setup, imaging process, and limitations. I then discuss alternative camera models known as the multiperspective cameras, including pushbroom, cross-slit, and oblique cameras, as well as real multiperspective catadioptric imaging systems. Finally, I introduce the light-field ray parametrization and review previous work on ray space analysis. 2.1 Cameras The concept of a pinhole camera predates modern history. In particular the model of a camera obscura has been described throughout history and across many cultures. Precise mathematical models of pinhole cameras are fundamental to the fields of photogrammetry, computer vision, and 3D computer graphics. Geometrically, a pinhole camera collect rays passing through a common 3D point, which is called the Center of Projection (COP). Each pinhole camera, therefore, can be uniquely defined by only 3 parameters (the position of COP in 3D). The image of a pinhole camera requires specifying an image plane for projecting these rays. The image transformation due to the change of the image plane is referred to as the homography. 25 The pinhole imaging process, thus, can be decomposed into two parts: projecting the scene geometry into rays and projecting the rays onto the image plane. We refer to the first part as projection and the second as collineation. It has been shown that the projection and collineation can be combined by the classic 3 x 4 pinhole camera matrix [15],which combines six extrinsic and five intrinsic camera parameters into single operator that maps homogenous 3D points to a 2D image plane. These mappings are unique down to a scale factor, and the same infrastructure can also be adapted to describe orthographic cameras. Since pinhole cameras capture similar images to those we observe from our eyes, i.e., in human perspectives, pinhole cameras are also called perspective cameras. The simple pinhole projection model has many nice properties that are useful to computer graphics and computer vision applications. For instance, under the perspective projection, all lines in the scene are projected to lines on the image. Similarly, a triangle in 3D space is projected in a triangle on the pinhole image. Thus, by representing the scene geometry using triangles, one can efficiently render the entire scene by projecting the triangles onto the image plane and then rasterizing the triangles in the image space. Furthermore, in light of two-eye human perception, modern computer vision systems use two pinhole cameras to generate binocular stereo. The perspective projection model also induces the so-called epipolar constraints, which significantly reduces the search space for establishing the correspondences that determine a point's depth. More general camera models do not need to satisfy the same physical constraints that a perspective camera does, i.e., not all rays collected by the camera need to pass through a common point. Such cameras are often referred to as multiperspective cameras and the corresponding images are called multiperspective images. However, most multiperspective cameras are still expected to satisfy some properties in order to capture meaningful (interpretable) images. A list of these properties include: * 2D Ray Subspace. A multiperspective camera, like any camera, collects an image. Typical images, which will be the only one considered in this thesis, are 2-D dimensional subset of the radiant energy along rays. 26 (a) (b) (c) Figure 2-1: Multiperspective images in art. (a) Hall City by M.C. Escher. (b) Portrait of a Young Girl by Pablo Picasso. (c) Red Fish by Henri Matisse. * Continuity. A multiperspective camera should collect a smoothly varying set of rays. This guarantees that continuous objects will project to continuous images. If we further assume all rays can be embedded as points in some rayspace, then the first and second criteria indicate that a multiperspective camera captures rays lying on a 2D continuous manifold in this ray space. * Unique Projection. Excepting singularities (which are discussed in detail later), a multiperspective camera should generally image each 3D point at most once. In a perspective camera, only the point lying at the Center Of Projection (COP) will be imaged multiple times. Likewise, each point in 3D should be imagined no more than once in a multiperspective camera. 2.2 Multiperspective Images In a perspective image, objects in a scene appear as if they would appear from a single viewpoint. Artists have long found this single perspective description too restrictive for illustrating an entire scene. Ideally, an image should be able to smoothly combine different perspectives into a single multiperspective image. Many artists use a multiperspective representation to improve the comprehensibility of the scene and better illustrate the structure and the spatial relationships between the scene objects. Classic examples include the visual paradoxes of Escher, and the Cubism of Picasso and Matisse, as shown in Figure 2-1. Escher uses highly curved projection model to generate "impossible" perspectives of a scene shown in Figure 2-1(a). Picasso and other Cubism pioneers made effective of of rearranging different parts of the depicted scene while maintaining their local spatial relationships, which results in an incongruous spatial systems. Despite the large disparities between projections, the overall impression of a three-dimensional space remains intact, as shown in Figure 2-1(b). Matisse used similar techniques with smoother transitions between different perspectives. In his work Red Fish shown in Figure 2-1(c), the perspective smoothly transitions from horizontal (at the glass container) to the vertical (at the table). Multiperspective images have also been used as backdrops in cel animation to effectively depict camera motion in a single panorama. In cel-animations, a moving foreground element would translate across the background image with no change in parallax. A local camera is attached with the moving foreground element to generate an illusion of motion. In contrast to the foreground elements, backdrop artists often draw by hand a multiperspective projection background to create a deeper, more dynamic environment. Computer generated multiperspective panoramas, as presented by Wood et al [39], combined elements of multiple pinhole cameras into a single image using a semi-automatic image registration process. They relied on optimization techniques, as well as optical flow and blending transitions between views. The concentric mosaics of [32] and [27] are another type of multiperspective im- age that is useful for exploring captured environments. Durand [9] suggests that multiperspective projections can also be an interactive process and uses them as an example to distinguish between picture generation and user interaction. Agrawala et al [1] developed a system for rendering multiperspective images from three-dimensional models based on spatially varying projections. They point out that the most difficult part of multiperspective rendering using spatially varying projections is resolving occlusion. This difficulty can be relaxed if the transition between projections vary smoothly. Hanson and Wernert [14]addressed the occlusion problem by densely interpolating the path of the ray. The MCOP (multiple center of projection) images of Rademacher [28]are another 28 example of unstructured multiperspective images. They are closely related to images generated pushbroom cameras, but they are not constrained to follow linear paths. While these images were intended as scene representations, they are also interesting and informative images on their own. Glassner [10]described a camera construction for collecting rays from a more general camera model.. In his approach, rays are specified by the two surfaces with common parameterizations. However, none of the previous approaches maintain both the continuity and unique projection property. In general, a desirable multiperspective image design toolbox should guarantee both continuity and uniqueness properties, as well as provide intuitive user controls. Although most of the previous approaches are able to synthesize plausible multiperspective images, very little work has been done on characterizing multiperspective distortions. This is mainly because most of these approaches lack sufficient descriptive power of the local imaging model since, at an infinitesimal level they treat local neighborhoods of rays as pinhole camera approximations. Zorin and Barr show how to correct perceptual distortions in photographs by reprojecting them. Swaminathan and Nayar [35] also analyzed the distortion of multiperspective images with known scene geometry. However, qualitative and quantitative characterizations of multiperspective distortions are missing, resulting in many questions such as what causes multiperspective distortions, what are all possible types of distortions, to what extend one can reduce distortions by manipulating the images, and etc. 2.3 Multiperspective Cameras One way of analyzing a multiperspective image is to consider the hypothetical camera that might have generated it. I will refer to such cameras, whether realizable or not, as multiperspective cameras. Multiperspective camera models have been explored in the computer vision community. These multiperspective cameras include pushbroom cameras [13], which collect rays along parallel planes from points swept along a linear trajectory, two-slit cameras [26], which collect all rays passing through two lines, and oblique cameras, in which every two rays are oblique (neither parallel to 29 (b) (c) Figure 2-2: Pushbroom and Cross-slit Camera. (a) Acquisition geometry of a pushbroom camera. (b) The stationary column sampling routine for synthesizing a pushbroom camera. (c) Acquisition geometry of a cross-slit camera. (d) The linearly varying column sampling routine for synthesizing a cross-slit camera. intersect). Seitz [30] has analyzed the space of stereo cameras to determine those with a consistent epipolar geometry and suggested that pushbroom, cross-slit and linear oblique cameras can all be used to analyze three-dimensional structure, just as pinhole cameras are commonly used. 2.3.1 Commonly Used Multiperspective Cameras The pushbroom camera model was first introduced by Bolles et al [4] for generating Epipolar images (EPI). A pushbroom camera consists of an optical system projecting an image onto a linear array of sensors. The pushbroom sensor is mounted on a moving rail, and as the platform moves, the view plane sweeps out a volume of space and forms a pushbroom image on the sensor as shown in Figure 2-2(a). In practice, the pushbroom view plane is often replaced by a perspective camera and the pushbroom image is synthesized by assembling the same column of each perspective image shown in Figure 2-2(b). Gupta and Hartley [13] investigated the theoretical insights such as the projection and fundamental matrices as well as the epipolar geometry of linear pushbroom cameras. They showed, although the epipolar constraints are totally different from that of a perspective camera, a matrix analogous to the fundamental matrix of perspective cameras exists for pushbroom cameras. Another popular class of multiperspective cameras are the cross-slit cameras. A cross-slit camera has two slits 11 and 12 that are oblique (neither parallel nor coplanar)in 3D space. The camera collects rays that simultaneously pass through the two slits and projects them onto an image plane, as shown in Figure 2-2(c). Zomet et Figure 2-3: Multiperspective images in graphics and vision. (a) and (b) Images captured from catadioptric mirrors (Courtesy of Tomas Pajdla). (c) A reflection image observed on the car window. (d)A pushbroom panorama by University of Washington (Courtesy of Steve Seitz). al [47] carried out an extensive analysis and modelling of cross-slit cameras. They have shown a cross-slit camera can be synthesized similar to the pushbroom camera by stitching linearly varying columns across the pinhole viewing cameras, as shown in Figure 2-2(d). They also showed that the projection and collineation of a cross-slit camera is no longer a 3x4 projection matrix but a 3x4x4 quadratic tensor. Most recently, Pajdla [25] proposed the oblique camera model. The oblique camera is the opposite extremal of the pinhole camera. A pinhole camera collects rays passing through a common point in 3D whereas an oblique camera collects pairwise oblique rays. This means no two rays in an oblique camera can intersect or be parallel. In order to give a complete description of the rays collected by the oblique camera, Pajdla used transition closure to find all rays. He further used the quadratic ruling surface to determine its epipolar geometry. 2.3.2 Catadioptric Mirrors Another class of "real" multiperspective cameras are catadioptric imaging systems that combines a standard perspective camera (which I will refer to as the viewing camera) pointing at one or more mirrored surfaces. An important subclass of catadioptric mirrors places the viewing camera at the geometric focus of a hyperbolic or parabolic surface to synthesize a perspective image with a wider field of view [22, 2] as shown in Figure 2-3(a) and 2-3(b). This setup requires accurate alignment of the viewing camera [18, 36]. When the camera moves out of the alignment, the rays quickly deviate from the desired COP, forming a multiperspective image, and the corresponding imaging geometry is difficult to analyze [37]. Most previous research has been restricted to simple parametric reflectors such as spherical or conical mirrors [8, 40], and equiangular mirrors [34]. Reflection multiperspective images are observed almost everywhere in our daily lives, for example the reflections off of the windows, as shown in Figure 2-3(c). Many of these reflected images exhibit similar distortions as shown in the pushbroom and cross-slit cameras. However, it is unclear where and precisely how they are similar and whether they do correspond to any particular multiperspective camera model or not. Thus, it is desirable to have a multiperspective camera model that applies to reflections off of any parametric or mesh surface and to catalog the expected imaging properties (distortions and ray foci). 2.4 Ray Representation The key to modelling multiperspective cameras is to specify the sets of rays that they collect. The image captured by the camera is then determined by the radiance along each ray that the camera collects. Thus, it is crucial to have an efficient and precise description of the rays. In general, the radiance may vary along a ray in space in presence of participating media and occlusions. To simplify the analysis, I assume that there is no participating media or occlusions within the space I analyze the rays so that these rays can be equivalently represented as lines. 32 Camera Array .. s --- I .s.. Virtual Camera Figure 2-4: An camera array samples a light field with an array of images. A naive approach to represent each line in 3D space is to use a source point and its direction. The source point can be any point (3D) lying on the line and the direction of the line can be its angular orientation (2D), which gives a 5D representation for each line. Although the 5D point-direction representation can describe all possible rays, it is quite redundant because one can choose a different point along the line to describe the same ray. 2.4.1 Light Fields Parametrization An efficient 4D ray representation is the two-plane or light-field parametrization. Light fields are an image-based computer graphics representation that uses a collection of rays as a scene description in place of geometry. In a light-field parametrization, two parallel planes are given in prior and each ray is parameterized using its intersection points with the two planes. Since each intersection point is constrained on a plane, it is 2D, and the over parametrization of the ray is 4D. In theory, light fields capture all the necessary rays within a certain sub-space that are not parallel to the image plane so that a wide range of views within a region can be synthesized, as shown in Figure 2-4. The two parallel planes are often referred to as the st camera plane and uv image plane. In an actual light field setup, an array of images are captured on a regularly sampled 2D plane, as shown in Figure 2-5. Each pixel on an image corresponds to Figure 2-5: Two plane parametrization. A new pinhole image can be synthesized by querying and blending rays from the light field. Each ray is parameterized by intersecting the two parallel planes as [s, t] and [u, v]. a ray that is indexed as [s, t, u, v], where [s, t] and [u, v] is the intersection of the ray with the st plane z = zt and the uv plane z = zu,. Except for rays that are parallel to the uv plane, all rays can be uniquely represented as a 4-tuple [s, t, u, v]. The nice property of 2PP is that rays parameterized under 2PP form a four dimensional vector space. A linear combination of the Is,t, u, v] coordinate of any two rays is still a valid representation of some ray. This contrasts with other parameterizations, such as the 6D Pliickercoordinates [33, 12] which do not form closed vector space. I will give a detailed comparison between 2PP and Pliicker Coordinate in Chapter 4. In this thesis, I use 2PP to represent rays. Unless otherwise specified, I assume Ilim,, to lie on z = 0 plane and its origin to coincide with the origin of the coordinate system and the second plane HIt is at z = 1. I will use interchangeably HII,,a 2.4.2 and Ray Space Analysis As mentioned in the beginning of this chapter, a multiperspective image captures a two dimensional manifold of rays. Thus, under 2PP, all possible multiperspective images correspond to 2D continuous manifolds under this mapping. Of all these 2D manifolds, it is particularly interesting to study the planar manifolds, and many previous work have shown that pinhole cameras are 2D planes in the ray space. Gu et al [12] explored of the linear structures of the rays under two plane para- metrization. Their initial results form the foundation of this thesis. Their primary focus was on studying the duality of points and planes under this mapping for characterizing D, 2D, and 3D linear subspaces. In particular, they identified two classes of 2D linear manifolds: cross-slit and pinhole cameras. Pushbroom camera, in their characterization, is a special subclass of the cross-slit when one of its two slits lies at infinity. In addition, they have shown that all rays passing through a line are subject an interesting linear constraint. However, they did not show if there exist other 2D subspaces other than cross-slit and pinholes. My thesis focuses on identifying all possible 2D subspaces and using them to characterize arbitrary multiperspective ray manifolds/cameras. In particular, I show in Chapter 3 that, besides cross-slit, pushbroom, and pinhole cameras, there exist several important but unexplored subsets of multiperspective cameras that also correspond to 2D linear subspaces of rays. I show these cameras can be uniquely characterized using the characteristic equations. Furthermore, [12]only cares about the set of rays lie on a 2D subspace while my work also study the distribution of these rays on the image plane via a general theory of projection and collineation that will be described in Chapter 5. Finally, I show how to use this complete set of 2D ray subspaces for characterize arbitrary ray manifolds for real imaging systems such as catadioptric mirrors. In summary, I have discussed the background and previous work on multiper- spective cameras and images in this chapter. I have shown the limitations of the perspective camera model and described many previously discovered multiperspective cameras. I have also introduced the light-field ray parametrization and reviewed the initial work for analyzing the ray space. Before proceeding, I explain my notation. Superscripts, such as pX, py, and pZ represent the x and y and z component of a point or vector. Subscripts, such as fx and fy represents the first-order partial derivatives of f with respect to x and y. And 35 similarly, fx refers to the second-order partial derivative of f with respect to x twice. 36 Chapter 3 General Linear Cameras In this chapter, I introduce the General Linear Camera (GLC) model that is able to describe many common imaging systems. In fact, under an appropriate interpretation, GLCs describe all possible linear images. This provides a single camera model that unifies existing perspective and multiperspective cameras. I also derive characteristic equations that uniquely categorize each variety of GLC. 3.1 General Linear Camera Model The General Linear Camera (GLC) is defined by three rays that originate from three points p(ul, l1), p 2 (u 2 ,v 2 ) and p3 (u 3 ,v 3 ) on an image plane Himage,as is shown in Figure 3-1(a). A GLC collects radiance measurements along all possible "affine combinations" of these three rays. In order to define this affine combination of rays, we assume a specific ray parametrization. W.o.l.g, we define Himageto lie on z = 0 plane and its origin to coincide with the origin of the coordinate system. From now on, we refer to to parameterize rays, we place a second plane ist image as IIuv. In order at z = 1. All rays not parallel to HIt, Iu, will intersect the two planes at s, t, 1] and [u, v, 01respectively. That gives a 4D parametrization of each ray in form [s, t, u, v]. This ray representation, called the two-plane parametrization (2PP), is widely used by the computer graphics community for representing light fields and lumigraphs [21, 11]. Under this parametrization, 37 an a'r (a) Figure 3-1: General Linear Camera Model. a)A GLC is characterized by three rays originated from the image plane. b)It collects all possible affine combination of three rays. affine combination of three rays ri[si, ti, ui, vi], i = 1, 2, 3, is defined as: r = a " [sl, tl, Ui, V1] + ) * [S2 ,t 2 , U2 ,v 2 ] + (1- -- ) . [S3, t3, U3, V3] (3.1) The choice of Hst at z = 1, is, of course, arbitrary. One can choose any plane parallel to HII, to derive an equivalent parametrization. Moreover, these alternate parameterizations will preserve affine combinations of three rays. Theorem 3.1-1. The affine combinations of any three rays under two different 2PP parameterizationsthat differ by choice of IIt (i.e., [s, t, u, v] and [s', t',u, v] ) are the same. Proof: Suppose IHI,, is at some arbitrary depth zo, zo # 0. Consider the transformation of a ray between the default parametrization (zo = 1) and this new one. If r [s, t, u, v] and r[s', t', u, v] represent the same ray r in 3D, then r[s, t, u, v] must pass through [s', t', zo], and there must exist some A such that A. [s, t, 1] + (1 - A) - [u, v, 0] = [s', t', zo] Solving for A, we have s' =s.zo+u.(1-zo), t'=tzo+v.(1-Zo) (3.2) Since this transformation is linear, and affine combinations are preserved under linear transformation, the affine combinations of rays under the default two-plane parametrization (zo = 1) will be consistent for parameterizations over alternative parallel planes. Moreover, the affine weights for a particular choice of parallel lit are general. We call the GLC model "linear" because it defines all 2-dimensional affine subspaces in the 4-dimensional "ray space" imposed by a two-plane parametrization. Moreover, these 2D affine subspaces of rays can be considered as images. We refer to the three rays used in a particular GLC as the GLC's generator rays. Equivalently, a GLC can be described by the coordinates of two triangles with corresponding vertices, one located on list, and the second on II. Unless otherwise specified, we will assume the three generator rays (in their 4D parametrization) are linearly independent. This affine combination of generator rays also preserves linearity, while other parameterizations, such as the 6D Pluicker coordinates [33], do not [12]. Theorem 3.1-2. If three rays are parallel to a plane II in 3D, then all aine combinations of them are parallel to II as well. Proof: Let r[sl, l, v], r 2 [s2 , t 2 , u 2 ,v 2], and r 3 [S3, t 3 , U3, V3] be the three gener- ator rays that are parallel to plane II. Let h be the unit normal of plane II. Since rl, r 2 , and r3 are all parallel to II and ri has direction di = [si - ui, ti - vi, 1], we must have = The direction of a ray that is the affine combination of the three generator rays is daffine = (di + d2 + (1 - ac- /3)d3. By distributing the inner products, it is clear that it is easy to see that daffine h = 0. Thus, any affine combination of these three rays will be parallel to II as well. Theorem 3.1-3. If three rays intersect a line I parallel to the image plane, all 39 rC In\ Ia (D) kL% Figure 3-2: Classic camera models represented as GLC. (a)Two similar triangles on two planes define a pinhole camera; (b)Two parallel congruent triangles define an orthographic camera; (c)Three rays from an cross-slit camera. affine combinations of them will intersect 1 as well. Proof: By theorem 3.1-1, we can reparametrize three rays by placing Hst so that it contains 1 without changing the affine combinations of the three rays. Because the st plane intersections of the three rays will lie on 1, all affine combinations of three rays will have their st coordinates on 1, i.e., they will all pass through 1. The same argument also holds when all rays which pass through a given point. 3.2 Equivalence of Classic Camera Models Traditional camera models have equivalent GLC representations. Pinhole camera: By definition, all rays of a pinhole camera pass through a single point, C in 3D space (the center of projection). Any three linearly independent rays from C will the intersect II,, and IIst planes to form two triangles. These triangles will be similar and have parallel corresponding edges, as shown in Figure 3-2(a). Furthermore, any other ray, r, through C will intersect II., and Ht planes at points V>,, and 4qt. These points will have the same affine coordinates relative to the triangle vertices on their corresponding planes, and r has the same affine coordinates as these two points. Orthographic camera: By definition, all rays on an orthographic camera have the same direction. Any three linearly independent rays from an orthographic camera intersect parallel planes at the vertices of congruent triangles with parallel corresponding edges, as shown in Figure 3-2(b). Rays connecting the same affine combination of these triangle vertices, have the same direction as the 3 generator rays, and will, therefore, originate from the same orthographic camera. Pushbroom camera: A pushbroom camera sweeps parallel planes along a line I collecting those rays that pass through 1. We refer to this family of parallel planes as II*. We choose IIv, parallel to but not containing 1, and select a non-degenerate set of generator rays (they intersect IHuvin a triangle). By Theorem 3.1-2 and 3.13, all affinriecombinations of the three rays must all lie on II* parallel planes and must also pass through and, hence, must belong to the pushbroom camera. In the other direction, for any point P on Iuv, there exist one ray that passes through P that intersects I1and is parallel to II*. Since P must be some affine combination of the three vertexes of the uv triangle, the ray must lie on the corresponding GLC. Furthermore, because all rays of the pushbroom camera will intersect Iuv, the GLC must generate equivalent rays. cross-slit camera: By definition, an cross-slit camera collects all rays passing through two non-coplanar lines. We choose IIuv to be parallel to both lines but not containing: either of them. One can then pick a non-degenerate set of generator rays and find their corresponding triangles on lst and Huv.. By Theorem 3.1-3, all affine combinations of these three rays must pass through both lines and hence must belong to the cross-slit camera. In the other direction, authors of cross-slit [26, 47] have shown that each point on the image plane Iu,, maps to a unique ray, r, in an cross-slit camera. Since p must be some affine combination of the three vertexes of the uv triangle, r must belong to the GLC. The GLC hence must generate equivalent rays as the cross-slit camera. Epipolar Plane Image: EPI [4] cameras collect all rays that lie on a plane in 3D space. We therefore can pick any three linearly independent rays on the plane as generator rays. Affine combinations of these rays generate all possible rays on the plane,so long as they are linearly independent. Epipolar Plane Images. 41 Therefore a GLC can also represent 3.3 Characteristic Equation of GLC Although we have shown that a GLC can represent many commonly used camera models, the representation is not unique (i.e., different sets of three generator rays can define the same camera). In this section we develop a criterion to classify general linear cameras. One discriminating characteristic of affine ray combinations is whether or not all rays pass through a line in 3D space. This characteristic is fundamental to the definition of many multi-perspective cameras. We will use this criteria to define the the first characteristic equation of general linear cameras. Recall that any 2D affine subspace in 4D can be defined as affine combinations of three points. Thus, GLC models can be associated with all possible planes in the 4D since GLCs are specified as affine combinations of three rays, whose duals in 4D are the three points. Theorem 3.3-1. Given a non-EPI, non-pinhole GLC, if all camera rays pass through some line 1, not at infinity, in 3D space, then must be parallel to Hu,. Proof: We demonstrate the contrapositive. If is not parallel to Ilu,, and all rays on a GLC pass through , then we show the GLC must be either an EPI or a pinhole camera. Assume the three rays pass through at least two distinct points on , otherwise, they will be on a pinhole camera, by Theorem 3.1-3. If is not parallel, then it must intersect IIst, IIH,, at some point [so, to, 1] and [o, vo, 0]. Gu et al [12] has shown all rays passing through must satisfy the followingbilinear constraint (u-uo)(t- to)-(v-vo)(s -so) =0 (3.3) We show that the only GLCs that satisfy this constraint are EPIs or pinholes. All 2D affine subspaces in s, t, u, v] can be written as the intersection of two linear constraints Ai s + Bi t + Ci u + Di v + Ei = 0, i = 1, 2. (See Chapter 4.2 for details.) In general we can solve these two equations for two variables, for instance, 42 we can solve for u-v as u=A .s+B.t+E , v=A. s+B2 t+E (3.4) Substituting u and v into the bilinear constraint (3.3), we have (A .s + B; t + E- uo)(t - to) = (A' s + B' t + E2- vo)(s- (3.5) This equation can only be satisfied for all s and t if A = B' and B1 = A = 0, therefore, equation (3.4) can be rewritten as u = A' s + E' and v = A'. t + E2. Gu et al [12] have shown all rays in this form must pass through a 3D point P (P cannot be at infinity, otherwise all rays have uniform directions and cannot all pass through any line 1, not at infinity). Therefore all rays must lie on a 3D plane that passes through I and finite P. The only GLC camera in which all rays lie on a 3D plane is an EPI. If the two linear constraints are singular in u and v, we can solve for s-t, and similar results hold. If the two linear constraints cannot be solved for u-v or s-t but can be solved for u-s or v-t, then a similar analysis results in equations of two parallel lines, one on rIst, the other on Iluv. The set of rays through two parallel lines must lie on an EPI. Theorem 3.1-3 and 3.3-1 imply that given a GLC, we need only consider if the three generator rays pass through some line parallel to rIst. We will show an alternative proof of Theorem 3.3-1 using Pliucker Coordinate in Chapter 4. We use this relationship to define the characteristic equation of a GLC. The three generator rays in a GLC correspond to the following 3D lines: ri = Ai [si,ti, 1]+ (1-A i) [ui, vi, ] i = 1,2,3 The three rays intersect some plane HI= parallel to Hu, when A1 = A2 = A3 = A. By Theorem 3.1-3, all rays on the GLC pass through some line 1 on HI,=, if the three generator rays intersect 1. Therefore, we only need to test if there exist any A so that the three intersection points of the generator rays with II,=, lie on a line. A necessary 43 and sufficient condition for 3 points on a constant z-plane to be co-linear is that they have zero area on that plane. This area is computed as follows (Note: the value of z is unnecessary): (A Si1+ (1 - A)* Ul) (A. 1 .v 2) 1 V3 ) 1 (A.t .u 2 ) 82+(1-A) (A/ t I + (1 - A)* V1 ) (A. s 3 + (1 -A) u 3 ) 2 +(1-A) (A. t 3 + (1 -A) =0 (3.6) Notice equation (3.6) is a quadratic equation in A of the form A A2 + B A+ C = 0 (3.7) where A= B= S1 - U1 t s 2 -u 2 t2 -v s 3 -u 3 t3 -v S1 V1 1 S2 v2 1 s3 V3 - t 3 2 1 , C= u 2 v2 1 , 3 1 U3 sV3 1 U 3 1 U1 t2 - V1 1 V1 2 U 1 1 -2 (3.8) 1 U1 V1 1 U2 V2 1 U3 3 1 I call equation 3.9 the first characteristic equation of a GLC. Since the characteristic equation can be calculated from any three rays, one can also evaluate the characteristic equation for EPI and pinhole cameras. The number of solutions of the characteristic equation implies the number of lines that all rays on a GLC pass through. It may have 0, 1, 2 or infinite solutions. The number of solutions depends on the denominator A and the quadratic discriminant A = B 2 - 4AC. Notice, a GLC can also be equivalently generated by two generator triangles on the st and uv plane. The followingTheorem shows the translation invariant property of a GLC. Theorem 3.3-2. Given a GLC, three generator rays [si,ti, ui, vi], i = 1, 2, 3, 44 translating the two generator triangles [s', ti] = [si + T, ti + Tt], [u', v'] = [ui+ Tu, vi + Tv], i = 1, 2, 3, do not change the coefficients A, B and C of the characteristic equation of the GLC. Proof: This is because the determinants used in the expressions of A, B and C are invariant to translation. For instance, s1-u 1 t1 -v 1 1 +Ts- U -u T S2 -u11 2 t2 - 2 1 = S2+ T - 2 -Tu S3 -'u11 3 t3 - 3 1 s3 +Ts-u 3 -Tu t +Tt-vi -Tv 1 t 2 + Tt - v 2 t 3 +Tv-V Tv 1 =A 3 -Tv (3.9) 1 Similar results hold for B and C. 3.4 Characterizing Classic Camera Models In this section, I show how to identify standard camera models using the characteristic equation of 3 given generator rays. Theorem 3.4-1. Given a GLC, three generator rays, and its characteristic equation A A2 + B A + C = 0, then all rays are parallel to some plane if and only if A=0. Proof: Notice in the matrix used to calculate A, row i is the direction di of ray ri. Therefore A can be rewritten as A = (d1 x d 2 ). d3 . Hence A = 0 if and only if d-, d 2 and d3 are parallel to some 3D plane. And by Theorem 3.1-2, all affine combinations of these rays must also be parallel to that plane if A = 0. 3.4.1 A = 0 case When A = 0, the characteristic equation degenerates to a linear equation, which can have 1, 0, or an infinite number of solutions. By Theorem 3.4-1, all rays are parallel to some plane. Only three standard camera models satisfy this condition: pushbroom, orthographic, and EPI. All rays of a pushbroom lie on parallel planes and pass through one line, as is 45 shown in Figure 3-4(a). A GLC is a pushbroom camera if and only if A = 0 and the characteristic equation has 1 solution. All rays of an orthographic camera have the same direction and do not all simul- taneously pass through any line 1. Hence its characteristic equation has no solution. The zero solution criteria alone, however, is insufficient to determine if a GLC is orthographic. We show in the following section that one can twist an orthographic camera into bilinear sheets by rotating rays on parallel planes, as is shown in Figure 3-4(b), and still maintain that all rays do not pass through a common line. In Section 3, we showed that corresponding edges of the two congruent triangles of an orthographic GLC must be parallel. This parallelism is captured by the following expression: (si-sj) (ui-uj) i j = 1,2,3 and i j (ti-tj) (vi-vj) (3.10) We call this condition the edge-parallelcondition, and define it as the second characteristic equation of a GLC.. It is easy to verify that a GLC is orthographic if and only if A = 0 (all rays are parallel to at least one plane), its characteristic equation has no solution, and it satisfies the edge-parallelcondition. Rays of an EPI camera all lie on a plane and pass through an infinite number of lines on the plane. In order for a characteristic equation to have infinite number of solutions when A = 0, we must also have B = 0 and C = 0. This is not surprising, because the intersection of the epipolar plane with Hst and lHuvmust be two parallel lines and any set of three generator rays must satisfy A = 0 (because they lie on a plane), C = 0 (because the area formed on the three rays on uv plane is zero), and B=0. 3.4.2 A $ 0 case When A $ 0, the characteristic equation is quadratic and can have 0, 1, or 2 solutions depending on the characteristic equation's discriminant A. We show how to identify the remaining two classical cameras, pinhole and cross-slit cameras in term of A and 46 A. All rays in a pinhole camera pass through the center of projection (COP). Therefore, any three rays from a pinhole camera, if linearly independent, cannot all be parallel to any plane, and by Theorem 3.4-1, A # 0. Notice that the roots of the characteristic equation correspond to the depth of the line that all rays pass through, hence the characteristic equation of a pinhole camera can only have one solution that corresponds to the depth of the COP, even though there exists an infinite number of lines passing through the COP. Therefore, the characteristic equation of a pinhole camera must satisfy A $ 0 and A = 0. However, this condition alone is insufficient to determine if a GLC is pinhole. In the following section, we show that there exists a camera where all rays lie on pencil of planes sharing a line, as shown in Figure 3-4(c), which also satisfies these conditions. One can, however, use the second GLC characteristic equation (the edge -parallel condition) to verify if a GLC is pinhole. Thus a GLC is pinhole, if and only if A 0, it first characteristic equation has one solution, and it satisfies edge-parallelcondition. Rays of an cross-slit camera pass through two slits and, therefore, the characteristic equation of a GLC must have at least two distinct solutions. Furthermore, Pajdla [26] has shown all rays of an cross-slit camera cannot pass through lines other than its two slits, therefore, the characteristic equation of an cross-slit camera has exactly two distinct solutions. Thus, a GLC is an cross-slit if and only if A $ 0 and A > 0. 3.5 New Multiperspective Camera Models The characteristic equation also suggests three new multiperspective camera types that have not been previously discussed. They include 1)twisted orthographic: A = 0, its first characteristic equation has no solution, and all rays do not have uniform direction; 2)pencil camera: A # Oand the equation has one root, but all rays do not pass through a 3D point; 3)bilinear camera: A $ 0 and the characteristic equation has no solution. In this 47 I z' f3 ,•-- . /r 2 /l r2 4. (a) - - - ,r - I - I r Ir F1. N1 I -I (C) - Figure 3-3: Bilinear Surfaces. (a) r3 is parallel to S; (b) r 3 is parallel to S, but still intersects S; (c) r3 is not parallel to S, and does not intersect S either. section, we give a geometric interpretation of these three new camera models. Before describing each new camera model, however, we will first discuss a helpful interpretation of the spatial relationships between the three generator rays. An affine combination of two 4D points defines a 1-dimensional affine subspace. Under 2PP, a 1-D affine subspaces corresponds to a bilinear surface S in 3D that contains the two rays associated with each 4D point. If these two rays intersect or have the same direction in 3D space, S degenerates to a plane. Next, we consider the relationship between ray Tr 3 and S. We define r3 to be parallel to S if and only if r 3 has the same direction as some ray r E S. This definition of parallelism is quite different from conventional definitions. In particular, if r3 is parallel to S, r3 can still intersect S. And if r3 is not parallel to S, r3 still might not intersect S, Figure 3-3(b) and (c) show examples of each case. This definition of parallelism, however, is closely related to A in the characteristic equation. If r3 is parallel to S, by definition, the direction of r3 must be some linear combination of the directions of rl and r2 , and, therefore, A = 0 by Theorem 3.4-1. A = 0, however, is not sufficient to guarantee r3 is parallel to S. For instance, one can pick two rays with uniform directions so that A = 0, yet still have the freedom to pick a third so that it is not parallel to the plane, as is shown in Figure 3-3(c). The number of solutions to the characteristic equation is also closely related to the number of intersections of r3 with S. If r3 intersects the bilinear surface S(rl, r2 ) at P, then there exists a line 1, where P E 1, that all rays pass through. This is -L~PGt~-·="(a) (b) (c) Figure 3-4: Pushbroom, Twisted Orthographic, and Pencil Cameras. (a) A pushbroom camera collects rays on a set of parallel planes passing through a line; (b) A twisted orthographic camera collects rays with uniform directions on a set of parallel planes; (c) A pencil camera collects rays on a set of non-parallel planes that share a line. because one can place a constant-z plane that passes through P and intersects r, and r2 at Q and R. Because S is a bilinear surface, the cut by a constant-z plane on S is a line. Therefore, P, Q and R must lie on a line and all rays must pass through line PQR. Hence r 3 intersecting S(rl, r2 ) is a sufficient condition to ensure that all rays pass through some line. It further implies that, if the characteristic equation of a GLC has no solution, no two rays in the camera intersect. GLCs whose characteristic equation has no solution are examples of oblique cameras from [25]. 3.5.1 New Camera Models Our GLC model and its characteristic equations suggests 3 new camera types that have not been previously described. Twisted Orthographic Camera: The characteristic equation of the twisted orthographic camera satisfies A = B = 0 and C 5 0, thus, has no solution, and its generators do not satisfy the edge-parallel condition. If rl, r2 and r3 are linearly independent, no solution implies r3 will not intersect the bilinear surface S. In fact, no two rays intersect in 3D space. In addition, A = 0 also implies that all rays are parallel to some plane II in 3D space, therefore the rays on each of these parallel planes must have uniform directions as is shown in Figure 3-4(b). Therefore, twisted orthographic cameras can be viewed as twisting the parallel planes of rays in an orthographic camera along common bilinear sheets. Table 3.1: Characterize General Linear Cameras by Characteristic Equation Characteristic Equation 2 Solution 1 Solution A 0 A= 0 0 Solution Inf. Solution cross-slit Pencil/Pinholet Bilinear 0 0 Pushbroom Twisted/Ortho.t EPI t: A GLC satisfying edge-parallel condition is pinhole(A y! 0) or orthographic (A = 0). Pencil Camera: The characteristic equation of a pencil camera satisfies A # 0, has one solution and the generators do not satisfy the edge-parallelcondition. In Figure 3-4(c), we illustrate a sample pencil camera: rays lie on a pencil of planes that share line 1. In a pushbroom camera, all rays also pass through a single line. However, pushbroom cameras collect rays along planes transverse to planes of a pencil camera contains whereas the (i.e., lie in the pencil of planes through ), as is shown in Figure 3-4(a) and 4(c). Bilinear Camera: By definition, the characteristic equation of a bilinear camera satisfies A $ 0 and the equation has no solution ( < 0). Therefore, similar to twisted orthographic cameras, no two rays intersect in 3D in a bilinear camera. In addition, since A $ 0, no two rays are parallel either. Therefore, any two rays in a bilinear camera form a non-degenerate bilinear surface, as is shown in Figure 3-3(a). The complete classification of cameras is listed in Table 3.1. 3.5.2 All General Linear Cameras Recall that; the characteristic equation of a GLC is invariant to translation, therefore we can translate (sl,tl) to (0,0) to simplify computation. Furthermore, we assume the uv triangle has canonical coordinates (0, 0), (1, 0) and (0, 1). This gives: A = s2 t3 -s 3t2 - 2 -t 3 + 1, A = (s2 - t3)2 + 4s3t2 (3.11) The probability that A = 0 is very small, therefore, pushbroom, orthographic and twisted orthographic cameras are a small subspace of GLCs. Furthermore since s2, t2 , 50 S3 and t3 are independent variables, we can, by integration, determine that approxi- mately two thirds of all possible GLCs are cross-slit, one third are bilinear cameras, and remainders are other types. 3.6 Example GLC Images In Figure 3-5, we compare GLC images of a synthetic scene. The distortions of the curved isolines on the objects illustrate various multi-perspective effects of GLC cameras. In Figure 3-6, we illustrate GLC images from a 4D light field. Each GLC is specified by three generator rays shown in red. By appropriately transforming the rays on the image plane via a 2D omography, most GLCs generate easily interpretable images. In. Figure 3-7, we choose three desired rays from different pinhole images and fuse them into a multiperspective bilinear GLC image. GLC images can be rendered directly by ray tracing a synthetic scene, or by cutting through pre-captured light fields. In Figure 3-8, we synthesize a cross-slit and cross-slit camera by cutting through a 3D light field along different directions. By appropriately organizing rays, both GLCs generate interpretable images similar to pinhole and orthographic cameras. The pencil camera shown on the right of Figure 3-8 is highly twisted. This is because we are moving the viewing angle from left to right while scanning the image from the top to the bottom. Images of different GLC types also exhibit unique distortions. For instance, all lines in 3D space are preserved as lines on the 2D image for orthographic and pinhole camera while they are curved in most other GLCs. In particular, lines are strongly twisted in the images of twisted orthographic and pencil camera. This is mainly because the rays collected by both cameras are twisting in 3D space in nature. Similar to pinhole cameras, many GLCs have "vanishing" points of parallel lines. Furthermore, in pushbroom camera, objects far away from the camera are stretched while their size is preserved under pinhole camera, orthographic, and cross-slit cameras. I will provide a complete characterization of the GLC images in Chapter 5. 51 I; 1.: I-. ~ s-~ .1-,- ';ýP_ -J - ul I/ Figure 3-5: Comparison between synthetic GLC images. From left to right, top row: a pinhole, an orthographic and an EPI; middle row: a pushbroom, a pencil and an twisted orthographic; bottom row: a bilinear and an cross-slit. r Figure 3-6: GLC images created from a light field. Top row: a pencil, bilinear, and pushbroom image. Bottom row: an cross-slit, twisted orthographic, and orthographic image. Figure 3-7: A multiperspective bilinear GLC image synthesized from three pinhole cameras shown on the right. The generator rays are highlighted in red. Figure 3-8: Synthesizing GLCs by cutting through a 3D horizontal light fields. Left: we cut through the light field vertical diagonally to generate a cross-slit GLC. Right: we cut through the light field vertical diagonally to generate a pencil GLC. 54 Chapter 4 GLC Characteristics This chapter explains several important geometric and algebraic properties of the GLC model. I first introduce the relative two-plane-parametrization (R-2PP) to simplify te GLC characteristic equations, and show how it can be interpreted as the area formed by the three generator rays on a sweeping plane. The solutions to the first characteristic equation correspond to slits at both finite and infinite distance. I then derive all possible transitions one type of GLC to another by changing its slit geometry. Next, I explore several algebraic properties of the GLC model. I show GLCs are 2D linear subspaces in the 4D ray space and can be alternatively represented by two linear constraints. The two linear constraints satisfy specific algebraic properties for different types of GLCs. Finally, I compare GLCs defined under two-plane-parametrization and under Pliicker Coordinate. 4.1 Relative Two Plane Parametrization GLCs are defined as the affine subspaces of three generator rays that are parameterized by their intersections with two parallel planes at s, t, 1] and [u, v, 0]. Therefore, the two-plane-parametrization of the ray can be viewed as a two-point parametriza- tion of a line. Alternatively, each ray can be parameterized by a point and a direction. If we choose the point as u, v, 0] and direction as [a, T, 1] = [s,t, 1] - [u, v, 0], we have a point-direction-parametrization of a ray [a, T, u, v]. Since [, T, 1] can also be viewed 55 as the relative coordinate of [s,t, 1] with respect to [u, v, 0], I refer to this parametrization as the relative-two-plane-parametrization (R2PP). The transformation from 2PP to R2PP is linear, and more precisely a shearing transformation, thus, affine subspaces are preserved under R2PP. We can reparameterize a GLC by representing the rays under R2PP as: GLC = a [ 1 , T1,U1 , V] + [0'2, 2 , U 2, V2] + (1- a - ) -[0'3 , T3 , U3 , 3] (4.1) The first characteristic equation 3.8 under R2PP simplifies to ul+ A- al u2 + U3 A + A . Vl +- 2 03 T1 1 V2 + A 2 1 v 3 + A* 3 1 (4.2) =0 resulting in a simplified quadratic equation AA2 + BA + C = 0 where 1r O1 A = B = C= Ul V1 1 U2 V2 1 U3 V3 1 0' 2 T2 0' 3 rT 3 1 O1 V1 1 U1 1 0'2 V2 1 U2 1 0'3 V3 1 1 , (4.3) U3 1 The second characteristic equation 3.12 (edge-parallel condition) under 2PP is then transformed as: (,i-Uj) = (u-uj) (i -j) i,j = 1,2,3 and i j (4.4) (Vi -Vj) From now on, I will use the characteristic equations under R2PP throughout the thesis. 56 k = 0.0 = 2.3 k = 5.2 Figure 4-1: From left to right: the area formed by the three generators at each sweeping plane. Green corresponds to positive areas and red corresponds to negative. When the area is zero, all rays will pass through a slit on the corresponding sweeping plane. 4.2 Sweeping Area Recall from chapter 3.3 that the left hand side of the first characteristic equation of a GLC computes the area formed by the intersections of the three generator rays with each plane at depth A shown in Figure 4-1. Thus, we can plot the area formed the generator rays vs. the depth of the plane: ul +Aal 2. Area(A)= u2 + A o 2 u 3 + A.o3 vl + +A- 1 1 v 2 + A' 2 1 =AA2 + BA+C V3 + A 3 1 (4.5) where A, B, and C can be computed in equation 4.3. The area-depth curve is, in general, quadratic in A with either 0, 1, or 2 intersections with the area = 0 axis. The roots correspond to the depth of the slits(s) that all rays in the GLC pass through. For example, cross-slit cameras should always have two intersections with the area = 0 axis. Pencil and Pinhole cameras have a single intersection and are tangent to the area = 0 axis. The area-depth curve of a bilinear cameras never intersects the area = 0 axis and, therefore, maintains either positive or negative definite areas. Furthermore, the area-depth curve degenerates from a quadratic into a line when A = 0, which implies all rays are parallel to some plane. This happens with pushbroom, orthographic, twisted orthographic, and EPI cameras, as shown in Table (3-1). By analysis in Chapter 3, pushbroom cameras also satisfy B # 0. Therefore, the area-depth curve has a slope. The first characteristic equation of the orthographic and twisted orthographic cameras satisfy A = B = 0, thus, the Pinhole/Pencil Area Ortho/T. Ortho. Area lamda Pushbroom Area lamda Cross-slit Bilinear Area Area mdaamda EPI Area lamda lamda Figure 4-2: Area-Depth Curve (ADC) for GLCs. From left to right: ADC of a pinhole/pencil camera is quadratic and intersects area = 0 axis once; ADC of orthographic/twisted orthographic camera is a constant line parallel to area = 0 axis; ADC of a pushbroom camera is a line that intersects area = 0 axis once; ADC of a cross-slit camera is quadratic and intersects area = 0 axis twice; ADC of a bilinear camera is quadratic and never intersects area = 0 axis; ADC of an EPI camera is the area = 0 axis. area formed the three generator rays will remain constant and the area- depth curves lie parallel to the area axis. Finally, the area-depth of an EPI camera coincides with the area = 0 axis because all rays lie on a plane. The complete characterization is shown in Figure 4-2. Furthermore, since any quadratic curve is uniquely defined by three points, we can determine the first characteristic equation and the type of a GLC if we know the areas formed by the generator rays on three different depth planes. 4.3 GLC Slits The slits of a GLC determine the fundamental behavior of the rays. When the slit changes, the structure of these rays also changes accordingly, and in the extreme, a slit can move to infinity and the GLC characteristics change dramatically. However, the first characteristic equation only allows A with finite values as solutions. Ideally, we would like to have a uniform description of slits at both finite and infinite depths as solutions to the first GLC characteristic equation. Note that sets of the parallel planes intersect at an infinite line. Algebraically, this corresponds to GLCs with a characteristic equation coefficient of A = 0, and by Table 3.1, only pushbroom, twisted orthographic, orthographic, and EPI have infinite slits. In the following, I re-characterize GLC in terms of finite and infinite lines that Table 4.1: Characterize GLC with Lines Number of Lines GLC Type 0 line class 1 line class 2 line class oo line class Bilinear Pencil (1 finite); Twisted Orthographic (1 infinite); XSlit (2 finite); Pushbroom (1 finite, 1 infinite); Pinhole (oo finite); (Orthographic (o infinite); EPI (oo finite and infinite); they intersect: 0-Line Class GLC: Bilinear camera is the only GLC that all rays pass through no finite or infinite lines. 1-Line Class GLCs: Rays in a pencil camera pass through one finite line. Rays in an twisted orthographic camera passes through one infinite line. A twisted orthographic camera is formed by pushing the finite line in the pencil GLC to infinity. When the line in a pencil shrinks to point, it transitions to a pinhole camera. If we push the point to infinity, it becomes an orthographic camera. 2-Line Class GLC Rays in a cross-slit camera pass through two finite lines. When one of the lines goes to infinity, a cross-slit transitions to a pushbroom camera. When both lines in a cross-slit camera go to infinity, it transitions to an orthographic camera. When the two slits intersect, it transitions to a pinhole camera. When the two slits approach to coplanar, it transitions to an EPI image. The complete characterization is shown in Table 4.2. It describes all possible transitions between GLCs in terms of the change in slits. Notice, there is no possible transitions between 0-line, 1-line, and 2-line classes. Most recently, Roman et al 29] used a similar analysis for interactive designing panorama images. We will derive the transitions of the GLC on a differentiable continuous ray manifold and use them for generating various multiperspective rendering effects in Chapter 7. 59 4.4 Linear Ray Manifolds GLCs describe 2D affine subspaces of rays. When parameterized under 2PP, GLCs are 2D hyperplanes in a 4D vector space. Any 2D hyperplane in 4D can also be defined via two linear constraints. In this section I discuss the mappings from a GLC to two linear constraints and study the algebraic properties these linear constraints should satisfy for specific GLCs types. 4.4.1 Canonical GLC Representation Recall that a GLC is defined as an affine combination of three generator rays, each represented as (ai, i, ui, vi], i = 1, 2, 3. Thus, it takes 12 variables to define a GLC. However, this GLC representation is not unique since one can pick a different set of three rays to define the same GLC. To enforce uniqueness, I choose the three generator rays in a specific form as [al, Ti, 0, 01, [ [1, 0, 0], ad 2 , T2 , 1, 0], and [a3 , 3 , 0, 1], i.e., the three rays originate from [0,0, 0], [0, 1, 0] from the image plane. I call this parametrization the canonical GLC representation. Except for those GLCs that have a slit lie on the uv plane, all other GLC's can be uniquely represented using this 6-parameter canonical representation. Since the uv plane corresponds to the image plane, using the canonical GLC representation is similar to specifying the texture coordinate of a triangle, where the texture coordinate here represents the direction [a, r] of the ray. I will use the canonical representation of the GLC to study the multiperspective imaging properties in Chapter 5. 4.4.2 GLC to Linear Constraints In order to find the pair of linear constraints associated with a particular GLC, we represent the GLC in its canonical form as [a, , v] = a [o1 ,r 1 ,0,0] + . [0'2 , -2,1,0] + (1- -a -3). [0'3, 3, 0, 1] 60 (4.6) Solving for a, r, u, and v gives two linear constraints a =' (1 -u-v) T = (1-u + a 2 + a3 = ( 2 -a I)u + ( 3 - 1)v + 1 -V)T1 + UT2 + VT3 = ( 2 - T1)U+ (3- (4.7) I-)V + LT 1 Next, I introduce a vector notation to simplify the analysis, where each linear con- straint equation A.+BT+Cu+Dv+E = 0 is represented as the vector [A,B, C, D, E]. As a result, the two constraints of a GLC can be written as: r = [1, , a1 - a 2, a1 -a0'3,-a1 ] r2 = [0,1,T- (4.8) T2 ,7T1 - T3 , -7'1] The two constraints are unique for each GLC and I call them the canonical constraints of a GLC. All rays in a GLC should satisfy its canonical constraints. Furthermore, any linear combination of the two canonical constraints gives another linear constraint that the GLC must also satisfy. We are particularly interested in the special forms that these linear constraints take for each specific GLC type. In a pinhole camera, all rays pass through a 3D point [px,pY, pZ]. Therefore, each ray [a0,r, u, v] of a pinhole GLC must, for some value of A, satisfy: [u,v,0] + A[a, , 1] = [pX,py, pZ] (4.9) It is easy to see A = pZ. Hence the pinhole GLC is subject to the linear constraints u + pZa' = px (4.10) + pZT' = pY or in vector form, 1, 0, l/pZ, 0, _px/pZ] and [0,1, 0, l/pZ, py/pZ]. This means some linear combination of the two canonical constraints (4.8) of the GLC should satisfy 61 the two specific pinhole constraints above, i.e., 3a, 1, a 2 , 02 alrF 1 +/ 1F2= [1,0, l/pZ, 0, -pX/pZ] a 2 r1 +132r2 = [0, 1,0, l/pZ, -pY/pZ] Substituting Equation 4.8 into 4.11, we get al = 2= 1 and (4.11) a2 = 31 = 0. Solving for the remaining terms gives the second characteristic equation (edge-parallel condition) of the GLC (3.12). For those GLC types where every ray is parallel to at least one common plane (Pushbroom, Orthographic, Twisted-Orthographic, and EPI), it is equivalent to say that, these rays must be perpendicular to the plane's normal. Let the normal of the plane be nr= [nX,n y , nZ]. Then we must have [a 7, 1][nx, ny, nz] = 0 (4.12) nx n (4.13) or, yrn+ Z = 0 This implies some linear combination of the two canonical linear constraints of the GLC should give the two specific constraints 4.13, i.e., 3a, /3 al' + /3r2 = [nx , n y , 0, 0, nZ] (4.14) Solving equation 4.14 gives A = 0 of the first canonical GLC characteristic equation 4.2. For orthographic cameras, all rays have a common direction, i.e., a = a0 and T = To. trhus, there exist some linear combinations of the two canonical linear constraints that satisfy the two orthographic constraints, i.e., 3 a1 F1 + /1F2 = a 2 F 1 + "2F2 = 62 [1, 0, 0, 0, -o] [0,10, 0, -o] 1, 1, a 2 , 2 (4.15) Solving for the remaining terms in equation 4.15 gives ai = uo, and i = To, for i = 1, 2, 3. Finally, if all rays in a GLC pass through a slit parallel to the uv plane at z = pZ plane, we can parameterize the line with a point and its direction parallel to the uv plane as [pX,py, pZ] + u[dx,d y , 0]. Each ray [a, r, u, v] will intersect the slit, therefore, there must exist some A, p for each ray such that [u, v, O] + A[a, r, 1] = pY, pZ] + px, [dx, d y , ] (4.16) Solving the equation array gives A= pZ, and substituting for the term / gives: u + pza - px + pzT - p dx (4.17) d or r + (dpY- dp) = 0 dY u -dx. v + (pzdY)a - (pzdx) (4.18) which can be rewritten as the linear constraint [A1 , B 1 , k 1A1 , k 1B1 , C1 ]. Since all rays should satisfy this constraint, there must exist a and 3 so that aFll + 1r12= [Al,B1,klA 1,klB 1 ,C1 ] (4.19) Solving 4.19 gives the first characteristic equation of the GLC. 4.4.3 GLC Degrees of Freedom The canonical GLC representation defines any GLC using 6 free parameters. However, it does not mean that all GLCs have 6 degree of freedom (DOF). Consider that a pinhole camera can be uniquely determined by only three degrees of freedom (the x, y, and z coordinates of the center of projection). Thus, a pinhole camera must be subject to additional 3 constraints. This is not surprising, because pinhole GLCs are subject to the second characteristic equation (the edge-parallel condition). In general, the sum of the degrees of free (DOF) of a GLC and the number of 63 Table 4.2: Degree of Freedom of GLCs GLC Type P O TO PB X PN B EPI 4 DOF 3 2 5 6 3 5 6 1 pt 2 inf lines 1 line,1 pt 1 line 1 line 0 lines A plane 2 lines Geometry A=0 0 A=B=C=0 Constraints EP EP,A=0 A=O A=B=0 0 2 1 0 4 1 0 3 Equations 3 constraints it satisfies should be 6. In order to determine the DOF for a specific GLC, we only need to count the number of constraints. These constraints are from the first and the second characteristic equations, which constrain the coefficients A, B, C and the discriminant A, as well as the edge-parallel equation. For instance, a twisted orthographic camera is subject A = 0 and B = 0, thus it has 6 - 2 = 4 DOF. The complete characterization 4.5 of all GLC types is shown in Table 4.2. Pluicker Coordinates The major reason to choose a two-plane-parameterization to represent rays is that, under 2PP, rays form a vector space, whereas other ray/line parameterizations such as the Pluicker Coordinates, do not. Nevertheless, in this Section, we compare GLCs under 2PP to their equivalent structures under Plucker Coordinates. The Pluicker Coordinate P = [px, (PC) of a line I can be found by picking two points py, pZ] and Q = [qX,qY, qZ]on 1. The Pluicker Coordinate is the the six tuple 64 IPC = [10, 71/, 712, 13, 7r14 , 1'/5 ], where r1o = pqY - qpY 71 pqZ - (4.20) q pZ 7r12 = pYq -qyp 13 = pX - qX r71 = 4 pY - qY 7 15 = pZ _ qZ Plucker Coordinate has both advantages and disadvantages compared with 2PP. 2PP cannot represent rays that are parallel to the parametrization plane while PC can represent all possible rays. Furthermore, lines parameterized under PC are oriented, and thus preserve the direction of the ray, (P - Q or Q - P) while 2PP does not. PC also has other nice linear properties to determine the spatial relationship between the rays, as I will show later in this section. The major disadvantage of PC is that it does not form a vector space. More precisely, all rays under Plucker Coordinates lie on a bilinear manifold (notice the first three coordinates 7rlo,7r11 , 12 are bilinear functions of 713,714 , and 7rl5 ), and, therefore, the linear combination of the PC of two rays is not guaranteed to be a valid line/ray parametrization. Since GLCs are defined in terms of the affine combinations of rays, Plucker Coordinate is, thus, not suitable for representing rays in GLCs. The side operator of the PC is defined to determine the spatial relationship of two rays, i.e., if they intersect, are parallel, or oblique, as follows. Given two rays pa- rameterized under Plucker Coordinate a[ao,al, a 2 , a3 , a 4 , a5] and r[ro, r1 , r2 , r 3 , r4 , r], we define side(a,r) = aor5 + ar 4 + a2 r3 + a3 r2 + a4rl + asro 5 (4.21) It has been shown in [33] that side(a, r)= 0 if and only if the two rays are coplanar (i.e., either intersect or are parallel). I use this property to simplify the proof of 65 Theorem 3.3-1. To do so, we first transform the 2PP parametrization of the ray to its Plucker Coordinate. Given a ray s, t, u, v] under 2PP, we choose two points P[s, t, 1] and Q[u, v, 0] and compute its Pluicker Coordinate using equation 4.20 as. r2pp[s,t, u, v] = rpc[tu - sv, u, v, u - s, v - t,-1] (4.22) Notice the middle four terms correspond to the relative-two-plane-parametrization of the ray, and the first term is bilinear in the other four terms. A GLC is defined as all possible affine combinations of the three generator rays as r[s, t, u, v] = a[si,t, Ul,vl] + /[S2, t 2 , u2 ,v 2] + (1 - a )[s3, t3 , U3,v 3] - All these rays can also be parameterized under Plucker Coordinate using equation 4.20 as rpc = [(atl + ft 2 + (1 - a- )t3)(aUl + /3u 2 + (1 - a - (as1+ S2+ (1 -a- f)s3 )(av + V2+ (1-a-3) aUl + fU 2 + (1 - a -/)U 3, )U3)- (4.23) 3), aV1 + 3V2 + (1 - a - 3)V 3, (aUl+ U2 + (1 - a - )U3 - (as1 + s 2 + (1 - a - /)S3), av1 +-/V 2 +(1-a-)v 3 - (at +ft 2 (1-a- f)t3 ),-1] Now we can easily prove Theorem 3.3-1 using PC and the side operator. Theorem 4.5-1. Given a non-EPI, non-pinhole GLC, if all camera rays pass through some line 1, not at infinity, in 3D space, then 1 must be parallel to u. Proof: Suppose all rays in a GLC pass through some line a that is not parallel to the parametrization plane. First we represent all rays in the GLC as rpc = [ro,rl,r 2 , r 3, r4 , rs] as shown in equation 4.22. Notice, r has both quadratic and bilinear terms in a and . It is easy 66 to compute the coefficientsA, B, and C of these terms as: 2 P1 = (tl - t3)(Ul oa 12 P2 = (t2 - t)(u 2 a/3: P3 = P l+P2-((t 3) - U3 ) - (82 - 3)(v2-t (4.24) - (1 -S3)(Vl - V3) 2 )(Ul-U 2 )-(S1 3) -S 2 )(v1 -v2) The remaining terms of the PC rl to r 5 are linear in a and 1. Now that consider if all rays in a GLC pass through a line a that is not parallel to the parametrization plane. If we also represent a under Plucker Coordinate [ao, a1 , a 2 ,a 3 , a4 , a5], we have a5 aplucker = 0. Since all rays in the GLC pass through a, we must have side(a,r) = 0 for all a and /. Computing side(a, r) using equation 4.21, it is easy to see a 5ro is the only term that consists of a 2 , a, and 32. And, since side(a, r) = 0 for all a and and a 5 $ 0, we must have the coefficient of the quadratic terms be zero, i.e, P1 = P2 = P3 = 0. This yields to the edge-parallel condition, which can only be satisfied by pinhole, orthographic, and EPI cameras. Furthermore, if a is parameterized using the intersections with 2PP as [uo, vo, 0] and [s, t, 1], its Plucker Coordinate can be computed as equation 4.22. We can then rewrite side(a, r) = 0 as (-1)(touo- soVo)+ (o)(v - t) + (v)(u- s) (4.25) +(uo - so)(v)+ (vo- to)(u)+ (-1)(tu- sv) = (s - so)(v- vo)- (t - to)(u- o) = Gu et al [12]derived this same constraint through other means. If a is parallel to 2PP, we pick two points on the slit as P[xi, Yi, zo] and Q[x 2 , Y2, o] so that it has PC as apc = [xly2 -x 2y 1, (X1 -X 2 )ZO,(Y1 -y 2 )Zo,( 67 -x 2 ), (Y1 -Y2),O] (4.26) Thus, side(a, r) to a linear constraint: (YI - y2)u +(x1 - X2)v +(Y1- y2)zo(u- ) +(X1 - X2)Z(V-t) + (XlY 2 - X2 Y1) = (Y1-y 2 )(1 + O) u + (x1 -x 2 )(1 + O) v -(Y1-Y2 )ZO' - (i -X 2)ZO t + (lY 2 -X2Y) =0 We can rewrite this linear constraint as As+Bt+KAu+KBv+C as [A, B, K (4.27) = 0, or abbreviated A, K. B, C], resulting in a consistent relationship as derived in Section 4.3. 4.6 Discussion To conclude, I have derived the relative two-plane-parametrization (R-2PP) in order to simplify the GLC characteristic equations. The first characteristic equation reveals the change of the area formed by the three generator rays on a sweeping plane. I have also explored some of the algebraic properties of the GLC model. Specifically, I have shown that GLCs are 2D linear subspaces in the 4D ray space and can be alternatively represented by two linear constraints. The two linear constraints satisfy specific algebraic properties for different types of GLCs. Finally, I have compared GLCs defined under two-plane-parametrization and under Pluicker Coordinates. 68 Chapter 5 GLC Projection and Collineation In this chapter, I present theories of projection and collineation in GLC images. The GLC imaging process can be broken down into two separate stages: the mapping of 3D geometry to rays and and the sampling of those rays over an image plane. In this chapter, I derive a closed-form solution to projecting 3D points in a scene to rays in a GLC. The GLC image is created by sampling these rays over image planes. This chapter develops a notion of GLC collineation analogous to pinhole cameras. GLC collirneation describes the transformation between the images of a single GLC due to changes in sampling and image plane selection. Given a GLC camera with two different image planes, the collineation maps the pixels on one image to the corresponding pixels of the second image. I show that general GLC collineations can be characterized by a quartic (4th order) rational function. GLC projection and collineation provides a basis for developing new computer vision algorithms suitable for analysing a wider range of imaging systems than current methods, based on simple pinhole projection models, permit. 5.1 GLC Projection GLC projection is the mapping of points in 3D to their corresponding ray in a specific GLC. First, we consider projecting 3D point onto a GLC. To simplify the analysis, I will use the canonical GLC representations (equation 4.6) with the three generator 69 rays [al 1 l,, 0, 0, [2, T2, 1, 01],and [a3, r3, 0, 1]. This setup describe almost all GLCs (except for a subspace of GLCs whose slits lie on the uv plane). Every ray [, r, u, v] in the GLC is subject to the linear constraint equations 4.8: J= (1- u - v)a 1 +ua 2 + a3 u- V)T1 + UT2 + VT3 T = (1- The GLC ray that passes through a point P(x, y, z) in 3D satisfy the linear constraints equation 4.10: U+z-a = x v+z- = y Equation 4.8 and 4.10 can be combined into a matrix form as U erl - Or2 rl--W2 a - 3 1 0 T1 -T 3 0 1 al - 2 - V T1 - T2 a 1 0 z 0 X T 0 1 0 z Y 3 T1 - T2 -T (5.1) The ray passing through P is, thus, the solutions of the four equations given in 5.1 as: -(Z2(alT3 - Z(l(y -1)- a3y - (T1- T3)) - a3T) - X) z2(si(t2 V 2 (5.2) t3) + s2(ta- tl) +S3(tl- t2))- Z(S1 - 2+ tl - t3)+ 1 . (z2 (alT2 - a2 T) - z(aly - 2y + T(1 - X) + T2X) + y) Z2(Sl(t2-t3) + s2(t3 - tl) + S3(tl - t2)) - Z(S1 - 2 + tl - t3 ) + 1 Notice the denominators in u and v corresponds to the characteristic equation of the canonical GLC as shown in Chapter 4. I call this equation the GLC Projection Equation. 70 F r3 (b) (a) Figure 5-1: (a) Projecting a point P to a ray in the GLC. (b) The projection of P can be computed using the same affine coordinate on the sweeping plane II,. 5.1.1 Plane Sweeping The GLC Projection Equation has an intuitive geometric interpretation. Consider a plane Hz parallel to the uv plane and passing through P. The three generators will intersect IIz at T 1 ,T 2 ,T 3 , where = (0,0,0) + z. (01, T-i, 1) = (az, rz, z) = (1,0,0) + z (O2, T2, 1) = (o2 z + 1, -72, z) T3 = (0,1,0) + z - (a3, T3, 1) = (a3 z, r3 Z + 1, z) The affine combination [a, /] of the three generator rays that passes through P, is: P = (1 - a - ) -T + a T2 +/3 T 3 (5.3) [a, /] can be computed using the ratio of the signed areas formed by triangle AtPlPT3 7,AlblT 2 P over AT 1T 2T 3 , as is shown in Figure 5-1. Notice the area formed by AT1T2T3 corresponds to the first characteristic equation of the GLC. Thus, the affine coefficients (, rl t 3) can be computed as: - -.- - At 1 PT3 ZO 1 ZT1 1 X y 1 1 + ZT3 za3 --. AZ2 + Bz + C ZO1 1 +za AT1 T2P A\T T 1 x 2 (r, A\ "' ZT 1 1 ZT2 1 y 1 Az2 + Bz + C ~ Equation system 5.3 and Figure 5-1 gives a geometric interpretation to equation 5.1. 5.1.2 Singularities Notice Equation 5.4 may lead to no solution or multiple solutions when the denomi- nator Az 2 + Bz + C = 0 (i.e., the first characteristic equation is zero). This happens when P lies at the depth of a slit. Thus, using Table 3.1, we can conclude that these singularities can only happen in cross-slits, pushbroom, pencil, and pinhole cameras. When the points lie precisely on the slits, duplicated images will occur, because multiple GLC rays pass through these points. The ray passing through the point is determined by the solution to the 4x4 system of equations given in 5.1. When the point lies on the slit, the determinant of this matrix is zero, and, therefore, the four equations become linearly dependent. For pinhole cameras, when the point coincides with the center of projection, the 4 linear equations will degenerate to 2 linear equations as 4.10 and the projection of the point will cover the whole image. For pushbroom, cross-slits, and pencils, the 4 linear constraints will degenerate to three independent equations, and the projection of each point on the singularity covers a 1I) subspace of rays, or in its image it will project to a line. A similar case happens to EPI cameras. Furthermore, not all 3D points project onto a given GLC. There are two possible un-projectable situations: 1) there is no ray in the camera that can pass through 72 ·t<2 (a) (b) (c) "U) , Figure 5-2: (a) and (c) are cross-slits images synthesized from light fields. (b) and (d) are pushbroom images synthesized from light fields. The distortions of the curved isolines on the objects illustrate various multi-perspective effects of GLC cameras. The pushbroom camera also exhibits apparent stretching/duplications of objects faraway from the image plane, e.g., the lamp on the background. Table 5-1: Singularities in GLC Projections GLCType/ P0 Singularity Finite Pt. with Duplicated ot-ges (OP None Pts. onthe slit the p (OP and parallel tothe itage _ X _ PN T B EPI Pts.on the slits Pts. onthe slit None N.one the EPI plane _ _ _ __ _ _ _ _ P. ___________ P Pts. Unprojectable Ipassing tough ble FinitePt PB Pt. None ita pllel nd .e. . Projectahle Ifiit Pt.Intinltc ll PProjectabl itttageplane. Plo.withthe directtt as oroaphic _ _ _ direction the p passi pasing th li atd paallel to the Pts.onthe plane tg itheh through neof split Pts. on theplane throutagh the passing ite None the on image ~~~~~~~~~~~~both plane. slits.. ad plelt slit andparllel to Pts. that do None notlic tha donle oP. the EPI plane. Pts.withthe Pts. wtth the directiott ,.th parallel to the dieeetioo as the twisted All Projectabhile All Projectable ~~orthographicpln ~~~~~pushbroom plane otgrphic. Pt9. All Projectable Pts.onthe EPI PneI GLC Projections for Pinhole (P), Orthographic (), Pushbroom (PB), Cross-slits (X), Pencil (PN), Twisted Orthographic (T), Bilinear (B), and EPI. the point, or 2) the ray that passes through the point is parallel to 2PP, and hence cannot be represented. Points that cannot be projected can only happen when the denominator of equation 5.4 is zero and the numerator is non-zero. For cross-slit cameras, these points lie on the two planes HIIz=zl and IZ=Z 2 that contain the slits but do not; lie on these slits. This is representative of the first case. For pencil and pushbroom cameras, these singularity points lie on plane II,=, that contains the slit but do not lie on the slit, and it followsthe second case. Pinhole cameras are a special case of pencil cameras. In theory, it can image all points in 3D space. However, for points that lie on the plane parallel to the parametrization plane and passing through the COP, the corresponding rays are parallel to 2PP and hence cannot be imaged by a pinhole GLC, as shown in Table 5-1. 5.1.3 Projections of Lines Now we consider the projections of lines onto various GLCs. If uv plane, we can parameterize is parallel to the as a point [x0 ,y0o, 0] on the line and the direction [dx, dy , 0] of the line. It has been shown [12] that all rays passing through 1 satisfy [u,v, 0] + Al[a, , 1] = [x0 , yo,z 0 ] + A 2 [dx, dy, 0] 74 (5.5) which is equivalent to the linear constraint (u+ zoo -xo)dY - (v + zor -yo)dx = 0 (5.6) The GLC rays passing through is the intersection of three linear constraints: equation system 4.8 and 5.6. Thus, the rays collected by any GLC passing through 1 are, in general, a D linear manifold. If we assume the uv plane is the default image plane, then (u, v) gives the pixel coordinates of the projection. This implies that the image of a line 1 parallel to the uv plane also a line. If is not parallel to the uv plane, then 1 will intersect uv plane at (u0 , vo,0) and has direction (o, to, 1). All rays passing through in this case satisfy the bilinear constraint [12]: (u - uo)( - o)- (v - vo)( - o) = 0 (5.7) The projection of 1 hence can be computed using equation array 4.8 and equation 5.7 as follows: (u - uo)(( -u-v)ri +ur2 + vr3 - o) -(v - Vo)((1- u - v)o'1 +uo'2 +v which corresponds to a 3 - a0 (5.8) ) =0 D quadratic manifold of rays. Similarly, if we take the uv plane as the image plane, the image of is a quadratic curve on the image plane as shown in Figure 5-2(a) and 5-2(b). 5.1.4 Projections of Points at Infinity We can use the line projection to determine the GLC projections of points lying in the plane at infinity. An infinite point can be written as: P(x, y, z) = (o, vo, 0) + z(a0 , TO, 1), z -* oc 75 (5.9) Substituting P in equation 5.4, it is easy to see that the numerator and the denominator of u and v are both quadratic in z. Howevereither or both terms may degenerate to linear or constant. For pinhole, pencil, bilinear, and cross-slits, the first GLC characteristic equation (the denomrninatorin the projection equation) is always general quadratic in z, as is shown in Table 3-1. And since the numerator is at most a quadratic z- in z, when oc, both u and v will have finite values, i.e., points infinitely far away from the image plane all have a projection in the camera. Substituting [x, y, z] in equation 5.9 into 5.1, we get Auz 2 + Buz + Cu tl)+ 3(tl-t 2))- Z(sl- 2+tl -t 3) + 1(5'1 10)) U... z2(S1(t 2 - t3) + s2(t3 - Avz2 + Bvz + Cv V Z2(S(t2 - t3) +s2(t3 - tl)+s3(tl- t2))- Z(S1 - 82+tl- t3) +1 2'--: where (1 Au= T1 1 o 1 ,A= ao a3 a 3 1 a2 ao0 Tr1 1 2 1 ro0 1 (5.11) Thus, the coefficients of z2 in both the numerator and denominator of the projection equation are functions of ao, To, and the intrinsic parameters of the GLC, not uo or vo. This implies the final projection is only dependent on the direction of the infinite points. In the pinhole case, these points correspond to the vanishing points associated with directions and such vanishing points also exist for all pencil, bilinear, and cross-slits cameras. For pushbroom cameras, the directions of three generator rays are parallel to some plane Hpushboomand its characteristic equation is linear in z. The denominator in the Projection Equation 5.4 is, thus, a linear function in z. However, the numerator can 76 be quadratic in z in format as shown in equation 5.11. Therefore, only when l Au= eo 0a3 T1 1 l o 1 =0, T3 A = 1 T1 1 0r2 T2 1 =0 uo 0 To (5.12) 1 can the point be projected into the camera. However, since the three generator rays are parallel to some plane, we must also have a 1 T e2 2 1 U3 3 1 = 0 From equation 5.11 and 5.12, [ 0 , To,1] must be a direction parallel to (5.13) 11 ushom Thus the projection of the infinite points are constrained to one dimensional subspace and causes infinite stretching at the other, as shown in the pushbroom panorama Figure 2-3(d). Cross-slit GLCs, however, are able to project all points infinitely far away and, therefore, are a better choice for creating panoramas. Figure 5-2(a) and 5-2(c) compares pushbroom and cross-slit panoramas. Objects far away are stretched in pushbroonL cameras, but not in cross-slit cameras. Similarly, for orthographic and twisted orthographic cameras, whose first characteristic equations are constant, an infinite point has a projection only if [o, o, 0 1] is the direction of the ray of the GLC at point [u0,v0,0]. For instance, for orthographic cameras, only infinite points along the view direction can be seen in the projection. The complete characterization of singularity and infinite projection of GLCs is shown in Table 5-1. 5.2 GLC Collineation In the previous section, I study the projections of points and lines in a GLC by taking the uv plane as its default image plane. In this section, I derive how a given GLC 77 / /r7 / / ~ - (a) (C) (D) (d) Figure 5-3: (a) Imaging the GLC on a plane parallel to the uv plane. (b) Imaging the GLC on a different plane. (c) A GLC image of a toy dog synthesized from a video using image plane (a). (d) A different image of the same GLC camera using image plane (b). image transforms as it is sampled over different image planes. This transformation is analogous to planar collineation to pinhole cameras. Assume the new image plane lnew is specified by an origin P and two spanning directions dl, d2. For every ray r[aU , u, v] parameterized under the default 2PP, we intersect the ray r with Inew to obtain its new pixel coordinate [il, jl]: [u,v, 0] + A[, r, 1] = P + dlil + d2jl (5.14) To simplify our computation, we translate origin P on the plane to simply our computation. If we assume the new image plane is not parallel to the z axis, we can choose = [0, 0 ,pZ]. Otherwise, we can choose the image plane's intersections with either the x or y axis, and similar results hold. The new image coordinate of the ray [i1 , jl] can be computed as by solving equation 5.11 as: pZ(d2o- d2r)+ d'u - d2v+ d(v -Tu) 2 il~~~~~~ (5.15) (5.15) -y pz(d~-d) +dv-dlu- d(v - -ru) where y= dx dl d d2 dz dz a r (5.16) 1 Since all rays lie in a GLC satisfy equation 4.8, thus, a and r are linear functions in u and v.. Furthermore, -yis linear in a and , and, therefore, can also be written as y = a3 u + b3 v + C3 . Thus, il and jl can be computed as: il alu2 +bluv+clv2 +d u+e v+fl fl l (5.17) -(5.17) a2 u2 +b2 uv+c2 v2 +d2 u+e2 v+ f 2 ly -y is zero when the ray is parallel to the new parametrization plane, which we will not consider. The numerator is, in general, a quadratic function in u2 , v 2 , uv, and 79 therefore, the collineation from the default image plane (uv plane) to a new image plane is a quadratic rational. 5.2.1 General Collineation between GLCs Finally, we can compute the collineation between any two planar parameterizations of the same GLC. Suppose we want to compute the collineation from image plane ri1 = {, , d2 } with pixel coordinate [i1 ,jl] to image plane 112 = {qd 3 , d4} with pixel coordinate [i2 , j2]. First, we compute the transformation from 11 to the default image plane. Second we use the transformation from the default image plane to 112. The first transformation is in fact simply projecting each point on 11 onto the _~~~~ default plane, which can be described by the Projection equation 5.4. Consider each pixel m[ul, vi] corresponds to point M px+ildl+jd1 2 M[x,y,z] =P+d+1 i1 +d 2j 1 p +ild¥ +jld2 (5.18) P1+ ildl + jld2 The projection of M onto the uv plane is quadratic rational in [x, y, z] and [x, y, z] is linear in [i1 , jl] as shown in equation 5.13, therefore, the composed transformation can written as u = fi(il,jl) v 0(ii,ji) f2 (il,jl) (5.19) 0(ii,ji) where f1 (i1 , jl) = A1i 2 + B1iljl + Clj 2 + Dil + E1 jl + F1 (5.20) f 2 (il,jl) = A2 i2 + B2iljl + C2j 2 + D2il + E2j + F2 O(ii,ji) = A3i2 + B3 i 1jl + C3 j 2 + D3i1 + E3 j1 + F3 Thus the transformation from [u, v] is quadratic rational in i and jil. Next, we compute the Collineation from [u, v] to II2[i2 , j2] using equation 5.6 and result is a composition of two quadratic rational functions, which is a quartic rational 80 function that has the form: 2 Hl(il,jl) I(i, j ) i2 where Hi(il,jl), (5.21)j) H2(il,j) (5.21) I(i, j) ' H2 (ii,jl) and I(il,j 1 ) are all quartic (4th order) polynomials in il and j. In Figure 5-3, we show two images (in red rectangle) of the same GLC camera using two image planes. The GLC used is a cross-slit. This indicates, although the collineation is quartic rational, the behavior of changing the image plane is similar to homography in a pinhole image. 5.2.2 Collineation Degeneracies The planar collineation of a GLC is in general a quartic rational function. However, it may degenerate into a quadratic or even a linear rational function for specific types of GLCs. In this section, the form of special collineations for cross-slit, pushbroom, and pinhole cameras are considered. First, consider equation 5.15 which maps rays onto an image plane IIl as pixel [i1,jl], as a function of u, v, a, and . Given a second image plane II2, we can represent u, v, a, and r in terms of its pixel coordinate [i2,j2], and directly compute the collineation from II2 to ll. If 112is parallel to the default 2PP, then u, v, a, and T are linear functions of i 2 and j2, as shown in Chapter 4. Substituting them into equation 5.15 gives a quadratic rational (quadratic in the numerator and linear in the denominator) collineation. If 112 is not parallel to the default 2PP, then it is non-trivial to represent a, r, u, and v in terms of i2 and j2, because ao, , u, and v are no longer linear functions of i 2 and j2. However, for some special types of GLCs, such as pinhole, pushbroom, and cross-slits, it is still possible to represent a, For cross-slit cameras, if 112 T, u, and v in simpler forms of i2 and j2. is not parallel to the default 2PP, then the two slits will intersect the new 2PP can be represented as two lines 11[al, rl, ul, vi] and 12[a 2 , T2 , u2.:, v2]. If we choose 2 as the image plane for parameterizing 81 each ray [a, T, u, v], we have u = i 2 and v = j2. Furthermore, since all rays passing through 11 and 12 are subject to two bilinear constraints as is shown in equation 3.3. Thus, (i2 - ul)(r - T) - (j2- v)(a - a 1) = 0 (i2 - 2)( we can solve a and T 2) (5.22) - (j2 -v2)(a - 2)= 0 in term of i 2 and j2 as: A 2i 2 + B 2 i2 j 2 + C2j2 + D2 i 2 + E 2j 2 + F2 a (523) A 1 i2 + Bj2 + C1 A 3 i2 + B 3 i 2j 2 + C3j2 + D3i 2 + E 3 j 2 + F3 A l i2 + Blj 2 + C1 T - where Ai, Bi, Ci, Di, Ei, Fi, i = 1, 2, 3 are all constant. Expanding equation 3.3 gives i2r - Finally, if we substitute 2a = i2T -j 2 A 4 i2 + B4 j 2 + C4 cr + D4 T + E4 a, (5.24) a, and r into the collineation equation 5.15, the quartic rational collineation degenerates to quadratic rational (quadratic in numerator and denominator). An alternative proof using a quadratic tensor is shown in [47]. For pushbroom cameras, if 2 is not parallel to the default 2PP, then the slit will intersect the new 2PP as the line [a, T1 , u 1 , v2], and the new ray parametrization [a,r, i 2 , j2] is subject to one bilinear constraint, as is the case for cross-slit GLCs: (i2 -u)(r - T)-(j 2 -vl)( -) =0 (5.25) In addition, since all rays of a pushbroom GLC are parallel to some plane, all rays mustalso satisfy a second constraint [a, r, 1]. [no,n1, n2] = noa + n1t + n2 82 (5.26) Solving a and r for equation 5.22 and 5.23 gives (5.27) A 2 i2 + B 2j 2 + C2 Ali 2 + Blj 2 + C1 A3i2 + B3j 2 + 3 Ali 2 + B1 j2 + C1 in the collineation equation, and Similarly, we can substitute i2T - j 2 a, a and the quartic rational collineation degenerates to a quadratic rational (quadratic in numerator and linear in denominator). For pinhole cameras, rays in the GLC satisfy We can solve a and T- as a = -Plzi2 + 5 and i2 + pZa = pX and j2 + PZT = pY. = pl 2 + . Substituting a and T into the collineation equation, the quartic rational collineation degenerates to a linear rational (a homography). Finally., for bilinear, pencil, twisted-orthographic GLCs, when the first image plane is not parallel to the default 2PP, it is non-trivial to solve a and T in terms of i2 and j2 in general. And the quartic rational collineation will not reduce into simpler form. In summary, I have presented theories of projection and collineation for GLC images. A closed-form solution for projecting 3D points to rays in a GLC was derived. In addition, I showed that colllneations between the images of the same GLC but on different imaging planes are up to quartic (4th order) rational. Using GLC projection and collineation theory, it is easy to explain the multiperspective distortions such as curving of lines, apparent stretching and shrinking, and duplicated projections of a single point. 83 84 Chapter 6 GLC Differential Invariance Theorem In this chapter, I will expand the use of GLCs to model arbitrary multiperspective cameras. first introduce the model of an arbitrary smooth (non-planar) ray man- ifold that maps rays collected by a multiperspective camera onto a two-dimensional subspace in the ray space. I then show how to model this ray manifold by analyzing its local tangent planes. Each local tangent plane corresponds to a GLC. The GLC's type can be used to characterize the group behavior of around each ray. The set of rays in a GLC, however, are not invariant to the choice of the parametrization plane. Therefore, in this chapter I will prove a GLC differential invariance theorem that states that, even though the ray manifold changes when the parametrization plane changes, the GLC type and geometric features remain invariant. 6.1 Limitations of 2PP A multiperspective camera in general captures a 2D subspace of rays that lie on a 2D (non-planar) manifold in the ray space under two-plane-parametrization (2PP). When we choose a different set of the parametrization planes, the same set of rays will lie on a different 2D ray manifold. As a special case, all GLCs that correspond to 2D linear subspaces of rays under the default 2PP may map to non-linear manifolds 85 under a different choice of the parametrization plane. For instance, consider a cross-slit GLC camera under a given 2PP. All rays in this cross-slit GLC lie on a 2D hyperplane as we have shown in Chapter 3. Now if we choose a different set of parametrization planes, not parallel to the original 2PP, I will show the same set of rays lie on a non-linear manifold under the new parametrization. Since the new parametrization planes are not parallel to the original 2PP, each of the two slits must intersect with the new planes at two points [si, t, 1], [ui, v, 0], i = 1, 2. Recall that all rays in cross-slits pass through these two lines and are subject to two bilinear constraints under the new parametrization (s-s~)(v-vl) - (t-tl)(u- -2)(v - V2)- (t - t2)- as shown in Chapter 4: Ul) = O 0 (6.1) = Since the intersection of two bilinear subspaces is, in general, a non-linear manifold, the same set of rays of one GLC lie on a non-linear manifold under the new parametrization whereas they lie on a 2D linear subspace under the original parametrization. In general, with the exceptions of pinhole, orthographic, and EPI GLCs, all other GLCs map to non-linear manifolds when the new parametrization plane is not parallel to the defining 2PP. This is because the bilinear surface formed by the two generator rays shown in Chapter 3 changes when the parametrization plane changes. In addition, the local tangent plane on an arbitrary ray manifold at the same ray will also be different under this new parametrization. An intrinsic ray analysis should reveal the behavior of rays independent of parametrization. I show that differentially, in a infinitesimal region about each ray, GLC analysis satisfies this invariant property. For instance, although a cross-slit maps to a non-linear manifold when the new 2PP is not parallel to the default 2PP, the local tangent plane around any ray on this new non-linear ray manifold, is still a cross-slit camera. 86 6.2 Local Tangent GLC Given 2D continuous ray manifold under [a, r, u, v] parametrization, it can be rewritten in term of two free variables, e.g., x and y as (x, ) = [(x, y), (x, ),u(x, ), (x,y)] (6.2) where u(x, y), T(x, y), u(x, y), and v(x, y) are continuous and differentiable in x and y. We can compute the tangent plane of this manifold by computing two spanning vectors dc and d2 at each point on the manifold by taking partial derivatives with respect to x and y as = [Trx ,uX,vx],d2 = [y, y, uy, vy] (6.3) This is the same as finding the tangent plane of a surface in 3D space. There are two significant properties of the ray manifold's tangent planes. First, they characterize group behavior of the neighboring rays around each point on the manifold. Second, since a tangent plane is a 2D linear manifold, it must be one of the GLCs. The group characteristic behavior of the rays on the tangent plane is determined by the intrinsics of the GLC camera type as determined by its characteristic equations. To compute the GLC characteristic equations of a tangent plane, we can choose three points on the tangent plane, which are E(x, y), E(x, y) + d1 , and E(x, y) + d2 , yielding the following first characteristic equation: u+ A v + A 1 (u + u)+ (a+a x) (v+vx)+A( + x) 1 =0 (u+uy)+A(a+ay) (v+vy)+A(T+Ty) 1 87 (6.4) As usual, it corresponds to a quadratic equation AA2 + BA + C = 0 where A = acy-ayr B a-vy- = v - rTUy + Tryu (6.5) C = uzvy - uyv The discriminant, A, can be computed as A = (r - -r + 2 vy- %Vx) 4(axry - ay7-)(Uvy - Uyvx) (6.6) The second characteristic equation (edge-parallel condition) also simplifies to: 6.3 UxVx -TxUx O, (o - oy)(vx - O'yVy TyUy = O (6.7) vY) - (T - Y)(uX - uY) = 0 Differential Invariant Theorem Our goal in this section is to show that the first and the second characteristic equations of the local tangent GLC correspond to the same GLC type despite changes in the parametrization planes. Recall that the GLC type is determined by, A, B, and A in the first characteristic equation, and the edge-parallel condition. In order to prove the the differential invariance of GLC type, I show that the signs and zeros of the characteristic equa- tion's A, B, and A terms, as well as the edge-parallel condition, are invariant to the parametrization. Given a set of rays that map to a 2D manifold under a specific parametrization, I first compute the transformation from the old manifold to the new one. Assume the new parametrization planes are specified by two points P5and on each of the plane, and two spanning directions d, d2 of the plane. For every ray [a, r, u, v] on the old 88 manifold, the intersections of the ray with the two new planes s', t'] and [u', v'] are given by: [u,v,]+Aj[a, , (6.8) 1] = P+d$'+d2t' + d' + d2v [u,v, 0]+A 2 [a,r, 1] = Theorem (3.3-2) shows that the characteristic equations of a GLC does not change when the origins P and translate in the plane. Assuming the two planes are not parallel to the z axis, we can choose P = [0, 0, pZ] and = [0,0, qZ] to simplify the analysis. ()therwise, we can choose their intersections with either the x or y axis and / similar results hold. The new [a', T', u', v'] can be computed as: / = s-U = (pz q)(d2ya - d2r) t'-v -(qZ pZ)(~la dir) 9-_ (-dxT)+ + ,s= q(a-d~ v - d T) +d - vy dudz(av- u) qZ(dlo -y where d Y= d 2d d2 a r dl (6.9) d 1 The new [', T', u', v'] parametrization is bilinear rational function of a, , The transformation , v. also has a singularity where y is zero. This happens when a ray in the original parametrization is parallel to the new parametrization plane. The spanning vectors of a tangent plane under the new parametrization can be computed by taking the partial derivations of [', T', u', v'] as [a', T, u', v'] and [a, T, u, t.y] using the chain rule. The new first and second characteristic equations can be computed using Equation 6.5 to 6.7. As a result, the relationship between the default characteristic coefficients A, B, 89 C and A and the new ones A', B', C' and A' satisfy: (dTd A' - d d) (dd2- B C =_(C72 2 Y3 (pz - qZ)2 A (6.10) - qz)(B?+ 2A) -d)(pz 2 73 + B7¢+ A2) 73 (dd2 - d2dY1)2 (pz - qz)2A 74 The edge-parallel equations can be computed as: =z - I (o I U = L(oxv - rxux) I I crv,u(ayvy('- -rUy) - TU/ y,)(v =- v,) - TY,)(U' u,) I ,((a ,y)(Vx vY) - (T- - 'ry)(uX - uY)) where (dxd2 - ddl)(pz /P = dxZ = - qZ) 272 dl (6.11) (6.11) dz d2 d2y d2 u v qz Since the t-Iwoplanes intersect the z axis at two different points p and q, pZ _ qz 4 0. The two spanning vectors on the parametrization dld2 - plane have to be different, so d2d 5 O. Thus, A'= 0 if and only if A = 0. And when A = 0, B' = 0 if and only if B =- 0. Similarly, when A = B = 0, C' = 0 if and only if C = 0. Furthermore, the sign of A' is always the same as A, and the new edge-parallel condition is satisfied if and only if the original one is satisfied. Thus, the local GLC type under the new parametrization is the same as under the original parametrization. In summary, I have shown the Differential Invariance Theorem that, differentially, 90 the local GLC model for an ray manifold is invariant to the choice of parametrization plane. This overcomes a major limitation of 2PP. I will use the GLC Differential Invariance Theorem to analyze reflection manifolds in Chapter 8 and to discuss the relationship between the local cross-slit GLC to the caustics in Chapter 8. 91 92 Chapter 7 Multiperspective Rendering In this chapter, I demonstrate the application of the GLC model for the direct rendering of multiperspective images. Multiperspective imaging systems are treated as devices for capturing a smoothly varying set of rays, and I show that the corresponding multiperspective images can be characterized as continuous manifolds in ray space. I then use GLCs, which describe all 2D linear manifolds of rays, as primitives for constructing mrultiperspective images. I show GLCs when constrained by an appropriate set of rules, can be laid out to tile the image plane and, hence, generate arbitrary multiperspective renderings. Finally, I show how the GLC framework can easily render a broad class of multiperspective images, such as multiperspective panoramas, neocubist style renderings, and faux-animations from still-life scenes. 7.1 Background and Previous Approaches A perspective rendering represents the spatial relationships of objects in a scene as they would appear from a single viewpoint. In contrast, a multiperspective rendering combines what is seen from several spatially incongruent viewpoints into a single im- age and still preserves spatial coherence, depicting, within a single context, details of a scene that are simultaneously inaccessible from a single view, yet easily interpretable by a viewer. Multiperspective rendering techniques are frequently employed by artists to de93 pict more than can be seen from any specific point. Classic examples include the visual paradoxes of Escher, and the Cubism of Picasso and Braque. Multiperspective images have also been used as backdrops in cel animation to effectively depict camera motion in a single panorama. Computer generated multiperspective panoramas, as presented by Wood et al [39], combined elements of multiple pinhole cameras into a single image using a semi-automatic image registration process. They relied on optimization techniques, as well as optical flow and blending transitions between views. The concentric mosaics of [32] and [27] are another type of multiperspective image that is useful for exploring captured environments. Durand [9] suggests that specifying multiperspective projections can also be an interactive process and uses them as an example to distinguish between picture generation and user interaction. Examples of such approaches include the 3D-based interactive rendering systems by Agrawala et al [1]and Hanson and Wernert [14]and the image-based approaches such as pushbroom and cross-slit panoromas and the MCOP (multiple center of projection) images of Rademacher [28]. 7.1.1 GLC as Multiperspective Images GLCs can be used to generate common multiperspective images such as pushbroom and cross-slit images. They also include many lesser known multiperspective cameras, such as the pencil, twisted orthographic, EPI, and bilinear cameras. Many of the GLC images exhibit typical multiperspective features such as shearing, twisting, curving, and duplications, as discussed in Chapter 5. An important characteristic of GLCs is that any general point in 3D space has a unique mapping to a ray. This is because under s, t, u, v] parametrization, all rays passing through a 3D point also lie on a 2D hyperplane and two hyperplanes (one for the point and one for the GLC), in general intersect at a unique point in 4D. Therefore, there is only one ray of a GLC that passes through a given point in a scene. GLCs, thus, are particularly useful for imaging systems since each 3D point has a unique mapping to the image plane. Furthermore, one can also choose three desired rays from different pinhole images 94 Figure 7-1: Image fusion by composing a GLC image: a new pose of the cow (right) is synthesized by specifying the three generator rays (red) of a GLC from left three poses. and synthesize a single GLC that incorporates the selected features. Collineation can be used to adjust the resulting image, to locally reduce the apparent distortions. Figure 7-1 shows a bilinear camera image that fuses the horn, tail, and nose of a ceramic cow from three different perspectives. In this Chapter, I use GLC models as rendering primitives for generating arbitrary multiperspective rendering effects. 7.2 Multiperspective Ray Manifold I treat the problem of multiperspective rendering as one of specifying and sampling a smooth varying set of rays. The model of smoothness that I define models each multiperspective image as a continuous 2D manifold of rays embedded in a 4D space. The continuity of the manifold guarantees that the images produced are coherent. Specifically, they are CO or higher-order continuous within a space of rays. The proposed approach is enabled by the local GLC model approximation method described in Chapter 6. Specifically, since GLCs model all 2-dimensional linear subspaces in Figure 7-2: A neocubism styled multiperspective image synthesized using our framework. It combines pinhole images from different points of views with various multiperspective (pushbroom and cross-slit) images. 96 (a) (d)ý (b) i· (g) v 1ý (h) Figure 7-3: General Linear Camera Models. There are precisely eight GLCs, shown in (a) to (h). (a) In a pinhole camera, all rays pass through a single point. (b) In an orthographic camera, all rays are parallel. (c) In a pushbroom, all rays lie on a set of parallel planes and pass through a line. (d) In a cross slit camera, all rays pass through two non-coplanar lines. (e) In a pencil camera, all coplanar rays originate from a point on a line and lie on a specific plane through the line. (f) In a twisted orthographic camera, all rays lie on parallel twisted planes and no rays intersect. (g) In an bilinear camera, no two rays are coplanar and no two rays intersect. (h) In an EPI camera, all rays lie on a 2D plane. ray space, they are first-order approximation (piecewise planar) of the continuous ray manifold shown in Figure 7-3. Thus, I use GLCs as primitives for constructing arbitrary multiperspective images. These atomic cameras, when constrained by an appropriate set of rules, can be laid out on tile the image plane, thereby generating arbitrary multiperspective renderings. In fact, to a first order, the GLC-based framework can describe any multiperspective image that is consistent with a smoothly varying set of rays. 7.2.1 Piecewise Multiperspective Image Plane While the GLC model includes many multiperspective camera types, it is still not sufficient to describe a general multiperspective image. Multiperspective GLCs respect specific linear geometric structures. For instance, they describe specific sets of rays that all pass through either a specific point, line, pair of lines, or lie on a ruled bilinear surface. Multiperspective rendering, as practiced by the masters, follow a - Generator Figure 7-4: A tessellation of the image plane with triangles that correspond to different types of general linear cameras. This model is equivalent to a 2D piecewise planar manifold embedded in 4D. far less restrictive set of rules. Specifically, they only attempt to preserve spatial continuity in the image plane, which can be accomplished by range of smooth, yet nonlinear, variations of viewpoint. I exploit a different aspect of GLCs in order to assure spatial continuity without restricting viewpoints to fall on specific linear structures. This characteristic of GLCs relates to the fact that a smooth variation in sample rays on the image plane is necessary to provide spatial continuity in rendering. Under a 2PP rays map to points in 4D. Therefore, any smooth 2D manifold embedded in 4D will correspond to rays of a multiperspective image. Imposing a parametrization over the manifold enables sampling and the subsequent rendering. Under this interpretation, GLCs describe all planar, or flat, manifolds in 4D. While this is a limited set of potential manifolds, it is sufficient to construct a piecewise linear approximation of any given manifold. In other words, any piecewise planar tessellation of a "ray-space" manifold corresponds a specific collection of GLCs, much like a polygonal model of a curved surface. An equivalent interpretation of the 4D points in 2PP is an image plane with an attached ray, much like a generator of a GLC. Therefore, a general class of multiperspective images can be described by a triangulation of the image plane along with generator rays attached to each vertex as shown in Figure 7-4. As the tessella- tion of the image plane increases, this model can approximate arbitrarily smooth 2D manifolds, and hence render arbitrary multiperspective images. When the triangles and generators of a given tessellation are analyzed according to their type, as determined by the characteristic equation 3.8, one finds that there are specific rules (constraints) for tiling an image plane using GLCs. 7.2.2 Adjacency Table Since each triangle on the image plane corresponds to a general linear camera, adjacent triangles sharing a common edge represent two GLC cameras that share two rays. This imposes a constraint on possible pairs of adjacent GLCs. For instance, a pinhole camera cannot share two rays with a different pinhole camera (because rays in two different pinhole cameras pass through two different points). Similarly, a pinhole camera cannot be adjacent to a bilinear camera, because any two rays will intersect in pinhole while no two rays will intersect in a bilinear camera as shown in Figure 7-3. Table 7.1 shows all possible adjacency relationships between general linear cameras on a C ° continuous manifold. Triangulations of the image plane into GLCs must satisfy these adjacency constrains in order to assure CO continuous images. Notice, the adjacency table is different from the transition table described in Chapter 6. The transition table describes the possible adjacency of the GLC on a C 1 continuous manifold and hence the adjacency is analyzed for a differential surface patch. The adjacency table for piecewise planar manifolds, describes if the two adjacent GLCs can share an edge, i.e., a D manifold of rays. For instance, in the table, no two 99 Table 7.1: Adjacency Tables of GLCs PB X PN T B Possible Adjacency P Pinhole(P) N N Y Y Y N N Orthographic(O) N N Y N N N N Pushbroom(PB) XSlit(X) Pencil(PN) Twisted Orthographic(T) Bilinear(B) Y Y Y N N Y N N Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y different pinhole cameras can be adjacent to each other. Thus, there does not exist a multiperspective image which looks locally like a pinhole camera everywhere. However, there do exist multiperspective images which look locally like pushbroom or cross-slit images everywhere. In fact, multiperspective panoramas for cel animations are good examples of this type of multiperspective image. 7.3 GLC Multiperspective Rendering 7.3.1 Image Layout While any triangulation of the image plane with generator rays at each vertex describes describes a multiperspective rendering, it is not a very intuitive specification. In practice, I employ a multiperspective image design method that is inspired by the automatic layout method described by Wood [39], but with user guidance. The technique works as follows. A predefined triangular mesh is placed over the image plane. The user then guides any typical GLC image over the mesh to establish rough spatial relationships. The images can overlap as desired. The mesh then acquires generator rays by extracting rays from the reference images. If more than one image overlaps a vertex various blends of the rays from the reference images can be used, so long as the blend preserves affine combinations. The end result is that corresponding rays are interpolated such that the transition is smooth. I provide an interface that allows users to select from a palette of general linear 100 Figure 7-5: Desirable image fragments from different GLCs are overlayed on the image plane. 101 camera images. These images can be rendered directly from either a 3D model or a light field. Both 3D linear and 4D light fields can be used. The user can inspect and crop interesting regions from GLC images and then lay them out on the grid as desired. This process is shown in Figure 7-5. It is very useful to use irregular crops, which I call image fragments, to focus on the desired scene elements. When an image fragment of a general linear camera is placed onto the image plane, I first assign pixel coordinates to the fragment. I then compute the affine coordinates of all vertexes of the GLC triangulates inside the fragment and use the same weight to compute their [a, T, u, v] ray coordinates. The GLC rendering system allows the user to perform any transformation on image fragments that maintains affine relationships including translation, scaling and rotation. Each time a transformation is performed, the pixel coordinate of the frag- ment is recomputed and the ray coordinates for all vertexes of GLCs inside fragment are updated. Any triangle on the image plane whose three vertex-ray coordinates have been associated with a generator will form a GLC that can be rendered by ray tracing or querying into a light field. The image plane, therefore, embodies a piecewise linear multiperspective manifold and maintains Co continuity. 7.3.2 Ray Blending When multiple GLC image fragments are placed onto the image plane, the (s, t, u, v) ray coordinates of points lying in overlapped regions need to be computed in order to maintain a smooth transition from one general linear camera to another. To do so, the ray coordinates of each point in the overlapping region are found. The shortest distance from the point to each of the image fragments, i.e., the distance to the closet point in the corresponding fragment that is not in the overlapped region, as is shown in Figure 7-6. This distance is used as a weighing function to blend ray coordinates. Finally, all triangles are rendered as general linear cameras. Notice a triangle whose three vertexes come from a common reference image can be directly copied from the image fragment, thus saving processing. The complete algorithm is 102 I II I I I I i I GI-C Figure 7-6: Ray coordinate of each vertex in the overlapped region is computed using Algorithm 1. shown in Algorithm 1. 7.4 Multiperspective Sampling With regard to sampling, the GLC model is different than the specification of traditional camera models. A GLC determines only a set of rays seen, it does not uniquely specify how these rays are sampled across the image plane. Image plane sampling requires a consistent parametrization between GLCs of the multiperspective manifold and can be specified by a collineation as described in Chapter 5. In this case, a consistent parametrization is achieved by specifying a sampling plane with uniform grid and using the collineation between the sampling plane to the default image plane, as is shown in Figure 7-7(c). To understand this sampling approach it is helpful to tease apart a traditional pinhole camera into its separate components. A pinhole camera is specified by a center-of-projection, the point where all rays originate, and a sampling plane which 103 nage rigin Image Origin C t.,i S 21. ZI) 2, -UV. 2) Uz / (S,, ;ul, J1) Image Plane (c) Figure 7-7: (a) Sampling of a pinhole camera (homography). (b) Sampling of a cross-slit camera. (c) Sampling of an arbitrary multiperspective image is achieved by assigning a sampling plane to each GLC. 104 Algorithm 1 Compute Ray Coordinates rblend for each image fragment img do for each grid point P(i, j) in img do calculate the rimg(s, t, u, v) coordinate of P(i, j) in img add rimg to P's ray list Listr add img to P's image list Listimg end for end for for each grid point P(i,j) do if P's image list Listimg is not empty then for each image fragment img in Listimg do compute the distance disimg from P(i,j) to the closest point in img that is not overlapped compute the weighing factor weightimng in term of disimg end for normalize weighing factor rblend = (0, 0, 0, 0) for each image fragment Img in Listimg do rblend+ = rimg* weightimg end for end if end for is determined by an image origin and two vectors spanning the plane as shown in Figures 7-7(a). Integer multiples of the spanning vectors determine the sampling grid. The center-of-projection is the GLC component of the model, whereas the sampling plane and the grid implied by the spanning vectors is the sampling component of this model. The process of orienting the image plane in space has the effect of projectively warping the image without changing the set of rays seen by the camera, and is commonly referred to as homography in perspective cameras. In Chapter 5, I have shown collineation is up to a quartic rational function. Therefore, the sampling of a GLC can be modified by similarly transforming the sampling plane. However, each grid point on the sampling plane can be seen only once. Fortunately, all GLCs maintain this property except for at singular points for the particular GLC (COP of pinhole, two slits of cross-slit, all points of an EPI, and etc). In Figure 7-7(b), I show an example of the sampling scheme for a cross-slit camera. I call changes in the image due to the Collineation transformations of the 105 image plane perspective distortions, whereas I call distortions introduced by smooth changes in the center of projection projective distortions. 7.4.1 Perspective and Projective Distortions Once a generator ray is established for each vertex of the multiperspective image, one can render each pixel on the image plane by either ray tracing or querying a light field. Since pixels are uniformly sampled on image plane, rays are sampled uniformly over all the GLCs of the multiperspective manifold. Such uniform sampling, done independent of the projection, leads to noticeable projective distortions. For example, consider two pinhole cameras (not adjacent to each other) from a common multiperspective image, with congruent triangle regions, but whose centers-of-projection are at different depths. Imposing a common image plane has the effect that the camera with larger depth will have a smaller view of the scene than the closer viewpoint looking though an image-plane triangle of the same area. The mixing of very different fields of views leads to significant projective distortions in the final image. Our goal in sampling is to introduce subtle perspective distortions in order to smooth the transitions of projective distortion. An example of an image with an abrupt projective distortion is shown in Figure 7-8(a) and its correction is shown in 7-8(b). 7.4.2 Resampling I provide a simple algorithm to correct projective distortions by smoothly varying the sampling rate across the general linear cameras. I assume rays on each GLC are specified using a sampling plane, as is shown in Figure 7-7 and the sampling plane itself is uniformly sampled. When the sampling plane is close to the actual scene geometry, sampling the GLC rays uniformly will reduce the projective distortion effects. Thus, when a 3D model of the scene is available, we can simply align the sampling plane close to the real geometry. When a light field is used, we can estimate the depth of the scene in terms of disparities, and align the sampling plane closer to the geometries using a method similar to the focal plane used in dynamically 106 (b) (a) Figure 7-8: (a) A multiperspective image before sampling correction; (b) A multiperspective image after sampling correction using sampling planes is applied. In the original stuffed toy, the head is oriented such that it looks at the tail. This multiperspective image appears like a plausible perspective image with a different pose of the toy. reparametrized lightfield rendering [17]. Figure 7-8 compares multiperspective images of a stuffed toy rendered from a 360 degree turntable sequence. When we compose a different perspective of the head and tail of the stuffed toy to the body, we observe foreshortening artifacts in Figure 7-8(a), due to projective distortion. By estimating the depth of the head and the detail, we can then correct this distortion by resampling, as is shown in Figure 7-8(b). 7.5 Multiperspective Rendering Results The GLC framework focuses on the direct rendering of multiperspective images from either image-based or traditional 3D models. 7.5.1 Multiperspective Panoramas Panoramas attempt to combine a series of views into a single image that is viewed in pieces. Sets of GLC triangles can be constrained to match specific pinhole views while bands of transition GLCs can be used to fuse the images into a single multiperspective panorama. A practical advantage of our approach over that of Woods et al is that 107 (a) (b) Figure 7-9: (a) Nusch Eluard by Pablo Picasso; (b) Our synthesized multiperspective image. there is no need to compute optical flow or blend the overlap regions between images. Images generated using the GLC framework can be as sharp as the source material. Alternatively the images can even be rendered directly. In Figure 7-10, I show a multiperspective panorama synthesized from virtual flight path over a city. I also show the layout of the camera types on the right, where blue represents pinholes, red represents cross-slit and green represents pushbrooms. Although many adjacent cross-slit cameras are labelled as the same camera types, because of the smooth blending algorithm, they are different cross-slit cameras. 7.5.2 Artistic Multiperspective Rendering perspectives from multiple viewpoints can be combined in ways other than panoramas. By making subtle changes in viewing direction across the imaging plane it is possible to depict more of scene than could be seen from a single point of view. Such images differ from panoramas in that they are intended to be viewed as a whole. Neo-cubism is an example. Many of the works of Picasso are examples of such multiperspective images. In 108 Figure 7-9 compares one of Picasso's paintings with our synthesized image. Starting from a simple layout, it achieves similar multiperspective effects. In Figure 7-11, I show the mnultiperspective view of the teapot by overlaying image pieces from significantly different perspectives. It is possible to show close to 360 degree view of the teapot, reminiscent of an MCOP image [28]. 7.5.3 Multiperspective Faux-Animation It is possible to use multiperspective rendering to create fake or faux-animations from still-life scenes. This is particularly useful for animating image based models. In Figure 7-12, I show three frames from a synthesized animation. The top row shows the synthesized multiperspective images with strong perspective distortions. The bottom row significantly reduces this distortion using GLC collineation and resampling as discussed in Chapter 7.4.2. By using perspective correction, one can achieve plausible motions. Zomet [47] used similar approach by using single cross-slit camera (one of our general linear camera) to achieve rotation effects. To summarize, I have presented a framework for the direct rendering of multiper- spective images by treating multiperspective imaging systems as continuous manifolds in ray space and using them to approximate piecewise planar sections, where each facet is a GLC. Multiperspective renderings can be easily achieved by laying out different pieces of GLCs on an image plane. Using the GLC framework, it is easy to achieve a broad class of multiperspective images. The GLC analysis reveals multiper- spective images are constrained by neighboring tangent planes and hence cannot be arbitrary combinations of GLCs. I have also shown multiperspective images have both perspective and projective distortions, and by applying a spatially varying sampling plane, projective distortions can be significantly reduced. 109 (a) (b) Figure 7-10: Multiperspective panoramas: (a) Our synthesized multiperspective panorama from a virtual flight path. (b) Blended camera types of the multiperspective image. Different GLCs are marked with different colors, red for cross-slit, blue for pinhole, and green for pushbroom. 110 (a) (b) Figure 7-11: (a) A perspective view. (b) A synthesized multiperspective image that fuses different perspective views of the handle and beak. (c) A omni-perspective image that shows a 360 degree view of the teapot. (d) _ (e) Figure 7-12: From left to right: extracted images from a faux-animation. The source images were acquired by rotating a ceramic figure on a turn table. Multiperspective renderings were used to turn the head and hind quarters of the figure in a fake imagebased animation. Top row: without resampling. Bottom right: with resampling. 111 112 Chapter 8 Reflection Analysis In this chapter, I present a novel method to analyze reflections on arbitrary surfaces using GLCs. I model reflections as a continuous ray manifold and use GLCs to characterize the rays. I then provide an analytical framework to locally model reflections as specific GLC cameras. While classical approaches use local pinhole approximations, the GLC framework uses multiperspective camera models to better characterize the complicated image distortions seen on irregular mirror surfaces as well as the conven- tional catadioptric mirrors. Next, I show the connection between multiperspective camera models and caustic surfaces of reflections and demonstrate how they reveal important surface rulings of the caustics. Finally, I show how to use our analysis to assist mirror design and characterize distortions seen in catadioptric imaging systems. 8.1 Background and Previous Work Reflections are important visual phenomena, as well as a potential class of images suit- able for analysis by computer vision. Although the basic physics and the geometry of reflections are well understood, analyzing reflections on arbitrary mirror surfaces is still complicated, and quantitative classification of reflection distortions still remains an open problem. Most research on analyzing reflections has focused on catadiop- tric mirrors, such as hyperbolic and parabolic mirrors to synthesize different pinhole cameras with a wide field of view [36, 2, 22, 8, 40], to obtain single viewpoint optics. 113 (b) (a) (c) Figure 8-1: A reflected image seen on a car window. Subregions illustrate multiperspective distortions such as shearing (yellow), uneven aspect ratio (red), and duplications (green). This setup requires accurate alignment of the viewing camera. Different methods have been proposed to calibrate these catadioptric imaging systems [18, 36]. When the camera moves off the focus, the reflected rays no longer converge to a single point. The envelop of these rays, often referred to as the caustics, quickly evolves into complicated shapes with discontinuities such as cusps [36, 37]. Closedform solutions of caustics are restricted to mirrors with simple shapes [36, 34]. The caustic surface models every ray as originating from a single, but spatially varying, pinhole camera, but it does not provide much insight into the group behavior of neighboring rays, and hence, cannot be used for interpreting the imaging properties at local regions of the reflected image. In this chapter, I use the GLCs to analyze reflections and model caustics on arbitrary mirrors. While most previous research has been restricted to simple parametric reflectors such as spherical or conical mirrors [8, 40], and equiangular mirrors [34], the GLC method applies robustly to reflections off of any parametric or mesh surface. 114 Ray Camera Figure 8-2: At each point on the surface, the reflected ray is mapped into the ray space by intersecting with the two parametrization planes. 8.2 8.2.1 GLC Reflection Analysis Multiperspective Reflection Model General reflected images can be analyzed using the GLC framework. Given a viewing camera and a mirror surface, we can map each reflected ray into [a, 7-, u, v] ray space. Assume the mirror surface is of form z(x, y). We can compute every reflected ray as follows: rxrl, r, r] = i - 2(A •-i)A (8.1) where i is the direction of the incident ray and hi is unit normal direction that can be computed as [-zx, -zy, 1]. Intersecting the ray with the st and uv plane as shown in 115 Figure 8-2, the [a, T, u, v] coordinate of the ray can be computed as: r r [,, u,v] = [,rz, rx rzy x-z rY (8.2) rz] All variables r, z, a, T, u, and v are functions in x and y, hence, the set of reflection rays from the mirror surface form a ray space parametric manifold in x and y E (x, y = u (x, y), r (x, y), u (x, y), v (x, y I (6.2) At every point on the reflected image manifold [a, r, u, v], a tangent plane can be computed with two spanning vectors d and d2 using equation 6.3 as: = d [ax, Tr,ux, vx] = [, d2 [[a and = where 0 =: , u, v = - z, x, 1- O, -zx -zx] (8.3) 1-zY - zy] ,-y] - zy . Its characteristic equation can be computed by choosing three points tangent plane, which are E(x, y), E(x, y) + d1 , and E(x, y) + d2 using equation 6.4: u + Aa v + AT 1 (u+u)+ (a+a) (v + v) + A( (u + uY)+ A( + Y) (v + v) + A( + -) + r-) 1 =0 1 yielding to the first characteristic equation AA2 + BA + C = 0 where A = aT uy - ayT B -= axVy- yVx - TxUy+ TyUx C = UxVy - UVx (6.5) The discriminant, A, can be computed as B 2 116 - 4AC as (6.4) Orthographic Camera Pinhole Camera Figure 8-3: (a) If viewed from an orthographic camera, the parametrization plane is perpendicular to the incident direction. (b) If viewed from a pinhole camera, the parametrization plane at each point on the surface is parallel to its tangent plane. A = (TuY- T7Uy + xvy - ovx)2 - 4(axry - uy7)(uy - uY~v) (6.6) The second characteristic equation (edge-parallel condition) used to distinguish pinholes from pencils, and twisted orthographic from orthographic cameras can be computed using equation 6.7 as: xvx - TxXU = 0, (au ayVy - TyUv = 0 - O a~,)(v - vy) - (rT - rT)(u. - Uy) = 0 (6.7) The goal here is to model local reflections as one of the GLC types. To simplify this analysis, it is desirable to properly choose the parametrization plane. The Differential Invariance Theorem described in Chapter 6.3 provides the freedom to reparameterize any tangent plane without changing the local GLC-type-specific behavior on the reflection manifold. In this section, I show how to choose appropriate parametrization planes to analyze reflections off of arbitrary mirror surfaces when viewed from orthographic and pinhole cameras. 117 8.2.2 Orthographic Viewing Conditions Under an orthographic viewing condition all incident rays to the reflective surface share a common direction. By choosing the two parametrization planes perpendicular to this viewing direction, we can orient the coordinate system so that all incident rays have direction (0, 0, 1) as shown in Figure 8-3(a), and parameterize the mirror surface as z(x, y) with respect to the uv plane. (Since the uv plane is parallel to the cartesian xy plane, we can also write z(x, y) as z(u, v). However, in order to distinguish the ray parametrization [u, v] from the mirror surface parametrization, we use z(x, y) to represent the mirror) At every point on the mirror, the [, T, u, v] coordinate of the reflection ray can be computed using equation 8.2 as: [a,,UV]= -,-,x--,y-_ 2zx 2zxz a ,2zy a a 1017 V 2zyzI a where a= z + z2- 1 (8.4) Notice, the denominator a is zero if and only if the reflected ray is parallel to the parametrization planes. If it happens, we can choose a different set of parametrization planes. The most relevant coefficientsand discriminant of the first characteristic equation for determining the GLC type can be computed using equation 8.3 and 6.5 as: (8.5) A = -K:43 /3 B = -2zA-2 A a2 (zx + YY) +(x -- 402 T4 ((Zo _ zyy)2 + 4z4 ) The second characteristic equation can be computed using equation 8.3 and 6.6 118 as: ¢v~ - Tzu~ - == - TrU auu ay~y-Ty ~ (a - ay)(v- vy) -(T - Tu)(u - ) = a22-~zY u (8.6) 2,3 -/ a ZXY (z zyy) where = + y2+1 K z+Z r= 2y 1-)Z (8.7) (zx + zY + 1) 2 According to Table 3-1, if the local tangent plane has A = 0, the corresponding GLC is either a pushbroom camera when B $ 0, or an orthographic/twisted orthographic cameras when B = 0. From equation 8.5, A = 0 if and only if K = 0, because cannot be zero. Furthermore, K represents the Gaussian curvature at the point [20]. Therefore, K is zero at parabolic points and planar points, i.e., ZxxZ (8.8) = Z2y First let us consider A = 0 and B = 0 case, which corresponds to orthographic and twisted-orthographic cameras. Substituting A = 0 into B in Equation 8.5, we have zx =Zyy (8.9) Thus, Equation 8.8 and 8.9 can be satisfied at the same time if and only if Z = z (8.10) = yy= 0 This occurs when the local surface is a locally planar (flat) mirror. Substituting Equation 8.10 into the edge-parallel equation 8.6, it is easy to verify that the edgeparallel equations are zero when z = y = z 119 = 0. Thus, local reflected rays cannot be a twisted orthographic camera. In general, when A = 0, the reflected rays at the parabolic points locally behave like a pushbroom camera. Koenderink [20] shows that specular reflections exhibit "duplications", i.e., multiple images of a single point, at the parabolic points. This "duplication" is in fact a common feature of pushbroom cameras, as shown in Chapter 5. Now let us consider cases for A when A 0. From equation 8.5, it is clear that A cannot take on negative values, therefore the tangent GLCs cannot be of the bilinear GLC-type. Thus, local reflected rays either behave like a cross-slit camera when A > 0 or a pinhole/pencil when A = 0. By equation 8.5, A = 0 occurs only when zx = 0, zXX = zy (8.11) Substituting Equation 8.11 into the edge-parallel equation, it is easy to verify that the edge-parallel equations are zero whenever zxy = 0 and z = z. Therefore, all solutions with A = 0 correspond to pinhole GLC camera types, and no pencil cameras are possible. Furthermore, solving equation 8.11 gives a paraboloid. A similar result has been shown in [2]. In general, reflections observed under orthographic viewing conditions can only be cross-slit, pushbroom, pinhole, or orthographic images. No bilinear (oblique), twisted orthographic, or pencil images can be observed from a single-surface reflection image seen by an orthographic camera. 8.2.3 Perspective Viewing Conditions The analysis of a reflected image seen by a pinhole camera is more complicated. Assume that the pinhole camera's center-of-projection is at the origin. The GLC differential invariant property allows us to choose a different parametrization for every reflected ray. One can choose the parametrization planes to be parallel to the tangent plane of the 3D reflection surface at each reflected ray, and the uv plane to pass through the origin, as shown in Figure 8-3(b). This transformation 120 is analogous to the Legendre transformation of the curve equation [3, 24]. The mirror surface is modelled as a Monge function z(x, y) with respect to the parametrization planes. Under this choice of parametrization, we must have z = z = 0 at the reflected ray we analyze. The direction [a, r, 1] of the reflection ray can be computed using 8.2 as x(z2 = 2 _ 1) + 2zxzyy- x Z; (8.12) ~~~~~~~~~~(8.12) 2zz -2zxx - 2zy -za T - 2zxzyx - y(z2 - z2 + 1)-2zz -2zxx - 2zyy -zo The A and B coefficients of the first characteristic equation can be computed using equation 6.5 and 8.12 as: A = (2x 2 (2z(zxzyy - z2y) + zxx) (8.13) +4zxyxy + 2y2 (2z(zxzZyy- z2y) + zyy) +z(4z 2 (zXzYY - zxy 2 ) + 2z(zxx + zyy) + 1))/z 3 B = -((2(x 2 (4z(zxxzyy- z) + 3zxx) +6zxyxy + y 2 (4z(zxxzyy - z2y) + 3zyy) +z(4z 2 (zxz~ - zx2) + 3z(zxx + zyy) + 2))))/z 2 The discriminant A of the first characteristic equation can be computed as: A= (4(zx2x 4 + 4z +2x 2 (y 2 (zxz~ + 2zx2) + z2 (z2 _ zZ +2zxy)) + 4zxyxy(z +2 Y4- z yX 3 y y 2 + z 2 (zx + zy)) 2Y2z 2 (z~zYY - 2zx - z2) +z4(z2x - 2zzyy + 4zxy + z;Y)))/z 4 (8.14) Finally the second characteristic equation (edge-parallel condition) can be com121 puted as: Xv - T u = 2(zx.xy + - Zxy(y2 + Z2 )) Z2 (8.15) -r = 2(zxyx 2 + zyyXy + z yz 2 ) 'y y ( - YY y- y )( ~~Z2 -- - v,) - (T - Ty (X2x_ -zxy) +Y 2 (Zx )(U - uY) + XY(ZXX_ zYY) Z Y) + Z2 (Zx _ z))/Z2 Next, we show A > 0. Notice A is quadratic in zy, therefore, we can treat zy as as the root of the quadratic equation A = 0, an unknown variable and solve for z () and if the solution for zxy has an imaginary part, it means for all zy, A is always > 0 or < 0. Solving A = 0 for zy, we get 816 -xy(zxX2 + zy y2 + z2 (zx + Z)) 2 2 2 2 (2(X + z )(y + z )) )lzxxx2 - zyyy2 )+ + Z2(Zx - zYy) z(2 +2 + (2(X2 + z 2)(y 2 + Z2)) Since z has an imaginary part, it indicates A > 0 or A < 0 for all zy. determine which case it is, we can simply substitute zy = 0 and z To = zyy = 1 into A, and it gives A = 4(x 2 + y2 ) 2 > 0. Therefore, we must have A > 0 for all zy. Thus, the tangent GLC cannot be a bilinear camera on a reflection manifold. Next, we show the tangent GLC cannot be a pencil camera. Consider A = 0 if and only if the imaginary part of zxY is zero and zy is the real part of Equation 8.16, i.e., zX(x2 + 2 zyy(y2 + z2 ) = )- -_ Xy(ZxX ZX"=2)2+Z Substituting z 2 2 0 (8.17) 2 + zyyY + z (zX + Z )) 2(X2 + z2 )(y 2 + z) and zy into the second characteristic equation (edge-parallel condi- tion) 8.15, we obtain that second characteristic equations are zero. Thus, the edge 122 parallel condition is satisfied whenever A = 0. Therefore, no local reflections can be pencil-type GLC camera. Furthermore, the solution to Equation 8.17 for z can only corresponds to parabolic, hyperbolic, ellipsoid, and planar shapes, as shown in [36]. Next, we consider A = 0 and B = 0. Notice, notice both A and B are quadratic in zXXand zyy, we can solve A = 0 and B = 0 for zxx and zyy as 2zxyx + z 2 2(x + z 2 ) 12zxyx2 z- xy + 2zxyy 2 z + 2zy Z31 2(X2 + y2 + Z2)i(x2+ z 2) 2zyxy + z yy - 2(y 2 + z2 ) 12zyx 2 z- xy + 2zxyy 2z + 2zyz31 2(X Since both z and z 2 TZ i 1 + y2 + z2)1(y2 + z2) (8.18) ~~~~~~~~~~~(8.18) have imaginary parts, a real mirror surface exists for A = 0 and B = 0 if and only if the imaginary parts of Equation 8.18 are zero, i.e., 2z yx2 z - xy + 2zxy 2 z + 2zxyz3 And z and z = 0 (8.19) will correspond to real values as: 2zyxy + z 2(X 2 2 + (8.20) ) 2zxyxy+z 2 (y 2 + z 2 ) Solving equation system 8.19 and 8.20 for for z, zy and zyy gives y2 + z2 X = 2z(X 2 + y2 + Z2) xy Zay= 2z(x 2 + y2 + 2 z = 2) 2 X 2 + Z2 2 + y2 + -2z(x (8.21) 2) Substituting Equation 8.21 into the second characteristic equation, we obtain all 123 three the edge parallel equations are also zero, thus, there is no twisted orthographic cameras when A = 0 and B = 0. Unlike the orthographic viewing case, in which we choose a fixed 2PP, here we change the parametrization plane according to the normal of the mirror surface. Thus, recovering the surface requires an inverse Legendre transformation. Oren and Nayar have showed in [24]that local mirror surface must correspond to planar/hyperbola/ellipoid in order for the view point to reflect onto another point (in our case when A = 0), and the mirror surface must correspond to a parabola when the view point is reflected to parallel rays (in our case when A = B = 0). In general, all reflections observed by a pinhole or an orthographic camera can be characterized by only four types of GLCs: cross-slit, pushbroom, pinhole, or or- thographic. No pencil, twisted orthographic, or bilinear cameras are observed. The non-existence of these three types of GLCs is due to the incident ray structure and the differential geometry property of the mirror surface. Notice these three cameras contain purely twisting rays. However, there is no twisting rays from an observing pinhole or orthographic camera. Furthermore, the mirror surface satisfies differential geometry properties. For instance, at each point on the surface, there always exist two principal directions, and along the principal directions, the surface normal do not twist [20]. Thus, the incident rays do not twist and the mirror surface normal cannot be purely twisting. Therefore, the reflection rays within a neighborhood cannot be purely twisting, and local reflection GLCs cannot be pencil, bilinear, and twisted orthographic when viewed from a pinhole or orthographic camera. Furthermore, the GLC analysis only applies to local reflections. It does not show if there exist such mirrors that can map all reflected rays to pass through a common cross-slit, pinhole, orthographic, or pushbroom camera. Oren and Nayar have shown there does exist quadratic mirrors that reflect all rays from a pinhole/orthographic camera to pass through a different pinhole/orthographic camera. In Appendix A, I show there does not exist such mirrors that reflect all rays from a perspective viewing camera to pass through a common cross-slit. 124 8.3 Caustic Surfaces The caustic surface is the envelop of the reflected rays. Near the caustics, the reflected rays bunch up together. Previous approaches [24, 36, 35] modelled caustics as the loci of the virtual viewpoints of the viewing pinhole camera with respect to the mirror surface. However, there are two fundamental problems to treat the caustics as the loci of the virtual pinholes. First, the reflected rays form a pair of caustics rather than an single caustic surface in general [7, 36, 35]. The virtual pinhole camera model, therefore, is unable to explain why the single viewpoint is mapped to two different virtual viewpoints. Second, the virtual pinhole model does not provide much insight into the group behavior of neighboring reflection rays, and hence, cannot be used for interpreting the image distortions in reflections. In this section I will show the relationship of the local GLC model a reflection surface point to the caustic surface of the reflection. I first compute the caustic surface using the standard Jacobian method [7, 36]. Consider each reflected ray is parameterized as [, r, u, v] with source S(u, v, 0) and direction V(a, r, 1). The Jacobian matrix det[J(S + AV)] can be computed as: u + a v. + ATx a u + AVy v + Ay T 0 0 1 =0 (8.22) which corresponds to the same first characteristic equation of the local GLC model as equation 6.4. Therefore, the unions of the solutions to the characteristic equation for every local GLC form the caustic surface. Since the roots of the first characteristic equation often correspond to cross-slit cameras, which have two solutions, caustics surfaces are formed in pairs. A similar result is shown in [37]. For rotationally symmetric mirrors viewed along its rotation axis, the rotation axis is one of the caustics. 125 8.3.1 Cross-slit Rulings However, the first characteristic equation not only gives two caustic points, but also two slits, i.e., points with directions. In the conventional caustic analysis method, the caustic surface is regarded as the loci of a virtual viewpoint for every single ray. Our approach models the group behavior of nearby rays as a local GLC where rays simultaneously pass through the two slits, one on each of the caustic surfaces. Therefore, the obtained slits not only provide the caustic surface but also reveal a ruling upon it. Specifically, the local GLC slits are always tangent to the caustic surface, as proved in the following theorem. Theorem 8.3-1. At any ray r on a continuous ray manifold, if the local GLC model at r is a cross-slit, then the two slits are tangent to the caustic surfaces of the ray manifold at r. Proof: I show that the two slits lie on the tangent plane of the caustic surface at r[a, r, u, v]. Using the Jacobian method, the caustic surface has form Caus [u, v, 0] + A[a, T, 1], thus the two tangent directions c 1 = and c72 of the caustic surface at r can be computed as Cs = Caus, = [ux + Aa + -aOX, v. + AT + Ar, A] (8.23) cs2 = Causy = [uy + Aya + Say, vy + Ayr + Ary, Ay] Next, I compute the direction of each slit. Recall that the first characteristic equation of the local GLC is computed by picking three rays r = r, r2 = r + rx and r3 = r7+ ry so that all three ray pass through some slit at depth A. Therefore, choosing the three points P1 , P2 and P3 along rl, r 2, and r3 as P1 = [u + Aa, v + A, A] (8.24) P2 = [(u + u) +A( + ),(v+vx) + (T +), A] P3 = [(u+uy)+A( + 126 ),(v+vy)+ ( + ), A] P1 , P 2 , and P 3 must lie on a line. Without loss of generality, suppose P1 and P2 do not coincide, the direction of the slit can be computed as d= P 2 -P 1 = [u + a, v + A, O] (8.25) Finally, I show slit P2 P1 lies on the tangent plane of the caustic surface. To do so, I show d, sl, and C62 are linearly dependent. This is because Ux+ Ax Det[c'S, 's, d]= v + Ax 0 u + Axo + Ax vx + AzT + ATx A uY+A y a+A+A Vy+AYT+ATry Ay y =0 (8.26) Therefore, the slit lies on the tangent plane of the caustic surface and hence it is tangent to the caustic surface. If P ad P2 coincide, then we can pick P and P3 to compute dand similar results hold. In Figure 8-4, I illustrate three commonly used mirror examples. The mirror surface is drawn in cyan, the caustic surface in blue and viewpoint as blue circle. Notice, the rotation axis is the second caustic surface for both hyperbolic and spherical mirrors. The slits are shown in blue over the caustic surface in cyan. These rulings determine which rays lie on the local tangent GLC and the local distortions seen in the reflection, as I will show in Chapter 8.4. In addition, the spatial separation of the corresponding slits are also important. If the two slits intersect, the local GLC corresponds to a pinhole camera. Notice, the center of the hyperbolic and parabolic mirrors satisfy this condition, therefore the center of the image looks the least distorted. In the cylindrical mirror, however, the two slits at the cusp do not intersect, which results in the apparent bending as seen at the center of the image in Figure 8-5c. The rulings of the slits on the caustic surface are closely related to the fact that the 3D caustic surface exists only if the reflected rays form a developable surface which is not a generalized cylinder or a cone [6, 24]. This indicates that although 127 A1\ kI ku) Figure 8-4: The caustic surface and its ruling of typical mirrors. The viewpoint is shown as a blue sphere. (a) A hyperbolic mirror. (c) A parabolic mirror. (e) A cylindrical mirror. (b), (d), and (f) show the ruling of the caustics of (a), (c), (e), respectively. 128 (a) (b) (d) (e) Figure 8-5: Aspect ratio distortion. Top row: reflected images of a hyperbolic, spherical, and cylinder mirror. Bottom row: estimated ratio distortion by the slits distance of the respective mirrors. local reflections are all cross-slits in general, there does not exist a mirror that maps all rays to pass through a single cross-slit with an exception in the case of pinhole. In Appendix A, I show an alternative proof using differential geometry. 8.4 Characteristic GLC Distortions The GLC analysis has shown that reflections viewed from a pinhole or an orthographic camera off any mirror surface can only locally behave as one of the four GLC cameras. The distortions seen in the reflected image can be characterized by analyzing the imaging property of these cameras and their collineations onto the mirror surface. To simplify the analysis, we can choose the parametrization plane to be parallel to the tangent plane at the mirror surface point we analyze, so that the collineation degenerates to a simple linear transformation. 129 8.4.1 Cross-slit Distortion The image distortions seen by a cross-slit camera depend on the spatial relationships of the two slits and the image plane [47]. Specifically, if one slit is much closer to the image plane than the other, the orientation of the image will be dominated by the corresponding slit. In Figure 8-5, I compare the ray-traced reflection images seen from hyperbolic, parabolic and cylindrical mirrors. The ruling of the closer caustic surface is shown in Figure 8-4. It determines the orientation of maximal stretching in the reflected image (e.g., the image of the hyperbolic and parabolic mirrors form concentric circular patterns and the cylinder mirror exhibits vertical and bending patterns). The distance between the two slits determines the aspect ratio of orientation distortions. In fact, pushbroom, orthographic, and pinhole cameras can all be characterized as special cases of cross-slit cameras [47]. When the two slits intersect, it transforms into a pinhole camera with a small aspect-ratio distortion. When one of the slits goes to infinity, the cross-slit transforms into a pushbroom camera with large aspect-ratio distortions. In Figure 8-5, I plot the slit-distance image of the three mirrors. The hyperbolic mirror has an overall small distance map (5d), thus, its image (5a) has a relatively more uniform aspect-ratio distortion. The spherical mirror has small distance map near the center, that grows larger radially away from the center (5e). Thus, we observe more severe geometric distortions near the boundary of the mirror than at its center (5b). The cylindrical mirror has an overall large distance map (5f), and the whole image (5c) is stretched vertically since the vertical slit is generally closer to the image plane. When the distance between the two slits is infinitely large, the local GLC corre- sponds to a pushbroom, and things faraway will map to duplicated images, resulting in a singular event, as shown in Figure 8-1(b) and 8-6. These singular events often appear at the parabolic points when viewedfrom faraway (approximately orthographically), as I have shown in Chapter 8.4. A similar result is shown in Koenderink's [20] analysis of specular reflections. 130 8.4.2 Predicting Distortions on Mesh Surfaces The reflections seen on a general curved surface are difficult to analyze using conven- tional methods, because closed-form solutions are difficult to obtain. The local GLC reflecion analysis framework, based on parametric surfaces, can easily be extended to handle general reflection surfaces . The procedure involves representing the surface using a piecewise planar triangulation, with an actual surface normal at each vertex of the mesh. For each triangle of the mesh, we can compute the three reflected rays using the vertex normals, and model it as a GLC. To minimize errors, I choose the average reflected direction of the rays as the normal direction of the parametrization plane. By computing the characteristic equation and two slits of the GLC for each triangle, we can measure the slit distances from the surfaces and estimate the aspect-ratio and duplication distortions within each triangle's interior. In Figure 8-6, I give an example of the pear-shaped mirror modelled by the following function z = exp(_ x 2 + y2 ) )_ ( x 2 2 + y2 ) The surface is sampled into a triangle mesh, as shown in Figure 8-6(a). (8.27) At each triangle, I compute the local GLC and show the distance map between the two slits in Figure 8-6(b). The brightest region predicts where the pushbroom distortions occur. Figure 8-6(c) shows a ray traced image of the original analytic surface. The GLC-basecl method predicts the low and high distortions regions, as shown in the yellow, red, and blue rectangle overlays. In fact, the two bright bends estimated from the mesh surface correspond to the parabolic curve (red-dashed curve) of the surface. Duplicated reflections can be seen on either side of these parabolic curves, as shown in the red and blue outlined regions. In summary, I have presented a novel method to analyze reflections on arbitrary surfaces using a specific linear class of multiperspective cameras. I provided an analytical framework to locally model reflections as specific multiperspective cameras around every surface point based on the theory of general linear cameras. The GLC framework better characterizes the image distortions seen on irregular mirror surfaces 131 (a) *L~uf~f; 1~-~-~~ :~4": (c) Figure 8-6: Estimating reflection distortions of a general surface. (a) A pear-shaped mesh. (b) Estimated distortions. Bright colors correspond to large distortions (closer to pushbroom) and dark colors correspond to small distortions (closer to pinhole). (c) A ray-traced image of the parametric surface. Notice reflections at regions around the red dashed line correspond to brightest regions in (b). as well as the conventional catadioptric mirrors than do classical methods, which model the local neighborhoods of reflected rays as a pinhole approximation. The local multiperspective model also reveals important relationships between the two caustic surfaces and reveals an important surface ruling of the caustics. Finally, the GLC modelling approach provides a new tool for designing special featured mirrors or to avoid undesirable geometric image distortions. 132 Chapter 9 Conclusions and Future Work In this thesis, I have presented a new analytic camera model called the General Lin- ear Camera (GLC) model. The GLC model unifies many previous multiperspective camera models as well as the pinhole camera into a single representation. The GLC model is both general and linear in the sense that, given any vector space where rays are represented as points, it describes all 2D affine subspaces (planes) formed by the affine combination of 3 rays. I developed theories of projection and collineation for the GLC model and used these theories to explain various multiperspective distortions. I further showed that the GLC model provides an intuitive physical interpretation and is closely related to the caustics of the rays. Finally, I demonstrated how to use the GLC model for applications in computer vision, computer graphics, and optical design. In particular, I have shown how to use GLCs for modelling and rendering mul- tiperspective images and characterizing real multiperspective imaging systems such as catadioptric mirrors. 9.1 The Theory of GLC The key insight underlying the GLC model is that any imaging system that captures a smoothly varying set of rays can be mapped to a 2D manifold in a 4D ray space. The characteristics of this imaging system, such as its projection, collineation, and image distortions can be analyzed by studying this ray manifold. The 2-D tangent 133 planes of this manifold correspond to the General Linear Camera model defined here. In addition, I have analyzed many important algebraic and geometric properties of these fundamental linear subspaces. Each GLC describes a specific set of rays set of rays. These ray sets define an elemental set of multiperspective camera types. The GLC model also unifies many previous perspective and multiperspective cameras, including pushbroom, cross-slit, linear oblique cameras, within a single framework. It also proposes three new, previously unexplored multiperspective camera types. I derived a set of characteristic equations for identifying 8 atomic GLC types, and proved that these types are characterize all possible linear multiperspective camera models. I also introduced the GLC projection and collineation theory in Chapter 5 that characterizes the image distortions commonly observed in multiperspective imaging systems such as seen in curved mirrors. A significant difference between the GLC approach and the traditional multiperspective analysis is that, the traditional approaches model the behavior of the neighboring rays (within a small area on the image) as spatially varying pinholes while the GLC framework models it as specific multiperspective cameras. I have shown in Chapter 4 that the local pinhole model does not provide much insight into the group behavior of neighboring rays, and hence, cannot be used for interpreting the imaging properties (multiperspective distortions) at local regions. The local GLC model, however, models the group behavior of the neighboring rays and it explains and predicts the multiperspective distortions. In addition, I showed the close relationship between the local GLC model seen at any reflected ray and the caustic surfaces of reflections. In particular, I have shown that the caustic surfaces of the rays, if they exists, correspond to the loci of the local cross-slit GLCs. The two slits of the local GLC model not only provide the geometry (depth) of the caustics, but they also provide a ruling over the caustics. These rulings are particularly important for characterizing the multiperspective distortions of local image regions. Finally, I have proved that the GLC-type of any infinitesimal surface patch is 134 invariant to the choice of parametrization plane, and therefore, intrinsic to the shape. The limitation of the GLC framework is the use of two-plane-parametrization. The algebraic representation of the ray (and hence the ray manifold) changes when the parametrization plane changes. This inconsistency has limited the usage of 2PP for the effective analysis of the ray space. The Differential Invariance Theorem partially overcomes this problem by showing the local GLC type is invariant to the parametrization plane. However,the actual GLCs may still change when the parametrization plane changes. For instance, a local cross-slit GLC remains as a cross-slit when us- ing a new parametrization plane not parallel to the old one. However, under the new parametrization, the two slits in the local GLC must be different from the old parametrization. This is because the two slits are parallel to their parametrization planes. Therefore, the GLC analysis is still parametrization-dependent. Ideally, a coordinate-free ray representation and analysis can completely resolve this problem by representing the local GLC model as the differential geometry property of the rays. In the future, I plan to extend this thesis to develop a ray space differential geometry framework. 9.2 GLC Applications I have also demonstrated applications of the GLC model in the fields of computer vision, computer graphics, and optical design. GLCs c(,an be used for the direct rendering of multiperspective images. I showed that GLCs, when constrained by an appropriate set of rules, can be laid out to tile the image plane and, hence, generate arbitrary multiperspective renderings. I provided a complete of set of rules for tiling an image plane with GLC fragments to achieve consistent rendering. I used the GLC framework to render a broad class of multiperspective images, such as multiperspective panoramas, neocubist style renderings, and faux-animations from still-life scenes. GLCs also provide an analysis framework for studying reflection ray manifolds via local GLC models. I proved that local reflections observed on arbitrary mirrors can 135 originate from only four of the eight possible GLC cameras: pinhole, orthographic, pushbroom, and cross-slits. I characterized the distortions seen in reflections accord- ing to the local GLC model and collineation and connected specific distortions to the mirror geometry. Finally, I showed how to use the GLC analysis to assist in-mirror design and predict distortions seen in catadioptric imaging systems. An arbitrary mirror surface can be approximated as a triangulation with surface normals at each vertex. The three reflected rays associated with the vertices of a triangle form a GLC. One can then find an optimal parametrization plane for the GLC and compute the local crossslit using the GLC characteristic equations. Finally, the distortions can be estimated by the local cross-slit model using the GLC projection, collineation, and caustics analysis. 9.3 Future Work There are several directions for future research related to the GLC model. GPU-based GLC Rendering: Most GLC images shown in this dissertation are synthesized from either precaptured or rendered light fields. In the future, commodity graphics hardware might be used to directly render GLC images directly from the scene geometry. The GLC projections of a line onto the GLC image plane is a quartic rational. Thus, it is possible to modify the rasterization unit or the shader to efficientlyrender the geometry directly into a GLC image using the graphics hardware. A real-time renderer will be beneficial to the interactive design of multiperspective rendering, the creation of backdrops for cel-animation, and image-based animations. GLC-based Reflection Model: The GLC reflection analysis shows that a reflected image is a 2D manifold of rays that can be indexed into the 4D light field ray space. Based on this concept, we have developed new rendering algorithms using graphics hardware to achieve real-time renderings of accurate reflections by replacing the 2D environment map with six 4D light field slabs to represent the surrounding scene [44]. Each reflected ray is rendered by indexing into these pre-captured 136 en- vironment light fields and accurate reflections are achieved with motion parallax at interactive frame rates. The GLC framework can also be extended in two other directions. First, the GLC reflection model could be combined with image-based rendering techniques. In particular., it is interesting to design specially curved mirrors to efficiently capture light fields as well as mirrored surfaces for autostereo 3D displays. The GLC reflection analysis has shown that local reflections can only originate from four types of GLCs: pinhole, orthographic, pushbroom, and cross-slits. In fact, all four GLCs are specially cases of the cross-slits. Thus, using special mirrors, it is possible to more efficiently sample the ray space via a different set of 2D subspaces. Second, one could render reflections directly from GLCs without using light fields. This requires developing effective algorithms to discretize the reflection manifold in terms of GLCs (especially cross-slits) and to adapt the conventional graphics pipeline for rasterizing GLC images. I am also interested in designing actual GLC cameras and new stereo algorithms to enable 3D reconstructions from very wide field-of-view images, as well as other multiperspective images. Most of the GLC models satisfy Seitz's criterion and are suitable for binocular stereo vision. Combined with the reflection analysis, it is possible to design new types of mirrors, or even use arbitrary mirrors as novel stereo imaging systems. Furthermore, the GLC reflection analysis shows how to locally map a single viewpoint to a cross-slit camera. If we replace the view point with a light source, it is possible to transform a point light source to a cross-slit light source. Many image- based relighting approaches are restricted by the geometric constraints of the light source, and by designing a different type of lighting condition, it is possible to im- prove the way for effectivelymeasuring and sampling the radiance off the surface and, therefore, benefit applications such as measuring the surface BRDF. Caustic-driven Differential Geometry: Finally since the GLC model provides a first-order differential analysis of any ray manifold, it has the potential for directly analyzing 3D geometry. In particular, if we model the surface normals on a surface 137 as rays, similar to the caustics of reflections, the local GLC model can effectively approximate the focal envelops of the surface. The loci of the GLC cameras form the focal surface of the 3D geometry. Many previous researchers have shown that the focal surface embeds important differential geometric quantities such as the principal curvatures and principal directions of the surface. Thus, the local GLC model, which not only gives the depth of the focal surface but also the ruling of the focal surface might provide a novel strategy for approximating the focal surface and computing the surface curvatures. 138 Appendix A Non-existence of Cross-slit Mirrors In Chapter 8, I have shown that local reflections can only correspond to four GLCs under the perspective viewing conditions. They are: pinhole, orthographic, pushbroom, and cross-slits. The first three types of cameras are special (degenerate) cases of the cross-slits. However, this analysis is local and only characterizes the reflected rays within an infinitesimal patch. I did not show whether there exist a mirror that can reflects all rays from a viewing pinhole camera to a common cross-slit camera. Oren and Nayar have shown that it is possible to use hyperbolic, ellipsoid, and par- abolic mirrors to reflect all rays from a perspective viewing camera to pass through a different (virtual) perspective or orthographic camera, which are degenerate cases of the cross-slits. In this section, I show there does not exist a mirror that reflects all rays from a perspective viewing camera to a common non-degenerate cross-slit camera. Lemma A.0-1. (Ellipsoid) Suppose S is a surface, which reflects all rays passing through p to rays all passing through q. If q is at finite, S must either be an ellipsoid or hyperbola,and p, q are the focal points of S. If q is at infinity, then S is a parabola. Proof: Consider any point r E S, since ray pr is reflected to qr, we must have r Pp r qi dr = Jr -p Jr-q'dr 139 (A.1) Figure A-1: Reflection between pinhole cameras. Left: an ellipsoid mirror reflects between two pinhole cameras on the same side. Right: a hyperbolic mirror reflects between two pinhole cameras on different sides. as is shown in Figure A-1. This can be reformulated as (r - p) . dr ± (r - q) dr Ir - pi Ir - qI Hence we must have Ir - pl dr - p 2 Ir- pi dr - q 2 Ir - q1 d - Plt dr - q = 0 (A.2) Ir - ql = const, therefore, S must be an ellipsoid or hyperbola. If q is at infinity, we then use q to denote the direction of itself. It is easy to show that r-p q 0 ir- pl Iqj dr = (A.3) Ir - pI + r -q = const (A.4) (r- + Hence And therefore, S is a parabola. The lemma above shows the necessary and sufficient condition to mirror one pinhole camera to another pinhole or an orthographic. These mirrors are well known as parabolic mirrors or ellipsoid mirrors, depending on whether the two points are on the same side of the mirror. A Pinhole camera can also be mirrored to an orthographic mirror using a parabolic mirror. Theorem A.0-2. (Cross-slit Viewpoint Constraint) Given two lines 11, 12 in general position, and a viewpoint q, denote plane 7rl = span{ll, q} and plane r2 = 140 -If"i~' nrs I ; 1~# 4,Cl'r: 4,' 4,:- Figure A-2: Geometric constraints on mapping between pinhole and cross-slit camera. span{12, q}, if the mirror surface S exists that maps all rays passing through q to pass through both 11 and 12, then we must have 7r1 I r2 . Proof: Notice the intersection of 7rl and r2 corresponds to the ray r that passes through q and lI and 12, as shown in A-2. Suppose irl n l = pi and 7r2 f 2 consider S 7r = cl, S n 7 2 = = p2. And c2 , and S n r = po. Obviously, po E cl n c2 . Now consider all rays r2P 1 on 7r2 , r2 E C2 . Notice p 1r 2 lie on 7r2 and thus, it must intersect 12 and must be reflected to r2q. This means, the normal of S at r2 must be on P2 as well and coincide with the normal of curve c2 . And because c2 is planar, c2 must be the principal curvature line on S. Same case hold for cl. In addition, it is easy to see both cl and c2 are either ellipse or a hyperbola from Lemma A.0.1. Finally consider ray pipO is reflected to P2po, hence pip2 is perpendicular to the surface at po. Notice at po, cl and c2 are principle curvature lines, hence we must have 7r1 .L 7r2 . Theorem A.0-3. (Nonexistence) There exist no surface, which reflects all rays in an cross-slit camera to a pinhole camera. Proof: We use the same notation as in Theorem A.0.2. First we assume pl, p2 141 and q are on the same side of S. We consider the two ellipse can be written as: cl: r-p21 + jr-ql = C1 C2: r- Pl + r -ql = C2 Now denote all points on 11 as p(t) and all points on 12 as p(s). span{p(t),12}, ellipse c(t) = S (A.5) (A.6) Plane r(t) = 7r(t). Notice, because 12 is on r(t), we therefore can talk about all rays passing through p(t) on pi(t). Suppose 7r(t)n cl = b, then p(t), P2 and b must be on the same line, and b E c(t), hence, on c(t), all rays passing through p(t) must be reflected to pass through q. We have: c(t): r-p(t)j+lr-ql = b-p(t)l+lb-ql = b-p 2 J+Jb-ql+Jp 2 -p(t)l = Cl+Ip(t)-p21 (A.7) Similarly, we have the formula for ellipse c(s) c(s): r - p(s)l + r - ql - C2 + p(s) - Pll (A.8) Thus, the surface S can be treated as woven by two family of ellipses c(t) and c(s), by construction r(s, t) = c(t) n c(s) is on the ray p(t)p(s). We, therefore, get the following equations system for r(s, t) as follows: Ap(t)+ (1 - A)p(s) = r(s, t) Ir(s,t) - p(t)j + jr(s, t) - q jr(s,t)-p(s) + Ir(s,t)-q = C1 + Ip(t)- P21 = C2+ jp(s)-Plj (A.9) (A.10) (A.11) This equation system is over determined. We want to show that it has no solution for any open set of (s, t). To do so, we replace r with Equation A.9 into A.10 and A.11, and we get 1 - Allp(t) - p(s)I + jr - q = p(t) - P21+ C1 142 (A.12) AllIp(t)- p(s)I + r - q = p(s) - pl + C2 (A.13) When A < 0 or A > 1, the difference of the above two equations give us Ip(t) - p(s)I + p(s) - PlI - (p(t) - P21= C1 - C2 (A.14) Notice p(t) and p(s) are two lines in 3D space and it is not possible for the left hand side of the equation above to be constant. If A is between 0 and 1. Then the difference between (21) and (22) is (1 - 2A)Jp(t) - p(s)I = I(p(t) - P21- Ip(s)- PlI + C 1 - C2 (A. 15) Solving for A, we obtain 1 Jp(t)- P2 - p(s) - P + C - C2 A=-2 2Ip(t) - p(s)I (A.16) And we can solve r by equation A.9 as -P21 -P(S) p(t) - P r = p(t) + p(s) + (p(s) - p(t)) + C1 - C2 (A.17) ]pMt - p(s) I The summation of A.12 and A.13 is: J(p(t) -p(s)I + 2jr - qJ- p(t) -P21 - Jp(s) -pl = C1 + C2 (A.18) Given p(t) and p(s) are points on two different lines, this equation cannot be further simplified. Therefore, there is no way that the left hand side is a function of (s, t) while the right hand side is a constant. In general, we can assume S is formed by two family of curves, either ellipse or 143 hyperbolas. And the surface is formed by three constraints as: Ap(t) + (1 - A)p(s) = r(s,t) Ir(s,t)-p(t)l ± jr(s,t)-q (A.19) = C1+ Ip(t)-P21 (A.20) Ir(s,t)-p(s)l ± jr(s,t) - q = C2+ jp(s)-Plj (A.21) For a small open set of (s, t), the signs are fixed. Similarly, we can show that that does not exist such mirror surfaces. 144 Bibliography [1] M. AGRAWALA, D. ZORIN, T. MUNZNER: Artistic multiprojection rendering. In Eurographics Rendering Workshop 2000 (2000). [2] S. Baker and S. K. Nayar, "A Theory of Single-Viewpoint Catadioptric Image Formation," International Journal on Computer Vision, 35(2):1-22, 1999. [3] C. Bellver-Cebreros and M. Rodraguez-DAnta, "Caustics and the Legendre Transformation," Optics Communications, 92(4-6):187-192, 1992. [4] R.C. Bolles, H. H. Baker, and D. H. Marimont: Epipolar-Plane Image Analy- sis: An Approach to Determining Structure from Motion. International Computer Journal of Vision, Vol. 1 (1987). [5] M. Born and E. Wolf, "Principles of Optics," Permnagon Press, 1965. [6] J. Bruce and P. J. Giblin, and C. G. Gibson, "Curves and Singularities," Cambridge University Press, second edition, 1992. [7] D. G. Burkhard and D. L. Shealy, "Flux Density for Ray Propagation in Geo- metrical Optics," Journal of the Optical Society of America, 63(3):299-304, March 1973. [8] J.Chahl and M. Srinivasan, "Reflective Surfaces for Panaromic Imaging," Applied Optics, 36(31):8275-8285, 1997. [9] F. DURAND: An invitation to discuss computer depiction. In Symposium on Non-Photorealistic Animation and Rendering (NPAR) (2002). 145 [10] A. GLASSNER: Cubism and cameras: Free-form optics for computer graphics. Microsoft Research MSR-TR-2000-05 (2000). [11] S. Gortler, R. Grzeszczuk, R. Szeliski, and M. Cohen: The Lumigraph. Proc. ACM SIGGRAPH '96 (1996) 43-54. [12] X. Gu, S.J. Gortler, and M.F. Cohen. Polyhedral geometry and the two-plane parameterization. Eurographics Rendering Workshop 1997 (1997) pages 1-12. [13] R. Gupta and R.I. Hartley: Linear Pushbroom Cameras. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 19, no. 9 (1997) 963-975. [14] A.J. HANSON AND E.A. WERNERT: Image-based rendering with occlusionsvia cubist images. In IEEE Visualization '98 (1998), Ebert D., Hagen H.,, Rushmeier H., (Eds.), pp. 327-334. [15] R.I. H-artley and A. Zisserman, Multiple View Geometry in Computer Vision. Cambridge Univ. Press, 2000. [16] H-Y. SHUM AND L-W. HE: Rendering with concentric mosaics. In Proc. ACM SIGGRAPH '99 (1999), Computer Graphics Proceedings, Annual Conference Series, ACM, ACM Press / ACM SIGGRAPH, pp. 299-306. [17] A. ISAKSEN, L. MCMILLAN, AND S. GORTLER: Dynamically reparametrized light fields. In Proc. ACM SIGGRAPH '00 (2000), Computer Graphics Proceedings, Annual Conference Series, ACM, ACM Press / ACM SIGGRAPH, pp. 297306. [18] S. B. Kang, "Catadioptric Self-calibration," In Proc. CVPR, I:201-207, June 2000. [19] R. Kingslake, Optics in Photography. SPIE Optical Eng., Press, 1992. [20] J.J. Koenderink, "Solid Shape," MIT Press, 1990. [21] M. Levoy and P. Hanrahan: Light Field Rendering. Proc. ACM SIGGRAPH '96 (1996) 31-42. 146 [22] S. K. Nayar, "Catadioptric Omnidirectional Cameras," In Proc. CVPR, pages 482-488, 1997. [23] B. Newhall, The History of Photography, from 1839 to the Present Day. The Museum of Modern Art (1964) 162. [24] M. Oren and S. K. Nayar, "A Theory of Specular Surface Geometry," Int. Journal on Conmpute Vision, 24:105-124, 1996. [25] T. Pajdla: Stereo with Oblique Cameras. Int'l J. Computer Vision, vol. 47, nos. 1/2/3 (2002) 161-170. [26] T. Pajdla: Geometry of Two-Slit Camera. Research Report CTU-CMP-200202, March 2002. [27] S. Peleg, M. Ben-Ezra, and Y. Pritch: Omnistereo: Panoramic Stereo Imaging. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 23, no. 3 (2001) 279290. [28] P.Rademacher and G.Bishop: Multiple-center-of-Projection Images. Proc. ACM SIGGRAPH '98 (1998)199-206. [29] A. Romn, G. Garg, and M. Levoy: Interactive Design of Multi-Perspective Im- ages for Visualizing Urban Landscapes. Proc. IEEE Visualization 2004. [30] S.M. Seitz: The Space of All Stereo Images. Proc. Int'l Conf. Computer Vision '01, vol. I (2001) 26-33. [31] J. Semple and G. Kneebone: Algebraic Projective Geometry. Oxford: Clarendon Press, 1998. [32] H.-Y. Shum, A. Kalai, and S. M. Seitz: Omnivergent stereo. In Proc. 7th Int. Conf. on Computer Vision (1999) 22-29. [33] D. Sommerville, Analytical Geometry of Three Dimensions. Cambridge Univer- sity Press, 1959. 147 [34] W. Stiirzl, H. J. Dahmen, and H. Mallot, "The Quality of Catadioptric ImagingApplication to Omindirectioinal Stereo," Proc. 8th European. Conf. on Computer Vision (ECCV 2004), 614-627. [35] R. Swaminathan and S. K. Nayar, "A Perspective on Distortions," In Proc. IEEE Computer Vision and Pattern Recognition (CVPR), Wisconsin, June 2003. [36] R. Swaminathan, M. D. Grossberg, and S.K. Nayar, "Caustics of Catadioptric Cameras," Proc. of IEEE International Conference on Computer Vision, Vancouver, Canada, July 2001. [37] R. Swaminathan, M. D. Grossberg, and S. K. Nayar, "Non-Single Viewpoint Catadioptric Cameras: Geometry and Analysis," Technical Report CUCS-004-01, Dept. of Computer Science, Columbia University, 2001. [38] T. Takahashi, H. Kawasaki, K. Ikeuchi, and M. Sakauchi: Arbitrary View Posi- tion and Direction Rendering for Large-Scale Scenes. Proc. IEEE Conf. Computer Vision and Pattern Recognition (2000) 296-303. [39] D. Wood, A. Finkelstein, J. Hughes, C. Thayer, and D. Salesin: Multiperspective Panoramas for Cel Animation. Proc. ACM SIGGRAPH '97 (1997) 243-250. [40] Y. Yagi, S. Kawato, and S. Tsuji, "Real-time Omnidirectional Image Sensor (copis) for Vision-Guided Navigation," Robotics and Automation, 10(1):11-22, February 1994. [41] J. Yu, L. McMillan, and S. Gortler, "Surface Camera Light Field Rendering," International Journal on Image and Graphics (IJIG), Special Issue on Integrated Image and Graphics Technologies, Volume 4, 2004. [42] J. Yu and L. McMillan, "General Linear Cameras," Proc. 8th European. Conf. on Computer Vision (ECCV 2004), Volume II 14-27. [43] J. Yu and L. McMillan, "A Framework for Multiperspective Rendering", Ren- dering Techniques 04, EurographicsSymposium on Rendering (EGSR 04):. 148 [44] J. Yu, J. Yang, and L. McMillan, "Real-time Reflection Mapping with Parallax", Proc. ACM SIGGRAPH Symposium on Interactive 3D Graphics (3D 2005), to appear. [45] J. Yu and L. McMillan, "Modelling Reflections via Multiperspective Imaging", Proc. IEEE Conf. Computer Vision and Pattern Recognition (2005), to appear. [46] J. Yu and L. McMillan, "Multiperspective Projection and Collineation ," Proc. ICCV 2005, to appear. [47] A. Zomet, D. Feldman, S. Peleg, and D. Weinshall, "Mosaicing New Views: The Crossed-Slits Projection," IEEE Trans. on PAMI (2003) 741-754. [48] J.Y. Zheng and S. Tsuji: Panoramic Representation for Route Recognition by a Mobile Robot. Int'l J. Computer Vision, vol. 9, no. 1 (1992) 55-76. 149 MITLibraries Document Services Room 14-0551 77 Massachusetts Avenue Cambridge, MA 02139 Ph: 617.253.5668 Fax: 617.253.1690 Email: docs@mit.edu http://libraries. mit.edu/docs DISCLAIMER OF QUALITY Due to the condition of the original material, there are unavoidable flaws in this reproduction. We have made every effort possible to provide you with the best copy available. If you are dissatisfied with this product and find it unusable, please contact Document Services as soon as possible. Thank you. Some pages in the original document contain color pictures or graphics that will not scan or reproduce well.