IP Library Granted Patent US 12,379,731
Granted Patent B2
US 12,379,731 · App. 18/435,299 · Granted Aug 5, 2025

Roof scan using unmanned aerial vehicle

Inventors: Peter Henry (San Francisco, CA); Jack Zhu (San Mateo, CA); Brian Richman (San Francisco, CA); Harrison Zheng (Palo Alto, CA); Hayk Martirosyan (San Francisco, CA); Matthew Donahoe (Redwood City, CA); Abraham Galton Bachrach (Emerald Hills, CA); Adam Bry (Redwood City, CA)
Assignee: Skydio, Inc.
B64C39/024B64D47/08B64U70/97G01S13/89G01S17/89G05D1/0016G05D1/0038G05D1/106G05D1/223G05D1/224G05D1/2247G05D1/606G06F3/04817G06F3/04845G06F3/04847G06T17/05G06T17/10G06T19/006G06V20/13G06V20/17G06V20/176G06V20/647G08G5/30G08G5/80H04N5/272B64U10/13B64U10/14B64U80/10B64U80/25B64U2101/26B64U2101/30B64U2201/00B64U2201/20H04N13/204
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,379,731
App. No.
18/435,299
Granted
Aug 5, 2025
Kind
B2
Abstract

Described herein are systems for roof scan using an unmanned aerial vehicle. For example, some methods include capturing, using an unmanned aerial vehicle, an overview image of a roof of a building from above the roof; presenting a suggested bounding polygon overlaid on the overview image to a user; determining a bounding polygon based on the suggested bounding polygon and user edits; based on the bounding polygon, determining a flight path including a sequence of poses of the unmanned aerial vehicle with respective fields of view at a fixed height that collectively cover the bounding polygon; fly the unmanned aerial vehicle to a sequence of scan poses with horizontal positions matching respective poses of the flight path and vertical positions determined to maintain a consistent distance above the roof; and scanning the roof from the sequence of scan poses to generate a three-dimensional map of the roof.

Claims (46)

1. A method, comprising:

determining a two-dimensional polygon as a convex hull of points, wherein the points correspond to a three-dimensional map of a roof to inspect using an unmanned aerial vehicle;

outputting, to a graphical user interface for display at a user device, the two-dimensional polygon overlaid on an overview image of the roof;

determining an edited two-dimensional polygon in an image plane of the overview image based on a user edit of the two-dimensional polygon within the graphical user interface;

determining, based on the edited two-dimensional polygon, a flight path including a sequence of poses representing positions and orientations for the unmanned aerial vehicle as the unmanned aerial vehicle performs an inspection of the roof; and controlling the unmanned aerial vehicle to perform the inspection of the roof.

2. The method of claim 1 , comprising:

generating a facet suggestion based on the three-dimensional map, wherein the points of the three-dimensional map correspond to the facet suggestion.

3. The method of claim 2 , wherein generating the facet suggestion based on the three-dimensional map comprises:

searching for a largest expanse of coplanar points in the three-dimensional map with a low ratio of outlier points; and

fitting a plane to the largest expanse of coplanar points.

4. The method of claim 2 , wherein generating the facet suggestion based on the three-dimensional map comprises:

obtaining a user selection, within the graphical user interface, of a facet appearing in the overview image.

5. The method of claim 1 , wherein determining the two-dimensional polygon as the convex hull of the points comprises:

computing the convex hull to obtain the two-dimensional polygon.

6. The method of claim 5 , wherein computing the convex hull to obtain the two-dimensional polygon comprises:

identifying a convex edge of the two-dimensional polygon;

determining that removal of the convex edge from the two-dimensional polygon would result in an increase of area of the two-dimensional polygon; and

simplifying the two-dimensional polygon by removing the convex edge and extending adjacent edges to an intersection point.

7. The method of claim 6 , wherein determining that the removal of the convex edge from the two-dimensional polygon would result in the increase of area of the two-dimensional polygon comprises:

determining a perimeter increase resulting from the removal of the convex edge from the two-dimensional polygon; and

determining whether the perimeter increase is greater than or equal to a threshold,

wherein simplifying the two-dimensional polygon by removing the convex edge and extending the adjacent edges to the intersection point comprises:

simplifying the two-dimensional polygon based on a determination that the perimeter increase is greater than or equal to the threshold.

8. The method of claim 1 , wherein determining the flight path comprises:

determining a facet by mapping the edited two-dimensional polygon to a subset of points of the three-dimensional map; and

determining a pose for a scan plan of the roof based on the facet, wherein the flight path corresponds to the scan plan.

9. The method of claim 8 , wherein determining the facet by mapping the edited two-dimensional polygon to the subset of points of the three-dimensional map comprises:

fitting a plane to the subset of points; and

computing a convex hull of the subset of points as projected onto the plane.

10. An apparatus, comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

determine a two-dimensional polygon as a convex hull of points, wherein the points correspond to a three-dimensional map of a roof to inspect;

determine a flight path including a sequence of poses representing positions and orientations for an unmanned aerial vehicle as the unmanned aerial vehicle performs an inspection of the roof based on a user edit, within a graphical user interface to which the two-dimensional polygon is overlaid on an overview image of the roof, of the two-dimensional polygon; and control the unmanned aerial vehicle to perform the inspection of the roof.

11. The apparatus of claim 10 , wherein an edited two-dimensional polygon is determined in an image plane of the overview image based on the user edit and the flight path is determined based on the edited two-dimensional polygon.

