Systems and Methods for Roof Area and Slope Estimation Using a Point Set
20220229946 · 2022-07-21
Assignee
Inventors
- Ryan Mark Justus (Lehi, UT, US)
- Antonio Godino Cobo (South Jordan, UT, US)
- Bryce Zachary Porter (Lehi, UT, US)
Cpc classification
G06V10/758
PHYSICS
G06F30/13
PHYSICS
International classification
Abstract
Systems and methods for roof area and slope estimation using a point set are provided. The system selects roof structure points having a high probability of being positioned on a top surface of a structure present in the region of interest point set. Then, the system determines a footprint of the structure associated with the selected roof structure points. The system determines a distribution of the slopes of the roof structure points and generates a slope distribution report indicative of prominent slopes of the roof structure and each slope's contribution toward (percentage composition of) the total roof structure. The system then determines an area of the roof structure based on the footprint of the structure and the slope distribution report.
Claims
1. A system for estimating at least one attribute of a structure, comprising: a memory storing a point set; and a process in communication with the memory, the processor performing the steps of: receiving the point set from the memory; selecting a plurality of roof structure points from said point set having a high probability of being positioned on a top surface of a structure; determining a footprint of the structure associated with the plurality of roof structure points; and determining at least one attribute of the structure based on the plurality of roof structure points.
2. The system of claim 1, wherein the at least one attribute comprises a slope of the structure.
3. The system of claim 2, wherein the processor determines a distribution of slopes of the roof structure points and generates a slope distribution report indicative of prominent slopes of the roof structure.
4. The system of claim 3, wherein the slope distribution report indicates a contribution by each slope toward the total roof structure.
5. The system of claim 3, wherein the processor determines an area of the structure based on the footprint of the structure and the slope distribution report.
6. The system of claim 1, wherein the processor selects the plurality of roof structure points by partitioning a region of interest into two point sets based on whether the points have a high probability of being positioned on the top surface of the structure.
7. The system of claim 1, wherein the processor determines the footprint of the structure by determining a two-dimensional (2D) polygonal model indicative of the footprint of the structure in an XY plane corresponding to the point set.
8. The system of claim 1, wherein the processor refines the 2D polygonal model using at least one prior constraint.
9. The system of claim 3, wherein the processor determines the distributions of slopes of the roof structure points by: determining a normal of each point of the roof structure point set; orienting each normal for each point of the roof structure point set; determining a slope of the structure at each roof structure point set utilizing each normal for each point of the roof structure point set; removing outlier slopes; and generating a histogram of slope values.
10. The system of claim 9, further comprising refining each normal for each point of the roof structure points utilizing a constraint or prior knowledge.
11. The system of claim 9, further comprising discretizing each slope.
12. The system of claim 9, further comprising determining peak values in the histogram and determining whether to utilize the peak values as respective representative slope values of each peak.
13. The system of claim 12, further comprising applying constraints to the histogram.
14. The system of claim 12, further comprising determining prominent slope values by determining a mean of the slopes that contributes to a peak histogram bucket.
15. The system of claim 12, further comprising determining a width of each peak value.
16. The system of claim 15, further comprising determining prominent slope values by selecting slope values that lie between a width left of a peak and the peak and between a width right of the peak and the peak.
17. The system of claim 12, further comprising removing slope values that do not contribute to any peak.
18. The system of claim 17, further comprising determining an area percentage of the roof structure for each prominent slope value.
19. The system of claim 5, further comprising determining a slope correction factor for each prominent slope value.
20. The system of claim 19, further comprising determining the area of the structure based on the area of the structure footprint, the prominent slope values, corresponding area percentages of the roof structure of the slope distribution report, and the slope correction factor for each prominent slope value.
21. A method for estimating at least one attribute of a structure, comprising: receiving at a processor a point set stored in a memory; selecting by the processor a plurality of roof structure points from said point set having a high probability of being positioned on a top surface of a structure; determining by the processor a footprint of the structure associated with the plurality of roof structure points; and determining by the processor at least one attribute of the structure based on the plurality of roof structure points.
22. The method of claim 21, wherein the at least one attribute comprises a slope of the structure.
23. The method of claim 22, further comprising determining by the processor a distribution of slopes of the roof structure points and generates a slope distribution report indicative of prominent slopes of the roof structure.
24. The method of claim 23, wherein the slope distribution report indicates a contribution by each slope toward the total roof structure.
25. The method of claim 23, further comprising determining by the processor an area of the structure based on the footprint of the structure and the slope distribution report.
26. The method of claim 21, further comprising selecting by the processor the plurality of roof structure points by partitioning a region of interest into two point sets based on whether the points have a high probability of being positioned on the top surface of the structure.
27. The method of claim 21, further comprising determining by the processor the footprint of the structure by determining a two-dimensional (2D) polygonal model indicative of the footprint of the structure in an XY plane corresponding to the point set.
28. The method of claim 21, further comprising refining by the processor the 2D polygonal model using at least one prior constraint.
29. The method of claim 23, further comprising determining by the processor the distributions of slopes of the roof structure points by: determining a normal of each point of the roof structure point set; orienting each normal for each point of the roof structure point set; determining a slope of the structure at each roof structure point set utilizing each normal for each point of the roof structure point set; removing outlier slopes; and generating a histogram of slope values.
30. The method of claim 29, further comprising refining each normal for each point of the roof structure points utilizing a constraint or prior knowledge.
31. The method of claim 29, further comprising discretizing each slope.
32. The method of claim 29, further comprising determining peak values in the histogram and determining whether to utilize the peak values as respective representative slope values of each peak.
33. The method of claim 32, further comprising applying constraints to the histogram.
34. The method of claim 32, further comprising determining prominent slope values by determining a mean of the slopes that contributes to a peak histogram bucket.
35. The method of claim 32, further comprising determining a width of each peak value.
36. The method of claim 35, further comprising determining prominent slope values by selecting slope values that lie between a width left of a peak and the peak and between a width right of the peak and the peak.
37. The method of claim 32, further comprising removing slope values that do not contribute to any peak.
38. The method of claim 37, further comprising determining an area percentage of the roof structure for each prominent slope value.
39. The method of claim 25, further comprising determining a slope correction factor for each prominent slope value.
40. The method of claim 39, further comprising determining the area of the structure based on the area of the structure footprint, the prominent slope values, corresponding area percentages of the roof structure of the slope distribution report, and the slope correction factor for each prominent slope value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The foregoing features of the invention will be apparent from the following Detailed Description of the Invention, taken in connection with the accompanying drawings, in which:
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION
[0022] The present disclosure relates to systems and methods for roof area and slope estimation using a point set, as described in detail below in connection with
[0023] Turning to the drawings,
[0024] The image database 14 could include digital images and/or digital image datasets comprising ground images, aerial images, satellite images, etc. Further, the datasets could include, but are not limited to, images of residential and commercial buildings. The database 16 could store one or more three-dimensional representations of an imaged location (including structures at the location), such as point clouds, LiDAR files, etc., and the system could operate with such three-dimensional representations. As such, by the terms “image” and “imagery” as used herein, it is meant not only optical imagery (including aerial and satellite imagery), but also three-dimensional imagery and computer-generated imagery, including, but not limited to, LiDAR, point clouds, three-dimensional images, etc.
[0025] The processor 12 executes system code 18 which estimates an area and a slope of a roof structure based on a point set of a region of interest received from the point set database 16 having a structure and corresponding roof structure present therein. For example, illustrated in
[0026] Referring back to
[0027] Still further, the system 10 could be embodied as a customized hardware component such as a field-programmable gate array (“FPGA”), application-specific integrated circuit (“ASIC”), embedded system, or other customized hardware components without departing from the spirit or scope of the present disclosure. It should be understood that
[0028]
[0029]
[0030]
[0031]
[0032] In step 182, the system 10 orients each roof structure point normal such that the z-component is a positive number. In step 184, the system 10 optionally refines the oriented roof structure point normals based on constraints and/or prior knowledge of a roof structure including, but not limited to, a probable orientation of the roof structure, symmetry constraints, and any other prior knowledge of the roof structure. In step 186, the system 10 determines a slope of the roof structure at each roof structure point utilizing the oriented normal thereof. Then, in step 188, the system 10 removes outlier slopes determined to lie outside of a reasonable range of slopes of the roof structure.
[0033] In step 190, the system optionally discretizes the slopes according to a selected resolution. Lastly, in step 192, the system 10 generates a histogram of the slope values. As discussed below in reference to
[0034]
[0035]
[0036] In step 232, the system 10 removes the slope values that do not contribute to any peak. Slope values that do not contribute to any peak are indicative of noise and are therefore removed. Then, in step 234, the system 10 determines an area percentage of the roof structure for each prominent slope value. In particular, the system 10 determines a total number of slope values that contribute to each prominent slope value and divides a point count for each prominent slope value by the total number of slope values that contribute to each prominent slope value. It should be understood that the system 10 can optionally round prominent slope values to whole integers based on a common standard unit of measurement (e.g., inches per foot). In step 236, the system 10 generates a slope distribution report. The slope distribution report can be represented as a table which maps prominent slope values to respective area percentages of a roof structure. For example,
[0037]
h=√{square root over (s.sup.2+1)} Equation 1
where s denotes the slope and is measured as a rise in elevation in the z direction per unit run in the XY-plane. In this regard,
where A denotes an area of the roof structure, a denotes an area of the structure footprint, p.sub.i denotes an area percentage of the roof structure at an ith slope value in the distribution slope report and h.sub.i denotes a slope correction factor at the ith slope value in the distribution slope report.
[0038] Alternatively, the system 10 may utilize the entire point slope distribution to determine an area of the roof structure given by Equation 3 as follows:
where A denotes an area of the roof structure, a denotes an area of the structure footprint, N denotes a number of roof structure points and h.sub.i denotes a slope correction factor at the ith point.
[0039] In step 264, the system 10 generates a roof structure measurement report that includes, but is not limited to, the slopes and area of the roof structure determined from the roof structure point set 122. It should be understood that additional measurements with respect to the roof structure may be included in the roof structure measurement report including, but not limited to, roof heights, eave heights, ridge heights, valley lengths, hip ridge lengths, ridge lengths, or any other relevant roof structure measurement.
[0040]
[0041] Having thus described the system and method in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. It will be understood that the embodiments of the present disclosure described herein are merely exemplary and that a person skilled in the art can make any variations and modification without departing from the spirit and scope of the disclosure. All such variations and modifications, including those discussed above, are intended to be included within the scope of the disclosure.