Visual tracking using panoramas on mobile devices
First Claim
1. A method comprising:
- capturing a plurality of camera images from a camera as the camera rotates;
projecting the plurality of camera images consecutively to a panoramic cylindrical map, wherein the panoramic cylindrical map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map;
extracting keypoints from mapped portions of the panoramic cylindrical map;
using the keypoints to determine an orientation of the camera while capturing the plurality of camera images; and
using the orientation of the camera to assist in the projecting the plurality of camera images consecutively to the panoramic cylindrical map.
1 Assignment
0 Petitions
Accused Products
Abstract
A mobile platform maps and tracks the orientation of the mobile platform in real-time as the mobile platform rotates. The mobile platform captures a plurality of camera images as the camera rotates and projects the plurality of camera images consecutively to a panoramic cylindrical map. The map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map. Keypoints are extracted from mapped portions of the map and using the keypoints the orientation of the camera is determined. Accumulated error is removed when closing the panoramic cylindrical map by extending the map horizontally beyond 360 degrees to produce overlapping regions and extracting and matching keypoints from the overlapping regions. Additionally, an incorrect estimate of the initial orientation of the map may be corrected by determining the correct orientation and re-projecting the map onto a map with the correct orientation.
-
Citations
35 Claims
-
1. A method comprising:
-
capturing a plurality of camera images from a camera as the camera rotates; projecting the plurality of camera images consecutively to a panoramic cylindrical map, wherein the panoramic cylindrical map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map; extracting keypoints from mapped portions of the panoramic cylindrical map; using the keypoints to determine an orientation of the camera while capturing the plurality of camera images; and using the orientation of the camera to assist in the projecting the plurality of camera images consecutively to the panoramic cylindrical map. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 33, 34, 35)
-
-
10. An apparatus comprising:
-
a camera; a processor connected to receive data from the camera; memory connected to the processor; a display connected to the memory; and software held in the memory and run in the processor to cause the processor to consecutively project a plurality of camera images captured by the camera as the camera rotates onto a panoramic cylindrical map, wherein the panoramic cylindrical map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map, extract keypoints from mapped portions of the panoramic cylindrical map, and the keypoints to determine an orientation of the camera while the plurality of camera images are captured by the camera; and
use the orientation of the camera to assist in the projecting the plurality of camera images consecutively to the panoramic cylindrical map. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
means for capturing a plurality of camera images from a rotating position; means for projecting the plurality of camera images consecutively to a panoramic cylindrical map, wherein the panoramic cylindrical map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map; means for extracting keypoints from mapped portions of the panoramic cylindrical map; means for using the keypoints to determine an orientation of the means for capturing the plurality of camera images while capturing the plurality of camera images; and means for using the orientation of the camera to assist in the projecting the plurality of camera images consecutively to the panoramic cylindrical map. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to consecutively project a plurality of camera images captured by a camera as the camera rotates onto a panoramic cylindrical map, wherein the panoramic cylindrical map is extended by projecting areas of any camera image that correspond to unmapped portions of the panoramic cylindrical map; program code to extract keypoints from mapped portions of the panoramic cylindrical map, and program code to use the keypoints to determine an orientation of the camera while capturing the plurality of camera images; and program code to use the orientation of the camera to assist in the projecting the plurality of camera images consecutively to the panoramic cylindrical map. - View Dependent Claims (28, 29, 30, 31, 32)
-
Specification