Patch-based alignment method and apparatus for construction of image mosaics
First Claim
1. A method for aligning a set of at least partially overlapping plural images to construct a mosaic image, comprising the following steps:
- for at least first and second images of said set of images, finding an incremental deformation of said second image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of said first and second images;
warping said second image in accordance with said incremental deformation and repeating said finding step;
wherein said finding step comprises;
(A) computing a difference error vector between said first and second images,(B) dividing said second image into plural patches and for each patch;
(1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation,(2) combining said gradients with said Jacobian to produce a matrix for said patch,(3) combining said gradients with said error vector and with said Jacobian to produce a residual for said patch,(C) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention is a patched based alignment method and apparatus which aligns a set of overlapping images to construct a mosaic image. The images are aligned by first finding an incremental deformation of one image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of the pair of images, and then warping the one image in accordance with the incremental deformation. The incremental defornation is found by computing a difference error vector between the pair of images. First, the one image is divided into plural patches. Within each patch, gradients are computed at pixels within the patch and a single Jacobian is computed for the entire patch. The Jacobian is the Jacoian of a coordinate system of the one image with respect to the incremental deformation. The gradients are combined with the Jacobian to produce a matrix for the patch. The gradients are separately combined with the error vector and with the Jacobian to produce a residual for the patch. The matrix is summed over plural patches and the residual is also summed over plural patches to produce Hessians and residuals, respectively. Normal equations are defined with the residuals and Hessians and are solved to provide the desired incremental deformation.
126 Citations
102 Claims
-
1. A method for aligning a set of at least partially overlapping plural images to construct a mosaic image, comprising the following steps:
-
for at least first and second images of said set of images, finding an incremental deformation of said second image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of said first and second images; warping said second image in accordance with said incremental deformation and repeating said finding step; wherein said finding step comprises; (A) computing a difference error vector between said first and second images, (B) dividing said second image into plural patches and for each patch; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation, (2) combining said gradients with said Jacobian to produce a matrix for said patch, (3) combining said gradients with said error vector and with said Jacobian to produce a residual for said patch, (C) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium having computer-executabLe instructions stored therein for performing a method for aligning a set of at least partially overlapping plural images to construct a mosaic image, the method comprising the steps of:
-
for at least first and second images of said set of images, finding an incremental deformation of said second image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of said first and second images; and warping said second image in accordance with said incremental deformation and repeating said finding step; wherein said finding step comprises the steps of; (A) computing a difference error vector between said first and second images; (B) dividing said second image into plural patches, wherein the dividing step comprises the steps, for each of the patches, of; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation; (2) combining said gradients with said Jacobian to produce a matrix for said patch; and (3) combining said gradients with said difference error vector and with said Jacobian to produce a residual for said patch; and (C) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians.
-
-
15. A method for aligning a set of plural images to construct a mosaic image, comprising carrying out the following steps for each one of said set of plural images:
-
determining a difference error between said one image and an other one of said images of said set; computing an incremental deformation of said one image tending to reduce said difference error; defoaming said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein the step of computing an incremental deformation comprises; (A) dividing said second image into plural patches and for each patch; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation, (2) combining said gradients with said Jacobian to produce a matrix for said patch, (3) combining said gradients with said error vector and with said Jacobian to produce a residual for said patch, (B) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-readable medium having computer-executable instructions stored therein for performing a method for aligning a set of plural images to construct a mosaic image, the method comprising the steps, for each one of said set of plural images, of:
-
determining a difference error vector between said one image and another one of said images of said set; computing an incremental deformation of said one image tending to reduce said difference error vector; and deforming said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein the step of computing an incremental deformation comprises the steps of; (A) dividing said second image into plural patches, wherein the dividing step comprises the steps, for each of the patches, of; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation; (2) combining said gradients with said Jacobian to produce a matrix for said patch; and (3) combining said gradients with said difference error vector and with said Jacobian to produce a residual for said patch; and (B) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians.
-
-
29. Apparatus for use in aligning a set of plural images from which a mosaic image can be produced, said apparatus comprising:
-
a processor; memory having executable instructions stored therein; and
,wherein the processor, in response to the instructions stored in the memory; for at least first and second images of said set of images, determines an incremental deformation of said second image relative to a 3-dimensional coordinate system which reduces registration error between overlapping portions of said first and second images; and warps said second image in accordance with said incremental deformation; wherein said processor determines said incremental deformation by; (A) computing a difference error vector between said first and second images, (B) dividing said second image into plural patches and for each patch; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation, (2) combining said gradients with said Jacobian to produce a matrix for said patch, (3) combining said gradients with said error vector and with said Jacobian to produce a residual for said patch, (C) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. Apparatus for use in aligning a set of plural images from which a mosaic image can be produced, said apparatus comprising:
-
a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory; determines a difference error between said one image and an other one of said images of said set; computes an incremental deformation of said one image relative to a 3-dimensional coordinate system tending to reduce said difference error; warps said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein said processor computes said incremental deformation by; (A) dividing said second image into plural patches and for each patch; (1) computing gradients at pixels within the patch and computing a single Jacobian within said patch of a coordinate system of said second image with respect to said incremental deformation, (2) combining said gradients with said Jacobian to produce a matrix for said patch, (3) combining said gradients with said error vector and with said Jacobian to produce a residual for said patch, (B) summing said matrix over plural patches and summing said residual over plural patches to produce Hessians and residuals, respectively, and solving normal equations with said residuals and Hessians. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method for aligning a set of at least partially overlapping plural images to construct a mosaic image, comprising the following steps:
-
for at least first and second images of said set of images, finding an incremental deformation of said second image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of said first and second images; warping said second image in accordance with said incremental deformation and repeating said finding step; wherein said finding step comprises; (A) computing a difference error vector between said first and second images, (B) dividing said second image into plural patches and for each patch; (1) first computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) second computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error vector. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A computer-readable medium having computer-executable instructions stored therein for performing a method for aligning a set of at least partially overlapping plural images to construct a mosaic image, the method comprising the steps of:
-
for at least first and second images of said set of images, finding an incremental deformation of said second image relative to a 3-dimensional coordinate system tending to reduce registration error between overlapping portions of said first and second images; and warping said second image in accordance with said incremental deformation and repeating said finding step; wherein said finding step comprises the steps of; (A) computing a difference error vector between said first and second images; and (B) dividing said second image into plural patches, wherein the dividing step comprises the steps, for each of the patches, of; (1) first computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) second computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error vector.
-
-
64. A method for aligning a set of plural images to construct a mosaic image, comprising carrying out the following steps for each one of said set of plural images:
-
determining a difference error between said one image and an other one of said images of said set; computing an incremental deformation of said one image tending to reduce said difference error; deforming said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein the step of computing an incremental deformation comprises; (B) dividing said second image into plural patches and for each patch; (1) first computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) second computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error. - View Dependent Claims (65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. A computer-readable medium having computer-executable instructions stored therein for performing a method for aligning a set of plural images to construct a mosaic image, comprising the steps, for each one of said set of plural images, of:
-
determining a difference error between said one image and another one of said images of said set; computing an incremental deformation of said one image tending to reduce said difference error; and deforming said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein the step of computing an incremental deformation comprises the steps of; (A) dividing said second image into plural patches, wherein the dividing step comprises the steps, for each of the patches, of; (1) first computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) second computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error.
-
-
80. Apparatus for use in aligning a set of plural images from which a mosaic image can be produced, said apparatus comprising:
-
a processor; memory having executable instructions stored therein; and
,wherein the processor, in response to the instructions stored in the memory; for at least first and second images of said set of images, determines an incremental deformation of said second image relative to a 3-dimensional coordinate system which reduces registration error between overlapping portions of said first and second images; and warps said second image in accordance with said incremental deformation; wherein said processor determines said incremental deformation by; (A) computing a difference error vector between said first and second images, (B) dividing said second image into plural patches and for each patch; (1) computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error vector. - View Dependent Claims (81, 82, 83, 84, 85, 86, 87, 88, 89)
-
-
90. Apparatus for use in aligning a set of plural images from which a mosaic image can be produced, said apparatus comprising:
-
a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory; determines a difference error between said one image and an other one of said images of said set; computes an incremental deformation of said one image relative to a 3-dimensional coordinate system tending to reduce said difference error; warps said one image in accordance with said incremental deformation to produce an incrementally warped version of said one image; wherein said processor computes said incremental deformation by; dividing said second image into plural patches and for each patch; (1) computing a per-patch least squares minimization computation quantity and a set of per-pixel least squares minimization computation quantities for a set of pixels in said patch; and (2) computing said incremental deformation from the per-patch and per-pixel least squares minimization computation quantities of plural ones of said patches and from said difference error. - View Dependent Claims (91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102)
-
Specification