IP Library Granted Patent US 11,151,788
Granted Patent B2
US 11,151,788 · App. 16/729,266 · Granted Oct 19, 2021

Systems and methods for presenting a reconstructed representation of a moving object detected in a scene

Inventors: Rupsha Chaudhuri (Campbell, CA); Kumar Hemachandra Chellapilla (Mountain View, CA); Tanner Cotant Christensen (Redwood City, CA); Newton Ko Yue Der (San Mateo, CA); Joan Devassy (San Mateo, CA); Suneet Rajendra Shah (San Francisco, CA)
Assignee: Woven Planet North America, Inc.
G06T19/00G06T7/246G06T7/251G06T17/00G06T2207/10028G06T2207/30241G06T2207/30252G06T2219/004
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,151,788
App. No.
16/729,266
Granted
Oct 19, 2021
Kind
B2
Abstract

Examples disclosed herein may involve (i) identifying, in a 3D point cloud representative of a real-world environment in which a vehicle was operating during a window of time, a set of 3D data points associated with an object detected in the environment that comprises different subsets of 3D data points corresponding to different capture times within the window of time, (ii) based at least on the 3D data points, evaluating a trajectory of the object and thereby determining that the object was in motion during some portion of the window of time, (iii) in response to determining that the object was in motion, reconstructing the different subsets of 3D data points into a single, assembled 3D representation of the object, and (iv) generating a time-aggregated, 3D visualization of the environment that presents the single, assembled 3D representation of the object at one or more points along the trajectory of the object.

Claims (68)

1. A computer-implemented method comprising:

obtaining a time-aggregated, three-dimensional (3D) point cloud that is representative of a real-world environment in which a vehicle was operating during a window of time, wherein the time-aggregated, 3D point cloud comprises multiple different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

identifying, within the time-aggregated, 3D point cloud that is representative of the real-world environment in which the vehicle was operating during the window of time, a set of 3D data points associated with an object detected in the real-world environment, wherein the identified set of 3D data points comprises different subsets of 3D data points corresponding to different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

based at least on the identified set of 3D data points associated with the object, determining that the object was in motion during at least a portion of the window of time;

in response to determining that the object was in motion during at least the portion of the window of time, relocating at least a portion of the different subsets of 3D data points included within the identified set of 3D data points associated with the object and thereby generating a single, assembled 3D representation of the object that differs from the identified set of 3D data points associated with the object;

generating a visualization of the time-aggregated, 3D point cloud that includes the single, assembled 3D representation of the object in place of the identified set of 3D data points associated with the object, wherein the single, assembled 3D representation of the object is presented at one or more points along a trajectory of the object; and

causing the visualization to be presented as part of an interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

2. The computer-implemented method of claim 1 ,

wherein the time-aggregated 3D point cloud is generated based at least on (i) sensor data captured by the vehicle while operating in the real-world environment during the window of time and (ii) localization data associated with the vehicle.

3. The computer-implemented method of claim 1 , further comprising:

generating at least one assembled 3D label corresponding to the single, assembled 3D representation of the object, wherein the visualization of the time-aggregated, 3D point cloud further presents an indication of the at least one assembled 3D label.

4. The computer-implemented method of claim 3 , further comprising:

based on the identified set of 3D data points associated with the object, generating a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time;

receiving, from a client station, a request to change the at least one assembled 3D label corresponding to the single, assembled 3D representation of the object; and

updating the 3D track for the object in accordance with the requested change to the at least one assembled 3D label.

5. The computer-implemented method of claim 1 , wherein the visualization of the time-aggregated, 3D point cloud initially presents the single, assembled 3D representation of the object at a first point along the trajectory of the object, the method further comprising:

generating an updated visualization of the time-aggregated, 3D point cloud that presents the single, assembled 3D representation of the object at a second point along the trajectory of the object that differs from the first point; and

causing the updated visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

6. The computer-implemented method of claim 1 , further comprising:

after causing the visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object, receiving, from a client station, a request to apply a 3D label to the single, assembled 3D representation of the object that is presented within the visualization at the one or more points along the trajectory of the object.

7. The computer-implemented method of claim 6 , further comprising:

based on the request and the identified set of 3D data points associated with the object, generating a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time.

8. A non-transitory computer-readable medium comprising program instructions stored thereon that are executable to cause a computing system to perform functions comprising:

obtaining a time-aggregated, three-dimensional (3D) point cloud that is representative of a real-world environment in which a vehicle was operating during a window of time, wherein the time-aggregated, 3D point cloud comprises multiple different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

identifying, within the time-aggregated, 3D point cloud that is representative of the real-world environment in which the vehicle was operating during the window of time, a set of 3D data points associated with an object detected in the real-world environment, wherein the identified set of 3D data points comprises different subsets of 3D data points corresponding to different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

based at least on the identified set of 3D data points associated with the object, determining that the object was in motion during at least a portion of the window of time;

in response to determining that the object was in motion during at least the portion of the window of time, relocating at least a portion of the different subsets of 3D data points included within the identified set of 3D data points associated with the object and thereby generating a single, assembled 3D representation of the object that differs from the identified set of 3D data points associated with the object;

generating a visualization of the time-aggregated, 3D point cloud that includes the single, assembled 3D representation of the object in place of the identified set of 3D data points associated with the object, wherein the single, assembled 3D representation of the object is presented at one or more points along a trajectory of the object; and

causing the visualization to be presented as part of an interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

9. The computer-readable medium of claim 8 ,

wherein the time-aggregated 3D point cloud is generated based at least on (i) sensor data captured by the vehicle while operating in the real-world environment during the window of time and (ii) localization data associated with the vehicle.

10. The computer-readable medium of claim 8 , further comprising program instructions stored thereon that are executable to cause the computing system to perform functions comprising:

generating at least one assembled 3D label corresponding to the single, assembled 3D representation of the object, wherein the visualization of the time-aggregated, 3D point cloud further presents an indication of the at least one assembled 3D label.

11. The computer-readable medium of claim 10 , further comprising program instructions stored thereon that are executable to cause the computing system to perform functions comprising:

based on the identified set of 3D data points associated with the object, generating a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time;

receiving, from a client station, a request to change the at least one assembled 3D label corresponding to the single, assembled 3D representation of the object; and

updating the 3D track for the object in accordance with the requested change to the at least one assembled 3D label.

12. The computer-readable medium of claim 8 , wherein the visualization of the time-aggregated, 3D point cloud initially presents of the single, assembled 3D representation of the object at a first point along the trajectory of the object, and wherein the computer-readable medium further comprises program instructions stored thereon that are executable to cause the computing system to perform functions comprising:

generating an updated visualization of the time-aggregated, 3D point cloud that presents the single, assembled 3D representation of the object at a second point along the trajectory of the object that differs from the first point; and

causing the updated visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

13. The computer-readable medium of claim 8 , further comprising program instructions stored thereon that are executable to cause the computing system to perform functions comprising:

after causing the visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object, receiving, from a client station, a request to apply a 3D label to the single, assembled 3D representation of the object that is presented within the visualization at the one or more points along the trajectory of the object.

14. The computer-readable medium of claim 13 , further comprising program instructions stored thereon that are executable by the at least one processor such that the computing system is configured to:

based on the request and the identified set of 3D data points associated with the object, generate a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time.

15. A computing system comprising:

at least one processor;

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:

obtain a time-aggregated, three-dimensional (3D) point cloud that is representative of a real-world environment in which a vehicle was operating during a window of time, wherein the time-aggregated, 3D point cloud comprises multiple different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

identify, within the time-aggregated, 3D point cloud that is representative of the real-world environment in which the vehicle was operating during the window of time, a set of 3D data points associated with an object detected in the real-world environment, wherein the identified set of 3D data points comprises different subsets of 3D data points corresponding to different captures of 3D sensor data that were captured by the vehicle at different capture times across the window of time;

based at least on the identified set of 3D data points associated with the object, determine that the object was in motion during at least a portion of the window of time;

in response to determining that the object was in motion during at least the portion of the window of time, relocate at least a portion of the different subsets of 3D data points included within the identified set of 3D data points associated with the object and thereby generate a single, assembled 3D representation of the object that differs from the identified set of 3D data points associated with the object;

generate a visualization of the time-aggregated, 3D point cloud that includes the single, assembled 3D representation of the object in place of the identified set of 3D data points associated with the object, wherein the single, assembled 3D representation of the object is presented at one or more points along a trajectory of the object; and

cause the visualization to be presented as part of an interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

16. The computing system of claim 15 ,

wherein the time-aggregated 3D point cloud is generated based at least on (i) sensor data captured by the vehicle while operating in the real-world environment during the window of time and (ii) localization data associated with the vehicle.

17. The computing system of claim 15 , further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:

generate at least one assembled 3D label corresponding to the single, assembled 3D representation of the object, wherein the visualization of the time-aggregated, 3D point cloud further presents an indication of the at least one assembled 3D label.

18. The computing system of claim 17 , further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:

based on the identified set of 3D data points associated with the object, generate a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time;

receive, from a client station, a request to change the at least one assembled 3D label corresponding to the single, assembled 3D representation of the object; and

update the 3D track for the object in accordance with the requested change to the at least one assembled 3D label.

19. The computing system of claim 15 , wherein the visualization of the time-aggregated, 3D point cloud initially presents the single, assembled 3D representation of the object at a first point along the trajectory of the object, and wherein the computing system further comprises program instructions that are executable by the at least one processor such that the computing system is configured to:

generate an updated visualization of the time-aggregated, 3D point cloud that presents the single, assembled 3D representation of the object at a second point along the trajectory of the object that differs from the first point; and

cause the updated visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object.

20. The computing system of claim 15 , further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:

after causing the visualization to be presented as part of the interface for labeling the multiple different captures of 3D sensor data included within the identified set of 3D data points associated with the object, receive, from a client station, a request to apply a 3D label to the single, assembled 3D representation of the object that is presented within the visualization at the one or more points along the trajectory of the object; and

based on the request and the identified set of 3D data points associated with the object, generate a 3D track for the object, wherein the 3D track comprises a set of partial 3D labels that each identify a 3D position of at least a portion of the object at one of the different capture times within the window of time.

Assignments (6)
CHANGE OF NAME Recorded Jun 22, 2023
From: WOVEN PLANET NORTH AMERICA, INC.
To: WOVEN BY TOYOTA, U.S., INC.
Reel/Frame 064065/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: LYFT, INC.; BLUE VISION LABS UK LIMITED
To: WOVEN PLANET NORTH AMERICA, INC.
Reel/Frame 056927/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
To: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
Reel/Frame 057434/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2020
From: DEVASSY, JOAN
To: LYFT, INC.
Reel/Frame 054731/0974 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS FROM FLOOR 5W TO SUITE 5000 ON THE COVER SHEET DUE TO A CLERICAL ERROR PREVIOUSLY RECORDED AT REEL: 051678 FRAME: 0471. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 2, 2020
From: CHAUDHURI, RUPSHA; CHELLAPILLA, KUMAR HEMACHANDRA; CHRISTENSEN, TANNER COTANT; DER, NEWTON KO YUE; DEVASSEY, JOAN; SHAH, SUNEET RAJENDRA
To: LYFT, INC.
Reel/Frame 053681/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2020
From: CHAUDHURI, RUPSHA; CHELLAPILLA, KUMAR HEMACHANDRA; CHRISTENSEN, TANNER COTANT; DER, NEWTON KO YUE; DEVASSEY, JOAN; SHAH, SUNEET RAJENDRA
To: LYFT, INC.
Reel/Frame 051678/0471 →