Flood segmentation method using synthetic aperture radar imagery and digital elevation models

By combining SAR data with elevation data and employing a neural network, the method improves flood detection accuracy by reducing false positives and negatives, addressing the limitations of SAR data in flood mapping.

JP2026504805APending Publication Date: 2026-02-10アイサイ オサケユキチュア
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025537870
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-18
Filing Date
2024-01-17
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Existing Synthetic Aperture Radar (SAR) data is insufficient for accurate flood detection due to irregular reflections from non-still water surfaces and obstructions like foliage or buildings, leading to inadequate flood mapping and monitoring.

Method used

A computer-implemented method using a machine learning model that combines SAR data with elevation data, such as HAND DEM, to generate a flood probability map, which is then post-processed to reduce false positives and negatives, utilizing a neural network architecture like ResNet for classification or segmentation.

Benefits of technology

The method provides more accurate flood detection with reduced false positives and negatives by integrating SAR and elevation data, enhancing the precision of flood extent mapping.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026504805000001_ABST
    Figure 2026504805000001_ABST
Patent Text Reader

Abstract

Provided herein are systems, computer programs, and computer-implemented methods for detecting the presence of water from synthetic aperture radar (SAR) data, the methods including receiving, as a first input, SAR data relating to an area of ​​interest, and receiving, as a second input, elevation data relating to the area of ​​interest, and inputting the SAR data and the elevation data into a machine learning model, the machine learning model configured to receive the input including the SAR and elevation data, and to perform classification or segmentation on the input to generate a mapping indicative of the presence of water in the area of ​​interest.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to machine learning, remote sensing, image processing, computer vision, and synthetic aperture radar, and more particularly to a computer-implemented method and device for detecting the presence of water and floodwater from synthetic aperture radar (SAR) data. [Background technology]

[0002] A flood is an overflow of water that submerges otherwise dry land. Floods can occur for several reasons and can cause significant loss of life and / or property damage. Understanding the extent and severity of damage caused by a flood can be difficult, especially during the flood itself, when conditions can change rapidly, and immediately after the flood, when infrastructure and communication systems may be destroyed.

[0003] In order to coordinate human response to flood events and assess the damage caused by floods, it is necessary to obtain accurate data and information about the extent of floods. One way to do this is to use Synthetic Aperture Radar (SAR) to observe areas affected by floods. SAR is an effective way to monitor floods because it has all-weather capabilities, is not affected by sunlight, and can be used to differentiate between water and land.

[0004] However, using SAR for flood monitoring purposes presents several challenges. One such challenge is the random and unpredictable interaction between the SAR radar beam and the water surface. When the water is not still or otherwise contains waves, turbulence, etc., the SAR radar beam may be reflected irregularly, causing changes in the SAR data that make identifying flooded areas more difficult. Furthermore, floodwaters may be obstructed from the view of the SAR system by foliage, such as trees and crops in rural areas, or by buildings, bridges, etc. in urban areas. These types of challenges mean that SAR data may be insufficient to achieve acceptable detection performance for flood detection and mapping.

[0005] Therefore, it has been felt that there is a need for a method for more accurately detecting and / or monitoring floods and flood extent using SAR data. Summary of the Invention

[0006] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter. Variations and alternative features that serve to facilitate the practice of the invention and / or achieve substantially similar technical effects should be considered within the scope of the invention as disclosed herein.

[0007] In a first aspect, the present disclosure provides a computer-implemented method for detecting the presence of water from synthetic aperture radar (SAR) data, the method including receiving, as a first input, SAR data relating to an area of ​​interest; and receiving, as a second input, elevation data relating to the area of ​​interest; and inputting the SAR data and the elevation data to a machine learning model, the machine learning model configured to receive the input including the SAR data and the elevation data and to perform classification or segmentation on the input to generate a mapping indicative of the presence of water in the area of ​​interest.

[0008] The machine learning model has two input channels, one corresponding to SAR data and one corresponding to elevation data, providing more accurate detection of flood extent compared to using only one input.

[0009] The use of SAR image data, such as Single Look Complex (SLC) image data, in addition to geographically corresponding elevation data means that there are two data sources that are combined and processed to obtain the mapping, which provides more accurate flood detection with reduced false positive and false negative detections compared to using only one data source.

[0010] The machine learning model may be a neural network trained to perform classification or segmentation of the SAR and elevation data and to generate a mapping corresponding to the area of ​​interest. The neural network may be a convolutional neural network having an input layer, an output layer, a convolutional layer, and one or more hidden layers. The neural network may have, for example, a residual neural network (ResNet) architecture.

[0011] The mapping may be a flood probability map having a plurality of pixels or cells, each pixel or cell containing a value indicating the probability that the corresponding pixel or cell in the SAR data contains water. The value of each pixel or cell in the flood probability map may be between 0 and 1 and may represent whether the corresponding portion of the area of ​​interest is determined to contain flood water based on the SAR data and the elevation data.

[0012] The method may further include binarizing the value indicating the probability for each pixel or cell in the mapping to obtain a binary mapping, which may thus include a set of 1's indicating the presence of water / flooding and 0's indicating no water / flooding, or vice versa.

[0013] The method may further include, prior to inputting the SAR and elevation data into the machine learning model, co-registering the SAR data with the elevation data such that each pixel or cell of the SAR data is linked to a corresponding pixel or cell in the elevation data to form a linked pair of pixels or cells, each linked pair of pixels or cells corresponding to the same portion of the area of ​​interest.

[0014] In this way, it is not necessary to obtain elevation data with the exact parameters of the SAR image data before performing the method, but rather the elevation data and SAR data can be matched together after the elevation data is retrieved. One such way of matching the SAR data with the elevation data is to co-register the elevation data and SAR data using independent mapping data, such as Ordnance Survey (OS) map data, so that cell / pixel pairs (one from the SAR data and the other from the elevation data) are linked to the same mapping data and therefore to the same location within the area of ​​interest.

[0015] The method may further include training a machine learning model to detect water from input including SAR and elevation data using a training dataset, where the training dataset includes permanent water body SAR data. Using permanent water body SAR data includes using SAR data observing seas, lakes, oceans, reservoirs, or rivers. Such data is more easily acquired than real floods, and therefore a larger sample of training data can be acquired and used.

[0016] The method may further include obtaining information related to the location of one or more permanent bodies of water in the area of ​​interest and adjusting the mapping to eliminate values ​​from pixels or cells of the mapping that correspond to the location of the one or more permanent bodies of water in the area of ​​interest, such that the mapping indicates the presence of flood water. In other words, the presence of water in the area of ​​interest detected by the machine learning model may be compared with data related to permanent bodies of water pre-existing in the area of ​​interest, so that the presence of any additional flood water may be determined.

[0017] The method may additionally include additionally training the machine learning model with a flood dataset, the flood dataset including SAR flood image data.

[0018] The method may further include post-processing the flood probability map to obtain an improved flood probability map, where post-processing the flood probability map includes generating one or more isoline features from the elevation data, each isoline feature being associated with a common elevation value or a common elevation value range, grouping pixels or cells of the flood probability map according to the isoline features, calculating a function of the grouped pixel or cell values ​​for each isoline feature to obtain a function result for each isoline feature, comparing the function result to a threshold for each isoline feature, and reclassifying or re-segmenting the flood probability map based on the comparison of each isoline feature to the threshold. The isoline features may be considered contour features.

[0019] The processing of the SAR and elevation data to obtain the mapping may be performed using the machine learning models outlined above, or may be performed using any classification or segmentation algorithm. Using the elevation and SAR data to form the mapping, and then post-processing and reclassifying / resegmenting the mapping again using the elevation data, improves the accuracy of flood detection by reducing the occurrence of false positives and false negatives in the mapping. This process produces an improved mapping.

[0020] The threshold value may be any selectable value. The mapping may have a probability value between 0 and 1, and the threshold value may be 0.5. Comparing the function result for each contour feature to the threshold value may determine whether the function result exceeds the threshold. If the function result exceeds the threshold, all pixels in the group of pixels associated with the contour feature may be reclassified or resegmented by replacing their values ​​with values ​​corresponding to water / non-water. For example, if the function result exceeds a threshold of 0.5, each pixel in the group of pixels associated with that contour feature may be assigned a value of 1, indicating the presence of water, while another function result for another contour feature may not exceed the threshold, and the group of pixels associated with that contour feature may be assigned a value of 0, indicating the absence of water.

[0021] The step of generating the contour features may include retrieving the contour features from a contour feature database. In this way, the contour features may be pre-generated and stored for later retrieval.

