Spline-based image registration
First Claim
1. A method for extracting motion information from a sequence of images, comprising the steps of:
- storing a first image in a memory as a first set of light intensity values;
storing a second image in said memory as a second set of light intensity values;
storing a spline control grid in said memory as a dam structure, said spline control grid having a plurality of control vertices at predetermined locations with respect to said second image;
transforming said second image to a derived image by a spline function in cooperation with the spline control grid, said spline control grid being a data structure stored said memory, the locations of said control vertices parametrizing said spline function;
comparing said first image to said derived image;
displacing, in response to there being a difference between said first image and said derived image, the locations of said control vertices to minimize the difference between said first and derived images; and
repeating said transforming, comparing, and displacing steps until the difference between said first image and said second image is less than a desired amount, the locations of control vertices stored in said memory characterizing the motion information of said first image and said second image.
2 Assignments
0 Petitions
Accused Products
Abstract
The light intensity values of a first and second image are stored in a memory as pixels. A transformation from the second image to a derived image is perforated by a spline function in cooperation with a spline control grid. The spline control grid has a plurality of control vertices at predetermined locations with respect to the pixels of the second image. The transformation adjusts the light intensity values proportional to the distance between the control vertices and the pixels of the second image. The first image is compared with the derived image. The difference between the first image and the derived image is determined. The control vertices of the control grid are iteratively displaced until the difference between the first and derived image is less than a desired amount. The final coordinates of the control vertices parametrize the motion field of the first and second image.
-
Citations
25 Claims
-
1. A method for extracting motion information from a sequence of images, comprising the steps of:
-
storing a first image in a memory as a first set of light intensity values; storing a second image in said memory as a second set of light intensity values; storing a spline control grid in said memory as a dam structure, said spline control grid having a plurality of control vertices at predetermined locations with respect to said second image; transforming said second image to a derived image by a spline function in cooperation with the spline control grid, said spline control grid being a data structure stored said memory, the locations of said control vertices parametrizing said spline function; comparing said first image to said derived image; displacing, in response to there being a difference between said first image and said derived image, the locations of said control vertices to minimize the difference between said first and derived images; and repeating said transforming, comparing, and displacing steps until the difference between said first image and said second image is less than a desired amount, the locations of control vertices stored in said memory characterizing the motion information of said first image and said second image. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10)
-
-
5. The method as in claim I further including
determining a light intensity gradient of said derived image at each location of said control vertices, and displacing the locations of said control vertices by and an amount proportional to a corresponding one of said light intensity gradients of each of said control vertices.
-
11. In a computer system, a method for extracting motion information from a sequence of images, comprising:
-
storing a first set of light intensity values as a first image in a memory of the computer system; storing a second set of light intensity values as a second image in the memory; storing a plurality of control vertices in the memory as a data structure; associating the plurality of control vertices with the second image, each control vertex having a predetermined location with respect to the second image; adjusting the light intensity values of the second image to create a derived image, the adjusting being proportional to the distance between the control vertices and the light intensity values; determining a difference in light intensity values between the first image and the derived image; displacing each control vertex to a new predetermined location to minimize the difference between the first image and the derived image; and repeating the adjusting, determining, and displacing steps until the difference between the first image and the derived image is less than a predetermined amount, the locations of distorted control vertices stored in said memory characterizing the motion information of the first image and the second image. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus for extracting motion information from a sequence of images, comprising:
-
a memory for storing a first image, a second image, and a plurality of control vertices associated with the second image, the first image, the second image, and the plurality of control vertices stored as data structures in the memory, the first and second images each expressed as a plurality of light intensity values, each light intensity value having a predetermined location, and the control vertices being expressed as coordinates relative to the locations of the light intensity values of the second image; means for transforming the second image to a derived image by adjusting each light intensity value of the second image by an amount proportional to a distance between the location of a particular light intensity value and a location of a corresponding control vertex; a comparator for determining a difference between the first image and the derived image; and means for adjusting the location of each of the plurality of control vertices to minimize the difference between the first image and the derived image, the adjusted locations of the control vertices parametrizing the motion information of the first image and the second image. - View Dependent Claims (21, 22, 23)
-
-
24. An apparatus for extracting motion information from a sequence of images, comprising:
-
a memory storing a first image, a second image, and a plurality of control vertices associated with the second image, the first image, the second image, and the plurality of control vertices stored as data structures in the memory, the first and second images each expressed as a plurality of light intensity values, each light intensity value having a predetermined location, and the control vertices being expressed as coordinates relative to the locations of the light intensity values of the second image; means for transforming the second image to a derived image, the transformation adjusting each light intensity value of the second image by an amount proportional to a distance between the location of a particular light intensity value and a corresponding control vertex, the proportional amount expressed as a spline-function parametrized by the distance; a comparator for determining a difference between the first image and the derived image; and means for adjusting the location of each of the plurality of control vertices to minimize the difference between the first image and the derived image, the adjusted locations of the control vertices stored in said memory parametrizing the motion information of the first image and the second image.
-
-
25. A computer implemented method for extracting motion information from a sequence of images, comprising the steps of:
-
storing a first physical image in a memory as a first set of light intensity values; storing a second physical image in said memory as a second set of light intensity values; defining, in said memory, a control grid for said first set of light intensity values, said control grid responsive to spline functions; distorting said control grid into a distorted control grid; interpreting the first set of light intensity values using said spline functions of said distorted control grid to generate a distorted set of light intensity values stored in said memory; comparing said distorted set of light intensity values with said second set of light intensity values to determine a difference; adjusting said distorted control grid to achieve a desired difference; using a final distorted control grid stored in said memory after said desired difference is achieved to characterize motion of the light intensity values from said first physical image to said second physical image.
-
Specification