Algorithm description on non-motion blur image generation project
First Claim
1. A method for simulating an image captured at a long exposure time (“
- simulated image”
), comprising;
capturing each of a first image, a second image, and a third image at a short exposure time;
matching blocks in the first image with blocks in the second image to determine a first plurality of motion vectors between the first and the second images, said matching comprising;
down-sampling both the first and the second images from an original resolution to a first resolution and a second resolution, wherein the second resolution is lower than the first resolution;
matching blocks between the first and the second images at the second resolution;
propagating locations of center pixels of the matching blocks at the second resolution to both the first and the second images at the first resolution;
using the propagated locations of the center pixels of the matching blocks at the second resolution as starting points, matching blocks between the first and the second images at the first resolution; and
propagating locations of center pixels of the matching blocks at the first resolution to both the first and the second images at the original resolution to determine corresponding points between the first and the second images;
determining, using a processor, a first global motion between the first and the second images from the first plurality of motion vectors, said determining comprising;
fitting the corresponding points between the first and the second images using a random sample consensus (RANSAC) algorithm to determine the motion parameters of the first global motion between the first and the second images;
transforming the first image to compensate for the first global motion;
matching blocks in the third image with the blocks in the second image to determine a second plurality of motion vectors between the third and the second images;
determining, using the processor, a second global motion between the third and the second images from the second plurality of motion vectors;
transforming the third image to compensate for the second global motion; and
combining the first, the second, and the third images linearly to form the simulated image.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for simulating an image captured at a long exposure time (“simulated image”), includes (1) capturing each of first, second, and third images at a short exposure time, (2) determining a first relative motion between the first and the second images, (3) transforming the first image to remove the first relative motion, (4) determining a second relative motion between the third and the second images, (5) transforming the third image to remove the second relative motion, and (6) combining the first, the second, and the third images to form the simulated image. Relative motions between images are determined by matching blocks at multiple resolutions to determine corresponding points between the images. Transformation to remove relative motion is determined by fitting corresponding points between the images using a minimum square error (MSE) algorithm in a random sample consensus (RANSAC) framework.
-
Citations
12 Claims
-
1. A method for simulating an image captured at a long exposure time (“
- simulated image”
), comprising;capturing each of a first image, a second image, and a third image at a short exposure time; matching blocks in the first image with blocks in the second image to determine a first plurality of motion vectors between the first and the second images, said matching comprising; down-sampling both the first and the second images from an original resolution to a first resolution and a second resolution, wherein the second resolution is lower than the first resolution; matching blocks between the first and the second images at the second resolution; propagating locations of center pixels of the matching blocks at the second resolution to both the first and the second images at the first resolution; using the propagated locations of the center pixels of the matching blocks at the second resolution as starting points, matching blocks between the first and the second images at the first resolution; and propagating locations of center pixels of the matching blocks at the first resolution to both the first and the second images at the original resolution to determine corresponding points between the first and the second images; determining, using a processor, a first global motion between the first and the second images from the first plurality of motion vectors, said determining comprising; fitting the corresponding points between the first and the second images using a random sample consensus (RANSAC) algorithm to determine the motion parameters of the first global motion between the first and the second images; transforming the first image to compensate for the first global motion; matching blocks in the third image with the blocks in the second image to determine a second plurality of motion vectors between the third and the second images; determining, using the processor, a second global motion between the third and the second images from the second plurality of motion vectors; transforming the third image to compensate for the second global motion; and combining the first, the second, and the third images linearly to form the simulated image. - View Dependent Claims (2, 3, 4, 5, 6)
- simulated image”
-
7. A non-transitory computer-readable storage medium encoded with executable instructions for execution by a processor to simulate an image captured at a long exposure time (“
- simulated image”
), the instructions comprising;capturing each of a first image, a second image, and a third image at a short exposure time; matching blocks in the first image with blocks in the second image to determine a first plurality of motion vectors between the first and the second images, said matching comprising; down-sampling both the first and the second images from an original resolution to a first resolution and a second resolution, wherein the second resolution is lower than the first resolution; matching blocks between the first and the second images at the second resolution; propagating locations of center pixels of the matching blocks at the second resolution to both the first and the second images at the first resolution; using the propagated locations of the center pixels of the matching blocks at the second resolution as starting points, matching blocks between the first and the second images at the first resolution; and propagating locations of center pixels of the matching blocks at the first resolution to both the first and the second images at the original resolution to determine corresponding points between the first and the second images; determining, using a processor, a first global motion between the first and the second images from the first plurality of motion vectors, said determining comprising; fitting the corresponding points between the first and the second images using a random sample consensus (RANSAC) algorithm to determine the motion parameters of the first global motion between the first and the second images; transforming the first image to compensate for the first global motion; matching blocks in the third image with the blocks in the second image to determine a second plurality of motion vectors between the third and the second images; determining, using the processor, a second global motion between the third and the second images from the second plurality of motion vectors; transforming the third image to compensate for the second global motion; and combining the first, the second, and the third images linearly to form the simulated image. - View Dependent Claims (8, 9, 10, 11, 12)
- simulated image”
Specification