IP Library › Granted Patent US 11,290,705
Granted Patent B2
US 11,290,705 · App. 16/872,181 · Granted Mar 29, 2022

Rendering augmented reality with occlusion

Inventors: Aleksandr Buslaev (Minsk, BY); Henadzi Klimuk (Minsk, BY); Roman Kuznetsov (Minsk, BY)
Assignee: Mapbox, Inc.
H04N13/271G06N3/08G06T7/521G06T7/55G06T7/80G06T2207/20081H04N2013/0081
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 11,290,705
App. No.
16/872,181
Granted
Mar 29, 2022
Kind
B2
Abstract

AR elements are occluded in video image frames. A depth map is determined for an image frame of a video received from a video capture device. An AR graphical element for overlaying over the image frame is received. An element distance for AR graphical elements relative to a position of a user of the video capture device (e.g., the geographic position of the video capture device) is also received. Based on the depth map for the image frame, a pixel distance is determined for each pixel in the image frame. The pixel distances of the pixels in the image frame are compared to the element distance, and in response to a pixel distance for a given pixel being less than the element distance, the pixel of the image frame is displayed rather than a corresponding pixel of the AR graphical element.

Claims (52)

1. A computer-implemented method comprising:

receiving a video comprising image frames;

computing a depth map for an image frame of the video, the depth map including a depth value for pixels in the image frame;

identifying an augmented reality (AR) graphical element for overlaying on the video;

determining an element distance of the AR graphical element relative to a position of a video capture device that captured the video;

determining a pixel distance for each pixel in the image frame based on the depth map corresponding to the image frame, the determining the pixel distance for each pixel in the image frame comprising:

determining a reference distance from the video capture device to a portion of a reference element represented by a reference pixel in the image frame;

calculating a conversion factor for the depth map based on the determined reference distance and a reference depth value of the depth map corresponding to the reference pixel; and

calculating the pixel distances of the pixels in the image frame based on a depth value of the pixel in the image frame and the conversion factor;

comparing a pixel distance of a particular pixel of the image frame of the video to the element distance; and

responsive to the pixel distance of the particular pixel of the image frame being less than the element distance, displaying the particular pixel of the image frame rather than a corresponding pixel of the AR graphical element, such that the AR graphical element is at least partially occluded by one or more pixels of the image frame.

2. The computer-implemented method of claim 1 , wherein computing the depth map for the image frame comprises inputting the image frame to a trained depth estimation model to generate the depth map, and wherein the depth value for each pixel in the image frame is a relative depth value.

3. The computer-implemented method of claim 2 , wherein training the trained depth estimation model comprises:

receiving a set of training image frames of one or more training videos; and

determining a set of model parameters mapping the set of training image frames to corresponding depth maps.

4. The computer-implemented method of claim 2 , wherein the trained depth estimation model is a self-supervised monocular depth estimation model.

5. The computer-implemented method of claim 1 , wherein the determining the reference distance for each image frame is based on a calibration for the image frame, the calibration based on a geographic location of the video capture device and an angular orientation of the video capture device relative to a ground plane corresponding to the geographic location during capture of the image frame.

6. The computer-implemented method of claim 1 , wherein the determining the reference distance for each image frame comprises:

detecting an object or landmark captured in the image frame represented by the reference pixel; and

calculating the reference distance based on a geographic location of the object or landmark and a geographic location of the video capture device during capture of the image frame.

7. The computer-implemented method of claim 6 , wherein detecting the object or landmark comprises dynamic object detection of a moving object.

8. The computer-implemented method of claim 1 , wherein computing the depth map for the image frame is based on a depth map generated by one of a stereo camera system, a system using more than one camera, a light detection and ranging (LIDAR) system, and a monocular depth mapping system using a single camera.

9. The computer-implemented method of claim 1 , wherein determining the pixel distance further comprises:

segmenting portions of the image frame;

smoothing the depth map corresponding to the image frame based on the segmented portions of the image frame; and

determining the pixel distance based on the smoothed depth map.

10. The computer-implemented method of claim 9 , wherein the pixel distance is further determined based on the segmented portions of the image frame.

11. The computer-implemented method of claim 9 , wherein segmenting portions of the image frame comprises inputting the image frame to an image segmentation model to generate one or more output groups of pixels and at least one output label for each of the one or more groups of pixels.

12. The computer-implemented method of claim 1 , wherein the video is displayed with the AR graphical element overlaid on portions of the video on a display of a navigation system.

13. The computer-implemented method of claim 12 , wherein the display of the navigation system comprises a display of a mobile computing device.

14. A non-transitory computer readable storage medium storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving a video comprising image frames;

computing a depth map for an image frame of the video, the depth map including a depth value for each pixel in the image frame;

identifying an augmented reality (AR) graphical element for overlaying on the video;

determining an element distance of the AR graphical element relative to a position of a video capture device that captured the video;

determining a pixel distance for each pixel in the image frame based on the depth map corresponding to the image frame, the determining the pixel distance for each pixel in the image frame comprising:

determining a reference distance from the video capture device to a portion of a reference element represented by a reference pixel in the image frame;

calculating a conversion factor for the depth map based on the determined reference distance and a reference depth value of the depth map corresponding to the reference pixel; and

calculating the pixel distances of the pixels in the image frame based on a depth value of the pixel in the image frame and the conversion factor;

comparing a pixel distance of a particular pixel of the image frame of the video to the element distance; and

responsive to the pixel distance of the particular pixel of the image frame being less than the element distance, displaying the particular pixel of the image frame rather than a corresponding pixel of the AR graphical element, such that the AR graphical element is at least partially occluded by one or more pixels of the image frame.

15. The computer-readable storage medium of claim 14 , wherein computing the depth map for the image frame comprises inputting the image frame to a trained depth estimation model to generate the depth map, and the depth value for each pixel in the image frame is a relative depth value.

16. The computer-readable storage medium of claim 14 , wherein the trained depth estimation model is a self-supervised monocular depth estimation model.

17. The computer-readable storage medium of claim 1 , wherein the determining the reference distance for each image frame is based on a calibration for the image frame, the calibration based on a geographic location of the video capture device and an angular orientation of the video capture device relative to a ground plane corresponding to the geographic location during capture of the image frame.

18. The computer-readable storage medium of claim 1 , wherein the determining the reference distance for each image frame comprises:

detecting an object or landmark captured in the image frame represented by the reference pixel; and

calculating the reference distance based on a geographic location of the object or landmark and a geographic location of the video capture device during capture of the image frame.

19. The computer-readable storage medium of claim 14 , wherein determining the pixel distance further comprises:

segmenting portions of the image frame;

smoothing the depth map corresponding to the image frame based on the segmented portions of the image frame; and

determining the pixel distance based on the smoothed depth map.

20. The computer-readable storage medium of claim 19 , wherein the pixel distance is further determined based on the segmented portions of the image frame.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2021
From: MAPBOX INTERNATIONAL, LLC
To: MAPBOX, INC.
Reel/Frame 056842/0759 →
CORPORATE CONVERSION Recorded Aug 12, 2020
From: MAPBOX INTERNATIONAL, INC.
To: MAPBOX INTERNATIONAL, LLC
Reel/Frame 053480/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2020
From: MAPDATA OOO
To: MAPBOX INTERNATIONAL, INC.
Reel/Frame 053463/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2020
From: BUSLAEV, ALEKSANDR; KLIMUK, HENADZI; KUZNETSOV, ROMAN
To: MAPDATA OOO
Reel/Frame 052913/0190 →
Continuity (1)
Related Publication 20210352262A1 · Nov 11, 2021