[0022] The function may be an aggregate function, which means that the value of each pixel in the group of pixels corresponding to a particular contour feature is taken into account when determining the function result.

[0023] The aggregation function for each contour feature may be the average of the grouped pixel or cell values. Before calculating the average, one or more values ​​from the grouped pixels associated with the contour feature may be ignored if they are significantly different from the values ​​from other values ​​within the grouped pixels.

[0024] A contour feature may be an isozone polygon formed from a set of physically connected pixels or cells of elevation data, each set of connected pixels or cells having the same elevation value or elevation values ​​within a range of elevation values. The isozone polygon may be an isozone or a contour line.

[0025] Alternatively, the contour features may be contour clusters formed by applying a clustering algorithm to the elevation data to obtain clusters of pixels or cells of the elevation data within an elevation value interval. The clustering algorithm may be any suitable algorithm, such as K-means clustering.

[0026] The method of post-processing mapping to reclassify or re-segment a flood probability map using elevation data to generate an improved flood probability map includes using a machine learning model to generate the flood probability map, as described above. The improved flood probability map may then be binarized in a binarization process.

[0027] The elevation data may be generated relative to the elevation of a body of water or a water bank within or adjacent to the area of ​​interest. In this way, the elevation data is local and normalized to the area of ​​interest rather than to a distant point such as a sea-level ocean.

[0028] The elevation data may include digital elevation model data (HAND DEM data) of relative elevation from the nearest watercourse, where a body of water or a water bank within or adjacent to the area of ​​interest is the nearest watercourse.

[0029] The method may further include generating HAND DEM data from the DEM data of the area of ​​interest, where generating the HAND DEM data includes filling one or more depressions in the DEM data to create filled DEM data, creating a flow accumulation layer that defines flow directions in the filled DEM data, applying an area threshold to the flow accumulation layer to create a flow network indicative of water flow patterns in the area of ​​interest, and generating the HAND DEM data from the flow network.

[0030] The method may further include fracturing the one or more depressions in the DEM data to generate fractured DEM data prior to filling the one or more depressions in the DEM data, wherein filling the one or more depressions is performed on the fractured DEM data.

[0031] The method may further include applying multiple area thresholds to the flow accumulation layer to obtain multiple potential flow networks, comparing each of the potential flow networks with actual data related to water flow in the area of ​​interest to generate a similarity index for each potential flow network, and selecting the area threshold to apply based on the potential flow network with the highest similarity index.

[0032] According to a second aspect, the present disclosure provides a computing device comprising a memory and a processor, the memory having stored therein instructions that, when executed by the processor, cause the processor to perform the method of the first aspect set forth in any of the above statements. The computing device may be a single device or may be a computer system, such as a distributed computer system.

[0033] According to a third aspect, the present disclosure provides a computer-readable medium having stored thereon instructions which, when executed by a processor, cause the processor to perform the method of the first aspect set forth in any of the above statements.

[0034] According to a fourth aspect, the present disclosure provides a computer-implemented method for processing a classification or segmentation mapping indicative of the presence of water in an area of ​​interest, the mapping including a plurality of pixels or cells, each of the plurality of pixels or cells having a value indicative of a probability that a corresponding portion of the area of ​​interest contains water, the method including: generating one or more contour features from elevation data, each contour feature being associated with a common elevation value or a common elevation value range; grouping the pixels or cells of the mapping according to the contour features; calculating a function of the grouped pixel or cell values ​​for each contour feature to obtain a function result for each contour feature; comparing the function result to a threshold for each contour feature; and reclassifying or resegmenting the mapping based on the comparison of each contour feature to the threshold.

[0035] The elevation data may be HAND DEM data or DEM data corresponding to the area of ​​interest.

[0036] The function for each contour feature can be the average value of the grouped pixels or cells.

[0037] The isoline features may be either isozone polygons formed from sets of physically connected pixels or cells of the elevation data, where each set of connected pixels or cells has the same elevation value or elevation values ​​within a range of elevation values, or isozone clusters, which are formed by applying a clustering algorithm to the elevation data to obtain clusters of pixels or cells of the elevation data within an elevation value interval.

[0038] The classification or segmentation mapping may be generated from the SAR data by performing classical and / or analytical processing on the SAR data or by performing machine learning processes on the SAR data. Thus, the mapping may be formed using any suitable method, and the process of forming the mapping need not be, but may be, part of the fourth aspect. The processing of the fourth aspect reduces the number of false positives and false negatives in the mapping by grouping pixels or cells within an area of ​​interest that have similar elevation values, such that these pixels or cells would be associated with areas of similar or the same elevation in the real world and therefore would be prone to the same level of flooding in a flood event.

[0039] According to a fifth aspect, the present disclosure provides a computer-implemented method for detecting the presence of water from synthetic aperture radar (SAR) data, the method including receiving, as a first input, SAR data relating to an area of ​​interest, receiving, as a second input, elevation data relating to the area of ​​interest, and processing the SAR data and the elevation data to obtain a mapping indicative of the presence of water in the area of ​​interest.

[0040] The methods described herein may be performed, for example, by software on a tangible storage medium in machine-readable form. In the form of a computer program comprising computer program code means, the program is adapted to perform all the steps of any of the methods described herein when run on a computer and the computer program may be embodied on a computer-readable medium. Examples of tangible (or non-transitory) storage media include disks, thumb drives, memory cards, etc., but do not include propagated signals. The software may be suitable for execution on a parallel or serial processor such that the method steps may be performed in any suitable order, or simultaneously.

[0041] This application recognizes that firmware and software are separately tradable commodities of value. This is intended to encompass software that runs on or controls "dumb" or standard hardware to perform a desired function. It is also intended to encompass software that "describes" or defines the configuration of hardware, such as HDL (Hardware Description Language) software used to design silicon chips or configure universal programmable chips to perform a desired function.

[0042] The preferred features may be combined as appropriate as would be apparent to one skilled in the art and may be combined with any aspect of the invention.

[0043] Embodiments of the invention will now be described, by way of example only, with reference to the following drawings, in which: [Brief explanation of the drawings]

[0044] [Figure 1] 1 is a schematic diagram of a system from which SAR data may be acquired for purposes of the present invention; [Figure 2] FIG. 2 is a second schematic diagram of a system in which SAR data may be acquired. [Figure 3] FIG. 1 is a flow diagram illustrating a machine learning model and its inputs and outputs, according to various embodiments. [Figure 4a] FIG. 1 illustrates elevation data, and in particular HAND DEM elevation data. [Figure 4b] FIG. 1 illustrates a comparison between HAND DEM data and DEM data in accordance with various embodiments. [Figure 5] FIG. 1 is a flow diagram illustrating steps for creating HAND DEM data according to various embodiments. [Figure 6] 1 shows an example elevation array and a filled elevation array as part of the process of creating HAND DEM data. [Figure 7] 1 shows a series of images related to the process of creating HAND DEM data, according to various embodiments. [Figure 8] 1 shows a diagram illustrating a portion of a method for creating HAND DEM data, according to various embodiments. [Figure 9] 1 shows a diagram illustrating a portion of a method for creating HAND DEM data, according to various embodiments. [Figure 10] 1 shows four images illustrating some of the methods for creating HAND DEM data, according to various embodiments. [Figure 11a] FIG. 1 shows a flow diagram illustrating a method for creating a training dataset for training a machine learning model, according to various embodiments. [Figure 11b] 1 shows a flow diagram illustrating a training process for a machine learning model, according to various embodiments. [Figure 12] 1 illustrates a flow diagram of a method for forming a flood probability map or mapping, according to various embodiments. [Figure 13] 1 illustrates a flow diagram of a method for post-processing a flood / water probability map, according to various embodiments. [Figure 14] 1 shows an annotated sequence illustrating some of the methods for post-processing flood / water probability maps, according to various embodiments. [Figure 15] 1 illustrates a schematic diagram including isobands, according to various embodiments. [Figure 16] 1 illustrates a schematic diagram including contour line clusters, according to various embodiments. [Figure 17] 1 shows an annotated sequence illustrating some of the methods for post-processing flood / water probability maps, according to various embodiments. [Figure 18] 1 shows images overlaid with schematic diagrams illustrating advantages of post-processing methods, according to various embodiments. [Figure 19] 1 illustrates a flow diagram of a post-processing method, according to various embodiments. [Figure 20] 1 shows a schematic diagram of a system for implementing the methods of various embodiments.

[0045] Common reference numbers are used throughout the figures to denote similar features. DETAILED DESCRIPTION OF THE INVENTION

