IP Library Granted Patent US 9,934,587
Granted Patent B2
US 9,934,587 · App. 15/199,832 · Granted Apr 3, 2018

Deep image localization

Inventor: Nalin Senthamil (Santa Clara, CA)
Assignee: DAQRI, LLC
G06T7/337G06F1/163G06F17/30241G06F17/30247G06K9/6202G06K9/6256G06N99/005G06T7/80G06T19/006G06T2207/10016G06T2207/20081G06T2207/30244
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,934,587
App. No.
15/199,832
Granted
Apr 3, 2018
Kind
B2
Abstract

An image localization system is described. A receiver receives visual inertial navigation (VIN) data and corresponding image data from devices, the VIN data indicating VIN states and corresponding poses of the devices. A training module generates a localization model based on the VIN data and corresponding image data from the plurality of devices. The image data includes images, the localization model correlating the VIN states and poses with each image among the plurality of images. An image localizer receives a query for a geographic location and a pose of a device. The query includes a picture. The image localizer compares the picture with images from the localization model, identifies an image based on the localization model, the image matching the picture in the query, and determines the geographic location and the pose of the device based on the VIN state and pose corresponding to the identified image.

Claims (70)

1. A server comprising:

a receiver configured to receive visual inertial navigation (VIN) data and corresponding image data from a plurality of devices, the VIN data indicating VIN states and corresponding poses of the plurality of devices;

a training module, executable by at least one hardware processor, the training module being configured to generate a localization model based on the VIN data and corresponding image data from the plurality of devices, the image data including a plurality of images, the localization model correlating the VIN states and poses with each image among the plurality of images;

an image localizer configured to:

receive a query for a geographic location and a pose of a device of the plurality of devices, the query including a picture;

compare the picture with the plurality of images from the localization model;

identify an image based on the localization model, the image matching the picture in the query;

determine the geographic location and the pose of the device based on a VIN state and pose corresponding to the identified image, wherein the VIN state of the device indicates position data, orientation data, three-dimensional geometry data, gyroscope data, and accelerometer bias and scale data, and

a storage device configured to store the VIN data, the image data, and the localization model.

2. The server of claim 1 , wherein the training module is configured to:

determine features in the plurality of images from the localization model; and

associate the features and relative positions of the features in each image among the plurality of images with the VIN data corresponding to each image among the plurality of images.

3. The server of claim 1 , wherein the image localizer is configured to:

identify features in the picture;

determine features in the plurality of images based on the localization model; and

compare the features in the picture with the features in the plurality of images based on the localization model,

wherein the identifying of the image is based on a comparison of the features in the picture with the features in the images.

4. The server of claim 1 , wherein the geographic location of the device is the geographic location of the device when the device generated the picture, and the pose of the device includes the pose of the device when the device generated the picture.

5. The server of claim 1 , wherein the device comprises:

a camera configured to capture the picture and generate a plurality of video frames;

at least one inertial measurement unit (IMU) sensor configured to generate IMU data of the device;

a feature tracking module configured to track at least one feature in the plurality of video frames;

a synchronization module configured to synchronize and align the plurality of video frames based on the IMU data; and

a visual inertial navigation (VIN) module configured to compute the VIN state of the device based on the synchronized plurality of video frames with the IMU data.

6. The server of claim 5 , wherein the device further comprises:

a global refinement module configured to access historical dynamic VIN states from the device and to refine real-time VIN state estimates from the IMU sensor;

a propagation module configured to adjust a position of an augmented reality content in the display based on a latest VIN state of the device; and

an augmented reality content module configured to generate and position AR content in a display of the device based on the VIN state of the device.

7. The server of claim 6 , further comprising:

a calibration module configured to calibrate the camera off-line for at least one of focal length, principal point, pixel aspect ratio, or lens distortion, and to calibrate the at least one IMU sensor for at least one of noise, scale, or bias, and to apply calibration information to the plurality of video frames and the IMU data.

8. The server of claim 5 , wherein the IMU data indicates an angular rate of change and a linear acceleration.

9. The server of claim 1 , wherein features comprise predefined stationary interest points and line features.

10. A computer-implemented method comprising:

receiving visual inertial navigation (VIN) data and corresponding image data from a plurality of devices, the VIN data indicating VIN states and corresponding poses of the plurality of devices;

