IP Library Granted Patent US 11,573,544
Granted Patent B2
US 11,573,544 · App. 17/174,585 · Granted Feb 7, 2023

Performing 3D reconstruction via an unmanned aerial vehicle

Inventors: Peter Henry (San Francisco, CA); Jack Zhu (San Francisco, CA); Brian Richman (San Francisco, CA); Harrison Zheng (Palo Alto, CA); Hayk Martirosyan (San Francisco, CA); Matthew Donahoe (Redwood City, CA); Abraham Bachrach (Redwood City, CA); Adam Bry (Redwood City, CA); Ryan David Kennedy (Redwood City, CA); Himel Mondal (Windsor, CA); Quentin Allen Wah Yen Delepine (Cupertino, CA)
Assignee: SKYDIO, INC.
G05B17/02B64C39/024B64D31/06B64D47/08G05B13/0265G05D1/0088G05D1/101G06T7/55G06T7/74G06T17/00G06T19/20H04N5/23222H04N5/23299H04N5/247B64C2201/027B64C2201/127G06T2207/10032G06T2207/20221G06T2219/2004
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,573,544
App. No.
17/174,585
Granted
Feb 7, 2023
Kind
B2
Abstract

In some examples, an unmanned aerial vehicle (UAV) employs one or more image sensors to capture images of a scan target and may use distance information from the images for determining respective locations in three-dimensional (3D) space of a plurality of points of a 3D model representative of a surface of the scan target. The UAV may compare a first image with a second image to determine a difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV. Further, based at least on the difference, the UAV may determine, while the UAV is in flight, an update to the 3D model including at least one of an updated location of at least one point in the 3D model, or a location of a new point in the 3D model.

Claims (73)

1. An unmanned aerial vehicle (UAV) comprising:

one or more image sensors;

a propulsion mechanism; and

one or more processors configured by executable instructions to perform operations comprising:

capturing, with the one or more image sensors, while the UAV is in flight, a plurality of images of a scan target;

using distance information determined based on the plurality of images for determining respective locations in three-dimensional (3D) space of a plurality of points of a 3D model, the plurality of points representative of a surface of the scan target;

comparing a first image of the plurality of images with a second image of the plurality of images to determine one or more correspondences between the first image and the second image;

based at least in part on the one or more correspondences, determining, by the one or more processors, a difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV; and

based on at least one of the difference or the one or more correspondences, determining, by the one or more processors, while the UAV is in flight, an update to the 3D model including at least one of:

an updated location of at least one point in the 3D model, or

a location of a new point in the 3D model.

2. The UAV as recited in claim 1 , wherein the operation of determining, based at least on the difference, an update to the 3D model comprises:

receiving additional distance information based on additional captured images; and

determining the location of the new point in the 3D model based at least on the difference determined between the current frame of reference position for the UAV and the estimate of the actual frame of reference position for the UAV.

3. The UAV as recited in claim 1 , the operations further comprising:

based at least in part on the update to the 3D model, updating, while the UAV is in flight, a scan plan for scanning at least a portion of the scan target, the scan plan including a plurality of poses for the UAV to assume to capture images of the scan target, wherein a respective pose of the scan plan is determined based on a respective point of the 3D model; and

controlling a propulsion mechanism of the UAV to cause the UAV to fly to at least one of an additional pose or an updated pose included in the updated scan plan.

4. The UAV as recited in claim 1 , wherein the operation of using distance information determined based on the plurality of images for determining respective locations in 3D space of the plurality of points of the 3D model further comprises performing truncated signed distance function (TSDF) fusion using at least two images of the plurality of images of the scan target.

5. The UAV as recited in claim 1 , the operations further comprising:

grouping together a plurality of pairs of images of the plurality of images, including the first image and the second image; and

updating relative locations of multiple points of the 3D model based on comparing respective locations of respective features in the multiple pairs of images.

6. The UAV as recited in claim 5 , the operations further comprising:

determining correspondences between a plurality of higher-resolution images based at least on a plurality of the differences between the current frame of reference positions for the UAV and estimated actual frame of reference positions for the UAV for the plurality of higher-resolution images; and

generating, based at least in part on the determined correspondences, a higher-resolution 3D model that is of a higher resolution than the 3D model.

7. A method comprising:

capturing, by one or more processors of an unmanned aerial vehicle (UAV), with one or more image sensors, while the UAV is in flight, a plurality of images of a scan target;

using, by the one or more processors, distance information determined based on the plurality of images for determining respective locations in three-dimensional (3D) space of a plurality of points of a 3D model, the plurality of points representative of a surface of the scan target;

comparing, by the one or more processors, a first image of the plurality of images with a second image of the plurality of images to determine a difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV; and

based at least on the difference, determining, by the one or more processors, while the UAV is in flight, an update to the 3D model including at least one of:

an updated location of at least one point in the 3D model, or

a location of a new point in the 3D model.

8. The method as recited in claim 7 , wherein determining, based at least on the difference, an update to the 3D model comprises:

receiving additional distance information based on additional captured images; and

determining the location of the new point in the 3D model based at least on the difference determined between the current frame of reference position for the UAV and the estimate of the actual frame of reference position for the UAV.

9. The method as recited in claim 7 , further comprising:

based at least in part on the update to the 3D model, updating, by the one or more processors, while the UAV is in flight, a scan plan for scanning at least a portion of the scan target, the scan plan including a plurality of poses for the UAV to assume to capture images of the scan target, wherein a respective pose of the scan plan is determined based on a respective point of the 3D model; and