[0046] The present application relates to computer-implemented methods, computing devices, and systems for identifying and / or detecting water in an area of ​​interest from SAR data.

[0047] Embodiments of the present invention are described below by way of example only. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example, although the same or equivalent functions and sequences may be accomplished by different examples.

[0048] The methods and systems described herein involve synthetic aperture radar (SAR) data acquired from SAR systems, such as satellites, for determining the presence of water and flooding in an area of ​​interest. SAR is particularly well-suited for use in satellite-based imaging systems because it can "see through" cloud cover and opaque atmospheric structures, such as fire smoke, to directly image the Earth's surface. SAR data is spatial and can therefore be processed to represent the observed area of ​​interest as a SAR image.

[0049] FIG. 1 is a perspective view of an exemplary satellite 100 in orbit above the Earth that may be used to acquire SAR data. The satellite 100 includes a body 110 and “wings” 160. One or more SAR antennas may be mounted on the satellite’s wings. The satellite 100 additionally includes a propulsion system 190, shown mounted on the side of the body 110 opposite the solar panels 150. The propulsion system may include thrusters 205, 210, 215, and 220, which are part of a system for maneuvering and steering the satellite 100 to properly position it to capture SAR images of the Earth. The satellite body 110 may house a computing system that may be configured to perform some or all of the operations described herein. The satellite 100 is configured to communicate with a ground station and / or computing system 195, a distributed computing system, or server, configured to post-process SAR data received from the satellite 110 and / or implement some or all of the operations described herein.

[0050] FIG. 2 depicts a schematic diagram of a satellite 100 orbiting Earth 120 and collecting SAR image data. The satellite 100 images targets on Earth corresponding to an area of ​​interest 140, such as a watershed, a lake, a rural environment, an urban environment, or other landscape of interest. The SAR imagery can be of an area of ​​1 square kilometer or more, 10 square kilometers or more, 50 square kilometers or more, 100 square kilometers or more, 1,000 square kilometers or more, 5,000 square kilometers or more, or 10,000 square kilometers or more. For example, the SAR imagery can be of an area of ​​interest that is 5 kilometers by 5 kilometers. Even with such large area target sizes, the spatial resolution of features using SAR data is very precise, allowing for the detection of features of sizes of 0.1 meters or less, 0.5 meters or less, 1 meter or less, 5 meters or less, 10 meters or less, or 50 meters or less.

[0051] In some embodiments, a machine learning model (ML model) is used that is configured to identify or detect the presence of water in an area of ​​interest from one or more inputs, at least one of which is SAR data. The output of the ML model is a feature map that classifies the area of ​​interest pixel by pixel according to a feature class. For purposes of flood detection and determining flood extent, the feature class is water / non-water. The feature map output by the ML model effectively encodes a single value for each pixel, where the value encoded for each pixel is representative of the feature class.

[0052] The ML model may include one or more neural networks, algorithms, etc., configured to perform classification or semantic segmentation to generate a feature map indicative of the presence of water in an area of ​​interest. In one example, the ML model may be a convolutional neural network (CNN). The CNN may be a CNN encoder and may include multiple convolutional layers, such that when data associated with an input including SAR image data is propagated through the CNN encoder, the input data is convolved and classified / segmented to generate the feature map. The ML model may have, for example, a ResNet, DenseNet, or EfficientNet architecture.

[0053] FIG. 3 illustrates an example of an ML model pipeline, including an input 212, a CNN encoder 220, and an output 232. As can be seen from FIG. 3, the input 212 includes at least SAR data, which is represented as an array of numbers. This input data is provided to the CNN encoder 220, which processes the data and provides the output 232, which is a feature map containing the classification or segmentation results. As can be seen from FIG. 3, the output 232 is a binary feature map, with each pixel classified as either class "1" or class "0." In embodiments of the present disclosure, these values ​​can represent water pixels and non-water pixels, respectively, or vice versa. The feature map 232 can be formed by thresholding an intermediate probability map produced by the ML model. In particular, the ML model can produce a flood probability map, whereby each pixel is assigned a value between 0 and 1 indicating the probability that the pixel contains water or non-water. These probability values ​​can then be subject to a threshold (e.g., a threshold of 0.5) to determine whether to assign 1 or 0 to each pixel to produce the feature map. Alternatively, the flood probability map, having values ​​between 0 and 1, may first undergo a post-processing method before being converted into a binary map, which is discussed in more detail below with reference to FIG.

[0054] In various embodiments, the SAR data associated with input 212 includes amplitude data indicating one or more amplitudes associated with each pixel of the SAR image. The SAR image data may include a single channel such that the amplitudes may be represented according to grayscale values.

[0055] In reflectance-based imaging, the phase value may indicate the distance between the pixelated imaging detector and the target surface from which the signal was reflected to generate the image. In other words, the phase data may indicate the optical path length of the imaging signal used to generate the SAR image data. For example, in the context of the SAR satellite system 100 of FIG. 1, the phase data indicates the relative height of the imaged target above the surface of the Earth 120.

[0056] In some embodiments, as illustrated in FIG. 3, the feature classification scheme is a binary classification scheme configured to classify identified objects as belonging to either a first feature class or a second feature class, e.g., water / non-water.

[0057] Simplifying the feature classification scheme to a binary classification scheme reduces the memory requirements of the methods described herein. In particular, the binary classification scheme allows the feature map 232 to be coded with a series of one-hot coding processes or the like.

[0058] In some embodiments, the feature classification scheme includes a land classification indicating that pixels so classified are representative of land and a water classification indicating that pixels so classified are representative of bodies of water, and the method further includes detecting and identifying the extent of flooding of land by bodies of water based on boundaries of the bodies of water.

[0059] The CNN encoder 220 allows the computing system on which it executes to capture and / or process large fields of view in a memory-efficient manner. In the context of a SAR imaging system, the CNN encoder 220 may compress images of large areas into smaller feature maps 232 212. For example, an input SAR image 212 may include 512×512 pixels and be compressed by the CNN encoder 220 into each feature map 232 having an area of ​​64×64 pixels. This represents a compression factor of 64. It should be understood that this is merely an example and other compression factors are possible.

[0060] In some embodiments, the input 212 to the CNN encoder, or more generally to the ML model, may further include data separate from the SAR data. In particular, the input 212 to the CNN may include Digital Elevation Model (DEM) data or Digital Elevation Model of Relative Height from Nearest Waterway (HAND DEM) data. HAND DEM data is Digital Elevation Model (DEM), Digital Surface Model (DSM), or Digital Terrain Model (DTM) data that has been subjected to a normalization process with respect to the specific characteristics of the area of ​​interest in question. DEM data and HAND DEM data are typically presented as an array of data points or cells that correspond to the relative elevation of an area.

[0061] DEMs typically provide global elevation information relative to sea level, making it difficult for models to understand the relationship between different height values ​​and the potential for flood flow within a particular area of ​​interest. For the purpose of flood detection and identification in a particular area of ​​interest, HAND DEMs offer an improvement because they provide elevation information relative to the elevation of the nearest waterway point within the area of ​​interest. Thus, HAND DEMs provide locally relevant elevation information that takes into account waterways / bodies in the area of ​​interest, which is useful when modeling how an area of ​​interest may be affected by flooding. Waterbodies or dams within an area of ​​interest may include lakes, rivers, oceans, or other waterway basins. Because HAND DEMs are effectively normalized to the local area, they can be stored and used using less data than equivalent DEM data provided only relative to sea level. For example, if it is known that flooding in a local area is not expected or will not exceed a certain height ratio from the nearest waterway (e.g., 10 m above the nearest waterway), then HAND DEM data is only needed for the 0-10 m range; the remaining HAND DEM data (above 10 m) can be ignored because such data is not associated with flooding. This is more difficult to verify with DEM data that is not produced for the local nearest waterway. Furthermore, using HAND DEM data, if it is known that flooding in a local area is not expected or will not exceed a certain height ratio from the nearest waterway (e.g., 10 m above the nearest waterway), then no flooding is expected at higher HAND DEM values; the ML model can incorporate this knowledge to provide easier and more consistent thresholding, thereby providing more accurate detection of flooding compared to DEM data.

[0062] Figure 4a shows an overview illustrating the HAND parameters on which the HAND DEM is based. As can be seen in Figure 4a, a building 401 has a height difference 402 from the nearest waterway from a water bank / body 403. If the normal depth of the water bank / body 403 is greater than the height difference 402 from the nearest waterway, the building 401 will be flooded. Therefore, the height difference from the nearest waterway is a local feature for the building 401.