generating a localization model based on the VIN data and corresponding image data from the plurality of devices, the image data including a plurality of images, the localization model correlating the VIN states and poses with each image among the plurality of images;

receiving a query for a geographic location and a pose of a device of the plurality of devices, the query including a picture;

comparing the picture with the plurality of images from the localization model;

identifying an image based on the localization model, the image matching the picture in the query; and

determining the geographic location and the pose of the device based on a VIN state and pose corresponding to the identified image, wherein the VIN state of the device indicates position data, orientation data, three-dimensional geometry data, gyroscope data, and accelerometer bias and scale data.

11. The computer-implemented method of claim 10 , further comprising:

determining features in the plurality of images from the localization model; and

associating the features and relative positions of the features in each image among the plurality of images with the VIN data corresponding to each image among the plurality of images.

12. The computer-implemented method of claim 10 , further comprising:

identifying features in the picture;

determining features in the plurality of images based on the localization model; and

comparing the features in the picture with the features in the plurality of images based on the localization model,

wherein the identifying of the image is based on a comparison of the features in the picture with the features in the plurality of images.

13. The computer-implemented method of claim 10 , wherein the geographic location of the device is the geographic location of the device when the device generated the picture, and the pose of the device includes the pose of the device when the device generated the picture.

14. The computer-implemented method of claim 10 , further comprising:

capturing the picture and generate a plurality of video frames;

generating by at least one inertial measurement unit (IMU) sensor IMU data of the device;

tracking at least one feature in the plurality of video frames;

synchronizing and aligning the plurality of video frames based on the IMU data; and

computing the state of the device based on the synchronized plurality of video frames with the IMU data.

15. The computer-implemented method of claim 14 , further comprising:

accessing historical dynamic VIN states from the device;

refining real-time VIN state estimates from the IMU sensor;

adjusting a position of an augmented reality content in the display based on a latest VIN state of the device; and

generating and position AR content in a display of the device based on the VIN state of the device.

16. The computer-implemented method of claim 15 , further comprising:

calibrating the camera off-line for at least one of focal length, principal point, pixel aspect ratio, or lens distortion; and calibrating the at least one IMU sensor for at least one of noise, scale, or bias, and to apply calibration information to the plurality of video frames and the IMU data.

17. The computer-implemented method of claim 14 , wherein the IMU data indicates an angular rate of change and a linear acceleration.

18. The computer-implemented method of claim 10 , wherein the features comprises predefined stationary interest points and line features.

19. A non-transitory machine-readable storage medium, tangibly embodying a set of instructions that, when executed by at least one processor, causes the at least one processor to perform a set of operations comprising:

receiving visual inertial navigation (VIN) data and corresponding image data from a plurality of devices, the VIN data indicating VIN states and corresponding poses of the plurality of devices;

generating a localization model based on the VIN data and corresponding image data from the plurality of devices, the image data including a plurality of images, the localization model correlating the VIN states and poses with each image among the plurality of images;

receiving a query for a geographic location and a pose of a device of the plurality of devices, the query including a picture;

comparing the picture with the plurality of images from the localization model;

identifying an image based on the localization model, the image matching the picture in the query; and

determining the geographic location and the pose of the device based on a VIN state and pose corresponding to the identified image, wherein the VIN state of the device indicates position data, orientation data, three-dimensional geometry data, gyroscope data, and accelerometer bias and scale data.

Assignments (12)
CHANGE OF NAME Recorded Aug 3, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060936/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2021
From: RPX CORPORATION
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056777/0588 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2020
From: AR HOLDINGS I, LLC
To: DAQRI, LLC
Reel/Frame 053498/0580 →
PATENT SECURITY AGREEMENT Recorded Aug 14, 2020
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 053498/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053413/0642 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2019
From: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
To: DAQRI, LLC
Reel/Frame 050805/0606 →
LIEN Recorded Oct 8, 2019
From: DAQRI, LLC
To: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
Reel/Frame 050672/0601 →
SECURITY INTEREST Recorded Jun 26, 2019
From: DAQRI, LLC
To: AR HOLDINGS I LLC
Reel/Frame 049596/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2016
From: SENTHAMIL, NALIN
To: DAQRI, LLC
Reel/Frame 039403/0351 →
Continuity (1)
Related Publication 20180005393A1 · Jan 4, 2018