System and method for determining location of a device using opposing cameras
First Claim
1. A method for determining location of a device, comprising:
- activating a front-facing camera and a back-facing camera of the device;
capturing a first pair of images at a location of the device from a first orientation using the front-facing camera and the back-facing camera, the first pair of images comprising a first front image and a first back image;
determining a second orientation;
capturing a second pair of images at the location of the device from the second orientation using the front-facing camera and the back-facing camera, the second pair of images comprising a second front image and a second back image;
identifying the first pair of images or the second pair of images, or both, the identifying to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the identifying including matching the first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image matching the second image from the first pair of images;
determining a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises;
comparing the first front image with images in a database, wherein the database stores image features of multiple locations of the venue;
identifying an approximate location of the first front image;
comparing the first back image with the images in the database;
identifying an approximate location of the first back image; and
determining of the first line using the approximate location of the first front image and the approximate location of the first back image;
determining a second line connecting locations associated with the second front image and the second back image;
determining an approximate cross point of the first line and the second line; and
identifying the approximate cross point as an estimated location of the device.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for determining location of a device using opposing cameras are disclosed. In one embodiment, the method includes activating a front-facing camera and a back-facing camera of the device, capturing a first pair of images from a first orientation using the front-facing camera and the back-facing camera, where the first pair of images includes a first front image and a first back image, monitoring the device being rotated to a second orientation, capturing a second pair of images from the second orientation using the front-facing camera and the back-facing camera, where the second pair of images includes a second front image and a second back image, and determining a location of the device using the first pair of images and the second pair of images.
-
Citations
37 Claims
-
1. A method for determining location of a device, comprising:
-
activating a front-facing camera and a back-facing camera of the device; capturing a first pair of images at a location of the device from a first orientation using the front-facing camera and the back-facing camera, the first pair of images comprising a first front image and a first back image; determining a second orientation; capturing a second pair of images at the location of the device from the second orientation using the front-facing camera and the back-facing camera, the second pair of images comprising a second front image and a second back image; identifying the first pair of images or the second pair of images, or both, the identifying to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the identifying including matching the first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image matching the second image from the first pair of images; determining a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; comparing the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; identifying an approximate location of the first front image; comparing the first back image with the images in the database; identifying an approximate location of the first back image; and determining of the first line using the approximate location of the first front image and the approximate location of the first back image; determining a second line connecting locations associated with the second front image and the second back image; determining an approximate cross point of the first line and the second line; and identifying the approximate cross point as an estimated location of the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product to determine a location of a device, comprising a non-transitory medium storing computer programs for execution by one or more computer systems, the computer program product comprising:
-
code to activate a front-facing camera and a back-facing camera of the device; code to capture a first pair of images at a location of the device from a first orientation using the front-facing camera and the back-facing camera, the first pair of images to comprise a first front image and a first back image; code to determine a second orientation of the device; code to capture a second pair of images at the location of the device from the second orientation using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; code to identify the first pair of images or the second pair of images, or both, the code to identify to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the code to identify to include code to detect a match between the first image from the first pair of images and an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image that matches the second image from the first pair of images; code to determine a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; code to compare the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; code to identify an approximate location of the first front image; code to compare the first back image with the images in the database; code to identify an approximate location of the first back image; and code to determine of the first line using the approximate location of the first front image and the approximate location of the first back image; code to determine a second line connecting locations associated with the second front image and the second back image; code to determine an approximate cross point of the first line and the second line; and code to identify the approximate cross point as an estimated location of the device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A device, comprising:
-
one or more processors; a dual-camera assist module, coupled to the one or more processors, the dual-camera assist module to comprise; logic to activate a front-facing camera and a back-facing camera of the device; logic to capture a first pair of images at a location of the device from a first orientation of the device using a front-facing camera and a back-facing camera, the first pair of images to comprise a first front image and a first back image; logic to determine a second orientation; logic to capture a second pair of images at the location of the device from the second orientation using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; logic to identify the first pair of images or the second pair of images, or both, the logic to identify to initiate by searching for images in a locally cached database spatially organized images of a venue, the logic to identify to include logic to match a first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect a match between a locally cached image and the second image from the first pair of images; logic to determine a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; logic to compare the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; logic to identify an approximate location of the first front image; logic to compare the first back image with the images in the database; logic to identify an approximate location of the first back image; and logic to determine of the first line using the approximate location of the first front image and the approximate location of the first back image; logic to determine a second line connecting locations associated with the second front image and the second back image; logic to determine an approximate cross point of the first line and the second line; and logic to identify the approximate cross point as an estimated location of the device. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for determining location of a device, comprising:
-
one or more processors; a dual-camera assist module, to operate with the one or more processors, the dual-camera assist module comprising; means for activating a front-facing camera and a back-facing camera of the device; means for capturing at a location of the device a first pair of images from a first orientation using the front-facing camera and the a back-facing camera, the first pair of images to comprise a first front image and a first back image; means for determining a second orientation of the device; means for capturing at the location of the device a second pair of images from the second orientation using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; means for identifying the first pair of images or the second pair of images, or both, the means for identifying to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the means for identifying including means for matching a first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image matching the second image from the first pair of images; and means for determining the location of the device based, at least in part, on an intersection of first and second planes; means for to determining a first line connecting locations associated with the first front image and the first back image, wherein means for determining the first line comprises; means for comparing the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; means for identifying an approximate location of the first front image; means for comparing the first back image with the images in the database; means for identifying an approximate location of the first back image; and means for determining of the first line using the approximate location of the first front image and the approximate location of the first back image; means for determining a second line connecting locations associated with the second front image and the second back image; means for determining an approximate cross point of the first line and the second line; and means for identifying the approximate cross point as an estimated location of the device. - View Dependent Claims (31, 32, 33)
-
-
34. A method for determining location of a device, comprising:
-
activating a front-facing camera and a back-facing camera of the device; obtaining a first pair of images captured at a location of the device from a first orientation of the device using a front-facing camera and a back-facing camera, the first pair of images comprises a first front image and a first back image; obtaining a second pair of images captured at the location of the device from a second orientation of the device using the front-facing camera and the back-facing camera, the second pair of images comprises a second front image and a second back image; identifying the first pair of images or the second pair of images, or both, wherein the identifying is to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the identifying including matching a first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image matching the second image from the first pair of images; determining a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; comparing the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; identifying an approximate location of the first front image; comparing the first back image with the images in the database; identifying an approximate location of the first back image; and determining of the first line using the approximate location of the first front image and the approximate location of the first back image; determining a second line connecting locations associated with the second front image and the second back image; determining an approximate cross point of the first line and the second line; and identifying the approximate cross point as an estimated location of the device.
-
-
35. A computer program product for determining location of a device, comprising a non-transitory medium storing computer programs for execution by one or more computer systems, the computer program product comprising:
-
code to activate a front-facing camera and a back-facing camera of the device; code to obtain a first pair of images captured at a location of the device from a first orientation of the device using a front-facing camera and a back-facing camera, the first pair of images to comprise a first front image and a first back image; code to obtain a second pair of images captured at the location of the device from a second orientation of the device using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; code to identify the first pair of images or the second pair of images, or both, the code to identify to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the code to identify to include code to detect a match between the first image from the first pair of images and an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect an image that matches the second image from the first pair of images; code to determine a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; code to compare the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; code to identify an approximate location of the first front image; code to compare the first back image with the images in the database; code to identify an approximate location of the first back image; and code to determine of the first line using the approximate location of the first front image and the approximate location of the first back image; code to determine a second line connecting locations associated with the second front image and the second back image; code to determine an approximate cross point of the first line and the second line; and code to identify the approximate cross point as an estimated location of the device.
-
-
36. A server, comprising:
-
one or more processors; a dual-camera positioning module configured to operate with the one or more processors, the dual-camera positioning module comprising; logic to obtain a first pair of images captured at a location of a device from a first orientation of the device using a front-facing camera and a back-facing camera, the first pair of images to comprise a first front image and a first back image; logic to obtain a second pair of images captured at the location of the device from a second orientation of the device using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; logic to identify the first pair of images or the second pair of images, or both, the logic to identify to be initiated by searching for images in a locally cached database comprising spatially organized images of a venue, the logic to identify to include logic to match a first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect a match between a locally cached image and the second image from the first pair of images; logic to determine a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; logic to compare the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; logic to identify an approximate location of the first front image; logic to compare the first back image with the images in the database; logic to identify an approximate location of the first back image; and logic to determine of the first line using the approximate location of the first front image and the approximate location of the first back image; logic to determine a second line connecting locations associated with the second front image and the second back image; logic to determine an approximate cross point of the first line and the second line; and logic to identify the approximate cross point as an estimated location of the device.
-
-
37. A system for determining location of a device, comprising:
-
one or more processors; a dual-camera positioning module configured to operate with the one or more processors, the dual-camera positioning module to comprise; means for obtaining a first pair of images captured at a location of the device from a first orientation of the device using a front-facing camera and a back-facing camera, the first pair of images to comprise a first front image and a first back image; means for obtaining a second pair of images captured at the location of the device from a second orientation of the device using the front-facing camera and the back-facing camera, the second pair of images to comprise a second front image and a second back image; means for identifying the first pair of images or the second pair of images, or both, the means for identifying to initiate by searching for images in a locally cached database comprising spatially organized images of a venue, the means for identifying to include logic to match a first image from the first pair of images with an image from the locally cached database followed by examination of one or more images from the locally cached database corresponding to locations opposite the matched first image to detect a match between a locally cached image and the second image from the first pair of images; means for determining a first line connecting locations associated with the first front image and the first back image, wherein determining the first line comprises; means for comparing the first front image with images in a database, wherein the database stores image features of multiple locations of the venue; means for identifying an approximate location of the first front image; means for comparing the first back image with the images in the database; means for identifying an approximate location of the first back image; and means for determining of the first line using the approximate location of the first front image and the approximate location of the first back image; means for determining a second line connecting locations associated with the second front image and the second back image; means for determining an approximate cross point of the first line and the second line; and means for identifying the approximate cross point as an estimated location of the device.
-
Specification