[0063] Figure 4b shows a visual representation of the differences between a DEM and a HAND DEM. In particular, Figure 4b shows a model of a valley drawn according to DEM (DTM) data in a first view 410 and according to HAND DEM data in a second view 420. It is clear that the second view 420 is more precise than the first view 410, with more distinguishable features in the valley. This is because the river's absolute height above sea level changes as it flows down the valley. Because flooding occurs when a river overflows its banks, it makes sense to use the nearest body of water (the river) as a reference point instead of sea level, which changes with the river as it progresses down its river channel. This also makes the direction of water flow more apparent, making it easier to identify areas more prone to flooding based on the relative height difference between features and the nearest waterway. A HAND DEM facilitates thresholding (based on the expected maximum flood height), as discussed above, and requires fewer water height points than a DEM when dealing with steep slopes. HAND DEMs are locally normalized, thus resulting in less variation in elevation of flooded contours. This fact, combined with the ability to threshold the data at a specific elevation from the nearest waterway (e.g., 5 m, 10 m above the waterway), means that fewer HAND DEM points are required to model and detect floods compared to DEM data. As can be seen at scale in Figure 4, HAND DEM also has the advantage over DEMs in keeping depths within reasonable values. Furthermore, HAND DEM data can be used to create contours that are surrogate predictors of flood extent and depth. This can be related to the maximum water level gauge height of the nearest river / stream, the flood extent seen in SAR data, or by performing a single thresholding of the HAND DEM data to a specific elevation. In other words, because HAND DEM data is elevation data corresponding to the nearest waterway point, flood extent and depth can be quickly estimated using HAND DEM data.For example, if the HAND DEM data for a particular pixel indicates that the pixel is 5 meters above the nearest channel, then it can be inferred that the flood is at least 5 meters deep, at least at the nearest channel point. Furthermore, if the flooded pixel indicates a HAND DEM elevation of 6 meters, then the connected 5-meter HAND DEM pixel can be inferred to be at least 1 meter deep. A single HAND DEM threshold already captures the full extent of the flood with reasonable accuracy. That threshold can be derived (e.g., from a single water gauge) to determine the maximum observable water level. By using that value to threshold the HAND DEM data, it is possible to determine the full extent of the flood.

[0064] HAND DEM data can be used to generate water contour maps. Applying HAND DEM to generate water level contours based on SNS points is faster and easier than using a standard DEM. Furthermore, while current contouring approaches using DEMs require many contour points to control the flow of the landscape, a contouring approach using HAND DEM requires fewer points to capture the flood extent. This means that HAND DEM-related data can be processed faster and is therefore more efficient. A single HAND DEM threshold captures a larger flood extent than a conventional DEM, requiring fewer points.

[0065] Referring now to FIG. 5, a method 500 for generating HAND DEM data will be described. The method 500 includes an overall spatial analysis step, construction of a hydrological DEM, and generation of a HAND DEM. Construction of a hydrological DEM can help determine the actual water flow paths over the topography of an area of ​​interest by ensuring flow connectivity. This step requires breaking and / or filling depressions, defining flow paths, and calculating a cumulative area layer from which a channel network is defined. Construction of a hydrological DEM includes the following steps:

[0066] The first step 501 of method 500 involves collapsing depressions in the DEM data. Water can only move downstream in a DEM, which means that depressions must be removed to allow water to continue toward an outlet. A depression is defined as an area surrounded by higher-elevation cells in the DEM data, preventing further water movement. A filling algorithm examines the cells surrounding a depression and increases the elevation of the depression cells to match the lowest outlet cell. However, this alone can often result in unnatural flow paths, making it a disruptive tool for DEMs. For example, if the filling algorithm is applied alone to the area shown in example 710 in Figure 7, it can produce a result like the one shown in example 720 in Figure 7. The result clearly shows that the distinct waterway clearly visible in example 710 has been "washed out." To improve this result, a collapsing algorithm can be applied first, which instead lowers the elevation of cells along the path between the lowest cell in the depression and the depression's outlet. Therefore, this hybrid approach, combining fracturing and then filling, can create more accurate flow networks, such as those shown in example 730 of FIG.

[0067] Returning to FIG. 5 , the second step 502 of method 500 is to fill the remaining depressions using a filling algorithm. As noted above, the first step 501 involves fracturing using a fracturing algorithm. Thus, in method 500, fracturing precedes filling. Because the fracturing algorithm may not necessarily destroy all depressions, the remaining depressions need to be filled using a filling algorithm. This is an example of a hybrid implementation involving fracturing followed by filling, which may yield better results than simply applying either the filling or fracturing methods alone.

[0068] FIG. 6 shows how an example input DEM (DTM) array 610, when filled, changes to a filled DEM (DTM) array 620. In the example input DEM (DTM) 610, five pixels with a height of 2 are shown in 630 and are surrounded by pixels assigned a higher height. According to the model, water within this depression or depression may not have a way to escape. In reality, the depression may have a very small stream not captured in the DEM, or there may be a small imperfection in the DEM that leads to the depression. The 2 in the input DEM (DTM) 610 has been replaced with a 3 in the filled DEM (DTM), effectively "filling" the depression because this area is now flush with some of its surroundings, allowing water to flow to the left and exit through the "channel" indicated by pixel 640 with a height of 2. In this case, no further fracturing is necessary. Alternatively, instead of changing five pixels of the image to fill the depression in this example, the depression could be destroyed by replacing the height of the three pixels indicated by 650 with 2 instead of 3. This would create an exit from area 630 through pixel 650 to channel 640. In other examples, a hybrid approach involving first destroying and then filling any depressions, as described above with reference to Figure 7, may be used to provide better results.

[0069] In the third step 503, a flow accumulation layer is created. Water is assumed to follow a hydrological gradient, which means that in the DEM data, water flows to the cell with the steepest drop. Figure 8 shows an example of a DEM data array 810 processed according to the first step 501 and the second step 502. Water is assumed to follow a hydrological gradient, as illustrated by the arrow 812 (e.g., from cell 67 to cell 53). From this array 810, a flow direction layer 820 is created. The flow direction layer 820 is generated based on the direction encoding 830 and represents the direction in which the currently processed cell flows. Note that for cells with depressions, the flow direction cannot be determined, and therefore a filled DEM according to the second step 502 is required.

[0070] The flow direction layer 820 is then used as input to create a flow accumulation layer. This is shown in Figure 9. Figure 9 shows the flow direction layer 820 and the flow accumulation layer 910 generated from it. The flow accumulation layer 910 is a measure of the channel area within a unit grid cell, i.e., the number of cells contributing to the flow. The flow accumulation layer 910 is important for understanding where floods will occur and / or where water will flow on the surface of the observed area of ​​the area of ​​interest.

[0071] Returning to FIG. 5 , the fourth step 504 of method 500 is to define a watershed area threshold to generate a stream (i.e., stream) network. The watershed area threshold is adjustable, and adjusting this threshold can adjust and control the density of the stream network. For example, the smaller the watershed area threshold, the denser the stream network. FIG. 10 illustrates how the stream network is modified by selecting a threshold for watershed area thresholds of 300, 100, 50, and 10 sq km. It should be understood that these values ​​are exemplary, and any threshold may be used, including, for example, a threshold less than 1 sq km. To ensure an appropriate threshold is selected, real-world data related to rivers or streams may be used to determine the most appropriate threshold. To generate a similarity index for each potential stream network, each potential stream network from different watershed area thresholds (e.g., 10, 50, and 1000 sq km) may be compared to actual data related to water flow in the area of ​​interest. The similarity metric can be any suitable metric, such as the ratio of captured streams / waterways in the potential stream network to uncaptured streams / waterways present in the actual data. The actual data can be sourced, for example, from existing surveys and / or maps of the area of ​​interest, or can be sourced from satellite imagery. An applicable watershed threshold can be selected, in other words, the potential stream network can be selected based on which similarity metric is highest, i.e., for the stream network that most closely corresponds to the actual data.

[0072] Once the stream network is created, the hydrological DEM implementation portion of the method 500 is complete. This is then followed by the second spatial analysis step: HAND DEM generation.

[0073] In particular, returning to Figure 5, the fifth step 505 is the generation of HAND DEM data. This step involves creating HAND DEM data from the base DEM data. The generated stream network, flow direction, and base DEM are used to normalize the DEM using the channel network.

