Plane detection and tracking for structure from motion
First Claim
1. A method, comprising:
- generating, by one or more computing devices, a set of inter-image homographies for an image sequence comprising a plurality of frames, said generating comprising;
determining a plurality of point trajectories that traverse an initial frame pair;
determining a subset of the plurality of point trajectories that traverse the initial frame pair, the subset of the plurality of point trajectories that traverse the initial frame pair corresponding to points defining a two-dimensional (2D) plane;
estimating an inter-image homography for the initial frame pair according to the subset of the plurality of point trajectories that traverse the initial frame pair; and
for each of one or more subsequent frame pairs, perform operations comprising;
adding one or more inlier points whose trajectories correspond to trajectories of a subset of points tracked through a previous frame pair to create a plurality of point trajectories that traverse a current frame pair, the plurality of point trajectories that traverse the current frame pair corresponding to points defining the plane;
determining a new subset of points tracked through the current frame pair from the plurality of point trajectories that traverse the current frame pair; and
estimating an inter-image homography for the subsequent frame pair according to trajectories of the new subset of points tracked through the subsequent frame pair.
2 Assignments
0 Petitions
Accused Products
Abstract
Plane detection and tracking algorithms are described that may take point trajectories as input and provide as output a set of inter-image homographies. The inter-image homographies may, for example, be used to generate estimates for 3D camera motion, camera intrinsic parameters, and plane normals using a plane-based self-calibration algorithm. A plane detection and tracking algorithm may obtain a set of point trajectories for a set of images (e.g., a video sequence, or a set of still photographs). A 2D plane may be detected from the trajectories, and trajectories that follow the 2D plane through the images may be identified. The identified trajectories may be used to compute a set of inter-image homographies for the images as output.
23 Citations
22 Claims
-
1. A method, comprising:
generating, by one or more computing devices, a set of inter-image homographies for an image sequence comprising a plurality of frames, said generating comprising; determining a plurality of point trajectories that traverse an initial frame pair; determining a subset of the plurality of point trajectories that traverse the initial frame pair, the subset of the plurality of point trajectories that traverse the initial frame pair corresponding to points defining a two-dimensional (2D) plane; estimating an inter-image homography for the initial frame pair according to the subset of the plurality of point trajectories that traverse the initial frame pair; and for each of one or more subsequent frame pairs, perform operations comprising; adding one or more inlier points whose trajectories correspond to trajectories of a subset of points tracked through a previous frame pair to create a plurality of point trajectories that traverse a current frame pair, the plurality of point trajectories that traverse the current frame pair corresponding to points defining the plane; determining a new subset of points tracked through the current frame pair from the plurality of point trajectories that traverse the current frame pair; and estimating an inter-image homography for the subsequent frame pair according to trajectories of the new subset of points tracked through the subsequent frame pair. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A system, comprising:
-
one or more processors; and a memory comprising program instructions, the program instructions being executable by at least one of the one or more processors to generate a set of inter-image homographies for an image sequence comprising a plurality of frames to generate the set of inter-image homographies for the image sequence, the program instructions being executable by the at least one processor to perform operations comprising; determining a plurality of point trajectories that traverse an initial frame pair; estimating an inter-image homography for the initial frame pair according to a subset of the plurality of point trajectories that traverse the initial frame pair, the subset of the plurality of point trajectories that traverse the initial frame pair corresponding to points defining a two-dimensional (2D) plane; and for each of one or more subsequent frame pairs, perform operations comprising; determining a subset of points tracked through a previous frame pair whose trajectories correspond to a trajectory of the plane through the previous frame pair; adding inliers to the subset of points tracked through the previous frame pair, the inliers corresponding to points whose trajectories match the subset of points tracked through the previous frame pair; selecting a new subset of points from the inliers and the subset of points tracked through the previous frame pair; and estimating an inter-image homography for the subsequent frame pair according to trajectories of the new subset of points tracked through the subsequent frame pair. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium storing program instructions, the program instructions being computer-executable to perform operations comprising:
generating a set of inter-image homographies for an image sequence comprising a plurality of frames, said generating comprising; determining a plurality of point trajectories that traverse an initial frame pair; estimating an inter-image homography for the initial frame pair according to a subset of the plurality of point trajectories that traverse the initial frame pair, the subset of the plurality of point trajectories that traverse the initial frame pair corresponding to points defining a two-dimensional (2D) plane; and for each of one or more subsequent frame pairs, perform operations comprising; determining a subset of points tracked through a previous frame pair whose trajectories correspond to a trajectory of the plane through the previous frame pair; adding inliers to the subset of points tracked through the previous frame pair, the inliers corresponding to points whose trajectories match the subset of points tracked through the previous frame pair; selecting a new subset of points from the inliers and the subset of points tracked through the previous frame pair; and estimating an inter-image homography for the subsequent frame pair according to trajectories of the new subset of points tracked through the subsequent frame pair. - View Dependent Claims (18, 19, 20, 21, 22)
Specification