Aligning rectilinear images in 3D through projective registration and calibration
First Claim
1. A computer system for authoring panoramas, comprising:
- memory storing data representations of a plurality of images;
I/O for inputting and outputting data;
function modules in said memory;
a processor cooperating with said memory and I/O for processing instructions and data from said memory, said I/O and said function modules;
a pairwise registration function module in said memory and operating said processor for pairwise registration of said images, said pairwise registration function module generating output data related to said pairwise registration of said images;
a calibration and global optimization function module in said memory and operating said processor for calibration and global optimization of said output data of said pairwise registration module, said calibration and global optimization module generating output data related to said calibration and global optimization of said images;
a blending function module in said memory and operating said processor for generating at least one panorama from said output data from said pairwise registration module and said calibration and global optimization module; and
a projection function module in said memory and operating said processor for forming a panorama from said images.
0 Assignments
0 Petitions
Accused Products
Abstract
An improved apparatus and method for creating high quality virtual reality panoramas is disclosed that yields dramatic improvements during the authoring and projecting cycles, with speeds up to several orders of magnitude faster than prior systems. In a preferred embodiment, a series of rectilinear images taken from a plurality of rows are pairwise registered with one another, and locally optimized using a pairwise objective function (local error function) that minimizes certain parameters in a projective transformation, using an improved iterative procedure. The local error function values for the pairwise registrations are then saved and used to construct a quadratic surface to approximate a global optimization function (global error function). The chain rule is used to avoid the direct evaluation of the global objective function, saving computation. In one embodiment concerning the blending aspect of the present invention, an improved procedure is described that relies on Laplacian and Gaussian pyramids, using a blend mask whose boundaries are determined by the grassfire transform. An improved iterative procedure is disclosed for the blending that also determines at what level of the pyramid to perform blending, and results in low frequency image components being blended over a wider region and high frequency components being blended over a narrower region. Human interaction and input is also provided to allow manual projective registration, initial calibration and feedback in the selection of photos and convergence of the system.
145 Citations
136 Claims
-
1. A computer system for authoring panoramas, comprising:
-
memory storing data representations of a plurality of images;
I/O for inputting and outputting data;
function modules in said memory;
a processor cooperating with said memory and I/O for processing instructions and data from said memory, said I/O and said function modules;
a pairwise registration function module in said memory and operating said processor for pairwise registration of said images, said pairwise registration function module generating output data related to said pairwise registration of said images;
a calibration and global optimization function module in said memory and operating said processor for calibration and global optimization of said output data of said pairwise registration module, said calibration and global optimization module generating output data related to said calibration and global optimization of said images;
a blending function module in said memory and operating said processor for generating at least one panorama from said output data from said pairwise registration module and said calibration and global optimization module; and
a projection function module in said memory and operating said processor for forming a panorama from said images. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
23. In a computer having a processor which executes instructions stored in memory, a method for generating panoramas comprising the steps of:
-
storing at least two rectilinear images in a computer memory;
generating image output data by performing pairwise registration of said rectilinear images as an estimate to a projective transformation relating to said rectilinear images;
generating image output data by calibration and global optimization of said rectilinear images from image output data from said pairwise registration;
blending said rectilinear images to create a panorama from said generated image output data from said pairwise registration and said calibration and global optimization.
-
-
43. In a computer having a processor which executes instructions stored in memory, a method for generating panoramas from two dimensional images, comprising the steps of:
-
storing at least two rectilinear images in a computer memory;
blending said rectilinear images to create a panorama. - View Dependent Claims (44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86)
-
-
49. A computer readable memory storing a program which executes the steps of:
-
storing at least a pair of rectilinear images in a computer memory;
performing pairwise registration of said rectilinear images by calculating a projective transformation between said rectilinear images.
-
-
57. A computer system comprising:
-
a memory storing data representations relating to at least two images;
function modules in said memory;
a processor for processing instructions and data from said memory and said function modules;
a pairwise registration function module in said memory, and operating said processor for pairwise registration of said images, said pairwise registration function module generating output data related to said pairwise registration of said images.
-
-
87. A computer system comprising:
-
a memory storing data representations relating to at least a pair of overlapping images;
a blending function module in said memory;
a processor for processing instructions and data from said memory and said blending function module;
said blending function module in said memory operating said processor for blending said images to form a panorama from said images. - View Dependent Claims (88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 136)
-
-
113. An apparatus for generating a panorama comprising:
-
means for pairwise registration of images having overlapping regions;
means for calibration and global optimization of said images;
means for blending said images after pairwise registration, calibration and global optimization of said images;
means for projecting said blended images into a panorama.
-
-
135. A computer readable memory comprising:
-
a memory storing a first data structure for pairwise projective registration of overlapping images;
a memory storing a second data structure for calibration and global optimization of data from said first data structure;
a memory storing a third data structure for blending data from said first and second data structures;
whereby a panorama of three-dimensional images may be constructed from two-dimensional images from said data in said first, second and third data structures.
-
Specification