[0074] It should be understood that in method 500, the first step 501 of collapsing depressions in the DEM data is desirable but not required, and a HAND DEM can be generated by skipping the first step 501 and proceeding only with filling from the second step 502. Alternatively, collapsing can also be performed alone without filling.

[0075] As discussed above, HAND DEM data may be combined with SAR data as input 212 to an ML model for the purpose of detecting and determining the extent of flooding in an area of ​​interest. To implement this, the ML model is trained using training data that includes SAR training data and HAND DEM training data.

[0076] 11a illustrates a training pipeline for providing a first set of training data 1140 to an ML model 1150. As can be seen in FIG. 11a, the training data 1140 presented to the ML model 1150 for training purposes may include several inputs, including at least SAR data 1102 and DEM / HAND DEM data 1104. The SAR data 1102 may be in the form of single-look complex image data (SLC) and may be input to a DEM slicer 1106. The DEM slicer performs an operation of determining DEM data for an area of ​​interest identifiable from the SAR data, such as from a database of DEM data. In other words, the DEM slicer 1106 obtains DEM data corresponding to an area observed in the SAR data 1102.

[0077] The DEM / HAND DEM data 1104 and the SAR data 1102 are co-registered in a co-registration module 1108. The co-registration module 1108 effectively maps the SAR data 1102 to its correct location on Earth so that the SAR data 1102 can be matched to the DEM / HAND DEM data 1104. To ensure that the two data sets are properly matched in this manner, independent mapping data 1110 can be used to map both the SAR data 1102 and the HAND DEM data 1104 onto a common plot. The independent mapping data 1110 can be constructed from one or more mapping providers 1112.

[0078] The co-registration module 1108 forms a training dataset 1140, whereby each cell or pixel (corresponding to a physical area) of the training dataset 1140 includes a portion of the SAR image data and associated DEM / HAND DEM data. After the co-registration process by the co-registration module 1108, the data is labeled by a masking module 1114 with the expected result (water / non-water) for each pixel / cell. The data is then tiled, or in other words, divided into smaller subsets, by a tiling module 1116 for presentation to the ML model as the training dataset 1140. This training dataset 1140 is then presented to the ML model 1150 for training it using conventional training techniques understood by those skilled in the art.

[0079] The SAR data 1102 used to form the training data set 1140 includes SAR images of water and non-water. An effective way to provide such data is to acquire SAR data of permanent bodies of water, such as oceans, rivers, and lakes. Hundreds or thousands of SAR images of such permanent bodies of water are acquired to form the training data set 1140 in order to train the ML model 1150 to determine differences between areas (pixels) of water compared to non-water areas.

[0080] The training data (dataset) 1140 may be divided into two categories. The first category is data representing "non-water" classifications, and the second category is data representing "water" classifications. In some embodiments, the training data used to train the ML model 1150 or the CNN encoder 220 includes data representing both water and non-water feature classifications, and the data representing the non-water classifications in the training data is scarce compared to the data representing the water classifications. For example, the ratio of the amount of data representing the non-water classifications to the amount of data representing the water classifications in the training data may be 1:5 or less, 1:10 or less, 1:50 or less, 1:100 or less, 1:500 or less, or 1:1000 or less.

[0081] The training dataset 1140 forms a first input to the training method for training the ML model 1150 (CNN encoder 220). The second input to the training method is the output of the ML model 1150 or the CNN encoder 220.

[0082] FIG. 11b shows a flow diagram illustrating how the ML model 1150 can be additionally trained from the training dataset 1140 and the additional flood dataset 1160. As explained above and illustrated in FIG. 11b, the training dataset 1140 is formed from SAR image data corresponding to permanent water bodies so that the ML model 1150 is trained to detect the presence of water / non-water. To train the ML model 1150 to detect the presence of flood / non-flood, the additional flood dataset 1160 can be used. The flood dataset 1160 includes data related to flood water rather than permanent water bodies. The flood dataset includes SAR data of actual flood areas, whereby the data is labeled to indicate pixels containing flood or non-flood. The ML model 1150 is trained using the training dataset 1140, as illustrated in FIG. 11a, and then this trained ML model is retrained using the flood dataset 1160 to obtain a trained flood ML model.

[0083] FIG. 12 shows a method 1200 for combining the ML model of FIG. 3 trained according to FIGS. 11a and 11b with the HAND DEM data described above.

[0084] In a first step 1201, DEM data is retrieved for the area of ​​interest where flood detection / identification is to be performed.

[0085] In a second step 1202, HAND DEM data is generated from the DEM data. This may be done according to the method 500 described above. It should be understood that the HAND DEM data may be pre-generated such that the HAND DEM data may be directly acquired for an area of ​​interest without first acquiring associated DEM data.

[0086] In a third step 1203, the HAND DEM data is combined with the SAR data to form input to the ML model. The combination of the HAND DEM data and the SAR data may be co-registered in the same or similar manner as how training data 1140 is co-registered, as illustrated in FIG. 11a. In particular, the SAR data and the HAND DEM data are associated together based on the physical areas to which the data correspond. This co-registration may be performed based on independent mapping data to which the SAR data and the HAND DEM data themselves are mapped. This co-registration process effectively aligns the SAR data with the HAND DEM data such that each pixel in the SAR data corresponds to a respective pixel / cell in the HAND DEM data, forming a corresponding pair. Each corresponding pair from the SAR data and the HAND DEM data relates to the same physical portion of the area of ​​interest.

[0087] In a fourth step 1204, an ML model processes the input data from the third step 1203. In this step, a trained ML model, such as a CNN encoder, uses inputs including the SAR data and the spatially corresponding HAND DEM data to generate a feature map indicating the presence of water / non-water. As described above, the feature map may be a binary map formed by thresholding a probability map, whereby each pixel in the mapping data input to the SAR image / ML model is replaced with a 1 or 0. Alternatively, a probability map may be output, whereby each pixel in the input mapping data is replaced with a value between 0 and 1 indicating the probability that water / non-water is present in that pixel.

[0088] In a fifth step 1205, the ML model outputs a feature map and / or a flood probability map, which includes a segmentation or classification of the area of ​​interest according to the presence or absence of water and thus floods.

[0089] The flood probability map / feature map provided by the above method, when trained using permanent water bodies, can indicate the presence of water / non-water at each pixel of the SAR image. Because the model is trained using permanent water bodies, a further optional step is to ignore pixels in the flood probability map associated with permanent water bodies so that only flooded areas are retained. To do this, the probability map (having values ​​between 0 and 1) or feature map (having binary values ​​of 0 or 1) is transformed by subtracting the area of ​​known permanent water bodies from the ML model output. This leaves only data that accurately reflects the extent of flooding, providing a flood / non-flood comparison rather than a water / non-water comparison.

[0090] The HAND DEM data can also be used in a post-processing method that can be used in combination with the method for determining flood extent described in FIG. 12 and discussed above (using an ML model with SAR and HAND DEM data inputs), or alternatively, the post-processing method can be performed separately on any flood forecast map, such as the result of an ML model that requires only SAR data input.

[0091] 13 shows a method 1300 for post-processing a flood probability map. As indicated above, the flood probability map may be the same as the probability map obtained from the ML model, or may be any other flood forecast map that provides, for each pixel or group of pixels, the probability that the area corresponding to that pixel or group of pixels is flooded / not flooded.

[0092] In a first step 1301, HAND DEM data is obtained for an area of ​​interest corresponding to the same area for which a flood probability map 1305 has been provided. The flood probability map 1305 is formed of an array or image having cells or pixels that contain values ​​indicating the probability that the cell or pixel belongs to a particular classification (water / non-water). The cells or pixels correspond to real-world locations and coordinates that are extracted (e.g., with reference to mapping data) to determine the HAND DEM data to obtain. In other words, both the HAND DEM data and the flood probability map are georeferenced with respect to coordinates so that they can be properly aligned.

[0093] In a second step 1302, isoline features are extracted from the HAND DEM data. An isoline feature is a portion or region of the HAND DEM data that includes a set of connected pixels with elevation values ​​within an interval range (a range of elevation values). The isoline feature may be an isozone that follows an isoline (also known as a contour line) and defines an area with elevations within the interval range. Multiple such contour lines may be extracted from the HAND DEM data to define a set of isozone polygons, whereby each polygon is associated with an elevation interval range. The polygons may be nested within each other, for example, when a higher elevation area is surrounded by a lower elevation area. The elevation interval may be predetermined or adjustable. For example, the interval may be 0.5 m, 1 m, 2 m, 5 m, 10 m, 20 m, 50 m, or 100 m. Isoline features may alternatively be isoline clusters or superpixels, defined as sets of connected pixels connected to a seed pixel, whereby each set of connected pixels is within an elevation interval (range of elevation values) of the seed pixel. Isoline clusters may be generated by using any suitable clustering algorithm on the HAND DEM data. The clustering algorithm may set a maximum cluster size. Isoline clusters are similar to isozones in that they form polygons of pixels with similar elevation values ​​within an elevation interval. The area inside a isoline cluster contains pixels of similar elevation values.

