IP Library Granted Patent US 12,327,310
Granted Patent B2
US 12,327,310 · App. 18/471,218 · Granted Jun 10, 2025

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 12,327,310
App. No.
18/471,218
Granted
Jun 10, 2025
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 (48)

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

receiving a set of lateral photos of a structure, wherein none of the set of lateral photos depict a whole roof of the structure;

determining a set of rooflines depicted in the set of lateral photos;

wherein determining the set of rooflines includes determining, for each photo of the set of lateral photos, one or more lines that are parallel to the roof of the structure;

determining how rooflines in the set of rooflines connect with each other; and

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

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

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

4. The one or more non-transitory computer readable medium of claim 1 , wherein determining how rooflines connect with each other is based in part on sensor data associated with each photo in the set of lateral photos.

5. The one or more non-transitory computer readable medium 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 one or more non-transitory computer readable medium of claim 1 , wherein determining the set of rooflines comprises determining, for each photo of the set of lateral photos, a set of intersection points.

7. The one or more non-transitory computer readable medium of claim 1 , wherein determining the one or more lines that are parallel to the roof of the structure is based on a roof depicted in the photo.

8. The one or more non-transitory computer readable medium of claim 1 , wherein determining the one or more lines that are parallel to the roof of the structure is based on a wall depicted in the photo.

9. The one or more non-transitory computer readable medium of claim 1 , wherein determining the one or more lines that are parallel to the roof of the structure comprises, for at least one photo in the set of lateral photos:

determining a first line based on a roof depicted in the photo;

determining a second line based on a wall depicted in the photo; and

combining the first line and the second line.

10. The one or more non-transitory computer readable medium of claim 1 , wherein determining the one or more lines that are parallel to the roof of the structure comprises, for at least one photo in the set of lateral photos, determining the one or more lines based on one or more building elements depicted in the photo.

11. The one or more non-transitory computer readable medium of claim 1 , wherein the set of lateral photos include a first photo captured at a first angle and a first height and a second photo captured at a second angle and a second height, wherein a portion of the roof depicted in the first photo is obscured, wherein the same portion of the roof is depicted in the second photo and is not obscured, and wherein determining the set of rooflines comprises:

determining a first line based on the first photo;

determining a second line corresponding to the obscured portion of the roof based on the second photo; and

combining the first line and the second line.

12. The one or more non-transitory computer readable medium of claim 1 , further comprising scaling each roofline in the set of rooflines.

13. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, cause performance of:

receiving a set of lateral photos of a structure, wherein the set of lateral photos comprises a first photo and a second photo and wherein none of the set of lateral photos depict a whole roof of the structure;

determining a set of rooflines depicted in the set of lateral photos, wherein the set of rooflines comprises a first roofline determined from the first photo, and a second roofline determined from the second photo;

wherein determining the set of rooflines includes determining, for at least one photo of the set of lateral photos, one or more lines that are parallel to the roof of the structure;

determining how rooflines in the set of rooflines connect with each other, wherein determining how rooflines in the set 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 rooflines in the set of rooflines connect with each other, generating an image of a closed polygon that has a shape that estimates the shape the whole roof would have if depicted in a top-down view of the structure.

14. The system of claim 13 , wherein determining how rooflines connect with each other comprises determining, for a pair of photos of the set of lateral photos, a relative distance corresponding to the pair of photos.

15. The system of claim 13 , wherein determining how rooflines connect with each other comprises determining, for a pair of photos of the set of lateral photos, a relative rotation corresponding to the pair of photos.

16. The system of claim 13 , wherein determining how rooflines connect with each other is based in part on sensor data associated with at least one photo of the set of lateral photos.

17. The system of claim 16 , 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.

18. The system of claim 13 , wherein determining the set of rooflines comprises determining, for at least one photo of the set of lateral photos, a set of intersection points.

19. The system of claim 13 , wherein determining the one or more lines that are parallel to the roof of the structure is based on a roof depicted in the photo.

20. The system of claim 13 , wherein determining the one or more lines that are parallel to the roof of the structure is based on a wall depicted in the photo.

