IP Library Granted Patent US 12,664,775
Granted Patent B2
US 12,664,775 · App. 18/226,721 · Granted Jun 23, 2026

Image analysis systems and methods for determining building roof age

Inventors: Julius Simonelli (San Diego, CA); Ilsoo Seong (Aliso Viejo, CA); Jason Janofsky (San Marcos, CA); Nicholas Molyneux (San Diego, CA); David Tobias (San Francisco, CA); David Lyman (Houston, TX)
Assignee: NEARMAP US, INC.
G06V20/176G06T7/0002G06V10/245G06V10/26G06V10/32G06V10/82G06T2200/24G06T2207/20081G06T2207/20084G06T2207/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,664,775
App. No.
18/226,721
Granted
Jun 23, 2026
Kind
B2
Abstract

Methods, non-transitory computer readable media, and roof analysis systems are disclosed that preprocess overhead images in imagery data obtained based on a request comprising a geographic location. The overhead images depict a building at different historical points in time identified in the imagery data. A neural network is applied to input data structures into which the overhead images are converted. The neural network is trained to extract relationships between features from the input data structures indicating changes in a roof of the building and generate an output data structure representing the changes. Patterns in the output data structure are analyzed to determine instances of change of the roof. A roof age is then output via a user interface in response to the request. The roof age is generated based on a likelihood of the instances of change or a time interval between the overhead images and a current time.

Claims (37)

1 . A method implemented by a roof analysis system and comprising:

preprocessing overhead images in imagery data obtained from an overhead imagery server based on a roof age request comprising a geographic location received from a user device, wherein each of the overhead images depicts a building at a different historical point in time identified in the imagery data;

applying a neural network to identify changes across the overhead images to a plurality of input data structures into which the overhead images are converted, wherein the neural network is trained to extract relationships between features from the input data structures indicating one or more changes in a roof of the building and generate at least one output data structure representing the changes;

analyzing one or more patterns in the output data structure to determine one or more likely instances of change of the roof;

selecting a most likely one of the likely instances of change by a confidence module that reflects the most recent change in the roof;

determining an estimated roof age based on a first historical point in time identified and correlated in the imagery data with a first one of the overhead images corresponding to one of the likely instances of change;

outputting the estimated roof age for the roof via a user interface provided to the user device in response to the roof age request, wherein the estimated roof age is generated based on the most likely one of the likely instances of change; and

generating the user interface to include the first one of the overhead images and a second one of the overhead images identified and correlated in the imagery data with a second historical point in time that is prior to the first historical point in time to thereby represent the roof before and after the one of the likely instances of change, wherein the first one of the overhead images and the second one of the overhead images are in a composite configuration for use with a slider to make more or less of one of the first one of the overhead images and the second one of the overhead images visible in the user interface.

2 . The method of claim 1 , further comprising aligning the overhead images based on one or more of a footprint of the building or a property boundary associated with the geographic location to preprocess the overhead images.

3 . The method of claim 1 , further comprising cropping the overhead images to a dilated and expanded representation of the footprint or the property boundary to preprocess the overhead images.

4 . The method of claim 1 , further comprising normalizing, resizing, or resampling the overhead images to preprocess the overhead images.

5 . The method of claim 1 , further comprising enhancing the overhead images to preprocess the overhead images comprising applying a color space transformation.

6 . The method of claim 1 , wherein the input data structures comprise one or more tensors or one or more multi-dimensional arrays and the method further comprises normalizing pixel values of the overhead images within a range prior to converting the overhead images into the input data structures.

7 . The method of claim 1 , wherein the geographic location comprises an address or geographic coordinates, the building comprises a building entirety or a building section, and the likely instances of change correspond to an entirety of the roof or one or more portions or sections of the roof.

8 . The method of claim 1 , further comprising applying one or more of a statistical, heuristic, or machine learning technique to the output data structure to determine the likely instances of change of the roof.