[0094] In other words, an isozone is a group of connected cells or pixels within an elevation interval, formed by one or more contour lines. The area of ​​the isozone itself is the area that contains the cells / pixels within a common elevation range. Additional areas not within the isozone itself, but enclosed or nested within the shape formed by the isozone, for example, may vary in elevation. In fact, this enclosed area may contain additional isozones, as illustrated in Figure 14. A contour cluster contains all cells / pixels that fall within an elevation interval.

[0095] FIG. 14 shows an example array 1400 of HAND DEM data with representative elevation values. It should be understood that these values ​​are exemplary only and may vary to a greater extent than shown. In this example, for simplicity, the elevation interval is 1, meaning that only values ​​with the same integer value within the same interval may be considered. As can be seen in FIG. 14, the nearest waterway is represented by a 0 in the center of the array 1400. This is because the HAND DEM data is normalized to the nearest waterway, providing the nearest waterway with an elevation of zero. A first isoline feature, isoband 1401, is calculated, which includes all connected pixels within the interval from the waterway (i.e., all connected pixels with an elevation value of zero). A second isoline feature, isoband 1402, includes connected pixels with an elevation of one that surround the pixel with an elevation of zero. Other isobands, such as a third isoband 1403, are also possible.

[0096] Figure 15 shows a real-world example of HAND DEM data overlaid with an image of an area of ​​interest. The image includes isolines 1501 that define lines of similar elevation. These can be used to form isobands within the elevation intervals. Isobands can be plotted for each elevation interval by any suitable method. One such method is, for example, using isobands_matplotlib.py, which uses the library matpotlib for Python, or isobands_gdal.py, which uses GDAL for Python.

[0097] FIG. 16 shows a real-world example similar to FIG. 15 , except that image and HAND DEM data have been subjected to isoline clustering to generate isoline clusters 1601 rather than isobands. Isoline clusters have the advantage that they can be smaller isobands and potentially require less computational effort to create. Any suitable clustering algorithm may be used to create the isoline clusters. In one example, simple linear iterative clustering (SLIC) may be used to segment the HAND DEM data array into regions of uniform elevation values. This is done in three dimensions: the x- and y-directions of the array, and the z-dimension, where the z-dimension is the elevation value. The isoline clusters 1601 provide compact, approximately uniform regions of similar HAND DEM elevations.

[0098] Returning to FIG. 13 , once isoline features have been extracted from the HAND DEM data, the third step 1303 of method 1300 is to calculate an aggregation function for each isoline feature using corresponding flood probability values ​​from the flood probability map 1305. More specifically, for each isoline feature, there is a set of connected pixels that belong to that isoline feature. This set of connected pixels corresponds to a spatially identical set of pixels in the flood probability map 1305 because the flood probability map 1305 is georeferenced to the same area of ​​interest as the HAND DEM data, via mapping data or otherwise. This makes it possible to obtain flood probability values ​​for the flood probability map pixels that correspond to the set of pixels of a particular isoline feature.

[0099] FIG. 17 shows an example of a probability map 1700 corresponding to the HAND DEM array 1400 of FIG. 14. As part of the third step 1303 of the method 1300, a probability value is obtained from the flood probability map 1305 for each contour feature. In FIG. 17, contour feature 1402 is highlighted, which corresponds to the second contour feature 1402 of FIG. 14, which contains a pixel with an elevation of 1. All other cells / pixels are shaded for illustrative purposes only. The probability value ranges from 0 to 1 and represents the probability that the assigned pixel contains water / non-water, as assessed, for example, by an ML model. A probability value closer to 0 may represent non-water, and a probability value closer to 1 may represent water. In the third step 1303, an aggregate function is calculated for all the probability values ​​of the first contour feature 1402. The aggregate function may take any suitable form, such as a mean, median, etc. Averaging all of the probability values ​​results in an aggregate probability value of 0.79. An advantage of using an aggregation function with HAND DEM data is that potentially erroneous outliers in the flood probability map 1305 are easily corrected. In particular, there are two examples where using a HAND DEM and an aggregation function improves upon relying solely on a flood probability map to determine flood extent. The first of these is false negatives, or in other words, pixels misclassified as "no water" or no flooding in the flood probability map. This misclassification can occur due to inconsistencies in the SAR data, such as when the ground is covered by foliage, a roof, or some kind of canopy. The ground itself may be flooded, but this may not be apparent in the SAR data. An example of this is shown in pixel 1702 in FIG. 17, which has a flood probability value of 0.1 (very close to zero, which means no water). However, using a HAND DEM-dependent isoline feature, such as an isoband or isoline cluster, this pixel is associated with all pixels connected by the same elevation interval. Thus, when classified individually, this pixel 1702 may be misclassified as not flooded, whereas when classified according to the aggregation function (returning an aggregate score of 0.79), this pixel 1702 is correctly classified as flooded.This is logical because the pixel corresponds to an area of ​​the same height as the neighboring cells of the isoline feature, and each neighboring cell has a much higher probability value. A second benefit of using an aggregation function and HAND DEM isoline features is the reduction of false positives. This is effectively the opposite effect, so that the set of pixels within an isoline feature contains many pixels with flood probability values ​​close to 0, or in other words, classified as not having water, and one or more outliers with flood probability values ​​close to 1, or in other words, classified as flooded. By using an aggregation function and the resulting aggregate value, all pixels within the isoline feature can be assigned the same probability value corresponding to the aggregate value, eliminating false positives.

[0100] In alternative or additional embodiments, false positives and / or false negatives are identified prior to calculation of the aggregation function based on the magnitude of the difference between their probability values ​​and the probability values ​​of other pixels or cells within the contour feature. In this way, the calculation of the aggregation function, and therefore the aggregate value, is not distorted by the inclusion of erroneous probability values ​​associated with false positives or false negatives.

[0101] 13, the fourth step 1304 of the method 1300 is to process the aggregation function for each contour feature to obtain and output an improved flood probability map. In particular, this involves performing one or more operations with the aggregation function results, such as the aggregate probability values, to improve the classification / segmentation results provided by the flood probability map 1305.

[0102] In the example of FIG. 17 , the one or more operations may include thresholding the aggregate probability value (0.79) of the first contour feature 1401. The threshold may be any suitable value, such as 0.5. In this case, the aggregate probability value of 0.79 exceeds the threshold of 0.5, resulting in a determination that the contour feature 1401 is flooded. One or more operations performed on the flood probability map 1305 may then include assigning a value indicative of the presence of water to each pixel in the contour feature 1401, including any individual outliers, such as pixel 1702. For example, the flood probability map 1305 may be binarized with 0 and 1 to reflect the absence and presence of flooding, respectively. The output of such processing for all contour features provides an improved flood probability map that has fewer false positives and fewer false negatives than the flood probability map 1305, for at least the reasons described above. This ultimately provides a more reliable source of information for determining the true extent of flooding.

[0103] 13 is with respect to HAND DEM data, it should be understood that the method 1300 may also be implemented on DEM data, DTM data, etc. Using HAND DEM data can provide larger, more uniform contour features because fewer points are required than on a standard DEM.

[0104] FIG. 18 shows a schematic diagram 1800 of an area of ​​interest. Overlaid on the area of ​​interest is a first line 1801 showing the classification of pixels according to the flood probability map 1305. A second line 1802 shows the revised classification according to the improved flood probability map obtained by performing the post-processing method 1300 according to FIG. 13. It is easy to see that the second line 1802 differs from the first line 1801 in two ways. First, the false negatives, where the first line 1801 misclassifies pixels or areas as not containing water, are not present in the area defined by the second line 1802. Such areas are areas that underestimate the extent of the flood 1802a. These areas 1802a may not appear to be flooded in the SAR image, for example, due to the presence of trees or forest canopy, and as a result, appear in the probability map as having a low probability of flooding (false negatives). Second, the first line 1801 is expanded to include false positives, where the first line 1801 includes pixels or areas that were misclassified as containing water, while the second line 1802 correctly classifies these areas as not containing water. Such areas are areas that overestimate the extent of flooding 1802b. These regions 1802b may be shown as flooded in the original flood probability map due to the difficulties associated with imaging in urban environments, for example. FIG. 18 illustrates the benefit of applying the post-processing method 1300 to remove the presence of false negatives and false positives to provide an improved flood probability map, indicated by the dashed line 1802.