controlling, by the one or more processors, a propulsion mechanism of the UAV to cause the UAV to fly to at least one of an additional pose or an updated pose included in the updated scan plan.

10. The method as recited in claim 7 , wherein using distance information determined based on the plurality of images for determining respective locations in 3D space of the plurality of points of the 3D model further comprises performing truncated signed distance function (TSDF) fusion using at least two images of the plurality of images of the scan target.

11. The method as recited in claim 7 , wherein comparing the first image of the plurality of images with the second image of the plurality of images to determine the difference further comprises:

comparing the first image with the second image to determine one or more correspondences between the first image and the second image; and

based at least in part on the one or more correspondences, determining, by the one or more processors, the difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV.

12. The method as recited in claim 7 , further comprising:

grouping together a plurality of pairs of images of the plurality of images, including the first image and the second image; and

updating relative locations of multiple points of the 3D model based on comparing respective locations of respective features in the multiple pairs of images.

13. The method as recited in claim 7 , further comprising:

determining correspondences between a plurality of higher-resolution images based at least on a plurality of the differences between the current frame of reference positions for the UAV and estimated actual frame of reference positions for the UAV for the plurality of higher-resolution images; and

generating, based at least in part on the determined correspondences, a higher-resolution 3D model that is of a higher resolution than the 3D model.

14. An unmanned aerial vehicle (UAV) comprising

one or more image sensors;

a propulsion mechanism; and

one or more processors configured by executable instructions to perform operations comprising:

capturing, with the one or more image sensors, while the UAV is in flight, a plurality of images of a scan target;

using distance information determined based on the plurality of images for determining respective locations in three-dimensional (3D) space of a plurality of points of a 3D model, the plurality of points representative of a surface of the scan target;

comparing a first image of the plurality of images with a second image of the plurality of images to determine a difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV; and

based at least on the difference, determining, while the UAV is in flight, an update to the 3D model including at least one of:

an updated location of at least one point in the 3D model, or

a location of a new point in the 3D model.

15. The UAV as recited in claim 14 , wherein the operation of determining, based at least on the difference, an update to the 3D model comprises:

receiving additional distance information based on additional captured images; and

determining the location of the new point in the 3D model based at least on the difference determined between the current frame of reference position for the UAV and the estimate of the actual frame of reference position for the UAV.

16. The UAV as recited in claim 14 , the operations further comprising:

based at least in part on the update to the 3D model, updating, while the UAV is in flight, a scan plan for scanning at least a portion of the scan target, the scan plan including a plurality of poses for the UAV to assume to capture images of the scan target, wherein a respective pose of the scan plan is determined based on a respective point of the 3D model; and

controlling a propulsion mechanism of the UAV to cause the UAV to fly to at least one of an additional pose or an updated pose included in the updated scan plan.

17. The UAV as recited in claim 14 , wherein the operation of using distance information determined based on the plurality of images for determining respective locations in 3D space of the plurality of points of the 3D model further comprises performing truncated signed distance function (TSDF) fusion using at least two images of the plurality of images of the scan target.

18. The UAV as recited in claim 14 , wherein the operation of comparing the first image of the plurality of images with the second image of the plurality of images to determine the difference further comprises:

comparing the first image with the second image to determine one or more correspondences between the first image and the second image; and

based at least in part on the one or more correspondences, determining, by the one or more processors, the difference between a current frame of reference position for the UAV and an estimate of an actual frame of reference position for the UAV.

19. The UAV as recited in claim 14 , the operations further comprising:

grouping together a plurality of pairs of images of the plurality of images, including the first image and the second image; and

updating relative locations of multiple points of the 3D model based on comparing respective locations of respective features in the multiple pairs of images.

20. The UAV as recited in claim 14 , the operations further comprising:

determining correspondences between a plurality of higher-resolution images based at least on a plurality of the differences between the current frame of reference positions for the UAV and estimated actual frame of reference positions for the UAV for the plurality of higher-resolution images; and

generating, based at least in part on the determined correspondences, a higher-resolution 3D model that is of a higher resolution than the 3D model.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2025
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: SKYDIO, INC.
Reel/Frame 072107/0066 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2025
From: HERCULES CAPITAL, INC.
To: SKYDIO, INC.
Reel/Frame 072128/0698 →
SECURITY INTEREST Recorded Dec 5, 2024
From: SKYDIO, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 069516/0452 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 9, 2021
From: SKYDIO, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AND ADMINISTRATIVE AGENT
Reel/Frame 058081/0677 →
SECURITY INTEREST Recorded Nov 8, 2021
From: SKYDIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 058053/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: HENRY, PETER; ZHU, JACK; RICHMAN, BRIAN; ZHENG, HARRISON; MARTIROSYAN, HAYK; DONAHOE, MATTHEW; BACHRACH, ABRAHAM; BRY, ADAM; KENNEDY, RYAN DAVID; MONDAL, HIMEL; DELEPINE, QUENTIN ALLEN WAH YEN
To: SKYDIO, INC.
Reel/Frame 055380/0384 →
Continuity (3)
Provisional Application 63050860 · Jul 12, 2020
Provisional Application 62976231 · Feb 13, 2020
Related Publication 20210263515A1 · Aug 26, 2021
Cited By (2)
US 12,189,389 US 12,456,215