21. The system of claim 13 , wherein determining the one or more lines that are parallel to the roof of the structure comprises, for at least one photo in the set of lateral photos:

determining a first line based on a roof depicted in the photo;

determining a second line based on a wall depicted in the photo; and

combining the first line and the second line.

22. The system of claim 13 , wherein determining the one or more lines that are parallel to the roof of the structure comprises, for at least one photo in the set of lateral photos, determining the one or more lines based on one or more building elements depicted in the photo.

23. The system of claim 22 , wherein the set of lateral photos include 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 the 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 set of rooflines comprises:

determining a first line based on the first particular photo;

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

combining the first line and the second line.

24. The system of claim 13 , further comprising scaling each roofline in the set of rooflines.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2025
From: MISHRA, AJAY; CASTILLO, WILLIAM; ALTMAN, A.J.; UPENDRAN, MANISH
To: HOVER INC.
Reel/Frame 071092/0774 →
Continuity (5)
Continuation 17751526 · May 23, 2022
Continuation 17184305 · Feb 24, 2021
Continuation 16510728 · Jul 12, 2019
Continuation 15693347 · Aug 31, 2017
Related Publication 20240013484A1 · Jan 11, 2024
References Cited (28)
US 8558848B2 · Meadow et al. · 2013 [cited by applicant]
US 8610708B2 · Richards · 2013 [cited by applicant]
US 8817018B1 · Fan et al. · 2014 [cited by applicant]
US 8942483B2 · Janky et al. · 2015 [cited by applicant]
US 9098870B2 · Meadow et al. · 2015 [cited by applicant]
US 9317966B1 · Deephanphongs · 2016 [cited by applicant]
US 9437033B2 · Sun et al. · 2016 [cited by applicant]
US 10460465B2 · Mishra et al. · 2019 [cited by applicant]
US 10970869B2 · Mishra et al. · 2021 [cited by applicant]
US 11783540B2 · Mishra et al. · 2023 [cited by applicant]
US 11830134B2 · Mishra et al. · 2023 [cited by applicant]
US 20100118116A1 · Tomasz et al. · 2010 [cited by applicant]
US 20130155109A1 · Schultz et al. · 2013 [cited by applicant]
US 20130202197A1 · Reeler et al. · 2013 [cited by applicant]
US 20140125671A1 · Vorobyov et al. · 2014 [cited by applicant]
US 20150029188A1 · Ege et al. · 2015 [cited by applicant]
US 20150213590A1 · Brown et al. · 2015 [cited by applicant]
US 20160239976A1 · Fathi et al. · 2016 [cited by applicant]
US 20190066322A1 · Mishra et al. · 2019 [cited by applicant]
US 20210201524A1 · Mishra et al. · 2021 [cited by applicant]
US 20220284618A1 · Mishra et al. · 2022 [cited by applicant]
US 20240193863A1 · Mishra et al. · 2024 [cited by applicant]
Ding et al., “Refine the 3D building model from ground view images and 2D vectorgraph”, Proc. Of SPIE, vol. 6418, Geoinformatics, 2006 in 8 pages. [cited by applicant]
Hegarty et al., “SAMATS—Triangle Grouping and Structure Recovery for 3D Building Modeling and Visualization”, W2GIS dated 2005, LNCS 3833, pp. 267-280. [cited by applicant]
Lee et al., “Automatic integration of facade textures into 3D building models with a projective geometry based line clustering”, Eurographics, vol. 21, No. 3, 2002 in 10 pages. [cited by applicant]
Jang et al., “Practical modeling technique for large-scale 3D building models from ground images”, Pattern Recognition Letter, vol. 30, 2008, pp. 861-869. [cited by applicant]
Wirtz et al., “Semiautomatic Generation of Semantic Building Models from Image Series”, Proc. SPIE 8290, Three Dimensional Image Processing (3DIP) and Applications II, dated Jan. 30, 2012 in 9 pages. [cited by applicant]
Zhang et al., “Integrating smartphone images and airborne LIDAR data for complete urban building modelling”, The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, vol. XLI-B5… [cited by applicant]