[0105] The method 1200 of using an ML model with DEM / HAND DEM input and SAR data input to obtain a flood probability map 1205, and if additionally implemented, the method 1300 of post-processing the flood probability map 1205, 1305, may be subject to further optional steps to improve the usefulness of the flood probability map 1205 / improved flood probability map.

[0106] 19 illustrates a post-processing method 1900 based on the post-processing method 1300 and including additional method steps. Initially, several inputs 1901 are provided for use in the method 1900. These include the HAND DEM / DTM data, a user-definable threshold for determining whether to adjust the flood probability map, the flood probability map (also referred to as the inferred output probability map), and a DEM ellipsoid for orthorectification purposes corresponding to the area of ​​interest. Thus, the DEM ellipsoid and the HAND DEM data input to the method 1900 represent the same area of ​​interest. As explained above, the flood probability map can be generated by an ML model according to the method 1200, or by any conventional alternative method, to classify / divide the area of ​​interest into water / non-water pixels or regions.

[0107] This method includes a first step 1902, a second step 1903, and a third step 1904. These three steps are the same as the second step 1302, the third step 1303, and the fourth step 1304 of the method 1300.

[0108] In particular, in a first step 1902, contour features are obtained from the DEM / HAND DEM data for the area of ​​interest. The contour features can be, for example, contour clusters such as superpixels, or contour-centered isozones, etc.

[0109] In a second step 1903, an aggregation function is calculated for each contour feature using the corresponding flood probability values ​​from the food probability map 1305. The aggregation function may be the average of each probability value from the flood probability map that is contained within a particular contour feature.

[0110] In a third step 1904, a threshold is applied to the results of the aggregation function. As discussed above, the threshold may be adjustable. The threshold is applied to the results of the aggregation function for each contour feature to determine whether each contour feature should be classified as water or non-water. The contour feature is then classified accordingly based on a comparison to the threshold. For example, the threshold may be 0.5 and the average probability value for a particular contour feature may be 0.66. In this example, because the average value exceeds the threshold, each pixel within the contour feature may be classified as containing water and assigned a binary value of 1 to indicate this. This forms the improved flood probability map discussed above with reference to FIG. 13.

[0111] In an optional fourth step 1905, the improved flood probability map is georeferenced to the original SAR imagery acquired for the area of ​​interest, or to other acquired images of the area of ​​interest if an alternative method was used to acquire the initial flood probability map. This step allows the improved flood probability map to be overlaid on the original SAR data / imagery of the area of ​​interest for visualization purposes.

[0112] In an optional fifth step 1906, orthorectification is performed on the combined SAR image / enhanced flood probability map to remove sensor, satellite / aircraft motion, and terrain-related geometric distortions from the raw image. This can be performed, for example, using Python's gdalwarp function to transform the raster. In this step, the DEM ellipsoid from the input is used to provide elevation data for the area of ​​interest to aid in the calculations and processes required to remove distortions from the SAR data. This step provides a transformed image.

[0113] In an optional sixth step 1907, the converted image may be formatted into a suitable format, such as Cloud Optimized GeoTIFF (COG), for easy reproduction and distribution via one or more computing devices, systems, or servers.

[0114] In an optional seventh step 1908, polygonization (e.g., rasteriopolygonization) is performed to extract one or more polygons from connected 1 pixels or connected 0 pixels from the improved flood probability map data.

[0115] These steps may produce one or more outputs 1909, including an orthorectified and georeferenced flood probability map based on the improved flood probability map, a vector file representing the inundated area, and data related to contour points and water depth using conventional techniques such as interpolation between contours / isozones.

[0116] As explained above, the post-processing method 1300 can be combined with the method 1200 for determining flood extent using an ML model, such that the HAND DEM / DEM data is both used as input for the ML model and also in the process of forming contour features for subsequent use in post-processing. This dual use of the HAND DEM / DEM data improves the accuracy of flood water detection and reduces the occurrence of false positives and false negatives returned from the output of the ML model.

[0117] Although the above description extensively exemplifies DEM and HAND DEM data, it should be understood that other spatial elevation data, such as DTM and HAND DTM, may alternatively be used.

[0118] The methods described herein may be implemented on any suitable computing device having a processor and a memory.

[0119] 20 illustrates a computing system 2000 according to various embodiments, on which any of the above methods may be implemented. In particular, computing system 2000 may include a single computing device or component, such as a laptop, tablet, desktop, or other computing device. Alternatively, the functionality of system 2000 may be distributed across multiple computing devices.

[0120] The computing system 2000 may include one or more controllers, such as a controller 2005, which may be any suitable processor or computing or calculation device, such as a central processing unit processor (CPU), a graphics processing unit (GPU), a chip, or the mentioned FPGA, an operating system 2015, a memory 2020 that stores executable code 2025, storage 2030, which may be external to the system or incorporated into the memory 2020, one or more input devices 2035, and one or more output devices 2040.

[0121] One or more processors in one or more controllers, such as controller 2005, may be configured to perform any of the methods described herein. For example, one or more processors in controller 2005 may be coupled to memory 2020 that stores software or instructions that, when executed by the one or more processors, cause the one or more processors to perform methods according to some embodiments of the present invention. Controller 2005, or a central processing unit within controller 2005, may be configured, for example, to use instructions stored in memory 2020 to perform some of the operations of the method for detecting flood water illustrated in FIG. 12 and / or the post-processing method illustrated in FIG. 13. Machine learning models of various embodiments may be stored in memory 2020, for example.

[0122] The SAR data may be received in a processor configured within the controller 2005, which then controls subsequent operation of the methods described above according to one or more commands or processes that may be stored as part of the executable code 2025.

[0123] The input devices 2035 may be or may include a mouse, keyboard, touch screen or pad, or any suitable input device. It will be appreciated that any suitable number of input devices may be operably connected to the computing system 2000, as indicated by block 2035. The output devices 2040 may include one or more displays, speakers, and / or any other suitable output device. It will be appreciated that any suitable number of output devices may be operably connected to the computing system 2000, as indicated by block 2040. The input and output devices may be used, for example, to allow a user to select information to be displayed, such as images and graphs as shown herein.

[0124] In the embodiments described above, all or part of the method may be implemented on a server. The server may include a single server or a network of servers. In some examples, the functionality of the server may be provided by a network of servers distributed throughout a geographic area, such as a worldwide distributed server network, and a user / operator of the method may be connected to an appropriate one of the network servers, for example, based on the user's location.

[0125] The embodiments described above may be fully automatic. In some examples, a user or operator of the system may manually indicate some steps of the method to be performed.

[0126] In embodiments described herein, the system may be implemented as any form of computing and / or electronic device. Such devices may include one or more processors, which may be microprocessors, controllers, or any other suitable type of processor for processing computer-executable instructions to control the operation of the device to collect and record routing information. In some examples, for example, when a system-on-chip architecture is used, the processor may include one or more fixed function blocks (also referred to as accelerators) that implement portions of the methodology in hardware (rather than software or firmware). Platform software, including an operating system or any other suitable platform software, may be provided in the computing-based device to enable application software to be executed on the device.

[0127] The various functions described herein may be implemented in hardware, software, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media may include, for example, computer-readable storage media. Computer-readable storage media may include volatile or nonvolatile, removable or non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media may be any available storage medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, flash memory or other memory devices, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. As used herein, disc and diskette include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray (RTM) discs (BDs). Additionally, propagated signals are not included within the scope of computer-readable storage media. Computer-readable media also includes communication media, which includes any medium that facilitates transfer of a computer program from one place to another. For example, a connection may be a communication medium. For example, when software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, or microwave, it is included within the definition of communication media. Combinations of the above should also be included within the scope of computer-readable media.

[0128] Alternatively or additionally, the functions described herein may be performed, at least in part, by one or more hardware logic components. For example, but not limited to, hardware logic components that may be used may include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.

[0129] Although illustrated as a single system, it should be understood that the computing device may be a distributed system. Thus, for example, several devices may communicate over network connections and may collaboratively perform tasks described as being performed by the computing device. Although shown as a local device, it should be understood that the computing device may be remotely located and accessed via a network or other communications link (e.g., using a communications interface).

