IP Library Granted Patent US 11,830,134
Granted Patent B2
US 11,830,134 · App. 17/751,556 · Granted Nov 28, 2023

Method for generating roof outlines from lateral images

Inventors: Ajay Mishra (Palo Alto, CA); William Castillo (San Carlos, CA); A. J. Altman (San Francisco, CA); Manish Upendran (San Francisco, CA)
Assignee: Hover Inc.
G06T17/00G06T7/12G06T7/174G06T7/62G06T7/97G06T17/20G06V20/176G06T2207/10016G06T2207/20221G06T2207/30184
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,830,134
App. No.
17/751,556
Granted
Nov 28, 2023
Kind
B2
Abstract

A computer system generates an outline of a roof of a structure based on a set of lateral images depicting the structure. For each image in the set of lateral images, one or more rooflines corresponding to the roof of the structure are determined. The computer system determines how the rooflines connect to one another. Based on the determination, the rooflines are connected to generate an outline of the roof.

Claims (53)

1. A method comprising:

receiving a plurality of photos of a structure, wherein one or more photos in the plurality of photos are non-aerial lateral photos that do not depict a top-down view of the structure;

determining a plurality of rooflines depicted in the plurality of photos;

wherein determining the plurality of rooflines includes determining, for at least one photo of the one or more non-aerial lateral photos, one or more lines associated with a roof of the structure;

determining how rooflines in the plurality of rooflines connect with each other;

wherein the plurality of rooflines comprises a first roofline determined from a first photo of the plurality of photos, and a second roofline determined from a second photo of the plurality of photos;

wherein determining how rooflines in the plurality of rooflines connect with each other comprises determining how the first roofline in the first photo connects with the second roofline in the second photo; and

based on how the rooflines in the plurality of rooflines connect with each other, generating data that reflects a closed polygon that has a shape that estimates a shape the roof would have if depicted in the top-down view of the structure;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , wherein determining how rooflines connect with each other comprises determining, for any pair of photos of the plurality of photos, a relative distance corresponding to the pair of photos.

3. The method of claim 1 , wherein determining how rooflines connect with each other comprises determining, for any pair of photos of the plurality of photos, a relative rotation corresponding to the pair of photos.

4. The method of claim 1 , wherein determining how rooflines connect with each other is based in part on sensor data associated with at least one photo in the plurality of photos.

5. The method of claim 4 , wherein the sensor data includes one or more of: azimuth, gravity vector, linear velocity, angular velocity, GPS location, rotation vector, tilt angle, and object distance.

6. The method of claim 1 , wherein determining the plurality of rooflines comprises determining, for at least one photo of the one or more non-aerial lateral photos, a set of intersection points.

7. The method of claim 1 , wherein determining the one or more lines associated with the roof of the structure is based on a roof depiction in a non-aerial lateral photo of the one or more non-aerial lateral photos.

8. The method of claim 1 , wherein determining the one or more lines associated with the roof of the structure is based on a wall depicted in a non-aerial lateral photo of the one or more non-aerial lateral photos.

9. The method of claim 1 , wherein determining the one or more lines associated with the roof of the structure comprises, for at least one photo in the one or more non-aerial lateral photos:

determining a first line based on a roof depiction in the photo; and

determining a second line based on a wall depicted in the photo.

10. The method of claim 1 , wherein determining the one or more lines associated with the roof of the structure comprises, for at least one photo in the one or more non-aerial lateral photos, determining one or more particular lines based on one or more building elements depicted in the photo.

11. The method of claim 10 , wherein the plurality of photos includes a first particular photo captured at a first angle and a first height and a second particular photo captured at a second angle and a second height, wherein a portion of a roof depicted in the first particular photo is obscured, wherein the same portion of the roof is depicted in the second particular photo and is not obscured, and wherein determining the one or more lines associated with the roof of the structure comprises:

determining a first line based on the first particular photo; and

determining a second line corresponding to the obscured portion of the roof based on the second particular photo.

12. The method of claim 1 , further comprising scaling each roofline in the plurality of rooflines.

13. The method of claim 1 , wherein the data comprises a plurality of points and/or lines, wherein the method further comprises rendering the data, and wherein the rendered data depicts the shape of the roof.

14. The method of claim 1 , wherein the data comprises an image of the closed polygon.

15. The method of claim 1 , wherein the data comprises at least one of geometric data or visual data.

16. One or more non-transitory computer readable medium storing instructions that, when executed, cause a processor to execute operations comprising:

