General pose refinement and tracking tool
First Claim
1. A method for refining a pose estimate of a model coarsely aligned with a run-time image, the pose estimate having at least one parameter, the model having a plurality of model edgelets, the run-time image having a plurality of run-time edgelets, each edgelet having a position and an orientation, the method comprising:
- mapping the position and orientation of each model edgelet onto the run-time image using the pose estimate to provide a plurality of mapped edgelets;
for each mapped edgelet, finding all run-time features having a position within a distance capture range of the mapped edgelet, and having an orientation within an angular capture range of the mapped edgelet, and having an orientation within an angular capture range of the mapped edgelet, so as to provide a correspondence list of run-time features of the mapped edgelet, thereby providing a plurality of correspondence lists;
for each mapped edgelet, finding a closest run-time edgelet within the correspondence list of the mapped edgelet;
for each mapped edgelet, finding a distance between the mapped edgelet and the closest run-time edgelet within the correspondence list of the mapped edgelet; and
modifying the at least one parameter of the pose estimate so as to minimize an average over the plurality of mapped edgelets of the distance between each mapped edgelet and the closest run-time edgelet within the correspondence list of the mapped edgelet.
2 Assignments
0 Petitions
Accused Products
Abstract
Per one embodiment, a method is provided for refining a pose estimate of a model. The model is coarsely aligned with a run-time image, and it represents a 2D pattern. The pose estimate includes at least one pose estimate parameter. The model has a plurality of model features, and the run-time image has a plurality of run-time features. A given distance value is determined representing a given distance between a given one of the plurality of the model features mapped by a given pose estimate and a corresponding given run-time feature. A two-dimensional model description of the two-dimensional model pattern is provided. The two-dimensional model pattern is mapped using the given pose estimate to create a transformed version of the two-dimensional model pattern. The transformed version represents a non-linear movement of at least portions of the two-dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model description.
260 Citations
87 Claims
-
1. A method for refining a pose estimate of a model coarsely aligned with a run-time image, the pose estimate having at least one parameter, the model having a plurality of model edgelets, the run-time image having a plurality of run-time edgelets, each edgelet having a position and an orientation, the method comprising:
-
mapping the position and orientation of each model edgelet onto the run-time image using the pose estimate to provide a plurality of mapped edgelets; for each mapped edgelet, finding all run-time features having a position within a distance capture range of the mapped edgelet, and having an orientation within an angular capture range of the mapped edgelet, and having an orientation within an angular capture range of the mapped edgelet, so as to provide a correspondence list of run-time features of the mapped edgelet, thereby providing a plurality of correspondence lists; for each mapped edgelet, finding a closest run-time edgelet within the correspondence list of the mapped edgelet; for each mapped edgelet, finding a distance between the mapped edgelet and the closest run-time edgelet within the correspondence list of the mapped edgelet; and modifying the at least one parameter of the pose estimate so as to minimize an average over the plurality of mapped edgelets of the distance between each mapped edgelet and the closest run-time edgelet within the correspondence list of the mapped edgelet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for refining a pose estimate of a model coarsely aligned with a run-time image, the pose estimate including at least one parameter, the method comprising:
-
providing a pose estimate to be refined, the pose estimate being characterized by at least one parameter; extracting edgelets from a model image so as to provide a model having a plurality of model edgelets, each model edgelet having a position and an orientation; extracting edgelets from the run-time image so as to provide a plurality of run-time edgelets, each run-time edgelet having a position and an orientation; mapping the position and orientation of each model edgelet onto the run-time image using the pose estimate to provide a plurality of mapped edgelets; pairing each mapped edgelet with a run-time edgelet to provide a plurality of edgelet pairs; for each edgelet pair, finding a distance between the mapped edgelet and the run-time edgelet paired with the mapped edgelet; and modifying at least one parameter of the pose estimate so as to minimize an average over the plurality of edgelet pairs of the distance between the mapped edgelet and the run-time edgelet paired with the mapped edgelet. - View Dependent Claims (21, 22, 23)
-
-
24. A method for refining a non-linear pose estimate of a model coarsely aligned with a run-time image, the non-linear pose estimate having at least one parameter, the model having a plurality of model edgelets, the run-time image having a plurality of run-time edgelets, each edgelet having a position and an orientation, the method comprising:
-
modifying the at least one parameter of the pose estimate so as to minimize an average distance taken over a plurality of model edgelets mapped by the pose estimate, the distance being the distance between each model edgelet mapped by the pose estimate and a corresponding run-time edgelet; wherein the corresponding run-time edgelet is the run-time edgelet that is closest to the model edgelet mapped by the pose estimate; wherein the corresponding run-time edgelet is the run-time edgelet that is closest to the model edgelet mapped by the pose estimate, and also falls within a capture range; and wherein the capture range includes both a distance capture range, and an angle capture range. - View Dependent Claims (25, 26, 27)
-
-
28. A method for tracking the motion of a pattern in an image undergoing a non-linear deformation over a sequence of images, the method comprising:
-
providing a current pose of a model aligned with a first image of the sequence, the current pose being a non-linear transformation having at least one parameter; providing a second image of the sequence of images, the second image having a plurality of second image edgelets, each second image edgelet having a position and an orientation; mapping the position and orientation of each model edgelet onto the second image using the current pose of the model in the first image to provide a plurality of mapped edgelets; for each mapped edgelet, finding all second image features having a position within a distance capture range of the mapped edgelet, and having an orientation within an angular capture range of the mapped edgelet, so as to provide a correspondence list of run-time features of the mapped edgelet, thereby providing a plurality of correspondence lists; for each mapped edgelet, finding a closest run-time edgelet within the correspondence list of the mapped edgelet; for each mapped edgelet, finding a distance between the mapped edgelet and the closest second image edgelet within the correspondence list of the mapped edgelet; and modifying the at least one parameter of the current pose so as to minimize an average over the plurality of mapped edgelets of the distance between each mapped edgelet and the closest second image edgelet within the correspondence list of the mapped edgelet, thereby providing an updated pose. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for refining a pose estimate of a model coarsely aligned with a run-time image, the model representing a two-dimensional pattern, the pose estimate including at least one pose estimate parameter, the model having a plurality of model features, the run-time image having a plurality of run-time features, the method comprising:
-
determining a given distance value representing a given distance between at (east a given one of the plurality of the model features mapped by a given pose estimate and a corresponding given run-time feature; providing a two-dimensional model description of the two-dimensional model pattern; and mapping the two-dimensional model pattern using the given pose estimate to create a transformed version of the two-dimensional model pattern, the transformed version representing a non-linear movement of at least portions of the two-dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model description. - View Dependent Claims (46, 47, 48, 49, 50, 51)
-
-
52. A method comprising:
-
representing relative movement over time of a three dimensional target object with a sequence of image frames; producing a model from a training image of an object, the model including model features of a portion of the target object, the model representing a two-dimensional model pattern; tracking iteratively the target object from a given image frame of the image frames, while, for each iteration of the tracking, incrementing the given image frame to be a next image frame; a given iteration of the tracking including, for a given run-time image within the given frame; producing a current pose estimate configured to attempt to align the model features with the given run-time image; mapping the model features using the current pose estimate; refining the current pose estimate to produce a refined pose estimate, the refining including modifying at least one parameter of the current pose estimate to reduce a given distance between at least a given mapped model feature mapped using the current pose estimate and a corresponding run-time feature; repeating both the mapping and the refining, while each time treating the most recently refined pose estimate as the current pose estimate; and wherein the current pose estimate is used to map the model features to create a transformed version of the two-dimensional model pattern, the transformed version representing a perspective or deformed non-linear movement of at least portions of the two- dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model pattern. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
-
71. A method comprising:
-
representing relative movement over time of a three-dimensional object with a sequence of image frames; producing a model from a training image of an object, the model representing a two-dimensional model pattern; for a given image frame, producing a coarsely aligned pose estimate of the model pattern coarsely aligned with a given run-time image within the given image frame by performing a non-linear transformation on the model; for the same given image frame, refining the coarsely aligned pose estimate to produce a refined pose estimate by determining distance values representing distances between model features and corresponding run-time features; and wherein the refined pose estimate is used to map the model features to create a transformed version of the two-dimensional model pattern, the transformed version representing a perspective or deformed non-linear movement of at least portions of the two-dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model pattern. - View Dependent Claims (72, 73, 74, 75, 76, 77)
-
-
78. Apparatus comprising:
-
computer-readable media; a processor; computer-readable media encoded representations of movement over time of a three-dimensional target object, the representations including a sequence of image frames; computer-readable media encoded representations of a model from a training image of an object, the model including model features of a portion of the target object, the model representing a two-dimensional model pattern; a tracker configured to track iteratively the target object for a given image frame of the image frames, while, for each iteration of the tracking, incrementing the given image frame to be a next image frame; wherein the tracker is configured so that a given iteration of the tracking includes, for a given run-time image within the given frame; producing a current pose estimate configured to attempt to align the model features with the given run-time image; mapping the model features using the current pose estimate; refining the current pose estimate to produce a refined posed estimate, the refining including modifying at least one parameter of the current pose estimate to reduce a given distance between a least a given mapped model feature mapped using the current pose estimate and a corresponding run-time feature; repeating both the mapping and the refining, while each time treating the most recently refined pose estimate as the current pose estimate; and wherein the current pose estimate is used to map the model features to create a transformed version of the two-dimensional model pattern, the transformed version representing a perspective or deformed non-linear movement of a least portions of the two-dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model description. - View Dependent Claims (79, 80, 81, 82)
-
-
83. Non-transitory computer-readable media including data, the data being encoded, when interoperably read by a computer, to cause:
-
representing relative movement over time of a three-dimensional target object with a sequence of image frames; producing a model from a training image of an object, the model including model features of a portion of the target object, the model representing a two-dimensional model pattern; tracking iteratively the target object from a given image frame of the image frames, while, for each iteration of the tracking, incrementing the given image frame to be a next image frame; a given iteration of the tracking including, for a given run-time image within the given frame; producing a current pose estimate configured to attempt to align the model features with the given run-time image; mapping the model features using the current pose estimate; refining the current pose estimate to produce a refined pose estimate, the refining including modifying at least one parameter of the current pose estimate to reduce a given distance between at least a given mapped model feature mapped using the current pose estimate and a corresponding run-time feature; repeating both the mapping and the refining, while each time treating the most recently refined pose estimate as the current pose estimate; and wherein the current pose estimate is used to map the model features to create a transformed version of the two-dimensional model pattern, the transformed version representing a perspective or deformed non-linear movement of at least portions of the two-dimensional model pattern in a direction orthogonal to a plane of the two-dimensional model description. - View Dependent Claims (84, 85, 86, 87)
-
Specification