← Back to Patent Explorer
US5611000A Expired / Lapsed US ⏱️ 0.0 years remaining

Spline-based image registration

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-01-16
•
Granted: 1997-03-11
•
Expires: 2016-01-16
📄 Original PDF 🌐 Google Patents

Abstract

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.

Inventors

  • 👤 Richard S. Szeliski
  • 👤 James M. Coughlan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 04:38
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/14; G06T7/00; G06T7/20; G06T7/246; G06T7/269; G06V; G06V10/00; G06V10/70; G06V10/74; G06V10/75; G06V10/751; G06V10/7515

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 202 words
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.
Claim 2
Independent Claim 202 words
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.
Claim 3
Dependent Claim 35 words
The method as in claim 1 further including adjusting said second set of light intensity values proportional to a distance between the locations of said control vertices and the locations of said light intensity values.
Claim 4
Dependent Claim 15 words
The method as in claim 1 wherein said transforming step uses a bi-linear spline function.
Claim 5
Dependent Claim 28 words
The method as in claim 1 wherein the locations of said control vertices are a regular sub-sampling of the locations of said second set of light intensity values.
Claim 6
Independent Claim 52 words
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.
Claim 7
Dependent Claim 37 words
The method as in claim 1 wherein said second set of light intensity values are stored as a multi-level pixel pyramid having a plurality of image levels, said plurality of image levels arranged in a coarse-to-fine order.
Claim 8
Dependent Claim 56 words
The method as in claim 6 wherein said transforming, comparing, and displacing steps are first performed at a coarser image level of said multi-level pixel pyramid to extract coarse motion information, and where the coarse motion information is used to initiate said transforming, comparing, and displacing steps at a finer level of said multi-level pixel pyramid.
Claim 9
Dependent Claim 56 words
The method as in claim 1 wherein the motion of said first image relative to the motion of said second image is a planar optical flow, and wherein each control vertex is associated with a set of motion control parameters to specify the motion of said first image relative to the motion of said second image.
Claim 10
Dependent Claim 36 words
The method as in claim 1 wherein said transformation is a three-dimensional projective transformation to recover a depth estimate of the motion information, said depth estimate perpendicular to the plane of said first and second images.
Claim 11
Dependent Claim 49 words
The method as in claim 1 wherein the sequence of images are arranged in a temporal order, and further including determining a total differences between any two images of said sequence of images by summing the differences between intervening temporally adjacent pairs of images of said sequence of images.
Claim 12
Dependent Claim 199 words
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.
Claim 13
Dependent Claim 199 words
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.
Claim 14
Dependent Claim 23 words
The method as in claim 11 wherein the adjusting step uses a bi-linear spline function parametrized by the locations of the control vertices.
Claim 15
Dependent Claim 29 words
The method as in claim 11 wherein the location of said control vertices are a regular sub-sampling of the locations of the light intensity values of the second image.
Claim 16
Dependent Claim 47 words
The method as in claim 11 including determining an individual difference between each light intensity value of the first image and a corresponding light intensity value of the derived image; combining the individual differences to determine the total difference between the first image and the derived image.
Claim 17
Dependent Claim 34 words
The method as in claim 11 including displacing the control vertices proportionally to the rate of change of the difference between said first and derived image while repeating the adjusting, determining, and displacing steps.
Claim 18
Dependent Claim 37 words
The method as in claim 11 wherein the first image and the second image are stored as multi-level pixel pyramid having a plurality of images levels, the plurality of image levels being arranged in a coarse-to-fine order.
Claim 19
Dependent Claim 55 words
The method as in claim 16 wherein the adjusting, determining, and displacing steps are first performed at a coarser level of the multi-level pixel grid to extract coarse motion information, and where the coarse motion information is used to initiate the adjusting, determining, and displacing steps at a finer level of the multi-level pixel pyramid.
Claim 20
Dependent Claim 31 words
The method as in claim 11 wherein the motion of said first image relative to said second image is planar optical flow, and assigning four control vertices to the second image.
Claim 21
Dependent Claim 48 words
The method as in claim 11 having a sequence of images arranged in a temporal order, and where a total differences of any two images of the sequence of images is determined by summing the differences between intervening temporally adjacent pairs of images of the sequence of images.
Claim 22
Independent Claim 198 words
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.
Claim 23
Independent Claim 198 words
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.
Claim 24
Dependent Claim 31 words
The apparatus of claim 20 wherein the proportional adjustment of the light intensity values of the second image are expressed by a spline-function parametrized by the coordinates of the control vertices.
Claim 25
Dependent Claim 20 words
The apparatus of claim 20 where the coordinates are a regular sub-sampling of the locations of the light intensity values.
Claim 26
Dependent Claim 55 words
The apparatus of claim 20 further including a spatial differentiator for determining a light intensity gradient at locations corresponding to the control vertices, and an error integrator for combining the light intensity gradients with the difference between the first image and the derived image to determine an amount for displacing each of the control vertices.
Claim 27
Independent Claim 210 words
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.
Claim 28
Independent Claim 210 words
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.
Claim 29
Dependent Claim 174 words
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.
Claim 30
Dependent Claim 174 words
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.

References Cited (Backward Citations)

US4644582A Cited
US5048103A Cited
US5067015A Cited
US5251271A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-10 2000-09-09 2001-03-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-10 2004-09-09 2005-03-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-10 2008-09-09 2009-03-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag