Roof Top Damage Detection

Developing a unique web service with no direct equivalent on the market, allowing insurance managers to take photos of rooftops, automatically detect natural damage, and distinguish it from false or man-made damage.

IndustryInsurance

Challenge

Key challenges included:
It consisted of 297 images in the train set and 85 in the test. All of them were annotated manually using the DataTurks annotation tool.
The dataset preprocessing stage included various augmentations for the train and test set to make the model more robust. The augmentations involved various image transformations such as rotation, scaling, and image filtration. The maximum annotations number limit was imposed to 8 annotations per image.
Images with more annotations were split into 4 tiles and fed to the model separately. During the training stage, they were padded and downscaled to the size of 800x800 pixels. For inference, it’s been decided to keep a greater resolution of 1365 pixels to capture information.
The metric used for evaluation is mean average precision (mAP). It indicates how well the model can localize the objects combined with classification power. This metric is commonly used for object detection and instance segmentation tasks.

Solution

Business goals:
Size estimation
The damage size estimation was required to compute shingle dimensions that also required detecting shingles. So, end-to-end mapping of the input image to a binary mask representing the shingles layout was conducted.
Dataset
The train set consisted of 194 samples and the test set of 21, respectively.
Input processing.
Image augmentations involved rotation, translation, scaling, and image filtration. The model was trained for 88 epochs.
Model
Several models have been tested, and HED (Holistically-Nested Edge Detection) was chosen. The model was originally designed to perform deep learning edge detection, and it was fine-tuned to serve our purpose better.

What We Did

Damage detection
Mask RCNN neural network algorithm was used for detection of damaged regions. It allowed to extract fine grained bounding boxes together with polygons representing region shape. Initially, the backbone network extracted features of the image, then Region-Proposal Network (RPN) gave regions that are more likely to contain regions of interests (ROIs), and lastly the third neural network regressed the bounding box inside this ROI together with binary masks.
Damage size computation
Detection of shingles’ boundaries was needed to compute actual damage size. Different approaches were tried but finally own model was trained to directly map the input image to the binary mask representing the rooftop layout grid. After that, it was easy to extract contours of the shingles and compute their dimensions and damage size.
Web app implementation
Flask web framework was used as the key tech, and implemented 2 requests in the REST API for annotations.
Image quality assessment
The image quality was computed considering blurriness and scale. Then the frequency terms of the image was analyzed using Fourier transformation.

Ready to Transform Your Business?

Get an estimate within 24 hours

Or feel free to contact our team directly at sales@volyatechinc.com

Contact Us




    +380


    Or feel free to contact our team directly at sales@volyatechinc.com