12. The apparatus of claim 10 , wherein a convex edge of the two-dimensional polygon is removed to simplify the two-dimensional polygon before it is overlaid on the overview image of the roof within the graphical user interface.

13. The apparatus of claim 10 , wherein the points correspond to a facet suggestion generated based on one of a plane fit to an expanse of coplanar points in the three-dimensional map or a user selection of a facet appearing in the overview image.

14. A system, comprising:

a user device configured to output, for display, a graphical user interface including an overview image of a roof to inspect; and

an unmanned aerial vehicle configured to determine a two-dimensional polygon as a convex hull of points of a three-dimensional map of the roof, output the two-dimensional polygon overlaid on the overview image of the roof to the graphical user interface, and determine, based on a user edit of the two-dimensional polygon within the graphical user interface, a flight path including a sequence of poses representing positions and orientations for the unmanned aerial vehicle as the unmanned aerial vehicle performs an inspection of the roof, wherein the unmanned aerial vehicle is controlled to perform the inspection of the roof.

15. The system of claim 14 , wherein the two-dimensional polygon according to the user edit is mapped to a subset of points of the three-dimensional map to determine a facet and the flight path is determined based on the facet.

16. The system of claim 14 , wherein the two-dimensional polygon is simplified to remove a convex edge prior to the output of the two-dimensional polygon to the graphical user interface.

17. The system of claim 14 , wherein the user device captures data indicative of the user edit and transmits the data to the unmanned aerial vehicle for processing.

18. The system of claim 14 , wherein the overview image is captured using one or more image sensors of the unmanned aerial vehicle.

19. The system of claim 14 , wherein the graphical user interface indicates a progress of execution of the flight path during the inspection of the roof.

20. The system of claim 14 , wherein the unmanned aerial vehicle is configured to determine a pose of the sequence of poses based on a facet determined based on a mapping of the edited two-dimensional polygon to a subset of points of the three-dimensional map.

Assignments (2)
SECURITY INTEREST Recorded Dec 5, 2024
From: SKYDIO, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 069516/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2024
From: HENRY, PETER; ZHU, JACK; RICHMAN, BRIAN; ZHENG, HARRISON; MARTIROSYAN, HAYK; DONAHOE, MATTHEW; BACHRACH, ABRAHAM GALTON; BRY, ADAM
To: SKYDIO, INC.
Reel/Frame 066562/0931 →
Continuity (4)
Continuation 17890889 · Aug 18, 2022
Continuation 16987336 · Aug 6, 2020
Provisional Application 62926787 · Oct 28, 2019
Related Publication 20240278912A1 · Aug 22, 2024
References Cited (35)
US 5548694A · Frisken Gibson · 1996 [cited by applicant]
US 9881213B2 · Michini · 2018 [cited by examiner]
US 9886632B1 · Loveland · 2018 [cited by examiner]
US 10061470B2 · Richman · 2018 [cited by examiner]
US 10102428B2 · Loveland · 2018 [cited by examiner]
US 11210514B2 · Loveland et al. · 2021 [cited by applicant]
US 11455895B2 · Henry et al. · 2022 [cited by applicant]
US 20040263514A1 · Jin et al. · 2004 [cited by applicant]
US 20160006951A1 · Moghadam · 2016 [cited by applicant]
US 20160180588A1 · Mason · 2016 [cited by applicant]
US 20160321503A1 · Zhou · 2016 [cited by examiner]
US 20170193297A1 · Michini · 2017 [cited by examiner]
US 20170193829A1 · Bauer · 2017 [cited by examiner]
US 20170206648A1 · Marra et al. · 2017 [cited by applicant]
US 20180096541A1 · O'Brien et al. · 2018 [cited by applicant]
US 20180130196A1 · Loveland et al. · 2018 [cited by applicant]
US 20180247121A1 · Loveland et al. · 2018 [cited by applicant]
US 20190088032A1 · Milbert et al. · 2019 [cited by applicant]
US 20190118945A1 · Loveland et al. · 2019 [cited by applicant]
US 20190138029A1 · Ryll et al. · 2019 [cited by applicant]
US 20190279420A1 · Moreno et al. · 2019 [cited by applicant]
US 20200103552A1 · Phelan · 2020 [cited by examiner]
US 20200218286A1 · Tamasato · 2020 [cited by examiner]
US 20210027532A1 · Lin et al. · 2021 [cited by applicant]
US 20230021969A1 · Henry et al. · 2023 [cited by applicant]
JP 2000512017A · 2000 [cited by applicant]
JP 2014106543A · 2014 [cited by applicant]
JP 2017138162A · 2017 [cited by applicant]
JP 2019053765A · 2019 [cited by applicant]
WO 2018193574A1 · 2018 [cited by applicant]
WO 2019026169A1 · 2019 [cited by applicant]
International Search Report and Written Opinion mailed on Feb. 17, 2021 in corresponding application No. PCT/US2020/057616. [cited by applicant]
International Preliminary Report on Patentability, mailed on May 12, 2022 in corresponding PCT Application No. PCT/US2020/057616. [cited by applicant]
Jaynes, et al. “Task Driven Perceptual Organization for Extraction of Rooftop Polygons”, Applications of Computer Vision, 1994, Proceedings of the Second IEEE Workshop, pp. 152-159 (Year: 1994). [cited by applicant]
Lin, et al., “Building Detection and Description from a Single Intensity Image”, Computer Vision and Image Understanding, vol. 72, No. 2, Nov. 1998, pp. 101-121 .Article No. IV980724 (Year: 1998). [cited by applicant]