[0130] The term "computer" is used herein to refer to any device having processing capabilities to enable the execution of instructions. Those skilled in the art will recognize that such processing capabilities are incorporated into many different devices, and thus the term "computer" includes PCs, servers, mobile phones, personal digital assistants, and many other devices.

[0131] Those skilled in the art will recognize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of a process described as software. A local or terminal computer may access a remote computer and download some or all of the software to execute the program. Alternatively, a local computer may download portions of the software as needed, or may execute the software instructions at a local terminal and the software instructions at a remote computer (or computer network). Those skilled in the art will also recognize that all or a portion of the software instructions can be executed by dedicated circuitry, such as a DSP, programmable logic array, or the like, utilizing conventional techniques known to those skilled in the art.

[0132] It will be understood that the benefits and advantages described above may relate to one embodiment or to several embodiments. The embodiments are not limited to those that solve any or all of the problems described or that have any or all of the benefits and advantages described. Variations should be considered within the scope of the present invention.

[0133] A reference to "an" item refers to one or more of those items. As used herein, the term "comprising" means including the specified method steps or elements, but such steps or elements do not comprise an exclusive list and the method or apparatus may include additional steps or elements.

[0134] As used herein, the terms "component" and "system" are intended to encompass computer-readable data storage comprised of computer-executable instructions that, when executed by a processor, cause a particular function to be performed. Computer-executable instructions may include routines, functions, etc. It should also be understood that a component or system may be localized on a single device or distributed over several devices.

[0135] Moreover, as used herein, the word "exemplary" is intended to mean "serving as an illustration or example of something."

[0136] Furthermore, to the extent the term "includes" is used in the description or claims, such term is intended to be inclusive in the same manner as the term "comprising" when it is employed as a transitional word in the claims.

[0137] Furthermore, the acts described herein may include computer-executable instructions that may be implemented by one or more processors and / or stored on one or more computer-readable media. Computer-executable instructions may include routines, subroutines, programs, threads of execution, etc. Furthermore, the results of the acts of the methods may be stored on a computer-readable medium and displayed on a display device.

[0138] Although the ordering of steps in the methods described herein is exemplary, these steps may be performed in any suitable order, or simultaneously where appropriate. Additionally, steps may be added or substituted to any of the methods, or individual steps may be deleted, without departing from the scope of the subject matter described herein. Aspects of any of the embodiments described above may be combined with aspects of any of the other embodiments described above to form further embodiments without losing the desired effect.

Claims

1. 1. A computer-implemented method for detecting the presence of water from synthetic aperture radar (SAR) data, the method comprising: receiving SAR data relating to an area of ​​interest as a first input; receiving, as a second input, elevation data relating to the area of ​​interest; and inputting the SAR data and the elevation data into a machine learning model, wherein the machine learning model: receiving inputs including SAR and elevation data; and A method configured to perform classification or segmentation on the input to generate a mapping indicative of the presence of water in the area of ​​interest.

2. 2. The method of claim 1, wherein the mapping is a flood probability map, the flood probability map having a plurality of pixels or cells, each pixel or cell containing a value indicating the probability that a corresponding pixel or cell in the input contains water.

3. The method of claim 2 , further comprising binarizing the values ​​indicating the probability for each pixel or cell in the mapping to obtain a binary mapping.

4. 10. The method of any one of the preceding claims, wherein the machine learning model is a neural network trained to perform classification or segmentation of the SAR and elevation data and to produce the mapping of the area of ​​interest.

5. Prior to inputting the SAR and elevation data into the machine learning model, co-registering the SAR data with the elevation data such that each pixel or cell of the SAR data is linked to a corresponding pixel or cell in the elevation data to form a linked pair of pixels or cells; 10. A method according to any one of the preceding claims, wherein each linked pair of pixels or cells corresponds to the same part of the area of ​​interest.

6. training the machine learning model to detect water from inputs including SAR and elevation data using a training dataset; 10. The method of any one of the preceding claims, wherein the training data set comprises permanent water body SAR data.

7. obtaining information relating to the location of one or more permanent bodies of water in the area of ​​interest; 7. The method of claim 6, further comprising adjusting the mapping to eliminate values ​​from pixels or cells of the mapping that correspond to the location of the one or more permanent bodies of water in the area of ​​interest so that the mapping indicates the presence of flooding.

8. The method of claim 6 or 7, additionally comprising additionally training the machine learning model with a flood dataset, the flood dataset comprising SAR flood image data.

9. and further comprising post-processing the flood probability map to obtain an improved flood probability map, wherein the post-processing comprises: generating one or more contour features from the elevation data, each contour feature being associated with a common elevation value or a common elevation value range; grouping the pixels or cells of the flood probability map according to the contour line features; calculating a function of the values ​​of the grouped pixels or cells for each contour feature to obtain a function result for each contour feature; comparing the function result to a threshold for each contour feature; A method according to claim 2, or any one of claims 3 to 8 when dependent on claim 2, comprising reclassifying or re-segmenting the flood probability map based on the comparison of each contour feature to the threshold.

10. The method of claim 9 , wherein the function is an aggregate function.

11. The method of claim 10 , wherein the aggregation function for each contour feature is the average value of the values ​​of the grouped pixels or cells.

12. 12. A method according to any one of claims 9 to 11, wherein the contour features are isozone polygons formed from sets of physically connected pixels or cells of the elevation data, each set of connected pixels or cells having an equivalent elevation value or elevation values ​​within a range of elevation values.

13. The contour feature is a contour cluster, 12. A method according to any one of claims 9 to 11, wherein the contour clusters are formed by applying a clustering algorithm to the elevation data to obtain clusters of pixels or cells of the elevation data within an elevation value interval.

14. A method according to any preceding claim, wherein the elevation data is generated relative to the elevation of a body of water or a water bank within or adjacent to the area of ​​interest.

15. 15. The method of claim 14, wherein the elevation data comprises digital elevation model data (HAND DEM data) of elevations relative to the nearest watercourse, and the body of water or levee within or adjacent to the area of ​​interest is the nearest watercourse.

16. generating the HAND DEM data from DEM data of the area of ​​interest, wherein generating the HAND DEM data includes: filling one or more depressions in the DEM data to create filled DEM data; creating a flow stack layer defining flow directions within the filled DEM data; applying an area threshold to the flow accumulation layer to generate a flow network indicative of water flow patterns in the area of ​​interest; and generating the HAND DEM data from the stream network.

17. before filling one or more depressions in the DEM data; 17. The method of claim 16, further comprising collapsing one or more depressions in the DEM data to generate collapsed DEM data, wherein filling one or more depressions is performed on the collapsed DEM data.

18. applying an area threshold to the flow accumulation layer; applying a plurality of area thresholds to the flow accumulation layer to obtain a plurality of potential flow networks; comparing each of the potential flow networks with actual data associated with water flow in the area of ​​interest to generate a similarity index for each potential flow network; and selecting the area threshold to be applied based on the potential flow network with the highest similarity measure.

19. 19. A computing device comprising a memory and a processor, the memory having stored therein instructions that, when executed by the processor, cause the processor to perform a method according to any one of claims 1 to 18.

20. A computer readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 18.

21. 1. A computer-implemented method for processing a classification or segmentation mapping indicative of the presence of water in an area of ​​interest, the mapping comprising a plurality of pixels or cells, each of the plurality of pixels or cells having a value indicative of a probability that a corresponding portion of the area of ​​interest contains water, the method comprising: generating one or more contour features from the elevation data, each contour feature being associated with a common elevation value or a common elevation value range; grouping the pixels or cells of the mapping according to the contour features; calculating a function of the values ​​of the grouped pixels or cells for each contour feature to obtain a function result for each contour feature; comparing the function result to a threshold for each contour feature; reclassifying or resegmenting the mapping based on the comparison of each contour feature to the threshold.

22. 22. The method of claim 21, wherein the elevation data is HAND DEM data or DEM data corresponding to the area of ​​interest.

23. 23. A method according to claim 21 or 22, wherein the function for each contour feature is the average value of the values ​​of the grouped pixels or cells.

24. The contour feature is isoband polygons formed from sets of physically connected pixels or cells of the elevation data, each of the sets of connected pixels or cells having the same elevation value or elevation values ​​within a range of elevation values; or A contour cluster, or a contour cluster formed by applying a clustering algorithm to the elevation data to obtain clusters of pixels or cells of the elevation data within an elevation value interval.

25. The classification or segmentation mapping is performed from the SAR data by: classical and / or analytical processing of said SAR data; or The method of any one of claims 21 to 24, wherein the SAR data is generated by performing a machine learning process on the SAR data.