Aligning rectilinear images in 3D through projective registration and calibration
First Claim
1. A method for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the method comprising:
- estimating a projective transformation for a pairwise registration process between at least two overlapping rectilinear images, said projective transformation relating the images and yielding at least one Hessian matrix describing a registration error landscape in the neighborhood of the projective transformation;
determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two images; and
blending the at least two images to provide a smooth transition between the at least two 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.
58 Citations
50 Claims
-
1. A method for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the method comprising:
-
estimating a projective transformation for a pairwise registration process between at least two overlapping rectilinear images, said projective transformation relating the images and yielding at least one Hessian matrix describing a registration error landscape in the neighborhood of the projective transformation;
determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two images; and
blending the at least two images to provide a smooth transition between the at least two images. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
6. The method according to 5,
wherein determining the vectors comprises determining the vectors to minimize image discrepancy in the overlapping region during a process of global optimization, and wherein a global error function that is optimized during the global optimization process is defined by a function of the sum of the products of overlap area between the at least two images and the local registration error function. -
7. The method according to claim 1, wherein the vector of internal parameters comprises a representation of focal length.
-
8. The method according to claim 7, wherein the vector of internal parameters further comprises a representation of image center position.
-
9. The method according to claim 8, wherein the vector of internal parameters further comprises a representation of pixel aspect ratio.
-
10. The method according to claim 9, wherein the vector of internal parameters further comprises a representation of skew.
-
11. The method according to claim 1, wherein the vector of external parameters comprises a representation of camera orientation with respect to a common frame of reference.
-
12. The method according to claim 11, wherein the representation of camera orientation comprises Euler angles including pan, tilt, and roll.
-
13. The method according to claim 11, wherein the representation of camera orientation comprises Euler angles including roll, pitch, and yaw.
-
14. The method according to claim 11, wherein the representation of camera orientation comprises unit quaternions.
-
15. The method according to claim 1, wherein blending the at least two images comprises:
-
for signals in the overlapping region having a frequency higher than a threshold frequency, blending the signals over a first blend region range; and
for signals in the overlapping region having a frequency lower than the threshold frequency, blending the signals over a blend region range wider than the first blend region range.
-
-
-
16. A system for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the system comprising:
-
a processor for estimating a projective transformation during a pairwise registration process between at least two overlapping rectilinear images obtained from a camera, said projective transformation relating the images and yielding at least one Hessian matrix describing a registration error landscape in the neighborhood of the projective transformation;
a global optimizer for determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two overlapping rectilinear images; and
a blender for blending the at least two images to provide a smooth transition between the at least two images. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
20. The system according to claim 19, wherein a global error function that is optimized by the global optimizer is defined by a function of the product of overlap area between the at least two images and the local registration error function.
-
21. The system according to claim 16, wherein the vector of internal parameters comprises a representation of focal length.
-
22. The system according to claim 21, wherein the vector of internal parameters further comprises a representation of image center position.
-
23. The system according to claim 22, wherein the vector of internal parameters further comprises a representation of pixel aspect ratio.
-
24. The system according to claim 23, wherein the vector of internal parameters further comprises a representation of skew.
-
25. The system according to claim 16, wherein the vector of external parameters comprises a representation of camera orientation with respect to a common frame of reference.
-
26. The system according to claim 25, wherein the representation of camera orientation comprises Euler angles including pan, tilt, and roll.
-
27. The system according to claim 25, wherein the representation of camera orientation comprises Euler angles including roll, pitch, and yaw.
-
28. The system according to claim 25, wherein the representation of camera orientation comprises unit quaternions.
-
29. The system according to claim 16, wherein:
-
for signals in the overlapping region having a frequency higher than a threshold frequency, the blender blends the signals over a first blend region range; and
for signals in the overlapping region having a frequency lower than the threshold frequency, the blender blends the signals over a blend region range wider than the first blend region range.
-
-
-
30. A method for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the method comprising:
-
estimating a projective transformation during a pairwise registration process between at least two overlapping rectilinear images obtained from a camera, said projective transformation providing at least one Hessian matrix relating the at least two rectilinear images;
determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two overlapping rectilinear images;
blending the at least two images to provide a smooth transition between the at least two images; and
mapping the blended images onto a three-dimensional geometry surface. - View Dependent Claims (31, 32)
-
-
33. A computer program product for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the computer program product comprising:
-
a computer-readable medium; and
computer program code, encoded on the medium, for;
estimating a projective transformation during a pairwise registration process between at least two overlapping rectilinear images obtained from a camera, said projective transformation relating the images and yielding at least one Hessian matrix describing a registration error landscape in the neighborhood of the projective transformation;
determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two overlapping rectilinear images; and
blending the at least two images to provide a smooth transition between the at least two images. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
38. The computer program product according to claim 37, wherein a global error function that is optimized during the global optimization process is defined by a function of the sum of the products of overlap area between the at least two images and the local registration error function.
-
39. The computer program product according to claim 33, wherein the vector of internal parameters comprises a representation of focal length.
-
40. The computer program product according to claim 39, wherein the vector of internal parameters further comprises a representation of image center position.
-
41. The computer program product according to claim 40, wherein the vector of internal parameters further comprises a representation of pixel aspect ratio.
-
42. The computer program product according to claim 41, wherein the vector of internal parameters further comprises a representation of skew.
-
43. The computer program product according to claim 33, wherein the vector of external parameters comprises a representation of camera orientation with respect to a common frame of reference.
-
44. The computer program product according to claim 43, wherein the representation of camera orientation comprises Euler angles including pan, tilt and roll.
-
45. The computer program product according to claim 43, wherein the representation of camera orientation comprises Euler angles including roll, pitch, and yaw.
-
46. The computer program product according to claim 43, wherein the representation of camera orientation comprises unit quarternions.
-
47. The computer program product according to claim 33, wherein the computer program code for blending the at least two images comprises computer program code for:
-
for signals in the overlapping region having a frequency higher than a threshold frequency, blending the signals over a first blend region range; and
for signals in the overlapping region having a frequency lower than the threshold frequency, blending the signals over a blend region range wider than the first blend region range.
-
-
-
48. A computer program product for creating a panoramic image from a plurality of rectilinear images obtained from a camera, the computer program product comprising:
-
a computer-readable medium; and
computer program code, encoded on the medium, for;
estimating a projective transformation during a pairwise registration process between at least two overlapping rectilinear images obtained from a camera, said projective transformation providing at least one Hessian matrix relating the at least two rectilinear images;
determining a vector of internal parameters and a vector of external parameters from the at least one Hessian matrix to minimize image discrepancy in an overlapping region between the at least two overlapping rectilinear images;
blending the at least two images to provide a smooth transition between the at least two images; and
mapping the blended images onto a three-dimensional geometry surface. - View Dependent Claims (49, 50)
-
Specification