IP Library › Granted Patent US 12,248,625
Granted Patent B2
US 12,248,625 · App. 18/527,953 · Granted Mar 11, 2025

Map-aided inertial odometry with neural network for augmented reality devices

Inventors: Qiyue Zhang (Santa Clara, CA); Luca Ballan (San Jose, CA); Hongsheng Yu (Sunnyvale, CA); Fengtao Fan (Sunnyvale, CA); Mahesh Ramachandran (Dublin, CA); Chao Guo (Los Altos, CA)
Assignee: GOOGLE LLC
G06F3/013G06T19/003G06T2207/20084
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 12,248,625
App. No.
18/527,953
Granted
Mar 11, 2025
Kind
B2
Abstract

Techniques of providing continual augmented reality navigation include combining first and second 6DoF poses from, respectively, a localization from a map in a vicinity of a location to an image and from predicted 6DoF poses based on IMU data. The first 6DoF pose is based on a visual positioning system that uses map data from a vicinity of a location combined with an image from the world-facing camera of the AR smartglasses that provides 6DoF pose in world coordinates independent of the IMU. The second 6DoF pose is based on compensated rotational velocity and acceleration measurements derived from IMU intrinsic values.

Claims (48)

1. A method, comprising:

receiving inertial measurement unit (IMU) data from an IMU, the IMU being connected to a world-facing camera in a location;

receiving image data representing an image of the location;

generating first six-degree-of-freedom pose data based on the image data and a map of the location, the first six-degree-of-freedom pose data representing a first position and orientation of the IMU in a world coordinate system;

generating second six-degree-of-freedom pose data based on the IMU data, the second six-degree-of-freedom pose data representing a second position and orientation of the IMU in the world coordinate system; and

generating corrected six-degree-of-freedom pose data based at least on the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data.

2. The method as in claim 1 , further comprising:

processing the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data with a Kalman filter.

3. The method as in claim 2 , wherein a state of the Kalman filter includes values of intrinsic parameters of the IMU; and

wherein the values of the intrinsic parameters of the IMU at an update of the state of the Kalman filter are processed with an error compensation module configured to compensate IMU output to produce the IMU data.

4. The method as in claim 3 , wherein the values of the intrinsic parameters include values of biases, misalignments, and scale factors of a gyro and an accelerometer of the IMU.

5. The method as in claim 1 , wherein the image data is received at a rate of less than 5 Hz.

6. The method as in claim 1 , wherein generating the second six-degree-of-freedom pose data includes:

processing the IMU data with a convolutional neural network, the second six-degree-of-freedom pose data being an output of the convolutional neural network.

7. The method as in claim 6 , wherein generating the second six-degree-of-freedom pose data occurs at least ten times more often than generating the first six-degree-of-freedom pose data.

8. A computer program product comprising a nontransitory storage medium, the computer program product including code that, when executed by processing circuitry, causes the processing circuitry to perform a method, the method comprising:

receiving inertial measurement unit (IMU) data from an IMU, the IMU being connected to a world-facing camera in a location;

receiving image data representing an image of the location;

generating first six-degree-of-freedom pose data based on the image data and a map of the location, the first six-degree-of-freedom pose data representing a first position and orientation of the IMU in a world coordinate system;

generating second six-degree-of-freedom pose data based on the IMU data, the second six-degree-of-freedom pose data representing a second position and orientation of the IMU in the world coordinate system; and

generating corrected six-degree-of-freedom pose data of the IMU based on the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data.

9. The computer program product as in claim 8 , wherein the method further comprises:

processing the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data with a Kalman filter.

10. The computer program product as in claim 9 , wherein a state of the Kalman filter includes values of intrinsic parameters of the IMU; and

wherein the values of the intrinsic parameters of the IMU at an update of the state of the Kalman filter are processed with an error compensation module configured to compensate IMU output to produce the IMU data.

11. The computer program product as in claim 10 , wherein the values of the intrinsic parameters include values of biases, misalignments, and scale factors of a gyro and an accelerometer of the IMU.

12. The computer program product as in claim 8 , wherein the image data is received at a rate of less than 5 Hz.

13. The computer program product as in claim 8 , wherein generating the second six-degree-of-freedom pose data includes:

processing the IMU data with a convolutional neural network, the second six-degree-of-freedom pose data being an output of the convolutional neural network.

14. The computer program product as in claim 13 , wherein generating the second six-degree-of-freedom pose data occurs at least ten times more often than generating the first six-degree-of-freedom pose data.

15. An apparatus, comprising:

memory; and

processing circuitry coupled to the memory, the processing circuitry being configured to:

receive inertial measurement unit (IMU) data from an IMU, the IMU being connected to a world-facing camera in a location;

receive image data representing an image of the location;

