System and method for infinite smoothing of image sequences
First Claim
1. A method for interpolating images of an object, the method including:
- obtaining a sequence of images, the sequence of images including a first image and a second image;
computing, using a predetermined algorithm, a plurality of transformations between the first and second images;
determining an optimal subset of transformations from the plurality of transformations based on predetermined criteria, wherein determining the optimal subset of transformations includes selecting an optimal transformation candidate for each pixel of the first image, wherein selecting an optimal transformation candidate for each pixel is processed as a separate thread such that the processing time for each pixel is bounded by O(1) rather than O(n), wherein the plurality of transformations includes a subset of transformation candidates, wherein determining the optimal subset of transformations includes applying each transformation candidate in the subset of transformation candidates to each pixel in the first image, thereby generating a plurality of first interpolated pixel candidates, and to a corresponding pixel in the second image, thereby generating a plurality of second interpolated pixel candidates, and then comparing the plurality of first interpolated pixel candidates to the corresponding plurality of second interpolated pixel candidates to select an optimal transformation candidate having the smallest corresponding pixel candidate difference; and
calculating transformation parameters corresponding to the optimal subset of transformations.
0 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention relate generally to systems and processes for interpolating images of an object. According to particular embodiments, a sequence of images is obtained using a camera which captures the sequence of images along a camera translation. Each image contains at least a portion of overlapping subject matter. A plurality of keypoints is identified on a first image of the sequence of images. Each keypoint from the first image are kept track of to a second image. Using a predetermined algorithm, a plurality of transformations are computed using two randomly sampled keypoint correspondences, each of which includes a keypoint on the first image and a corresponding keypoint on the second image. An optimal subset of transformations is determined from the plurality of transformations based on predetermined criteria, and transformation parameters corresponding to the optimal subset of transformations is calculated and stored for on-the-fly interpolation.
-
Citations
20 Claims
-
1. A method for interpolating images of an object, the method including:
-
obtaining a sequence of images, the sequence of images including a first image and a second image; computing, using a predetermined algorithm, a plurality of transformations between the first and second images; determining an optimal subset of transformations from the plurality of transformations based on predetermined criteria, wherein determining the optimal subset of transformations includes selecting an optimal transformation candidate for each pixel of the first image, wherein selecting an optimal transformation candidate for each pixel is processed as a separate thread such that the processing time for each pixel is bounded by O(1) rather than O(n), wherein the plurality of transformations includes a subset of transformation candidates, wherein determining the optimal subset of transformations includes applying each transformation candidate in the subset of transformation candidates to each pixel in the first image, thereby generating a plurality of first interpolated pixel candidates, and to a corresponding pixel in the second image, thereby generating a plurality of second interpolated pixel candidates, and then comparing the plurality of first interpolated pixel candidates to the corresponding plurality of second interpolated pixel candidates to select an optimal transformation candidate having the smallest corresponding pixel candidate difference; and calculating transformation parameters corresponding to the optimal subset of transformations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for interpolating images of an object, the system comprising:
-
a processor, and memory storing one or more programs configured for execution by the processor, the one or more programs comprising instructions for; obtaining a sequence of images, the sequence of images including a first image and a second image; computing, using a predetermined algorithm, a plurality of transformations between the first and second images; determining an optimal subset of transformations from the plurality of transformations based on predetermined criteria, wherein determining the optimal subset of transformations includes selecting an optimal transformation candidate for each pixel of the first image, wherein selecting an optimal transformation candidate for each pixel is processed as a separate thread such that the processing time for each pixel is bounded by O(1) rather than O(n), wherein the plurality of transformations includes a subset of transformation candidates, wherein determining the optimal subset of transformations includes applying each transformation candidate in the subset of transformation candidates to each pixel in the first image, thereby generating a plurality of first interpolated pixel candidates, and to a corresponding pixel in the second image, thereby generating a plurality of second interpolated pixel candidates, and then comparing the plurality of first interpolated pixel candidates to the corresponding plurality of second interpolated pixel candidates to select an optimal transformation candidate having the smallest corresponding pixel candidate difference; and calculating transformation parameters corresponding to the optimal subset of transformations. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:
-
obtaining a sequence of images, the sequence of images including a first image and a second image; computing, using a predetermined algorithm, a plurality of transformations between the first and second images; determining an optimal subset of transformations from the plurality of transformations based on predetermined criteria, wherein determining the optimal subset of transformations includes selecting an optimal transformation candidate for each pixel of the first image, wherein selecting an optimal transformation candidate for each pixel is processed as a separate thread such that the processing time for each pixel is bounded by O(1) rather than O(n), wherein the plurality of transformations includes a subset of transformation candidates, wherein determining the optimal subset of transformations includes applying each transformation candidate in the subset of transformation candidates to each pixel in the first image, thereby generating a plurality of first interpolated pixel candidates, and to a corresponding pixel in the second image, thereby generating a plurality of second interpolated pixel candidates, and then comparing the plurality of first interpolated pixel candidates to the corresponding plurality of second interpolated pixel candidates to select an optimal transformation candidate having the smallest corresponding pixel candidate difference; and calculating transformation parameters corresponding to the optimal subset of transformations.
-
Specification