Methods and systems for vision-based motion estimation
First Claim
Patent Images
1. A visual odometry method for estimating vehicle motion, said method comprising:
- providing a vehicle equipped with a camera rigidly mounted and calibrated with respect to the vehicle;
moving the vehicle from a starting position in a global coordinate frame to a first location across a planar ground plane;
receiving an incoming image on the camera;
performing feature detection on said incoming image to identify a plurality of regions, wherein each region in said plurality of regions is associated with a key point in an incoming image coordinate frame;
selecting a feature descriptor for each region in said plurality of regions, thereby producing a plurality of feature descriptors for said incoming image coordinate frame;
performing feature matching between said plurality of feature descriptors for said incoming image coordinate frame and a plurality of feature descriptors selected for a previous image coordinate frame, thereby producing a plurality of feature correspondences;
for each feature correspondence in said plurality of feature correspondences, aligning key points from said previous image coordinate frame to said incoming image coordination frame;
projecting said key points to a previous world coordinate frame and an incoming world coordinate frame at the planar ground plane, thereby producing a plurality of pairs of world coordinates at the planar ground plane;
estimating vehicle motion from said plurality of pairs of world coordinates at the planar ground plane;
minimizing an accumulation of errors by selecting a key pose as follows;
comparing a rotation angle of said motion estimate to an angle threshold and a distance traveled by the vehicle to a distance threshold; and
when said angle comparison meets a first criterion or said distance comparison meets a second criterion;
projecting said key pose to a current camera pose in said global coordinate frame;
determining a motion trajectory from said current camera pose; and
updating said plurality of feature descriptors selected for a previous world coordinate frame to said plurality of feature descriptors for said incoming world coordinate frame, whereinsaid motion estimate comprises a rotation matrix and a translation vector;
said rotation matrix is associated with no more than three degrees of freedom and an in-plane rotation that is in-plane with respect to the ground plane;
said motion estimate comprises a rigid transformation Tk,k−
1 where said rigid transformation Tk,k−
1 consists of the rotation matrix Rk,k−
1 between a previous time (k−
1) and a current time (k), and the translation vector tk−
k−
1 between the previous time and the current time, such that
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the present invention are related to methods and systems for vision-based computation of ego-motion.
-
Citations
16 Claims
-
1. A visual odometry method for estimating vehicle motion, said method comprising:
-
providing a vehicle equipped with a camera rigidly mounted and calibrated with respect to the vehicle; moving the vehicle from a starting position in a global coordinate frame to a first location across a planar ground plane; receiving an incoming image on the camera; performing feature detection on said incoming image to identify a plurality of regions, wherein each region in said plurality of regions is associated with a key point in an incoming image coordinate frame; selecting a feature descriptor for each region in said plurality of regions, thereby producing a plurality of feature descriptors for said incoming image coordinate frame; performing feature matching between said plurality of feature descriptors for said incoming image coordinate frame and a plurality of feature descriptors selected for a previous image coordinate frame, thereby producing a plurality of feature correspondences; for each feature correspondence in said plurality of feature correspondences, aligning key points from said previous image coordinate frame to said incoming image coordination frame; projecting said key points to a previous world coordinate frame and an incoming world coordinate frame at the planar ground plane, thereby producing a plurality of pairs of world coordinates at the planar ground plane; estimating vehicle motion from said plurality of pairs of world coordinates at the planar ground plane; minimizing an accumulation of errors by selecting a key pose as follows; comparing a rotation angle of said motion estimate to an angle threshold and a distance traveled by the vehicle to a distance threshold; and when said angle comparison meets a first criterion or said distance comparison meets a second criterion; projecting said key pose to a current camera pose in said global coordinate frame; determining a motion trajectory from said current camera pose; and updating said plurality of feature descriptors selected for a previous world coordinate frame to said plurality of feature descriptors for said incoming world coordinate frame, wherein said motion estimate comprises a rotation matrix and a translation vector; said rotation matrix is associated with no more than three degrees of freedom and an in-plane rotation that is in-plane with respect to the ground plane; said motion estimate comprises a rigid transformation Tk,k−
1where said rigid transformation Tk,k−
1 consists of the rotation matrix Rk,k−
1 between a previous time (k−
1) and a current time (k), and the translation vector tk−
k−
1 between the previous time and the current time, such that - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A vehicle odometry system comprising:
-
a vehicle in motion from a starting position in a global coordinate frame to a first location; a camera rigidly mounted and calibrated with respect to the vehicle; a processor component; and a non-transitory computer-readable medium encoded with a computer program code for causing said processor component to execute a method for estimating vehicle motion, said method comprising; receiving an incoming image; performing feature detection on said incoming image to identify a plurality of regions, wherein each region in said plurality of regions is associated with a key point in an incoming image coordinate frame; selecting a feature descriptor for each region in said plurality of regions, thereby producing a plurality of feature descriptors for said incoming image coordinate frame; performing feature matching between said plurality of feature descriptors for said incoming image coordinate frame and a plurality of feature descriptors selected for a previous image coordinate frame, thereby producing a plurality of feature correspondences; for each feature correspondence in said plurality of feature correspondences, aligning key points from said previous image coordinate frames to said incoming image coordinate frame; projecting said keys points to a previous world coordinate frame and an incoming world coordinate frame at the planar ground plane, thereby producing a plurality of pairs of world coordinates at the planar ground plane; estimating vehicle motion from said plurality of pairs of world coordinates at the planar ground plane; minimizing an accumulation of errors by selecting a key pose as follows; comparing a rotation angle of said motion estimate to an angle threshold and a distance traveled by the vehicle to a distance threshold; and when said angle comparison meets a first criterion or said distance comparison meets a second criterion; projecting said key pose to a current camera pose in said global coordinate frame; determining a motion trajectory from said current camera pose; updating said plurality of feature descriptors computed for a previous world coordinate frame to said plurality of feature descriptors for said incoming world coordinate frame, wherein said motion estimate comprising a rotation matrix and a translation vector, said rotation matrix being associated with no more than three degrees of freedom and an in-plane rotation that is in-plane with respect to the ground plane; said motion estimate comprises a rigid transformation Tk,k−
1; andsaid rigid transformation Tk,k−
1 consists of the rotation matrix Rk,k−
1 between a previous time and a current time, and the translation vector tk−
k−
1 between the previous time and the current time, such that - View Dependent Claims (14)
-
-
15. A non-transitory computer-readable medium encoded with a computer program code for causing a processor to execute a visual odometry method for estimating vehicle motion, said code comprising the steps of:
-
receiving an incoming image from a camera rigidly mounted and calibrated with respect to a vehicle in motion from a starting position in a global coordinate frame to a first location; performing feature detection on said received, incoming image to identify a plurality of regions, wherein each region in said plurality of regions is associated with a key point in an incoming image coordinate frame; selecting a feature descriptor for each region in said plurality of regions, thereby producing a plurality of feature descriptors for said incoming image coordination frame; performing feature matching between said plurality of feature descriptors for said incoming image and a plurality of feature descriptors computed for a previous image coordination frame, thereby producing a plurality of feature correspondences; for each feature correspondence in said plurality of feature correspondences, aligning key points from said previous image coordinate frames to said incoming image coordination frame; projecting said key points to a previous world coordinate frame and an incoming world coordinate frame at the planar ground plane, thereby producing a plurality of pairs of world coordinates at the planar ground plane; estimating vehicle motion from said plurality of pairs of world coordinates at the planar ground plane; minimizing an accumulation of errors by selecting a key pose as follows; comparing a rotation angle of said motion estimate to an angle threshold and a distance traveled by the vehicle to a distance threshold; and when said angle comparison meets a first criterion or said distance comparison meets a second criterion; projecting said key pose to a current camera pose in said global coordinate frame; determining a motion trajectory from said current camera pose; updating said plurality of feature descriptors computed for a previous world coordinate frame to said plurality of feature descriptors for said incoming world coordinate frame, wherein said motion estimate comprising a rotation matrix and a translation vector, said rotation matrix being associated with no more than three degrees of freedom and an in-plane rotation that is in-plane with respect to the ground plane; said motion estimate comprises a rigid transformation Tk,k−
1; andsaid rigid transformation Tk,k−
1 consists of the rotation matrix Rk,k−
1 between a previous time and a current time, and the translation vector tk−
k−
1 between the previous time and the current time, such that - View Dependent Claims (16)
-
Specification