generate first six-degree-of-freedom pose data based on the image data and a map of the location, the first six-degree-of-freedom pose data representing a first position and orientation of the IMU in a world coordinate system;

generate second six-degree-of-freedom pose data based on the IMU data, the first six-degree-of-freedom pose data of the IMU representing a second position and orientation of the IMU in the world coordinate system; and

generate corrected six-degree-of-freedom pose data based on the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data.

16. The apparatus as in claim 15 , wherein the processing circuitry is further configured to:

process the first six-degree-of-freedom pose data and the second six-degree-of-freedom pose data with a Kalman filter.

17. The apparatus as in claim 16 , wherein a state of the Kalman filter includes values of intrinsic parameters of the IMU; and

wherein the values of the intrinsic parameters of the IMU at an update of the state of the Kalman filter are processed with an error compensation module configured to compensate IMU output to produce the IMU data.

18. The apparatus as in claim 17 , wherein the values of the intrinsic parameters include values of biases, misalignments, and scale factors of a gyro and an accelerometer of the IMU.

19. The apparatus as in claim 15 , wherein the image data is received at a rate of less than 5 Hz.

20. The apparatus as in claim 15 , wherein the processing circuitry configured to generate the second six-degree-of-freedom pose data is further configured to:

process the IMU data with a convolutional neural network, the second six-degree-of-freedom pose data being an output of the convolutional neural network.

21. The apparatus as in claim 20 , wherein generating the second six-degree-of-freedom pose data occurs at least ten times more often than generating the first six-degree-of-freedom pose data.

22. The method as in claim 1 , wherein the map of the location is based on a visual positioning system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2023
From: ZHANG, QIYUE; BALLAN, LUCA; YU, HONGSHENG; FAN, FENGTAO; RAMACHANDRAN, MAHESH; GUO, CHAO
To: GOOGLE LLC
Reel/Frame 065806/0356 →
Continuity (2)
Continuation 18058573 · Nov 23, 2022
Related Publication 20240176419A1 · May 30, 2024
References Cited (30)
US 9947100B2 · Moeglein et al. · 2018 [cited by applicant]
US 10390003B1 · Liu et al. · 2019 [cited by applicant]
US 11113894B1 · Price et al. · 2021 [cited by applicant]
US 11486707B2 · Roumeliotis · 2022 [cited by examiner]
US 11625092B2 · Kim et al. · 2023 [cited by applicant]
US 20120300020A1 · Arth et al. · 2012 [cited by applicant]
US 20150098614A1 · Gee et al. · 2015 [cited by applicant]
US 20160033284A1 · Sato · 2016 [cited by applicant]
US 20160225191A1 · Mullins · 2016 [cited by applicant]
US 20180188032A1 · Ramanandan et al. · 2018 [cited by applicant]
US 20190146598A1 · Peri · 2019 [cited by applicant]
US 20210004979A1 · Valentin · 2021 [cited by examiner]
US 20210223858A1 · Barak et al. · 2021 [cited by applicant]
US 20220306089A1 · Seth · 2022 [cited by applicant]
US 20220374072A1 · Wu · 2022 [cited by applicant]
US 20230132644A1 · Melim et al. · 2023 [cited by applicant]
US 20230133574A1 · Kim et al. · 2023 [cited by applicant]
US 20230289027A1 · Aranda · 2023 [cited by examiner]
JP 2016033474A · 2016 [cited by applicant]
JP 2019023865A · 2019 [cited by applicant]
KR 20160063367A · 2016 [cited by applicant]
KR 20210128269A · 2021 [cited by applicant]
KR 20220039110A · 2022 [cited by applicant]
WO 2015192117A1 · 2015 [cited by applicant]
U.S. Appl. No. 18/058,573, filed Nov. 23, 2022, Allowed. [cited by applicant]
Lang, et al., “A New Combination of Vision-Based and Inertial Tracking for Fully Mobile, Wearable, and Real-Time Operation”, 26th Workshop of the AAPR/OAGM, OCG Schriftenreihe, Band 160, Graz, Austria, Sep. 2002, 8 page… [cited by applicant]
Yoon, et al., “Deep 6-DOF Head Motion Prediction for Latecy in Lightweight Augmented Reality Glasses”, IEEE International Conference on Consumer Electronics (ICCE), 2022, 6 pages. [cited by applicant]
Office Action with English translation for Korean Application No. 10-2023-0157265, mailed Apr. 30, 2024, 11 pages. [cited by applicant]
Extended European Search Report for European Application No. 23211563.4, mailed May 2, 2024, 8 pages. [cited by applicant]
Office Action for Japanese Application No. 2023-197406, with English Translation, mailed May 7, 2024, 9 pages. [cited by applicant]