receiving a plurality of photos of a structure, wherein one or more photos in the plurality of photos are non-aerial lateral photos that do not depict a top-down view of the structure;

determining a plurality of rooflines depicted in the plurality of photos;

wherein determining the plurality of rooflines includes determining, for at least one photo of the one or more non-aerial lateral photos, one or more lines associated with a roof of the structure;

determining how rooflines in the plurality of rooflines connect with each other;

wherein the plurality of rooflines comprises a first roofline determined from a first photo of the plurality of photos, and a second roofline determined from a second photo of the plurality of photos;

wherein determining how rooflines in the plurality of rooflines connect with each other comprises determining how the first roofline in the first photo connects with the second roofline in the second photo; and

based on how the rooflines in the plurality of rooflines connect with each other, generating data that reflects a closed polygon that has a shape that estimates a shape the roof would have if depicted in the top-down view of the structure.

17. The one or more non-transitory computer readable medium of claim 16 , wherein determining how rooflines connect with each other comprises determining, for each pair of photos of the plurality of photos, a relative distance corresponding to the pair of photos.

18. The one or more non-transitory computer readable medium of claim 16 , wherein determining how rooflines connect with each other comprises determining, for each pair of photos of the plurality of photos, a relative rotation corresponding to the pair of photos.

19. The one or more non-transitory computer readable medium of claim 16 , wherein determining how rooflines connect with each other is based in part on sensor data associated with at least one photo in the plurality of photos.

20. The one or more non-transitory computer readable medium of claim 19 , wherein the sensor data includes one or more of: azimuth, gravity vector, linear velocity, angular velocity, GPS location, rotation vector, tilt angle, and object distance.

21. The one or more non-transitory computer readable medium of claim 16 , wherein determining the plurality of rooflines comprises determining, for at least one photo of the one or more non-aerial lateral photos, a set of intersection points.

22. The one or more non-transitory computer readable medium of claim 16 , wherein determining the one or more lines associated with the roof of the structure is based on a roof depiction in a non-aerial lateral photo of the one or more non-aerial lateral photos.

23. The one or more non-transitory computer readable medium of claim 16 , wherein determining the one or more lines associated with the roof of the structure is based on a wall depicted in a non-aerial lateral photo of the one or more non-aerial lateral photos.

24. The one or more non-transitory computer readable medium of claim 16 , wherein determining the one or more lines associated with the roof of the structure comprises, for at least one photo in the one or more non-aerial lateral photos:

determining a first line based on a roof depiction in the photo; and

determining a second line based on a wall depicted in the photo.

25. The one or more non-transitory computer readable medium of claim 16 , wherein determining the one or more lines associated with the roof of the structure comprises, for at least one photo in the one or more non-aerial lateral photos, determining one or more particular lines based on one or more building elements depicted in the photo.

26. The one or more non-transitory computer readable medium of claim 25 , wherein the plurality of photos includes a first particular photo captured at a first angle and a first height and a second particular photo captured at a second angle and a second height, wherein a portion of a roof depicted in the first particular photo is obscured, wherein the same portion of the roof is depicted in the second particular photo and is not obscured, and wherein determining the one or more lines associated with the roof of the structure comprises:

determining a first line based on the first particular photo; and

determining a second line corresponding to the obscured portion of the roof based on the second particular photo.

27. The one or more non-transitory computer readable medium of claim 16 , further storing instructions that, when executed, cause the processor to execute operations comprising scaling each roofline in the plurality of rooflines.

28. The one or more non-transitory computer readable medium of claim 16 , wherein the data comprises a plurality of points and/or lines, wherein the instructions further cause the processor to execute operations comprising rendering the data, and wherein the rendered data depicts the shape of the roof.

29. The one or more non-transitory computer readable medium of claim 16 , wherein the data comprises an image of the closed polygon.

30. The one or more non-transitory computer readable medium of claim 16 , wherein the data comprises at least one of geometric data or visual data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2022
From: MISHRA, AJAY; CASTILLO, WILLIAM; ALTMAN, A.J.; UPENDRAN, MANISH
To: HOVER INC.
Reel/Frame 061230/0644 →
Continuity (4)
Continuation 17184305 · Feb 24, 2021
Continuation 16510728 · Jul 12, 2019
Continuation 15693347 · Aug 31, 2017
Related Publication 20220284618A1 · Sep 8, 2022
Cited By (2)
US 12,327,310 US 12,406,434