Attention guiding layer in convolutional neural networks
The attention guiding layer in CNNs addresses the challenge of reduced performance by focusing on relevant image portions, enhancing prediction accuracy and efficiency in natural disaster assessments.
Patent Information
- Application Number
- PCT/US2025/022973
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-05
- Filing Date
- 2025-04-03
- Publication Date
- 2025-10-09
AI Technical Summary
Convolutional neural networks (CNNs) struggle with determining relevant image portions when enriched with additional context data, leading to reduced performance in predicting natural disaster characteristics due to confusion between objects in the images.
An attention guiding layer is introduced in the input layers of CNNs, using a matrix of pixels with assigned attention values to focus on objects-of-interest (OOIs) and their surrounding context, enhancing the CNN's ability to generate accurate predictions.
The attention guiding layer improves prediction accuracy and reduces resource consumption by directing the CNN's attention to relevant image areas, while considering surrounding context, outperforming more intensive mechanisms like transformers.
Smart Images

Figure US2025022973_09102025_PF_FP_ABST
Abstract
Description
ATTENTION GUIDING LAYER IN CONVOLUTIONAL NEURAL NETWORKSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority to U.S. Provisional Application No. 63 / 574,953 filed on April 5, 2024, and entitled “ATTENTION GUIDING LAYER IN CONVOLUTION NEURAL NETWORKS,” the contents of which are hereby incorporated by reference.TECHNICAL FIELD
[0002] This specification relates to machine learning (ML), and more specifically, to an attention guiding layer in convolutional neural networks (CNNs) to improve performance thereof.BACKGROUND
[0003] Natural disasters are increasing in both frequency and intensity. Example natural disasters can include wildfires, hurricanes, tornados, and floods, among several others. Natural disasters often result in significant loss that can include a spectrum of economic losses, property losses, and physical losses (e.g., deaths, injuries).Consequently, significant time and effort is expended not only predicting occurrences of natural disasters, but characteristics of natural disasters such as duration, severity, spread, and the like.
[0004] Technologies, such as machine learning (ML), have been leveraged to generate predictions around natural disasters. For example, convolutional neural networks (CNNs), a particular type of ML model, can be used to generate predictions relevant to natural disasters. Convolutional neural networks, e.g., also known as “convolution neural networks,” can be trained to perform tasks around extracting spatial context from images and perform well in vision-based tasks, such as image classification, object detection, and semantic segmentation. In some instances, the images can be enriched with additional context data, and the enriched images can become larger andmore difficult to process. This can reduce performance of CNNs, for example, by causing the CNNs to have difficulty in determining which portions of images that are relevant to the tasks.SUMMARY
[0005] This specification describes systems, methods, devices, and other techniques relating to machine learning (ML), and particularly to attention guiding layers for convolutional neural networks (CNNs).
[0006] In general, innovative aspects of the subject matter described in this specification can include actions of receiving a request for a prediction relevant to an object of interest (OOI) in the geographic region, providing an attention guiding layer based on a location of the OOI within the geographic layer, the attention guiding layer including a matrix of pixels, each pixel having an attention value assigned thereto, retrieving a set of layers representative of the geographic region, processing the set of layers and the attention guiding layer by a ML model to generate the prediction relevant to the OOI, the ML model including a CNN, and providing a representation of the prediction for display. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
[0007] These and other implementations can each optionally include one or more of the following features: the attention guiding layer defines an attention area for the OOI, the attention area having one or more attention values that are greater than zero; attention values within the attention area are provided using a distribution; attention values at a center of the attention area are maximum values and attention values outside of the attention area are minimum values; attention values of the attention guiding layer are provided as binary values; the one or more attention values of the attention area are nonzero; and the OOI includes a parcel and the prediction comprises a damage propensity score for the parcel.
[0008] The present disclosure also provides a non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereonwhich, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with implementations provided herein.
[0009] It is appreciated that the methods and systems in accordance with the present disclosure can include any combination of the aspects and features described herein. That is, methods and systems in accordance with the present disclosure are not limited to the combinations of aspects and features specifically described herein, but also include any combination of the aspects and features provided.
[0010] Particular implementations of the subject matter described in this specification can be executed so as to realize one or more of the following advantages. For example, advantages can include increased accuracy of predictions, because the ML model can more easily focus on the part of the image that is important, while still taking the surrounding context into account. Another example can include reduced consumption of technical resources, as non-important features are removed from consideration. Another example can include increased speed and reduced consumption of technical resources as compared to more intensive attention mechanisms, such as transformers.
[0011] In some implementations, the system can leverage overhead imagery, e.g., satellite and / or drone-captured images, in the set of layers input to the ML model. By using overhead images, the system can resolve risk to a parcel while accounting for the effects on risk to the parcel by the surrounding region, e.g., surrounding parcels, surrounding geographic features, and the like. This can improve the accuracy of the predictions by including risk from the region surrounding the parcel rather than considering the parcel in isolation.
[0012] The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. l is a diagram of an example operating environment of a hazard vulnerability system.
[0014] FIG. 2 depicts example images depicting multiple parcels to be processed for hazard vulnerability evaluation.
[0015] FIGs. 3 and 4 depict example attention guiding layers in accordance with implementations of the present disclosure.
[0016] FIGs. 5A and 5B depicts example sets of pixels of example attention guiding layers in accordance with implementations of the present disclosure.
[0017] FIG. 6 is a flow diagram of an example process that can be executed in accordance with implementations of the present disclosure.
[0018] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION
[0019] This specification describes systems, methods, devices, and other techniques relating to machine learning (ML), and particularly to attention guiding layers for convolutional neural networks (CNNs). In some implementations, a CNN receives input data that can include a set of input layers representative of respective characteristics of a region-of-interest (ROI), for which one or more predictions are to be provided. For example, CNNs can be used to generate predictions relevant to natural disasters. CNNs can be applied to extracting spatial context from images and perform well in vision-based tasks, such as image classification, object detection, and semantic segmentation.
[0020] In some examples, the ROI includes one or more objects-of-interest (OOIs), for which the one or more predictions are to be provided. In accordance with implementations of the present disclosure, an attention guiding layer is provided in the set of input layers, the attention guiding layer configured to direct attention of the CNN to at least one of the OOIs. In some examples, the attention guiding layer includes a set of values based on a distribution, such as a Gaussian distribution. In some examples, the attention guiding layer includes a set of values, each value being binary (e.g., 0 or 1).
[0021] In general, a CNN includes multiple filters (referred to as kernels), each of which is provided as a matrix of weights. In a so-called convolution process, each filter passes over the input data (e.g., pixels of an image) and executes element-wisemultiplication with the portion of the input data that it is currently on and sums up all of the results into a single output pixel.
[0022] In some implementations, additional context is provided with the image data, e.g., enriched image data. However, when providing more context, images can become larger with the richer information. This can reduce the performance of a CNN, for example, because the enriched images can cause the CNN to be less able to determine which portions of images that are relevant to the tasks. That is, e.g., as the CNN can be implemented, as fdters process portions of images, the filters are unaware of what portions of the image are being processed. As such, filters can confuse objects depicted in the image (e.g., neighboring structures) and can collectively treat confused objects as an actual OOI when they are in fact not objects of interest. For example, in an image depicting a landscape from overhead, a rectangle is more likely to represent a building when located in a field, while the rectangle is more likely to represent a truck when on a road, or a railcar when several are connecting head to tail.
[0023] In another example, additional context can reduce performance of CNNs used to predict wildfire risk factors for properties from overhead imagery. For example, in providing imagery on a structure of interest (e.g., a house, a building), the structure is centered in the image and the image is processed through a CNN to generate one or more predictions relevant to the structure. In some instances, the filters of the CNN can confuse structures within the image, e.g., in cases where additional context information is included with the image data.
[0024] In view of the foregoing, implementations of the present disclosure provide an attention guiding layer in a set of input layers that is input to a CNN. The attention guiding layer is configured to direct attention of the CNN to at least one OOI represented in the set of input layers. In some examples, the attention guiding layer includes a set of values based on a distribution, such as a Gaussian distribution. In some examples, the attention guiding layer includes a set of values, each value being binary (e.g., 0 or 1).
[0025] To provide further context for implementations of the present disclosure, one or more ML models can be trained to predict characteristics of a natural disaster using training data, for example, data that is representative of characteristics of occurrences ofthe natural disaster. Example types of ML models can include CNNs, as introduced above. The training data can include region data representative of respective regions (e.g., geographical areas), at which the natural disaster has occurred. In some examples, each ML model predicts a respective characteristic of the natural disaster. Example ML models can include, without limitation, a hazard risk model that predicts a likelihood of occurrence of the natural disaster in a region, a spread model that predicts a likelihood and / or rate of spread of the natural disaster in the region, and an intensity model that predicts an intensity of the natural disaster. Characteristics of a natural disaster can be temporal. For example, a risk of wildfire is higher during a dry season than during a rainy season. Consequently, each ML model can be temporal. That is, for example, each ML model can be trained using training data representative of regions during a particular period of time and / or at a particular point in time.
[0026] In further detail, the region data can include an image of the region which includes a set of properties of the region. More generally, the region data can be described as a set of data layers (e.g., N data layers), each data layer providing a respective type of data representative of a property (e.g., feature, aspect, characteristic, etc.) of the region. In some examples, the set of data layers can number in the tens of data layers to hundreds of data layers. In some examples, each data layer of the set of data layers includes an array of pixels, each pixel representing a portion of the region and having data associated therewith that is representative of the portion of the region. A pixel can represent an area (e.g., square meters (m2), square kilometers (km2)) within the region. The area that a pixel represents in one data layer can be different from the area that a pixel represents in another data layer. For example, each pixel within a first data layer can represent X km2and each pixel within a second data layer can represent Y km2, where X A Y.
[0027] An example, data layer can include an image layer, in which each pixel is associated with image data, such as red, green, blue (RGB) values (e.g., each ranging from 0 to 255). Another example layer can include a vegetation layer, in which, for each pixel, a normalized vegetation difference index (NVDI) value (e.g., in range of [-1, 1], lower values indicating absence of vegetation). Other example layers can include,without limitation, a temperature layer, in which a temperature value is assigned to each pixel, a humidity layer, in which a humidity value is assigned to each pixel, a wind layer, in which wind-related values (e.g., speed, direction) are assigned to each pixel, a barometric pressure layer, in which a barometric pressure value is assigned to each pixel, a precipitation layer, in which a precipitation value is assigned to each pixel, and an elevation layer, in which an elevation value is assigned to each pixel.
[0028] In general, data values for pixels of data layers can be obtained from various data sources including data sources provided by, for example, governmental entities, nongovernmental entities, public institutions, and private enterprises. For example, data can be obtained from databases maintained by the National Weather Service (NWS), the United States Fire Service (USFS), and the California Department of Forestry and Fire Protection (CAL FIRE) among many other entities. For example, weather-related data for a region can be obtained from a web-accessible database (e.g., through a hypertext transfer protocol (HTTP), calls to an application programming interface (API)). In another example, data stored in a relational database can be retrieved through queries to the database (e.g., structured query language (SQL) queries).
[0029] Because values across the data layers can change over time, the region data can be temporal. For example, temperature values for the region can be significantly different in summer as compared to winter. In such cases, a data layer having temporally- sensitive values, can be represented by different sets of values based in part on a period of time for which the prediction is being queried. For example, a first data layer populated with vegetation in summer time when there is high vegetation, and a second data layer populated with vegetation in winter time when there is low vegetation can each be included in the set of layers as input to the CNN depending on the period of time (e.g., summer vs winter) for which the prediction is being queried.
[0030] Accordingly, the region data can include an array of pixels (e.g.,... , Pi,j]), in which each pixel is associated with a vector of N dimensions, N being the number of data layers. For example, p, = [Jij, Vi , Wt , ... ], where I is image data, V is vegetation data, and W is weather data.
[0031] When used as training data, the region data, which can be referred to as region training data in the context of training, can include one or more characteristic layers that provides known characteristic data for respective characteristics of a natural disaster. The known characteristic data represents actual values of the respective characteristics as a result of the natural disaster. For example, a wildfire can occur within a region and, as a result, characteristics of intensity, spread, duration, and the like can be determined for the wildfire. Accordingly, when used as training data, the region data can include, for example, pij =are respective known (K) characteristics (i.e., historical characteristics) of a natural disaster in question.
[0032] One or more ML models are trained using the region training data. The training process can depend on a type of the ML model. In general, the ML model is iteratively trained. For example, during an iteration, e.g., also referred to as epoch, one or more parameters of the ML model are adjusted, and an output (e.g., predicted characteristic value) is generated based on the training data. For each iteration, a loss value is determined based on a loss function. The loss value represents a degree of accuracy of the output of the ML model as compared to a known value (e.g., a known characteristic). The loss value can be described as a representation of a degree of difference between the output of the ML model and an expected output of the ML model, where the expected output is provided from training data. In some examples, if the loss value does not meet an expected value (e.g., is not equal to zero), parameters of the ML model are adjusted in another iteration (e.g., another epoch) of training. In some examples, the iterative training continues for a pre-defined number of iterations (e.g., a pre-defined number of epochs). In some examples, the iterative training continues until the loss value meets the expected value or is within a threshold range of the expected value.
[0033] To generate predictions, region data representative of a region of interest, for which predictions are to be generated, is provided as input to a (trained) ML model, which generates a predicted characteristic for each pixel within the region data. In some examples, the region data is provided in a set of input layers that are input to the ML model. An example output of the ML model can include= [Ctf •], where C is acharacteristic predicted (P) by the ML model. Example characteristics can include, without limitation, likelihood of occurrence (e.g., risk), a rate of spread, an intensity, and a duration. In some examples, an image of the region can be displayed to visually depict the predicted characteristic across the region. For example, different values of the characteristic can be associated with respective visual cues (e.g., colors, shades of colors), and the predicted characteristic can be visually displayed as a heatmap over an image of the region.
[0034] Implementations of the present disclosure are described in further detail herein with reference to an example system for generating predictions relevant to natural disasters. The example system includes a hazard vulnerability system to identify vulnerability features and identify characteristics of the vulnerability features within image data of a parcel (e.g., street-view image data, LIDAR data, high-resolution satellite image data, aerial image data, infrared image data, user-provided images). The characteristics of vulnerability features can be utilized to generate a damage propensity score and / or identify mitigation strategies for reducing hazard vulnerability for a particular parcel in response to a particular hazard and degree of exposure. It is contemplated, however, that implementations of the present disclosure can be realized using any appropriate type of systems (e.g., systems using CNNs to generate predictions).
[0035] FIG. 1 is a diagram of an example operating environment 100 of a hazard vulnerability system 102. The hazard vulnerability system 102 can be hosted on one or more local servers, a cloud-based service, or a combination thereof.
[0036] The hazard vulnerability system 102 can be in data communication with a network, where the network can be configured to enable exchange of electronic communication between devices connected to the network. In the example of FIG. 1, the hazard vulnerability system 102 includes a training data generator 104 and a damage propensity model 106. In some examples, the hazard vulnerability system 102 includes a mitigation engine 108. The training data generator 104 includes a vulnerability feature extractor 110, a parcel hazard event module 112, and a vector generator 114. The training data generator 104 receives image data 116 from a repository of satellite and / or aerialimages 118, street-view images 117, and provides training data 120 as output. The training data 120 can be utilized to train the damage propensity model 106.
[0037] In some implementations, the damage propensity model 106 includes multiple classifiers 107, for example, one or more neural networks, such as a CNN. Classifiers can be configured to classify damage propensity as a binary outcome (e.g., damage or no damage), or can be configured to classify a degree of damage propensity (e.g., using a regression task). In some implementations, classifiers can be utilized to estimate damage to particular sub-components of a parcel (e.g., a roof of a building, siding of a building, or the like) to further refine the damage propensity model 106.
[0038] In some examples, the damage propensity model 106 can receive training data 120, e.g., region training data, including training vectors generated using a sample of different hazard events documented with the image data 116 and historical hazard event data 124. The damage propensity model 106 can be trained to make inferences (predictions) about a damage propensity of a particular parcel based in part on characteristics of vulnerability features for the parcel. Multiple classifiers 109 (e.g., including a same set of classifiers as described with reference to classifiers 107 or different) can process image data 116 to identify and label characteristics of vulnerability features extracted from the image data 116.
[0039] The satellite / aerial images 118 can include any images capturing a geographical region and providing information for the geographical region. Information for the geographical region can include, for example, information about one or more parcels located in the geographical region (e.g., structures, vegetation, terrain). Satellite / aerial images can be, for example, Landsat images, or other forms of aerial imagery. The satellite / aerial images 118 can be, for example, RGB images or hyperspectral images. The satellite / aerial images 118 can be captured using satellite technology (e.g., Landsat) and / or drone technology. In some examples, satellite / aerial images can be captured using other high-altitude technology (e.g., drones, weather balloons, planes). In some examples, synthetic aperture radar (SAR) images can be utilized in addition to the satellite images as described herein. In some examples, satellite images or other aerial imagery can be captured utilizing radar-based imaging, forexample, LIDAR images, RADAR images, or another type of imaging using the electromagnetic spectrum., or a combination thereof.
[0040] The street-view images 117 can include any images capturing an aspect of one or more parcels from a frontage perspective (e.g., captured from a road or sidewalk facing the parcel). In some examples, the street-view images 117 can be captured by one or more cameras affixed to a vehicle and configured to capture the street-view images 117 of parcels as the vehicle drives past the parcels. Optical and LIDAR street-view images 117 can be utilized to capture depth information about parcels. In some examples, the street-view images 117 can have high spatial resolution, for example, street view images can have a spatial resolution that is less than 1 centimeter.
[0041] In some examples, the street-view images 117 can be captured by a user (e.g., a homeowner of a parcel) from a frontage view of a property. Street-view images can be captured using a built-in camera on a smart device (e g., smart phone or tablet) and / or can be captured using a handheld camera. In some examples, street-view images can be captured by a land-surveyor, insurance assessor, parcel appraiser, or other person documenting an aspect of the parcel.
[0042] In some examples, the image data 116 can include images of parcels before and after hazard events (e.g., before and after a wildfire). The image data 116 associated with a particular hazard event can include a burn scar (e.g., an area damaged by the hazard event).
[0043] The training data generator 104 receives parcel data 122 from a repository of historical hazard event data 124. The parcel data 122 can include, for example, insurance assessments, land surveys, appraisals, building / construction records, code inspections / violations, and other public records. In some examples, the parcel data 122 includes public records from post-hazard event damage reports, for example, from a Damage Inspection (DINS) database maintained by CalFIRE, from post-hazard insurance inspections, and the like. The parcel data 122 can include damage / no-damage data and / or degree of damage data for hazard events for parcels that are within a radius of the hazard event (e.g., within a radius of the burn radius).
[0044] The training data generator 104 receives at least a portion of the image data 116 as input. The image data 116 captures one or more parcels at a particular location (e.g., one or more homes) and at a particular point in time (e.g., before a hazard event or after a hazard event). For example, a street-view image 117 can capture a home at a particular street address and a first date / time (e.g., before a hazard event).
[0045] The vulnerability feature extractor 110 can include multiple classifiers 107 that are configured to identify vulnerability features (e.g., objects) within the image data 116. For each parcel depicted in the image data 116, the vulnerability feature extractor 110 can extract vulnerability features and provide the vulnerability features Fl, F2,... FN for the parcel as output to the vector generator module 114. Continuing the example above, vulnerability features Fl, F2,...FN are extracted for the home at the particular street address and the first date / time (e.g., roof construction, vegetation, frontage distance, property slope).
[0046] Vulnerability features can include, but are not limited to, building materials, defensible space, slope of the parcel, proximity to a road, and the like. Vulnerability features can include objects, for example, trees, vehicles, and the like. In some examples, ground truth labeling can be utilized to identify vulnerability features (e.g., by a human expert or in an automatic / semi-automatic manner). Vulnerability features utilized by insurance adjusters / risk-assessment managers can be identified in the image data 116.
[0047] Each vulnerability feature for a parcel is descriptive of an aspect of the parcel depicted within the image data 116 (e.g., in the street-view images 117 and / or satellite / aerial images 118). For each vulnerability feature extracted from the image data 116, one or more characteristics Cl, C2,...CN of the vulnerability feature are extracted (e g., Fl {Cl, C2,...CN}). Characteristics of the vulnerability features can include quantifiable and / or qualifiable aspects of the vulnerability features. For example, a vulnerability feature that is a roof construction can be characterized by building material, shingle spacing, age of construction, and upkeep of the roof. In another example, a vulnerability feature that is a slope of the parcel can be characterized with a slope measurement of 0.5°.
[0048] The parcel hazard event module 112 receives, as input, the historical hazard event data 124 including records of past hazard events and parcel data 122 for each parcel depicted in the image data 116 that is processed by the vulnerability feature extractor 110. The parcel hazard event module 112 provides parcel data 122 for the parcel to the vector generator 114.
[0049] The historical hazard event data 124 can include times of the hazard event (e.g., a start time of the hazard event and an end time). For example, a start time when a wildfire began and an end time when the wildfire is fully contained or fully extinguished. The historical hazard event data 124 can include a geolocation (e.g., GPS coordinates) of an affected area affected by the hazard event (e.g., the area including the burn scar).
[0050] The parcel data 122 for a particular parcel can include public records for the parcel before and after a hazard event (e g., before and after a wildfire). For example, the parcel data 122 can include post-hazard insurance / appraisal records (e.g., damage assessment from after the hazard event). In some examples, the parcel data 122 for a home can include structural characteristics for the parcel (e.g., build records, construction materials, roof type) collected before a hazard event.
[0051] The training data generator 104 can generate training data from images of parcels using the image data 116 occurring before and after a hazard event and from the parcel data 122 for the parcels from the historical hazard event data 124 corresponding to the event (e.g., before and after a wildfire). The vulnerability feature extractor 110 can extract vulnerability features and associated characteristics for parcels in the image data 116 that each appear within a radius of the hazard event (e.g., within a distance of the bum scar).
[0052] The vector generator 114 receives extracted vulnerability features and characteristics of the vulnerability features from the feature extraction module 110 and parcel data 122 from the parcel hazard event module 112 for a particular parcel as input. In some examples, the parcel data 122 can be used as ground truth in the training data 120, for example, the parcel data 122 including a damage / no-damage outcome and / or degree of damage outcome for a hazard event can be used to label the parcel as either “bum” or “no-bum.” The vector generator 114 can generate the training data 120 fromthe extracted vulnerability features, characteristics of the vulnerability features, and the parcel data 122 for each parcel (e.g., respective training vectors V).
[0053] The damage propensity model 106 can receive training data 120 as input to train the damage propensity model 106 using the training data 120. In some examples, the damage propensity model 106 can be trained using a number of training vectors generated using a sample of different locations and parcel data representative of various historical hazard events. In some examples, many thousands of parcels subject to many different hazard events can be included in the training data 120 provided to the damage propensity model 106.
[0054] The hazard vulnerability system 102 receives a request 126 from a user of a user device 128. The user device 128 can include, for example, a mobile phone, tablet, computer, or another device including an operating system 129 and an application environment 130 through which a user can interact with the hazard vulnerability system 102. In some examples, the user device 128 is a mobile phone including application environment 130 configured to display a view 132 including at least a portion of a parcel. In some examples, as depicted in FIG. 1, the application environment 130 displays a view 132 including a street-view of a home and surrounding property (e.g., trees, bushes, shrubbery).
[0055] The request 126 can include a location of a parcel specified by a user of the user device 128. The location of the parcel can include a geolocation (e.g., GPS coordinates, street address) and can be input by the user into the application environment 130. The request 126 can further include a request for a damage propensity score (e.g., a relative vulnerability to hazard event), where the request 126 can specify a particular hazard event (e.g., a particular real-time hazard event) or specify a general type of hazard events (e.g., wildfire, flood, earthquake). In some examples, a user can submit the request 126 specifying a street address of a parcel and request a damage propensity score for that parcel for a real-time hazard event (e.g., an occurring wildfire). In some examples, a user can submit the request 126 specifying a location of parcel including GPS coordinates and request a flood-specific damage propensity score for the parcel.
[0056] The system 102 obtain imaging data 1 16 of a region of interest including the location specified in the request, e.g., satellite / aerial images 118 and / or street view images 117. The system 102 can additionally obtain and / or generate, from the imaging data 116, the vegetation features, geographic features, and the like, for the region including the location. The system 102 can generate the set of layers, e.g., as described above, as to input to the ML model, e.g., input to the CNN model(s). The system 102 can obtain one or more predictions as output, e.g., a damage propensity score and / or mitigation step(s) 126.
[0057] In some examples, a damage propensity score can be a relative measure of risk for a particular parcel to be damaged by a hazard event. The damage propensity score can be a general measure of risk to the particular parcel to be damaged by a type of hazard event (e.g., a wildfire), or can be a specific measure of risk to the particular parcel to be damaged by a particular hazard event (e.g., a real-time flooding event).
[0058] In some examples, a damage propensity score can include a percent loss (e.g., a percent damage) for a given parcel under a particular hazard scenario. For example, a damage propensity score can be 10% loss for a particular parcel under a particular wildfire scenario. In some examples, a damage propensity score can include a measure of risk on a given scale, e.g., a value between 0 and 1.
[0059] In some examples, the request 126 can specify a location including multiple parcels (e.g., a neighborhood, street including multiple homes, a complex including multiple buildings). A user may be interested in determining individual damage propensity scores for each structure in a location including multiple parcels, or may be interested in determining a global damage propensity score for the multiple parcels. The multiple parcels can be clustered in a region, e.g., within a threshold distance of each other. The multiple parcels can be adjacent and / or non-adjacent parcels that are selected from a set of parcels in a region, e.g., in a neighborhood.
[0060] In some examples, the hazard vulnerability system 102 receives as input a request 126 including a request for mitigation steps to reduce a hazard vulnerability of a parcel. The mitigation engine 108 can receive the request for mitigation steps and identify, based on the image data 116 and damage propensity score 140, a set ofmitigation steps 136 that the user can take to reduce the hazard vulnerability of the parcel, e.g., to reduce a damage propensity score of the parcel. In some examples, mitigation steps can be provided in the application environment 130 on the user device 128, where the mitigation steps 136 are visually identified (e.g., an indicator overlaid on a view 132 of the parcel). For example, a tree with branches over-hanging a roof can be visually identified, e.g., with a box surrounding the tree and / or branches, in the application environment.
[0061] In some examples, the mitigation engine 108 can receive real-time event data 142 (e.g., real-time data for an occurring hazard event) and update the mitigation steps 136 in real-time to provide the user with real-time response to a hazard event. The realtime event data 142 can include, for example, hazard spread, weather patterns, mitigating events, emergency response, etc. For example, the real-time event data 142 for a wildfire can include a real-time perimeter of the fire, percentages of control by fire fighters, evacuation data, wind advisories, etc. In some examples, the real-time event data 142 for a flood can include real-time river / creek levels, flooding levels, rain / weather forecast, evacuation data, etc.
[0062] In some implementations, the system 102 can use the real-time event data 142 to update the values of one or more layers of the set of layers input to the ML model, e.g., the CNN. For example, as noted before, the values of a temperature layer, precipitation layer, humidity layer, vegetation layer, or the like, of the set of layers for a region including the parcel of interest can be updated in response to the real-time event data 142.
[0063] FIG. 2 depicts an example image 200 depicting multiple parcels to be processed for hazard vulnerability evaluation. The example image 200 can be provided as an overhead image of a ROI, such as a satellite image depicting a geographic region 202, that depicts multiple parcels 204. In some examples, one or more of the parcels within the ROI can be considered an OOI, for which a prediction is to be provided from a CNN. In some implementations, the image 200 can be included in a set of input layers that are input to the CNN to provide predictions.
[0064] In some implementations, the system can evaluate hazard vulnerability of a ROI using only overhead images of the ROI, e.g., only using a satellite image depictingthe geographic region 202 including multiple parcels 204. For example, the system can generate a prediction related to the damage propensity score for one or more parcels using only high-resolution satellite images of the geographic region including at least the one or more parcels.
[0065] In the example of FIG. 2, it can be determined that multiple parcels, Parcel A and Parcel B, are OOIs, for which predictions are to be provided. For example, it can be determined that a damage propensity score is to be determined for each of Parcel A and Parcel B. In some examples, an OOI can be determined based on user input. For example, a user can input a parcel identifier for each parcel that is an OOI, for which a prediction is to be determined. In some examples, the parcel identifier enables the respective parcel to be identified within an image (e.g., the parcel identifier corresponds to GPS coordinates and / or boundaries recorded in metadata of the image).
[0066] A prediction output for the OOI(s) can be, for example, a one-year prediction, a five-year prediction, or the like. For example, the prediction output of the system can be a prediction of fire risk for an OOI, e.g., Parcel A and / or Parcel B, over the next one year or next five years from the point of the analysis.
[0067] In accordance with implementations of the present disclosure, an attention guiding layer can be generated. For example, in response to identifying an OOI in an image, an attention layer is provided as a matrix of pixels, each pixel having an attention value assigned thereto. In some examples, the matrix of pixels is of the same size as that of the image depicting the OOI. In some examples, each attention value represents a degree of attention (or focus) that a CNN is to put towards the respective pixel across all layers of a set of input layers. That is, each pixel of the attention layer corresponds to one or more pixels in each other layer in the set of input layers. In some examples, the higher the attention value, the more attention, the lower the attention value, the lower the attention. In some examples, each attention value can be within a range (e.g., [0, 1], inclusive). In some implementations, non-zero attention values collectively define an attention area for a respective OOI, as described in further detail herein.
[0068] In some implementations, attention values are determined based on a distribution, such as a Gaussian distribution. It is contemplated that any appropriatemonotonically decreasing distribution can be used. In some examples, the distribution is mapped to multi-dimensional space, such as two-dimensional space, of the image. The band of the distribution has a maximum attention value (e.g., 1) in a center of the OOI and decreases moving away from center to a minimum attention value (e.g., 0). In some examples, a center of the OOI is determined from metadata of the image indicating a location of the OOI within the image. In some examples, the distribution is mapped across a diameter centered on the OOI in the image.
[0069] In some implementations, the ROI includes at least one OOI, e.g., at least one parcel of interest for which the system is tasked with determining a damage propensity score. The ROI can additionally include a region surrounding the OOI, e.g., adjacent parcels to the at least one parcel within the region, adjacent geographic features (water, landmarks, forestry, etc.). In some instances, the region surrounding the OOI can impact the prediction outcome for the OOI, e.g., a parcel adjacent to a river can have a different damage propensity score than a parcel adjacent to a corn field. For example, a parcel which may have a relatively low risk in isolation due to high-quality building materials, minimal surrounding vegetation, etc., can still have a relatively high damage propensity score due to a neighboring parcel separate from the OOI that has high risk, e.g., low- quality building materials, high surrounding vegetation, etc. As such, the attention values can define an area of the layer including the OOI as well as a region surrounding the OOI, e.g., a buffer region 206, to ensure the filters of the CNN are attentive to both the OOI, e.g., parcel, as well as adjacent factors such as other adjacent parcels, geographic features, and the like.
[0070] Advantageously, a system that uses overhead, e.g., satellite and / or drone- captured, images of the ROI is more likely to include the region surrounding the OOI such that the system can generate an attention guiding layer that includes the buffer region surrounding the OOI. For example, in contrast to a street-level view of a parcel, an overhead image can include both the parcel and adjacent parcels and / or adjacent geographic features such that the attention values can be set to consider these adjacent factors when focusing the filters of the CNN.
[0071] In some implementations, attention values are determined as binary values. For example, a center of the OOI is determined from metadata of the image indicating a location of the OOI within the image. In some examples, an attention value of 1 is provided for pixels depicting the OOI. In some examples, an attention value of 1 is provided for pixels depicting the OOI and pixels within a threshold distance from pixels depicting the OOI. In some examples, an attention value of 1 is provided for pixels within a radius of the center of the OOI within the image. All other pixels of the attention guiding layer are assigned an attention value of 0.
[0072] In accordance with implementations of the present disclosure, the attention guiding layer provides the filters of the CNN with an indication of how close the filters are to the OOI, e.g., how effectively the filters are detecting and responding to features of the OOI. For example, an indication of the filters being able to locate pixels on the OOI or located pixels at an edge of the OOI. In the case of a distribution, if the attention value exceeds a first threshold value, the system can determine that the filter is on the OOI, e.g., the filter is detecting and responding to features of the OOI. If the attention value exceeds a second threshold value and does not exceed the first threshold value, it can be determined that the filter is within a distance of an edge of the OOI. For example, the filter is on the OOI, but towards an edge of the OOI. In another example, the filter is off the OOI, but near an edge of the OOI. If the attention value is below the second threshold, the system determines that the filter is over a threshold distance away from the OOI. In the case of binary, if the attention value is 1, the system determines that the filter is on or within a threshold distance of the OOI, and, if the attention value is 0, the system determines that the filter is off the OOI by more than a threshold distance.
[0073] FIGs. 3 and 4 depict example attention guiding layers in accordance with implementations of the present disclosure. FIG. 3 depicts an attention guiding layer 300 representative of multiple OOIs. For example, the attention guiding layer 300 can be used for providing predictions regarding Parcel A and Parcel B of FIG. 2. The attention guiding layer 300 includes an attention area 302 and an attention area 304. In a set of input layers that includes the image 200 and the attention guiding layer 300, the attention area 302 aligns with Parcel A and the attention area 304 aligns with Parcel B. In theexample of FIG. 3, the attention area 302 and the attention area 304 are each provided using a distribution. For example, a center of each of the attention area 302 and the attention area 304 is assigned a maximum attention value and attention values decrease according to the distribution moving away from center.
[0074] In some implementations, as presented above, an attention area, e.g., attention area 302, 304, can be aligned with a parcel of interest and additionally include a buffer region surrounding the parcel, e.g., including Parcel A and buffer region 206. For example, the attention area can include a property and the immediately adjacent properties to the property within the attention area. The buffer region can be enforced to a lesser degree than the parcel itself, e.g., using a distribution giving a lower attention value to the buffer region than the parcel.
[0075] FIG. 4 depicts an attention guiding layer 400 representative of multiple OOIs. For example, the attention guiding layer 400 can be used for providing predictions regarding Parcel A and Parcel B of FIG. 2. The attention guiding layer 400 includes an attention area 402 and an attention area 404. In a set of input layers that includes the image 200 and the attention guiding layer 400, the attention area 402 aligns with Parcel A and the attention area 404 aligns with Parcel B. In the example of FIG. 4, the attention area 402 and the attention area 404 are each provided based on binary values. For example, pixels within a threshold radius of a center of each of the attention area 402 and the attention area 404 are assigned an attention value of 1 and all other pixels are assigned an attention value of 0.
[0076] In some implementations, as presented above, an attention area, e.g., attention area 402, 404, 302, 304, can be aligned with a parcel of interest and additionally include a buffer region surrounding the parcel. For example, the attention area can include a property and the immediately adjacent properties to the property within the attention area. The buffer region can be enforced to an equal degree as the parcel itself, e.g., assigning attention value of 1 to pixel including the buffer region.
[0077] FIGs. 5A and 5B depict example sets of pixels 500, 502 of example attention guiding layers in accordance with implementations of the present disclosure. In the example of FIG. 5 A, the set of pixels 500 represents a portion of an attention area that isdefined using a distribution, each pixel being assigned an attention value. For example, pixels in the set of pixels 500 that have an attention value greater than 0 define an attention area. The example of FIG. 5 A can represent the attention areas 302, 304 of the attention guiding layer 300 of FIG. 3.
[0078] In the example of FIG. 5B, the set of pixels 502 represents a portion of an attention area that is defined using a distribution, each pixel being assigned an attention value. For example, pixels in the set of pixels 502 that have an attention value of 1 define an attention area. The example of FIG. 5B can represent the attention areas 402, 404 of the attention guiding layer 400 of FIG. 4.
[0079] FIG. 6 is a flow diagram of an example process 600 in accordance with implementations of the present disclosure. In some examples, the example process 600 is provided using one or more computer-executable programs executed by one or more computing devices. The system receives OOI input (602). For example, and as described herein, the system receives user input (e.g., by a computing system) that indicates one or more OOIs. The user input can be a request 126 as described with reference to FIG. 1, where the system 102 receives the request 126 for a damage propensity score for a parcel or set of parcels. In some examples, the user input can include a parcel ID that uniquely identifies a parcel among a set of parcels. The user input can be provided through an application 130 on a user device 128,
[0080] The system determines a set of layers for OOI(s) (604). For example, and as described herein, the system 102 determines a set of layers that represent characteristics of the OOI(s) can be retrieved from a data store (e.g., indexed by parcel ID(s)). In some examples, the set of layers can include, without limitation, image (e.g., satellite image, aerial image), temperature, vegetation, wind speed, and the like. For example, the set of layers can include respective values from imaging data 116, event data 124, and real-time event data 142.
[0081] The system provides an attention guiding layer (606). For example, and as described herein, the system can generate an attention guiding layer based on location(s) of OOI(s). In some examples, for each OOI, the attention guiding layer includes an attention area. In some examples, the attention area is provided using attention valuesbased on a distribution (e.g., a Gaussian distribution). In some examples, the attention area is provided using attention values based on binary.
[0082] In some implementations, the system 102 leverages one or more additional models, e.g., trained machine learning models, to generate the attention guiding layer. For example, the system can leverage one or more ML models to detect, from the image data, the regions of interest and identify one or more OOIs within the region of interest in the image data. In some instances, a separate CNN can be used to process a subset of the input set of layers to identify the one or more OOIs. The system can use the output of the one or more additional models to generate the attention guiding layer including the one or more OOI(s).
[0083] In some implementations, the system can use human-in-the-loop to identify the one or more OOI(s). For example, a user can provide feedback to suggested OOIs by the system to confirm or deny the presence of an OOI. In some examples, a user can tag OOI(s) in the image data and provide the tagged image data as input to the system.
[0084] The system processes the set of layers using a CNN (610) and one or more predictions are output from the CNN (612). The system can provide the set of layers to the damage propensity model 106 and obtain predictions including, for example, a damage propensity score for the parcel. For example, and as described herein, the CNN receives the set of layers (including the attention guiding layer) as input, and processes the set of layers to provide one or more predictions. In some examples, each prediction is specific to an OOI. For example, the prediction can include a damage propensity score of an OOI (e.g., a parcel).
[0085] This specification uses the term “configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed thereon software, firmware, hardware, or a combination thereof that, in operation, cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.
[0086] Implementations of the subject matter and the functional operations described in this specification can be realized in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs (i.e., one or more modules of computer program instructions) encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. The program instructions can be encoded on an artificially-generated propagated signal (e.g., a machine-generated electrical, optical, or electromagnetic signal) that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
[0087] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit)). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs (e.g., code) that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0088] A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file thatholds other programs or data (e.g., one or more scripts stored in a markup language document) in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
[0089] In this specification the term “engine” is used broadly to refer to a softwarebased system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in some cases, multiple engines can be installed and running on the same computer or computers.
[0090] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry (e.g., a FPGA, an ASIC), or by a combination of special purpose logic circuitry and one or more programmed computers.
[0091] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). However, a computer need not have such devices. Moreover, a computer can be embedded in another device (e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a gameconsole, a Global Positioning System (GPS) receiver), or a portable storage device (e.g., a universal serial bus (USB) flash drive) to name just a few.
[0092] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magnetooptical disks, and CD-ROM and DVD-ROM disks.
[0093] To provide for interaction with a user, implementations of the subject matter described in this specification can be provisioned on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse, a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device (e g., a smartphone that is running a messaging application), and receiving responsive messages from the user in return.
[0094] Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and compute-intensive parts of machine learning training or production (i.e., inference, workloads).
[0095] Machine learning models can be implemented and deployed using a machine learning framework (e.g., a TensorFlow framework, a Microsoft Cognitive Toolkit framework, an Apache Singa framework, an Apache MXNet framework).
[0096] Implementations of the subject matter described in this specification can be realized in a computing system that includes a back-end component (e.g., as a data server) a middleware component (e.g., an application server), and / or a front-end component (e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with implementations of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN) and a wide area network (WAN) (e.g., the Internet).
[0097] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server transmits data (e.g., an HTML page) to a user device (e g., for purposes of displaying data to and receiving user input from a user interacting with the device), which acts as a client. Data generated at the user device (e.g., a result of the user interaction) can be received at the server from the device.
[0098] In addition to the embodiments of the attached claims and the embodiments described above, the following numbered embodiments are also innovative.
[0099] Embodiment l is a method of using one or more machine learning (ML) models for providing predictions for objects of interest (OOIs) in a geographic region, the method being executed by one or more processors and comprising: receiving a request for a prediction relevant to an OOI in the geographic region; providing an attention guiding layer based on a location of the OOI within the geographic region, the attention guiding layer comprising a matrix of pixels, each pixel having an attention value assigned thereto; retrieving a set of layers representative of the geographic region; processing the set of layers and the attention guiding layer by a ML model to generate the prediction relevant to the OOI, the ML model comprising a convolutional neural network (CNN); and providing a representation of the prediction for display.[000100] Embodiment 2 is the method of embodiment 1, wherein the attention guiding layer defines an attention area for the OOI, the attention area having one or more attention values that are greater than zero.[000101] Embodiment 3 is the method of embodiment 2, wherein attention values within the attention area are provided using a distribution.[000102] Embodiment 4 is the method of any one of embodiments 2 or 3, wherein attention values at a center of the attention area are maximum values and attention values outside of the attention area are minimum values.[000103] Embodiment 5 is the method of any one of embodiments 2 to 4, wherein attention values of the attention guiding layer are provided as binary values.[000104] Embodiment 6 is the method of any one of embodiments 2 to 5, wherein the one or more attention values of the attention area are non-zero.[000105] Embodiment 7 is the method of any one of embodiments 1 to 6, wherein the OOI comprises a parcel and the prediction relevant to the OOI comprises a damage propensity score for the parcel.[000106] Embodiment 8 is the method of any one of embodiments 1 to 7, wherein retrieving the set of layers representative of the geographic region comprises: obtaining, for the geographic region including the OOI, region data for the geographic region including the OOI, wherein the region data the geographic region including image data and including one or more of vegetation difference index values, temperature values, humidity values wind-related values, barometric pressure values, precipitation values, and elevation values, for corresponding pixels representing the geographic region; and generating, from the region data, the set of layers representative of the geographic region. [000107] Embodiment 9 is the method of embodiment 8, wherein the image data comprises satellite images of the geographic region.[000108] Embodiment 10 is the method of any one of embodiments 1 to 9, wherein the prediction comprises a damage propensity score for the OOI including a risk of damage to the OOI over a one-year or a five-year period.[000109] Embodiment 11 is a system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one ormore computers, to cause the one or more computers to perform the method of any one of embodiments 1 to 10.[0001101 Embodiment 12 is a computer program carrier encoded with a computer program, the program comprising instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform the method of any one of embodiments 1 to 10.[000111] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a sub-combination.[000112] Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.[000113] Particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. For example, the actionsrecited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
Claims
CLAIMSWhat is claimed is:
1. A method of using one or more machine learning (ML) models for providing predictions for objects of interest (OOIs) in a geographic region, the method being executed by one or more processors and comprising: receiving a request for a prediction relevant to an OOI in the geographic region; providing an attention guiding layer based on a location of the OOI within the geographic region, the attention guiding layer comprising a matrix of pixels, each pixel having an attention value assigned thereto; retrieving a set of layers representative of the geographic region; processing the set of layers and the attention guiding layer by a ML model to generate the prediction relevant to the OOI, the ML model comprising a convolutional neural network (CNN); and providing a representation of the prediction for display.
2. The method of claim 1, wherein the attention guiding layer defines an attention area for the OOI, the attention area having one or more attention values that are greater than zero.
3. The method of claim 2, wherein attention values within the attention area are provided using a distribution.
4. The method of claim 2, wherein attention values at a center of the attention area are maximum values and attention values outside of the attention area are minimum values.
5. The method of claim 2, wherein attention values of the attention guiding layer are provided as binary values.
6. The method of claim 5, wherein the one or more attention values of the attention area are non-zero.
7. The method of claim 1, wherein the OOI comprises a parcel and the prediction relevant to the OOI comprises a damage propensity score for the parcel.
8. The method of claim 1, wherein retrieving the set of layers representative of the geographic region comprises: obtaining, for the geographic region including the OOI, region data for the geographic region including the OOI, wherein the region data the geographic region including image data and including one or more of vegetation difference index values, temperature values, humidity values wind-related values, barometric pressure values, precipitation values, and elevation values, for corresponding pixels representing the geographic region; and generating, from the region data, the set of layers representative of the geographic region.
9. The method of claim 8, wherein the image data comprises satellite images of the geographic region.
10. The method of claim 1, wherein the prediction comprises a damage propensity score for the OOI including a risk of damage to the OOI over a one-year or a five-year period.
11. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations for providing predictions for objects of interest (OOIs) in a geographic region, the operations of any of claims 1 to 10.
12. A system, comprising: one or more processors; and a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for providing predictions for objects of interest (OOIs) in a geographic region, the operations of any of claims 1 to 10.