9 . The method of claim 1 , further comprising receiving feedback data in response to the estimated roof age and retraining the neural network based on the feedback data.

10 . The method of claim 1 , wherein the time interval is determined based on the different historical points in time identified in the imagery data.

11 . A roof analysis system, comprising memory having instructions stored thereon and one or more processors coupled to the memory and configured to execute the stored instructions to:

preprocess overhead images in imagery data obtained from an overhead imagery server based on a roof age request comprising a geographic location received from a user device, wherein each of the overhead images depicts a building at a different historical point in time identified in the imagery data;

apply a neural network to identify changes across the overhead images, wherein the neural network is trained to extract relationships between features from the overhead images indicating one or more changes in a roof of the building and generate at least one output data structure representing the changes;

analyze one or more patterns in the output data structure to determine one or more likely instances of change of the roof;

select a most likely one of the likely instances of change by a confidence module that reflects a most recent change in the roof;

determine an estimated roof age based on a first historical point in time identified and correlated in the imagery data with a first one of the overhead images corresponding to one of the likely instances of change;

output the estimated roof age for the roof via a user interface provided to the user device in response to the roof age request, wherein the estimated roof age is generated based on the most likely one of the likely instances of change; and

generate the user interface to include the first one of the overhead images and a second one of the overhead images identified and correlated in the imagery data with a second historical point in time that is prior to the first historical point in time to thereby represent the roof before and after the one of the likely instances of change, wherein the first one of the overhead images and the second one of the overhead images are in a composite configuration for use with a slider to make more or less of one of the first one of the overhead images and the second one of the overhead images visible in the user interface.

12 . The roof analysis system of claim 11 , wherein the processors are further configured to execute the stored instructions to align the overhead images based on one or more of a footprint of the building or a property boundary associated with the geographic location to preprocess the overhead images.

13 . The roof analysis system of claim 11 , wherein the building comprises a building entirety or a building section, and the likely instances of change correspond to an entirety of the roof or one or more portions or sections of the roof.

14 . The roof analysis system of claim 11 , wherein the processors are further configured to execute the stored instructions to: normalize pixel values of the overhead images within a range; convert the overhead images into one or more input data structures; and apply the neural network to the input data structures, wherein the input data structures comprise one or more tensors or one or more multi-dimensional arrays.

15 . A non-transitory computer readable medium having stored thereon instructions comprising executable code that, when executed by one or more processors, causes the processors to:

preprocess overhead images in imagery data obtained from an overhead imagery server based on a roof age request comprising a geographic location received from a user device, wherein each of the overhead images depicts a building at a different historical point in time;

apply a neural network to identify changes across the overhead images, wherein the neural network is trained to extract relationships between features from the overhead images indicating one or more changes in a roof of the building and generate at least one output representing the changes;

analyze one or more patterns in the output to determine one or more likely instances of change of the roof;

select a most likely one of the likely instances of change by a confidence module that reflects a most recent change in the roof;

determine an estimated roof age based on a first historical point in time identified and correlated in the imagery data with a first one of the overhead images corresponding to one of the likely instances of change;

output the estimated roof age for the roof via a user interface provided to the user device in response to the roof age request, wherein the estimated roof age is generated based on the most likely one of the likely instances of change; and

generate the user interface to include the first one of the overhead images and a second one of the overhead images identified and correlated in the imagery data with a second historical point in time that is prior to the first historical point in time to thereby represent the roof before and after the one of the likely instances of change, wherein the first one of the overhead images and the second one of the overhead images are in a composite configuration for use with a slider to make more or less of one of the first one of the overhead images and the second one of the overhead images visible in the user interface.

16 . The non-transitory computer readable medium of claim 15 , wherein the executable code, when executed by the processors, further causes the processors to: convert the overhead images into one or more input data structures; and apply the neural network to the input data structures, wherein the input data structures comprise one or more tensors or one or more multi-dimensional arrays.