Utilizing a 3D scanner to estimate damage to a roof
A damage assessment module operating on a computer system automatically evaluates a roof, estimating damage to the roof by analyzing a point cloud of a roof. The damage assessment module identifies individual shingles from the point cloud and detects potentially damaged areas on each of the shingles. The damage assessment module then maps the potentially damaged areas of each shingle back to the point cloud to determine which areas of the roof are damaged. Based on the estimation, the damage assessment module generates a report on the roof damage.
1 . A system for estimating damage to a shingle comprising:
(A) one or more 3-dimensional (3D) scanners for generating a 3D point cloud representing a roof;
(B) one or more processors; and
(C) one or more memory devices communicatively connected to the one or more processors, the one or more memory devices including the 3D point cloud generated via the one or more 3D scanners,
wherein the one or more memory devices further include computer-readable instructions that, when executed, cause the one or more processors to:
(i) utilize a point cloud segmentation technique to identify from the 3D point cloud a plurality of 3D shingle point clouds, each 3D shingle point cloud including a set of points representing a different shingle on the roof, wherein the point cloud segmentation technique is a region growing segmentation technique, wherein causing the one or more processors to utilize the region growing segmentation technique to identify from the 3D point cloud the plurality of 3D shingle point clouds comprises: causing the one or more processors to identify points to add or remove to each of the sets based on measurements relating to curvature or smoothness, and
(ii) analyze each of the plurality of 3D shingle point clouds to identify a set of points representing a damaged shingle,
wherein causing the one or more processors to analyze each of the plurality of 3D shingle point clouds to identify the set of points representing the damaged shingle comprises:
causing the one or more processors to perform a comparison of each of the plurality of 3D shingle point clouds to a model 3D point cloud representing a model shingle, and
detecting that the set of points represents the damaged shingle based on results of the comparison,
wherein the one or more memory devices further include computer-readable instructions that, when executed, further cause the one or more processors to: generate and display a report indicating the damaged shingle is damaged, wherein the displayed report includes one or more of: (a) a textual representation of the damage done to the damaged shingle, or (b) a graphical representation of damage done to the damaged shingle.
2 . The system of claim 1 , wherein the model shingle represents a shingle having experienced an expected degree of wear and tear.
3 . A computer-implemented method for estimating damage to a shingle, the method comprising:
(A) causing one or more processors to retrieve from a memory a 3D point cloud representing a roof;
(B) utilizing, via the one or more processors, a point cloud segmentation technique to identify from the 3D point cloud a plurality of 3D shingle point clouds, each 3D shingle point cloud including a set of points representing a different shingle on the roof, wherein the point cloud segmentation technique is a region growing segmentation technique, wherein utilizing the region growing segmentation technique to identify from the 3D point cloud the plurality of 3D shingle point clouds comprises identifying one or more points to add or remove to each of the sets based on measurements relating to curvature or smoothness;
(C) analyzing, via the one or more processors, each of the plurality of 3D shingle point clouds to identify a set of points representing a damaged shingle,
wherein analyzing each of the plurality of 3D shingle point clouds to identify the set of points representing the damaged shingle comprises:
performing a comparison of each of the plurality of 3D shingle point clouds to a model 3D point cloud representing a model shingle; and
detecting that the set of points represents the damaged shingle based on results of the comparison; and
(D) generating and displaying, via the one or more processors, a report indicating the damaged shingle is damaged, wherein the displayed report includes one or more of:
a textual representation of the damage done to the damaged shingle, or
a graphical representation of damage done to the damaged shingle.
4 . The computer-implemented method of claim 3 , wherein the model shingle represents an undamaged shingle.
5 . A non-transitory computer readable medium storing instructions that, when executed, cause one or more processors to:
(A) utilize a point cloud segmentation technique to identify from a 3D point cloud a plurality of 3D shingle point clouds, each 3D shingle point cloud including a set of points representing a different shingle on a roof, wherein the point cloud segmentation technique is a region growing segmentation technique, wherein the instructions to utilize the region growing segmentation technique to identify from the 3D point cloud the plurality of 3D shingle point clouds comprise instructions that, when executed, cause the one or more processors to: identify one or more points to add or remove to each of the sets based on measurements relating to curvature or smoothness;
(B) analyze each of the plurality of 3D shingle point clouds to identify a set of points representing a damaged shingle, wherein the instructions to analyze each of the plurality of 3D shingle point clouds to identify the set of points representing the damaged shingle comprise instructions that, when executed, cause the one or more processors to:
perform a comparison of each of the plurality of 3D shingle point clouds to a model 3D point cloud representing a model shingle; and
detect that the set of points represents the damaged shingle based on results of the comparison; and
(C) generate and display a report indicating the damaged shingle is damaged, wherein the displayed report includes one or more of:
a textual representation of the damage done to the damaged shingle; or
a graphical representation of damage done to the damaged shingle.