Flood segmentation method using synthetic aperture radar images and digital elevation models
Patent Information
- Application Number
- EP2024701178
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-18
- Filing Date
- 2024-01-17
- Publication Date
- 2025-11-26
AI Technical Summary
Current Synthetic Aperture Radar (SAR) technologies face challenges in accurately detecting flooded areas due to irregular water reflections and obstructions like foliage and buildings, leading to insufficient data for reliable flood detection and mapping.
A computer-implemented method combining SAR data with Digital Elevation Models (DEMs) using a machine learning model, specifically a convolutional neural network, to generate a flood probability map, which improves detection accuracy by coregistering SAR and elevation data and post-processing to reduce false positives and negatives.
The method provides more accurate flood detection with reduced false positives and negatives by integrating SAR and elevation data, enabling better assessment of flood extent and severity.
Smart Images

Figure EP2024051051_25072024_PF_FP_ABST
Abstract
Description
FLOOD SEGMENTATION METHOD USING SYNTHETIC APERTURE RADAR IMAGES AND DIGITAL ELEVATION MODELSTECHNICAL FIELD
[0001] The invention relates to Machine Learning, Remote Sensing, Image Processing, Computer Vision, Synthetic Aperture Radar, and in particular, a computer implemented method and computer device for detecting the presence of water and floodwater from Synthetic-aperture radar, SAR, data.BACKGROUND OF INVENTION
[0002] A flood is an overflow of water that submerges land that is otherwise usually dry. Flooding can occur for several reasons and has the potential to cause significant loss of life and / or property damage. It can be difficult to know the extent and severity of the damage caused by flooding, especially during the flood itself, when the situation can change rapidly, and also immediately after the flooding when infrastructure and communication systems may have been destroyed.
[0003] In order to coordinate human response to flooding events, and to assess the damage caused by a flood, it is necessary to obtain accurate data and information regarding the extent of the flood. One way of doing this is to use Synthetic Aperture Radar (SAR) to observe an area affected by a flood. SAR is an effective way of monitoring floods, since it has all-weather capability, is independent of sunlight, and can be used to differentiate between water and land.
[0004] However, using SAR for the purpose of monitoring floods presents several challenges. One such challenge is the random and unpredictable interactions between the SAR radar beam and the surface of the water. When the water is not still, or otherwise includes waves, disturbances, or the like, the SAR radar beam may be reflected irregularly, producing variations in the SAR data that make it more difficult to identify flooded areas. Furthermore, flooding may be obstructed from the view of a SAR system by foliage such as trees and crops in rural areas, or buildings, bridges and the like in urban areas, for example. These types of challenges mean that the SAR data may be insufficient for reaching an acceptable detection performance for flood detection and mapping.
[0005] It has thus been considered that a more accurate way of detecting and / or observing flooding and flooding extent using SAR data is required.SUMMARY OF 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 to be used to determine the scope of the claimed subject matter; variants and alternative features whichfacilitate the working of the invention and / or serve to achieve a substantially similar technical effect should be considered as falling into the scope of the invention 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 comprising: receiving, as a first input, SAR data with respect to an area of interest; receiving, as a second input, elevation data, with respect to the area of interest; and inputting the SAR data and the elevation data into a machine learning model, wherein the machine learning model is configured to: receive an input comprising SAR and elevation data; and perform a 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 corresponding to the SAR data and the corresponding elevation data, and provides more accurate detection of the extent of flooding when compared to the use of one input alone.
[0009] Using SAR image data, such as Single Look Complex (SLC) image data, in addition to geographically corresponding elevation data means that there are two sources of data that are combined and processed to obtain the mapping which provides more accurate flood detection with a reduction in false positive and false negative detections when compared to the use of one source of data alone.
[0010] The machine learning model may be a neural network trained to perform classification or segmentation of the SAR and elevation data and to produce the mapping corresponding to the area of interest. The neural network may be a convolutional neural network having an input layer, an output layer, a convolution layer and one or more hidden layers. The neural network may have a residual neural network (ResNet) architecture, for example.
[0011] The mapping may be a flood probability map, the flood probability map having a plurality of pixels or cells, each pixel or cell including a value indicative of a probability that a corresponding pixel or cell in the SAR data includes water. The values of each pixel or cell in the flood probability map may be between 0 and 1 and may be representative of whether a corresponding portion of the area of interest is determined to include flood water, on the basis of the SAR data and the elevation data.
[0012] The method may further comprise binarizing the value indicative of probability for each pixel or cell in the mapping to obtain a binary mapping. The binary mapping may thus include a set of 1s and 0s indicative of the presence of water / flood and no water / no flood, or vice versa.
[0013] The method may further comprise, prior to inputting the SAR and elevation data into the machine learning model: coregistering the SAR data to 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 linkedpair of pixels or cells, wherein each linked pair of pixels or cells corresponds to a 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 prior to performing the method, and rather, the elevation data and the SAR data can be matched together after it is retrieved. One such way of matching the SAR data to the elevation data is to use independent mapping data such as Ordnance Survey (OS) map data to co-register the elevation data and the SAR data to, such that a pair of cells / pixels (one from the SAR data and one from the elevation data) are linked to the same mapping data and thus the same position in the area of interest.
[0015] The method may further include training the machine learning model to detect water from an input comprising SAR and elevation data, using a training dataset; wherein the training dataset includes permanent water body SAR data. Using permanent water body SAR data includes using SAR data that observes seas, lakes, oceans, reservoirs or rivers. Such data is more easily obtained than genuine flood water, and thus, a larger sample of training data may be obtained and used.
[0016] The method may further include obtaining information relating to the position of one or more permanent water bodies in the area of interest; and adjusting the mapping to remove values from pixels or cells of the mapping corresponding to the position of the one or more permanent water bodies in the area of interest, such that the mapping is indicative of the presence of flooding. In other words, the presence of water detected by the machine learning model in the area of interest may be compared to data relating to pre-existing permanent water bodies in the area of interest, so that the presence of any additional flood water may be determined.
[0017] The method may further comprise additionally training the machine learning model with a flood dataset, the flood dataset comprising SAR flood image data.
[0018] The method may further comprise post-processing the flood probability map to obtain an improved flood probability map, the post-processing including: generating one or more isoline features from the elevation data, each isoline feature 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 isoline features; computing a function of the values of the grouped pixels or cells for each isoline feature to obtain a function result for each isoline feature; comparing, for each isoline feature, the function result to a threshold; reclassifying or resegmenting the flood probability map based on the comparison of each isoline feature against the threshold. The isoline features may be considered contour line features.
[0019] The processing of the SAR and elevation data to obtain the mapping may be performed using the machine learning model outlined above or may be performed using any classification or segmentation algorithm. The use of the elevation data and SAR data to form the mapping, andthen the elevation data once again to post-process and reclassify / resegment the mapping improves the accuracy of flood detection as it reduces the occurrence of false positives and false negatives in the mapping. This process produces an improved mapping.
[0020] The threshold may be an arbitrary, selectable value. The mapping may have probability values between 0 and 1 and the threshold may be 0.5. The comparison of the function result for each isoline feature to the threshold may be determining whether the threshold has been exceeded by the function result. If the function result exceeds the threshold, all pixels in the grouped pixels associated with the isoline feature may be reclassified or resegmented by replacing the values of these pixels with a value that corresponds to water / not water. For example, if the function result exceeds the threshold of 0.5, each pixel in the group of associated pixels for that isoline feature may be assigned the value 1 , indicative of the presence of water, whilst another function result for another isoline feature may not exceed the threshold, and the grouped pixels associated with this isoline feature may be assigned the value 0, indicative of no water.
[0021] The step of generating isoline features may include retrieving isoline features from an isoline feature database. In this way, the isoline features may be pre-generated and stored for later retrieval.
[0022] The function may be an aggregate function, meaning it takes into account the values of each of the pixels in the grouped pixels corresponding to a particular isoline feature when determining the function result.
[0023] The aggregate function for each isoline feature may be the mean value of the values of the grouped pixels or cells. Prior to calculating the mean, one or mor values from the grouped pixels associated with the isoline feature may be disregarded if they are substantially different in value from other values in the grouped pixels.
[0024] The isoline feature may be an isoband polygon, formed from a set of physically connected pixels or cells of the elevation data, wherein the set of connected pixels or cells each have an equivalent elevation value or an elevation value within an elevation value range. The isoband polygon may be an isoband or contour.
[0025] Alternatively, the isoline feature may be an isoline cluster, formed by: applying a clustering algorithm to the elevation data to obtain a cluster 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 the mapping to reclassify or resegment the flood probability map to generate an improved flood probability map, using elevation data, includes generating theflood probability map using the machine learning model as set out above. The improved flood probability map may subsequently be binarized in a binarization process.
[0027] The elevation data may be generated relative to an elevation of a body or bank of water in or adjacent to the area of interest. In this manner, the elevation data is local and normalised to the area of interest, rather than a distant point such as an ocean at sea-level.
[0028] The elevation data may include Height Above Nearest Drainage Digital Elevation Model data, HAND DEM data, wherein the body or bank of water in or adjacent to the area of interest is the nearest drainage.
[0029] The method may further comprise generating the HAND DEM data from DEM data of the area of interest, wherein generating the HAND DEM data comprises: filling one or more depressions in the DEM data to create filled DEM data; creating a flow accumulation layer that defines the flow direction in the filled DEM data; applying an area threshold to the flow accumulation layer to generate a flow network indicative of the flow patterns of water in the area of interest; and generating the HAND DEM data from the flow network.
[0030] The method may further comprise, prior to filling one or more depressions in the DEM data: breaching one or more depressions in the DEM data to generate breached DEM data, wherein filling one or more depressions is performed on the breached DEM data.
[0031] The method may further comprise: 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 to actual data relating to water flow in the area of interest to generate a similarity measure for each potential flow network; and selecting the area threshold to be applied based on the potential flow network for which the similarity measure is highest.
[0032] According to a second aspect, the present disclosure provides a computing device comprising a memory and processor, the memory having instructions stored thereon, which, when executed by the processor, cause the processor to perform the method of the first aspect as set out in any of the above statements. The computing device may be a single device or a computer system, such as a distributed computer system.
[0033] According to a third aspect, the present disclosure provides computer readable medium having instructions stored thereon, which, when executed by the processor, cause the processor to perform the method of the first aspect as set out in any of the above statements.
[0034] According to a fourth aspect, the present disclosure provides a computer-implemented method of processing a classification or segmentation mapping indicative of the presence of water in the area of interest, wherein the mapping includes a plurality of pixels or cells each having a value indicative of a probability that a corresponding portion of the area of interest includes water, the method comprising: generating one or more isoline features from elevationdata, each isoline feature associated with a common elevation value or a common elevation value range; grouping the pixels or cells of the mapping according to the isoline features; computing a function of the values of the grouped pixels or cells for each isoline feature to obtain a function result for each isoline feature; comparing, for each isoline feature, the function result to a threshold; reclassifying or resegmenting the mapping based on the comparison of each isoline feature against 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 isoline feature may be the mean value of the values of the grouped pixels or cells.
[0037] The isoline feature may be either: an isoband polygon, formed from a set of physically connected pixels or cells of the elevation data, wherein the set of connected pixels or cells each have an equivalent elevation value or an elevation value within an elevation value range; or an isoline cluster, formed by: applying a clustering algorithm to the elevation data to obtain a cluster of pixels or cells of the elevation data within an elevation value interval.
[0038] The classification or segmentation mapping may be generated, from SAR data, by performing: classical and / or analytical processing on the SAR data; or a machine-learning process on the SAR data. The mapping may thus be formed using any suitable method, and the process of forming the mapping does not need to 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 that have similar of the same elevation values in the area of interest. It follows that these pixels or cells should relate to areas in the real world that are of similar or the same elevation, and thus should be prone to the same level of flooding in a flooding event.
[0039] According to a fifth aspect, this disclosure provides a computer-implemented method for detecting the presence of water from Synthetic-Aperture Radar, SAR, data, the method comprising: receiving, as a first input, SAR data with respect to an area of interest; receiving, as a second input, elevation data, with respect 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 by software in machine readable form on a tangible storage medium e.g. in the form of a computer program comprising computer program code means adapted to perform all the steps of any of the methods described herein when the program is run on a computer and where the computer program may be embodied on a computer readable medium. Examples of tangible (or non-transitory) storage media include disks, thumbdrives, memory cards etc. and do not include propagated signals. The software can be suitable for execution on a parallel processor or a serial processor such that the method steps may be carried out in any suitable order, or simultaneously.
[0041] This application acknowledges that firmware and software can be valuable, separately tradable commodities. It is intended to encompass software, which runs on or controls “dumb” or standard hardware, to carry out the desired functions. It is also intended to encompass software which “describes” or defines the configuration of hardware, such as HDL (hardware description language) software, as is used for designing silicon chips, or for configuring universal programmable chips, to carry out desired functions.
[0042] The preferred features may be combined as appropriate, as would be apparent to a skilled person, and may be combined with any of the aspects of the invention.BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Embodiments of the invention will be described, by way of example, with reference to the following drawings, in which:
[0044] Figure 1 is a schematic diagram of a system by which SAR data may be obtained for the purposes of the invention;
[0045] Figure 2 is a second schematic diagram of the system by which SAR data may be obtained;
[0046] Figure 3 is a flow diagram illustrating the machine learning model with its input and output, according to various embodiments;
[0047] Figure 4a is a diagram illustrating elevation data and in particular HAND DEM elevation data;
[0048] Figure 4b is a diagram showing a comparison between HAND DEM data and DEM data according to various embodiments;
[0049] Figure 5 is a flow diagram showing the steps for creating HAND DEM data according to various embodiments;
[0050] Figure 6 shows a diagram of an exemplary elevation array and a filled elevation array as part of the process of creating HAND DEM data;
[0051] Figure 7 shows a series of images relating to the process of creating HAND DEM data according to various embodiments;
[0052] Figure 8 shows a diagram illustrating part of a method of creating HAND DEM data according to various embodiments;
[0053] Figure 9 shows a diagram illustrating part of a method of creating HAND DEM data according to various embodiments;
[0054] Figure 10 shows four images illustrating part of the method of creating HAND DEM data according to various embodiments;
[0055] Figure 11a shows a flow diagram illustrating a method of creating a training dataset for training the machine learning model according to various embodiments;
[0056] Figure 11b shows a flow diagram illustrating a training process for the machine learning model according to various embodiments;
[0057] Figure 12 shows a flow diagram of a method of forming a flood probability map, or mapping, according to various embodiments;
[0058] Figure 13 shows a flow diagram of a method of post-processing the flood / water probability map, according to various embodiments;
[0059] Figure 14 shows an annotated array, illustrating a part of the method of post-processing the flood / water probability map, according to various embodiments;
[0060] Figure 15 shows a schematic diagram including isobands, according to various embodiments;
[0061] Figure 16 shows a schematic diagram including isoline clusters, according to various embodiments;
[0062] Figure 17 shows an annotated array, illustrating a part of the method of post-processing the flood / water probability map, according to various embodiments;
[0063] Figure 18 shows an image overlaid with a schematic diagram illustrating advantages of the post-processing method according to various embodiments;
[0064] Figure 19 shows a flow diagram of the post-processing method according to various embodiments; and
[0065] Figure 20 shows a schematic diagram of a system for performing the methods of various embodiments.
[0066] Common reference numerals are used throughout the figures to indicate similar features.DETAILED DESCRIPTION
[0067] This application is related to a computer implemented method, a computing device, and a system for identifying and / or detecting water in an area of interest from SAR data.
[0068] 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. However, the same or equivalent functions and sequences may be accomplished by different examples.
[0069] The methods and systems described herein comprise Synthetic-Aperture Radar (SAR) data, obtained from a SAR system such as a satellite, to determine the presence of water, and flooding, in an area of interest. SAR is particularly appropriate for use in satellite-based imaging systems because it is able to "see through" opaque atmospheric structures such as cloud cover and smoke from fires to directly image the surface of the Earth. The SAR data is spatial and can thus be processed to represent an area of interest being observed as a SAR image.
[0070] Figure 1 is a perspective view of an exemplary satellite 100 in orbit over Earth, that may be used to obtain SAR data. The satellite 100 comprises a body 110 and "wings" 160. One or more SAR antennas may be mounted on the satellite wings. The satellite 100 additionally comprises a propulsion system 190 shown to be mounted on the body 110 on the surface opposite the solar panels 150. The propulsion system can comprise thrusters 205, 210, 215, 220, which are part of the system for operating and manoeuvring the satellite 100 to position it appropriately for capturing SAR imagery of the Earth. A computing system may be housed in the satellite body 110 which may be configured to implement some or all of the operations described here. The satellite 100 is configured to communicate with a ground station and / or computing systems 195, distributed computing systems or servers, which are configured to post-process the SAR data received from the satellite 110 and / or to implement some or all of the operations described here.
[0071] Figure 2 depicts a schematic of the satellite 100 in orbit around the Earth 120 collecting SAR image data. The satellite 100 images a target on the Earth corresponding to an area of interest 140, such as a watershed, a lake, a rural environment, an urban environment or any other landscape of interest. The SAR images may be an image of an area of 1 square kilometre or more, 10 square kilometres or more, 50 square kilometres or more, 100 square kilometres or more, 1000 square kilometres or more, 5000 square kilometres or more, or 10 000 square kilometres or more. For example, the SAR images may be of a 5 kilometre x 5 kilometre area of interest. Even with subject sizes of such a large area, spatial resolution of features can be highly accurate with SAR data, capable of detecting features of sizes of 0.1 metres or less, 0.5 metres or less, 1 metre or less, 5 metres or less, 10 metres or less, or 50 metres or less.
[0072] In some embodiments, a machine learning model (ML model) that is configured to identify or detect the presence of water in an area of interest from one or more inputs is used. At least one of the one or more inputs 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 classification. For the purposes of detecting, and determining the extent of a flood, the feature classification is water / not water. Thefeature map output by the ML model effectively encodes a single value to each pixel, wherein the value encoded to each pixel is representative of the feature classification.
[0073] The ML model may include one or more neural networks, algorithms or the like, that are configured to perform classification or semantic segmentation to generate the feature map showing the presence of water in the area of interest. In an example, the ML model may be a convolutional neural network (CNN). The CNN may be a CNN encoder and may comprise multiple convolutional layers such that as the data associated with the inputs, including the SAR image data, is propagated through the CNN encoder, the input data is convolved and classified / segmented to generate a feature map. The ML model may have a ResNet, DenseNet or EfficientNet architecture, for example.
[0074] Figure 3 shows an example of a pipeline of the ML model including an input 212, the CNN encoder 220, and an output 232. As can be seen from Figure 3, the input 212 includes at least SAR data, represented by an array of numbers. This input data is provided to the CNN encoder 220, which processes the data to provide the output 232, a feature map that includes a classification or segmentation result. As can be seen from figure 3, the output 232 is a binary feature map, such that each pixel has been classified into either class T or class 'O'. In embodiments of the present disclosure, these values may represent water and non-water pixels respectively, or vice versa. The feature map 232 may be formed by thresholding an intermediate probability map produced by the ML model. In particular, the ML model may produce a flood probability map, whereby each pixel is assigned a value between 0 and 1 indicative of the probability that said pixel includes water or not water. These probability values may then be subject to a threshold (for example a threshold of 0.5), to determine whether to assign each pixel a 1 or a 0 to produce the feature map. Alternatively, the flood probability map, with values between 0 and 1, may first undergo a post processing method before being converted to a binary map. The post processing method is discussed in more detail later with respect to figure 13.
[0075] In various embodiments, the SAR data associated with the input 212 includes amplitude data indicative of one or more amplitudes respectively associated with each pixel of the SAR image. The SAR image data may comprise a single channel, such that the amplitude may be indicated according to a grayscale value.
[0076] In reflection-based imaging, the phase value may be indicative of a distance between the pixel imaging detector and the surface of the target from which the signal was reflected to generate the image. In other words, phase data can be indicative of the optical path length of an imaging signal used to generate the SAR image data. For example, in the context of the SAR satellite system 100 of Figure 1 , phase data is indicative of a relative height of an imaged target on the surface of the Earth 120.
[0077] In some embodiments, as illustrated in figure 3, the feature classification scheme is a binary classification scheme configured to classify identified objects as belonging to either a first feature classification or a second feature classification, such as water / not water.
[0078] By simplifying the feature classification scheme to a binary classification scheme, the memory requirements of the methods described here are reduced. In particular, a binary classification scheme allows the feature map 232 to be encoded with a series of one-hot encoding processes or similar.
[0079] In some embodiments, the feature classification scheme includes: a land classification indicating that a pixel classified as such is representative of land, and a water classification indicating that a pixel classified as such is representative of a body of water, and the method further comprises: detecting and identifying the extent of flooding of the land by the body of water based on the boundaries of the body of water.
[0080] The CNN encoder 220 enables a computing system on which it is run to capture and / or process a large field of view in a memory efficient manner. In the context of SAR imaging systems, CNN encoder 220 may compress a large-area image to 212 a smaller feature map 232. For example, the input SAR image 212 may comprise 512x512 pixels, and may be compressed by the CNN encoder 220 to a respective feature map 232 with an area of 64x64 pixels. This represents a compression factor of 64. It is to be understood that this is exemplary only and other compression factors are possible.
[0081] In some embodiments, the input 212 to the CNN encoder, or more generally, the ML model, may further include separate data to the SAR data. In particular, the input 212 to the CNN may include Digital Elevation Model (DEM) data or Height Above Nearest Drainage Digital Elevation Model (HAND DEM) data. HAND DEM data is Digital Elevation Model (DEM), Digital Surface Model (DSM) or Digital Terrain Model (DTM) data that is subject to a normalization process with respect to specific features of the area of interest in question. DEM data and HAND DEM data is usually presented in an array of data points or cells corresponding to the relative elevation of an area.
[0082] DEM provides global elevation information that is typically referenced to sea level, which makes it difficult for the model to understand the relation between the different height values and the chance of flood flowing in a specific area of interest. For the purposes of flood detection and identification in a specific area of interest, HAND DEM offers an improvement since it provides elevation information referenced to the height of the nearest point of drainage in the area of interest. Thus, HAND DEM provides locally relevant elevation information that takes into account the water drainage / bodies of water in the area of interest, which is useful when modelling how the area of interest may be affected by flooding. The body or bank of water in the area of interest may include lakes, rivers, the sea, or any other drainage basin. Because HAND DEM is effectivelynormalised to the local area, it can be stored and used using less data than the equivalent DEM data, which is provided only relative to sea-level. For example, if a flood of a local area is not expected to exceed or is known not to exceed a certain height above the nearest drain, (for example 10m above nearest drain), HAND DEM data is only required for 0 to 10m, and the remaining HAND DEM data (>10m) may be disregarded, as it follows that such data will not be associated with a flood. This is more difficult to ascertain with DEM data which is not produced with respect to the local nearest drain. Furthermore, using HAND DEM data can provide more accurate detection of flooding when compared to DEM data, since if a flood of a local area is not expected to exceed or is known not to exceed a certain height above the nearest drain, (for example 10m above nearest drain), flooding will not be expected in higher HAND DEM values and an ML model can incorporate this knowledge to provide easier and more consistent thresholding.
[0083] Figure 4a shows a schematic illustrating the HAND parameter on which HAND DEM is based. As can be seen in figure 4a, a building 401 has a height above nearest drainage 402 to a water bank / body 403. The building 401 is flooded when the normal depth of the water bank / body 403 is greater than the height above nearest drainage 402. The height above nearest drainage is thus a local feature to the building 401 .
[0084] Figure 4b shows a visual representation of the difference between DEM and HAND DEM. In particular, figure 4b shows a model of a valley, painted according to DEM (DTM) data in a first view 410 and painted 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, and more features of the valley are identifiable. This is because as the river flows down the valley, its absolute height above sea level changes. Since a flood happens when the river overflows its banks, using the nearest water body (the river) as the datum instead of sea level makes sense, and the datum changes with the river as the river travels down its course. From this, the water flow direction is also more apparent, and it is easier to identify where in the area flooding is more likely to occur, based on the relative differences in height between features and the nearest drain. HAND DEM allows for easier thresholding as explained above (based on the expected maximum height of flood) and requires fewer water height points than DEM when dealing with the steep slopes. HAND DEM is normalized locally and therefore there is less variation in elevation of flooded contours. This fact, coupled with the ability to threshold data at a certain elevation above the nearest drainage (e.g. 5m, 10m above drainage), means fewer HAND DEM points are required to model and detect flood when compared to DEM data. As can be seen in the scale of figure 4, HAND DEM is also advantageous over DEM in keeping depths within reasonable values. Furthermore, HAND DEM data may also be used to form a contour that is a proxy predictor of flood inundation and depth. This may be associated with a maximum gauge height at the nearest river / stream, the flood extent as seen in SAR data, or even by performing single thresholding of the HAND DEM data for a certain height. In other words, HAND DEM data can give a quick approximation of flood extent and depth, since HAND DEM is elevation data corresponding to the nearest point of drainage. Forexample, if the HAND DEM data for a particular pixel indicates that said pixel is 5m above the point of nearest drainage, it may be inferred that, at least at the point of nearest drainage, the flood is at least 5m deep. Furthermore, if a flooded pixel indicates a 6m HAND DEM elevation, it can be inferred that a connected 5m HAND DEM pixel is at least 1 m deep with water. A single HAND DEM threshold already captures with a reasonable level of accuracy the full extent of the flood. That threshold can be derived (e.g. from one gauge), to determine the maximum observable water height. By using that value to threshold the HAND DEM data, it is possible to determine the full extent of the flood.
[0085] The HAND DEM data may be used to generate water contour maps. The application of HAND DEM to generate water height contours based on SNS points is faster and easier than using standard DEM. Furthermore, the current contour approach using DEM requires many contour points to control flow of terrain, whereas the contour approach using HAND DEM requires fewer points to capture flood extent. This means that HAND DEM related data is able to be processed faster and is thus more efficient. Fewer points are required since a single HAND DEM threshold captures a larger flood extent than a conventional DEM.
[0086] A method 500 of generating HAND DEM data will now be described with reference to figure 5. The method 500 includes overall spatial analysis steps, hydrological DEM enforcement and HAND DEM generation. Hydrological DEM enforcement can help to determine true water flow paths on the terrain in the area of interest by ensuring connectivity of flow. This step requires breaching and / or filling depressions, defining flow paths and calculating the accumulation area layer upon which the drainage network is defined. Hydrological DEM enforcement comprises the following steps.
[0087] In a first step 501 of the method 500, depressions in the DEM data are breached. Water can only move downhill in a DEM, which means that sinks need to be removed to allow water to continue towards the outlet. Sinks are defined as areas surrounded by cells in DEM data with higher elevations, which prevent water from moving further. A fill algorithm examines the cells surrounding a sink and increases the elevation of the sink cells to match the lowest outlet cell. However, this alone can sometimes lead to unnatural flow paths, and is a high-impact tool on the DEM. If a fill algorithm is applied alone for example to the area shown in the example 710 of Figure 7, a result such as that shown in the example 720 of Figure 7 may be generated. This result clearly “washes out” the obvious drainage paths evident in example 710. To improve this result, a breaching algorithm can be applied first that instead lowers the elevation of cells along a path between the lowest cell in the sink and the outlet of the sink. This hybrid approach combining breaching and then filling can thus create a more accurate flow network as shown in the example 730 of figure 7.
[0088] Returning to figure 5, a second step 502 of the method 500 is to fill remaining depressions using the fill algorithm. As noted above, the first step 501 includes breaching using the breachingalgorithm. Thus, breaching precedes filling in the method 500. The breaching algorithm may not breach all the depressions, so remaining depressions need to be filled using the fill algorithm. This is an example of hybrid enforcement involving breaching followed by filling, and may provide better results than just applying the filling or breaching methods by themselves.
[0089] Figure 6 shows how an example input DEM (DTM) array 610 changes when filled, as it becomes a filled DEM (DTM) array 620. In the example Input DEM (DTM) 610, five pixels with a height of two are shown at 630, surrounded by pixels assigned with higher heights. Any water in this depression or sink would not have a way to run out according to the model. In reality, the depression may have a very small stream not captured in the DEM, or there may be small inaccuracies in the DEM leading to the depression. The twos in the Input DEM (DTM) 610 have been replaced by threes in the Filled DEM (DTM), effectively “filling” the depression since the area is now at an equal height to some of its surroundings, and the water can flow to the left and out through the “drain” indicated by pixel 640 with a height of two. In this case no further breaching is required. As an alternative, instead of filling the depression, which in this example changes five pixels of the image, the depression could also be breached by replacing the heights of the three pixels indicated by 650 with heights of two instead of three. This would create an outlet from the area 630 through the pixels 650 to the drain 640. In other examples, a hybrid approach involving first breaching and then filling any depressions can be used to provide better results, as described above with reference to Figure 7.
[0090] In a third step 503, a flow accumulation layer is created. Water is assumed to follow a hydrologic slope, which means that, in DEM data, water flows to the cell with the steepest descent. Figure 8 shows an example DEM data array 810 that has been processed according to the first and second steps 501 and 502. Water is assumed to follow the hydrological slope as illustrated by an arrow 812 (e.g. , 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 a direction coding 830 and represents a direction the current processing cell flows to. It is noted that flow direction cannot be defined for cells with depression, thus filled DEM is required as per the second step 502.
[0091] The flow direction layer 820 is then used as an input to create the 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 the measure of drainage area in units grid cells, i.e. , the number of cells contributing to the flow. The flow accumulation layer 910 is important to understand where flooding will occur on the surface of an observed area of the area of interest, and / or where the water flows.
[0092] Returning to figure 5, a fourth step 504 in the method 500 is to define a catchment area threshold to generate a stream (i.e., flow) network. The catchment area threshold is adjustable, and the density of the stream network can be adjusted and controlled by adjusting this threshold. For example, the smaller the catchment area threshold, the denser the stream network becomes.Figure 10 shows how the stream network is modified based on the selection of the catchment area threshold for threshold values of 300, 100, 50 and 10 sq km. It is to be understood that these values are exemplary, and any threshold may be used, including thresholds less than 1 sq km for example. To ensure that an appropriate threshold is selected, real-world data regarding rivers or streams may be used to match the most appropriate threshold. Each of the potential flow networks, from the different catchment area thresholds, (e.g., 10, 50 and 1000 sq km) may be compared to actual data relating to water flow in the area of interest to generate a similarity measure for each potential flow network. The similarity measure may be any suitable measure, such as a ratio of streams / water ways captured in the potential flow network to the streams / water ways not captured that are present in the actual data. The actual data may be sourced from existing surveys and / or maps of the area of interest, or from satellite imagery, for example. The catchment area threshold to be applied may be selected, or in other words, the potential flow network may be selected, based on which similarity measure is highest, meaning for the flow network that most closely corresponds to the actual data.
[0093] Once the stream network is formed, the Hydrological DEM enforcement part of the method 500 is complete. The second spatial analysis step, HAND DEM generation, then follows.
[0094] In particular, and returning to figure 5, a fifth step 505 is the generation of HAND DEM data. This step involves the creation of HAND DEM data from the base DEM data. The generated stream network, flow direction and base DEM are used to normalize the DEM with the drainage network.
[0095] It is to be understood that in the method 500, whilst the first step 501 of breaching depressions in DEM data is preferable, it is not essential, and HAND DEM can be generated by skipping the first step 501 and continuing with filling alone from the second step 502. Alternatively, breaching can also be carried out on its own without filling.
[0096] As discussed above, the HAND DEM data may be combined with SAR data as the input 212 to the ML model for the purposes of detecting and determining the extent of a flood in an area of interest. To implement this, the ML model is trained using training data, including SAR training data and HAND DEM training data.
[0097] Figure 11a shows a training pipeline for providing a first set of training data 1140 to the ML model 1150. As can be seen in figure 11a, the training data 1140 presented to the ML model 1150 for the purposes of training may include several inputs, and includes at least SAR data 1102 and DEM / HAND DEM data 1104. The SAR data 1102 may take the form of single-look complex image data (SLC), and may be input to a DEM slicer 1106. The DEM slicer performs the operation of determining, from a database or the like of DEM data, the DEM data relevant to the area of interest identifiable from the SAR data. In other words, the DEM slicer 1106 retrieves the DEM data corresponding to the area observed in the SAR data 1102.
[0098] The DEM / HAND DEM data 1104 and the SAR data 1102 are co-registered at a coregistering module 1108. The co-registering module 1108 effectively maps the SAR data 1102 to its proper location on Earth, such that it can be matched to the DEM / HAND DEM data 1104.. To ensure that the two sets of data are properly matched in this way, independent mapping data 1110 may be used to map both the SAR data 1102 and the HAND DEM data 1104 to a common plot. The independent mapping data 1110 may be constructed from one or more mapping providers 1112.
[0099] The co-registering module 1108 forms the training dataset 1140, whereby each cell or pixel of the training dataset 1140 (corresponding to a physical area) includes a portion of SAR image data and the associated DEM / HAND DEM data. After the co-registering process by the coregistering module 1108, the data is labelled by a masking module 1114 with expected outcomes (water / not water) for each pixel / cel I. The data is then tiled or in other words divided into smaller subsets by a tiling module 1116 for the purpose of presenting to the ML model as the training dataset 1140. This training dataset 1140 is then presented to the ML model 1150 to train the ML model 1150 using conventional training techniques as will be understood by the skilled reader.
[0100] The SAR data 1102 used to form the training dataset 1140 includes SAR images of water and not water. An effective way of providing such data is to obtain SAR data of permanent water bodies, such as seas, rivers and lakes. Many hundreds or thousands of SAR images of such permanent water bodies are obtained to form the training dataset 1140, to train the ML model 1150 to determine the difference between areas (pixels) of water compared to areas of non-water.
[0101] The training data (dataset) 1140 may be divided into two categories. The first category is data representative of a ‘no-water’ classification while the second category is data representative of a ‘water’ classification. In some embodiments, the training data used to train the ML model 1150 or CNN encoder 220 comprises data representative of both the water and no-water feature classifications, and data representative of the no-water classification within the training data is scarce relative to data representative of the water classification. For example, the ratio of the amount of data representative of the no-water classification to the amount of data representative of the water classification within 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.
[0102] The training dataset 1140 forms a first input to a training method, to train the ML model 1150 (CNN encoder 220). A second input to the training method is the output of the ML model 1150 or CNN encoder 220.
[0103] Figure 11 b shows a flow diagram illustrating how the ML model 1150 may additionally be trained from the training dataset 1140 and an additional flood dataset 1160. As explained above, and as illustrated in figure 11 b, the training dataset 1140 is formed from SAR image data corresponding to permanent water bodies, such that the ML model 1150 is trained to detect the presence of water / no water. In order to train the ML model 1150 to detect the presence offlood / no flood, the additional flood dataset 1160 may be used. The flood dataset 1160 includes data relating to flood water rather than permanent water bodies. The flood dataset includes SAR data of real flooded areas, whereby the data is labelled to indicate pixels including flood or not flood. The ML model 1150 is trained as illustrated in figure 11a, using the training dataset 1140, and this trained ML model is then retrained using the flood dataset 1160 to obtain a trained Flood ML model.
[0104] Figure 12 shows a method 1200 that combines the ML model of figure 3, as trained according to figures 11a and 11 b, with HAND DEM data, as described above.
[0105] In a first step 1201 , DEM data is retrieved for an area of interest for which flood detection / identification is to be performed.
[0106] In a second step 1202, HAND DEM data is generated from the DEM data. This may be done according to the method 500 as set out above. It is to be understood that HAND DEM data may be pre-generated such that HAND DEM data may be retrieved directly, for an area of interest, without first retrieving the associated DEM data.
[0107] In a third step 1203, the HAND DEM data is combined with SAR data to form the input to the ML model. The combination of SAR and HAND DEM data may be co-registered in the same or similar way to how training data 1140 is co-registered as illustrated in figure 11a. In particular, the SAR data and the HAND DEM data are associated together based on the physical area(s) to which the data corresponds. This co-registering may be performed based on independent mapping data, to which the SAR data and the HAND DEM data are mapped themselves. This coregistering 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 HAND DEM data relate to the same physical portion of the area of interest.
[0108] In a fourth step 1204, the ML model processes the input data from the third step 1203. In this step, the trained ML model, such as a CNN encoder, uses the input including the SAR data and positionally corresponding HAND DEM data to generate a feature map indicating the presence of water / not water. As explained above the feature map may be a binary map formed by thresholding a probability map, whereby each pixel in the SAR image / mapping data input to the ML model is replaced by a 1 or a 0. Alternatively, the probability map may be output, whereby each pixel in the input mapping data is replaced with a value between 0 and 1 indicative of the probability of there being water / no water in said pixel.
[0109] In a fifth step 1205, the ML model outputs the feature map and / or flood probability map, that includes a segmentation or classification of the area of interest according to the presence or lack of water, and thus flooding.
[0110] The flood probability map / feature map provided by the above methods may give an indication of the presence of water / non-water in each pixel of the SAR image, if trained using permanent water bodies. Since the model is trained using permanent water bodies, a further optional step is to disregard pixels of the flood probability map that are associated with permanent water bodies, such that only areas of flood are maintained. To do this, the probability map (with values between 0 and 1), or the feature map (with binary values of 0 or 1 ) are transformed by subtracting areas of known permanent water bodies from the ML model output. This leaves data that is an accurate reflection of the extent of flooding only, to give a flood / no flood comparison rather than water / no water.
[0111] HAND DEM data may further be used in a post-processing method. The post-processing method may be used in combination with the method of determining the extent of a flood as set out in figure 12 and as explained above (with a ML model with SAR and HAND DEM data inputs), or alternatively, the post-processing method may be performed separately, on any flood prediction map, such as on the result of a ML model that only requires a SAR data input, for example.
[0112] Figure 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 prediction map that provides a probability per pixel or group of pixels of an area corresponding to said pixel or group of pixels being flooded / not flooded.
[0113] At a first step 1301 , HAND DEM data is retrieved 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 including values indicative of a probability that said cell or pixel belong to a certain classification (water / not water). The cells or pixels correspond to real-world locations and co-ordinates, and these may be extracted (with reference to mapping data for example), to determine the HAND DEM data to retrieve. In other words, both the HAND DEM data and the flood probability map are geo-referenced to coordinates such that they can be appropriately aligned.
[0114] At 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 comprises a set of connected pixels having an elevation value within an interval range (a range of elevation values). The isoline feature may be an isoband that follows an isoline (also known as a contour line) and defines an area that has an elevation within the interval range. A plurality of such contour lines may be extracted from HAND DEM data to define a set of isoband polygons, whereby each polygon is associated with an elevation interval range. The polygons may be nested within each other, for example, when an area of higher elevation is surrounded by an area of lower elevation. The elevation intervals may be predetermined or adjustable. For example, the intervals may be 0.5m, 1m, 2m, 5m, 10m, 20m, 50m, or 100m. The isoline feature may alternatively be an isoline cluster, or super pixel, defined as a set of connected pixels connected to a seed pixel, whereby the set ofconnected pixels are each within an elevation interval (range of elevation values) of the seed pixel. The isoline cluster may be produced by using any suitable clustering algorithm on the HAND DEM data. The clustering algorithm may set a maximum cluster size. The isoline cluster is similar to an isoband in that it forms a polygon of pixels with similar elevation values, within an elevation interval. The area inside the isoline cluster comprises pixels of similar elevation values.
[0115] In other words, an isoband is a group of connected cells or pixels within an elevation interval range, formed from one or more contour lines. The area of the isoband itself is the area including the cells / pixels within the common elevation range. Any additional area, not within the isoband itself but, for example, encompassed or nested within a shape formed by an isoband, may vary in elevation. Indeed, this encompassed area may have additional isobands as illustrated in figure 14. An isoline cluster contains cells / pixels that are all within the elevation interval range.
[0116] Figure 14 shows an example array 1400 of HAND DEM data, with representative elevation values contained therein. It is to 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 only values having the same whole number value may be considered within the same interval. As can be seen in figure 14, the nearest drain is represented by Os in the centre of the array 1400. This is because HAND DEM data is normalised to the nearest drain, and the nearest drain is provided an elevation of zero. A first isoline feature, isoband 1401 , is computed that comprises all the connected pixels within the interval from the drain (i.e. , all connected pixels with an elevation value of 0). A second isoline feature, isoband 1402 comprises the connected pixels with elevation 1 surrounding the pixels with elevation zero. Other isobands such as a third isoband 1403 are also possible.
[0117] Figure 15 shows a real-world example of HAND DEM data overlaid with an image of the area of interest. The image includes isolines 1501 defining lines of similar elevations. These can be used to form isobands within an elevation interval. The isobands may be plotted for each elevation interval by any suitable method. One such method is the use of isobands_matplotlib.py using the library matpotlib in python, or isobands_gdal.py using GDAL in python, for example.
[0118] Figure 16 shows a similar real-world example as in figure 15, except the image and HAND DEM data have been subject to isoline clustering to produce isoline clusters 1601 rather than isobands. Isoline clusters can be smaller the isobands and have the advantage of potentially requiring less computational effort to produce. To produce the isoline clusters, any suitable clustering algorithm may be used. In one example, Simple Linear Iterative Clustering (SLIC) may be used to segment the HAND DEM data array into regions of homogenous elevation values. This is done in three dimensions: the x and y directions in the array and the z dimension, wherein the z dimension is the elevation value. The isoline clusters 1601 provide compact, nearly uniform regions with similar HAND DEM heights.
[0119] Returning to figure 13, once the isoline feature has been extracted from the HAND DEM data, a third step 1303 of the method 1300 is to compute an aggregate function for each isoline feature using the corresponding flood probability values from the food probability map 1305. In more detail, for each isoline feature there is a set of connected pixels belonging to the isoline feature. This set of connected pixels correspond to a spatially identical set of pixels in the flood probability map 1305, since the flood probability map 1305 is geo-referenced, via mapping data or otherwise, to the same area of interest as the HAND DEM data. Thus, it is possible to acquire the flood probability values of the flood probability map pixels that correspond to the set of pixels of a particular isoline feature.
[0120] Figure 17 shows an example probability map 1700 corresponding to the HAND DEM array 1400 of figure 14. As part of the third step 1303 of the method 1300, the probability values from the flood probability map 1305 are obtained for each isoline feature. In figure 17, the isoline feature 1402 is highlighted, corresponding to the second isoline feature 1402 of figure 14 that comprises pixels with an elevation of 1. All other cells / pixels are shaded out for illustrative purposes only. The probability values are between 0 and 1, and represent the probability that the pixel to which they are assigned includes water / not water as assessed by the ML model, for example. A probability value closer to 0 may represent not water, whilst 1 may represent water. In the third step 1303, an aggregate function is computed for all of the probability values of the first isoline feature 1402. The aggregate function may take any suitable form, such as the mean, median or the like. Taking the mean of all of the probability values gives an aggregate probability value of 0.79. An advantage of utilising the aggregate function with HAND DEM data is that outliers of the flood probability map 1305, which may be erroneous, are easily corrected. In particular, there are two examples where the use of HAND DEM and an aggregate function improves upon simply relying on the flood probability map to determine flood extent. The first of these is false negatives, or in other words, pixels misclassified in the flood probability map as including ‘no water’ or no flood. This misclassification may be caused by inconsistencies in SAR data, for example, when the ground is obscured by foliage, a roof, or a canopy of some sort. The ground itself may be flooded but this would not be apparent on SAR data. An example of this is shown in a pixel 1702 in figure 17, which has a flood probability value of 0.1 (much closer to no water at zero). However, the use of an isoline feature such as an isoband or an isoline cluster that is dependent on HAND DEM associates this pixel with all pixels connected by the same elevation interval. Thus, whereas if classified individually, this pixel 1702 would be misclassified as not having been flooded, when classified according to the aggregate function (returning an aggregate score of 0.79), this pixel 1702 is correctly classified as being flooded. This is logical since the pixel corresponds to an area at the same height as the neighbouring cells of the isoline feature, which each have much higher probability values. The second advantage of using the aggregate function and the HAND DEM isoline features is the reduction of false positives. This is effectively the inverse effect, whereby a set of pixels in an isoline feature include many flood probability values close to zero, or in other words, being classified as not having water, with one or more outlierswith flood probability values closer to 1, or in other words, being classified as being flooded. By using the aggregate function and aggregate value resulting therefrom, all pixels in the isoline feature can be attributed with the same probability value corresponding to the aggregate value, and the false positives are removed.
[0121] In an alternative or additional implementation, false positives and / or false negatives are identified prior to the computation of the aggregate function based on the magnitude of the difference between their probability values and the probability values of other pixels or cells in the isoline feature. In this way, the computation of the aggregate function and thus the aggregate value is not distorted from the inclusion of the erroneous probability value associated with the false positive or false negative.
[0122] Returning to figure 13, a fourth step 1304 in the method 1300 is to process the aggregate function for each isoline feature to obtain and output an improved flood probability map. In detail, this includes performing one or more operations with the aggregate function result such as the aggregate probability value, to improve the classification / segmentation result provided by the flood probability map 1305.
[0123] In the example of figure 17, the one or more operations may include thresholding the aggregate probability value (0.79) for the first isoline feature 1401. The threshold may be any suitable value, such as 0.5 for example. In this case, the aggregate probability value of 0.79 exceeds the threshold of 0.5, so a determination is reached that the isoline feature 1401 is flooded. The one or more operations performed on the flood probability map 1305 may then include assigning each pixel in the isoline feature 1401, including any individual outliers such as pixel 1702 for example, with a value indicative of the presence of water. For example, the flood probability map 1305 may be binarized with 0s and 1s to reflect the lack of flood and presence of flood respectively. The output of such processes for all isoline features provides an improved flood probability map, with fewer false positives and fewer false negatives than the flood probability map 1305, for at least the reasons set out above. This ultimately provides a more reliable source of information for determining the true extent of flooding.
[0124] It is to be understood that, whilst the above description of figure 13 relates to HAND DEM data, the method 1300 may also be performed with respect to DEM data, DTM data or the like. Using HAND DEM data can provide larger and more homogenous isoline features, since it requires less points than standard DEM.
[0125] Figure 18 shows a schematic diagram 1800 of an area of interest. The area of interest is overlaid with a first line 1801 indicative of the classification of pixels by the flood probability map 1305. A second line 1802 is indicative of the corrected classification by the improved flood probability map, obtained by performing the post-processing method 1300 according to figure 13. It is easily seen that the second line 1802 differs from the first line 1801 in two ways: firstly, falsenegatives, where the first line 1801 misclassifies pixels or areas as not including water, are not present in the area defined by the second line 1802. Such areas are areas that underestimate the extent of flood 1802a. These areas 1802a may not appear in SAR imagery to be flooded due to the presence of canopies from trees or forests for example, resulting in low probabilities of flooding appearing in the probability map (false negative). Secondly, the first line 1801 extends to include some false positives, where the first line 1801 includes misclassified pixels or areas as including water, whereas the second line 1802 correctly classifies these areas as not including water. Such areas are areas that overestimate the extent of flood 1802b. These areas 1802b may be indicated as being flooded in the original flood probability map due to difficulties associated with imaging in urban environments, for example. Figure 18 shows the benefits of applying the post-processing method 1300 in removing the presence of false negatives and false positives to provide an improved flood probability map, indicated by the dashed line 1802.
[0126] The method 1200 of using an ML model with DEM / HAND DEM and SAR data inputs to obtain a flood probability map 1205, and, if additionally performed, the method 1300 of post-processing the flood probability map 1205, 1305, may be subject to further optional steps to improve the usability of the flood probability map 1205 / improved flood probability map.
[0127] Figure 19 shows a method 1900 of post processing based on the method 1300 of post processing, including additional method steps. Initially, several inputs 1901 are provided for use in the method 1900. These include HAND DEM / DTM data, the threshold for determining whether to adjust the flood probability map (which may be user-definable), the flood probability map (also referred to as an inference output probability map), and a DEM ellipsoidal corresponding to the area of interest, for orthorectification purposes. The DEM ellipsoidal and the HAND DEM data input to the method 1900 are thus representative of the same area of interest. As explained above, the flood probability map may be formed by the ML model according to the method 1200 or may be formed by any conventional alternative method, to provide a classification / segmentation of the area of interest into pixels or regions of water / not water.
[0128] The 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.
[0129] In particular, in the first step 1902, an isoline feature is obtained from the DEM / HAND DEM data for the area of interest. The isoline feature may be, for example, an isoline cluster, such as a super-pixel, or an isoband centred around a contour line.
[0130] In the second step 1903, an aggregate function for each isoline feature is computed using the corresponding flood probability values from the food probability map 1305. The aggregate function may be the mean of each probability value from the flood probability map contained within a particular isoline feature.
[0131] In the third step 1904, the threshold is applied to the aggregate function result. As explained above, the threshold may be adjustable. The threshold is applied to the aggregate function result for each isoline feature, to determine whether each isoline feature should be classified as water or not water. The isoline features are then classified accordingly, based on comparison to the threshold. For example, the threshold may be 0.5, and the mean value of probability values for a particular isoline feature may be 0.66. Since the mean value exceeds the threshold in this example, each pixel in the isoline feature is classified as including water, and may be assigned the binary value 1 to indicate as such. This forms the improved flood probability map discussed above with reference to figure 13.
[0132] In an optional fourth step 1905, the improved flood probability map is georeferenced to the original SAR image obtained for the area of interest, or, if using an alternative method to obtain the initial flood probability map, any other image obtained of the area of interest. This step allows the improved flood probability map to be overlaid on the original SAR data / imagery of the area of interest for visualisation purposes.
[0133] In an optional fifth step 1906, ortho-rectification is performed on the combined SAR image / improved flood probability map, to remove sensor, satellite / aircraft motion and terrain-related geometric distortions from raw imagery. This may be performed for example using the gdalwarp function in Python to transform a raster. At this step, the DEM ellipsoidal from the input is used to provide elevation data for the area of interest, for the purpose of aiding in the calculations and process required for the removal of SAR data distortions. This step provides a transformed image.
[0134] In an optional sixth step 1907, the transformed image may be converted to a suitable format such as a Cloud Optimized GeoTIFF (COG) for ease of reproduction and distribution via one or more computer devices, systems or servers.
[0135] In an optional seventh step 1908, polygonization (e.g. rasterio polygonization) is performed to extract one or more polygons from the improved flood probability map data, from connected pixels of 1s or connected pixels of 0s.
[0136] These steps may produce one or more outputs 1909 including an orthorectified georeferenced flood probability map, based on the improved flood probability map, a vector file, representing the flooded area, and data relating to contour points and water depth, using conventional techniques such as interpolation between contour / isoband lines.
[0137] As explained previously, the method of post processing 1300 may be combined with the method 1200 of determining the extent of a flood using an ML model, such that HAND DEM / DEM data is used both as an input for the ML model, and subsequently in the process of forming isoline features for use in post-processing. This double-use of HAND DEM / DEM data improves theaccuracy of detection of flood water, and reduces the occurrences of false positives and false negatives returned from the output of the ML model.
[0138] It is to be understood that, although DEM and HAND DEM data are extensively exemplified throughout the above description, other spatial elevation data such as DTM and HAND DTM may be used as an alternative.
[0139] The methods described here may be performed on any suitable computer device, having a processor and memory.
[0140] Figure 20 shows a computing system 2000 according to various embodiments, on which any of the above-described methods may be performed. In particular, the Computing system 2000 may comprise a single computing device or components such as a laptop, tablet, desktop or other computing device. Alternatively functions of system 2000 may be distributed across multiple computing devices.
[0141] The Computing system 2000 may include one or more controllers such as controller 2005 that may be, for example, a central processing unit processor (CPU), a graphics processing unit (GPU) a chip or any suitable processor or computing or computational device such as an FPGA mentioned, an operating system 2015, a memory 2020 storing executable code 2025, storage 2030 which may be external to the system or embedded in memory 2020, one or more input devices 2035 and one or more output devices 2040.
[0142] One or more processors in one or more controllers such as controller 2005 may be configured to carry out any of the methods described here. For example, one or more processors within controller 2005 may be connected to memory 2020 storing software or instructions that, when executed by the one or more processors, cause the one or more processors to carry out a method according to some embodiments of the present invention. Controller 2005 or a central processing unit within controller 2005 may be configured, for example, using instructions stored in memory 2020, to perform some of the operations of the method of detecting flood water as illustrated in figure 12 and / or the post processing method as illustrated in figure 13. The machine learning model of various embodiments may be stored in the memory 2020, for example.
[0143] SAR data may be received at a processor comprised in the controller 2005 which then controls the subsequent operations of the above-described methods according to one or more commands or processes which may be stored as part of the executable code 2025.
[0144] Input devices 2035 may be or may include a mouse, a keyboard, a touch screen or pad or any suitable input device. It will be recognized that any suitable number of input devices may be operatively connected to computing system 2000 as shown by block 2035. Output devices 2040 may include one or more displays, speakers and / or any other suitable output devices. It will berecognized that any suitable number of output devices may be operatively connected to computing system 2000 as shown by block 2040. The input and output devices may for example be used to enable a user to select information, e.g., images and graphs as shown here, to be displayed
[0145] In the embodiments described above, all or parts of the method may be performed by a server. The server may comprise a single server or network of servers. In some examples, the functionality of the server may be provided by a network of servers distributed across a geographical area, such as a worldwide distributed network of servers, and a user / operator of the method may be connected to an appropriate one of the network servers based upon, for example, a user location.
[0146] The embodiments described above may be fully automatic. In some examples a user or operator of the system may manually instruct some steps of the method to be carried out.
[0147] In the described embodiments of the invention the system may be implemented as any form of a computing and / or electronic device. Such a device may comprise one or more processors which may be microprocessors, controllers or any other suitable type of processors for processing computer executable instructions to control the operation of the device in order to gather and record routing information. In some examples, for example where a system on a chip architecture is used, the processors may include one or more fixed function blocks (also referred to as accelerators) which implement a part of the method in hardware (rather than software or firmware). Platform software comprising an operating system or any other suitable platform software may be provided at the computing-based device to enable application software to be executed on the device.
[0148] Various functions described herein can be implemented in hardware, software, or any combination thereof. If implemented in software, the functions can 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 non-volatile, removable or non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. A computer-readable storage media can be any available storage media that may be accessed by a computer. By way of example, and not limitation, such computer-readable storage media may comprise RAM, ROM, EEPROM, flash memory or other memory devices, CD-ROM or other optical disc storage, magnetic disc 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. Disc and disk, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray (RTM) disc (BD). Further, a propagated signal is not included within the scope of computer-readable storage media. Computer-readable mediaalso includes communication media including any medium that facilitates transfer of a computer program from one place to another. A connection, for instance, can be a communication medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fibre optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of communication medium. Combinations of the above should also be included within the scope of computer-readable media.
[0149] Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, hardware logic components that can be used may include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs). Complex Programmable Logic Devices (CPLDs), etc.
[0150] Although illustrated as a single system, it is to be understood that the computing device may be a distributed system. Thus, for instance, several devices may be in communication by way of a network connection and may collectively perform tasks described as being performed by the computing device. It will be appreciated that the computing device may be located remotely and accessed via a network or other communication link (for example using a communication interface).
[0151] The term 'computer' is used herein to refer to any device with processing capability such that it can execute instructions. Those skilled in the art will realise that such processing capabilities are incorporated into many different devices and therefore the term 'computer' includes PCs, servers, mobile telephones, personal digital assistants and many other devices.
[0152] Those skilled in the art will realise that storage devices utilised to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realise that by utilising conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a DSP, programmable logic array, or the like.
[0153] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. Variants should be considered to be included into the scope of the invention.
[0154] Any reference to 'an' item refers to one or more of those items. The term 'comprising' is used herein to mean including the method steps or elements identified, but that such steps or elements do not comprise an exclusive list and a method or apparatus may contain additional steps or elements.
[0155] As used herein, the terms "component" and "system" are intended to encompass computer- readable data storage that is configured with computer-executable instructions that cause certain functionality to be performed when executed by a processor. The computer-executable instructions may include a routine, a function, or the like. It is also to be understood that a component or system may be localized on a single device or distributed across several devices.
[0156] Further, as used herein, the term "exemplary" is intended to mean "serving as an illustration or example of something".
[0157] Further, to the extent that the term "includes" is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term "comprising" as "comprising" is interpreted when employed as a transitional word in a claim.
[0158] Moreover, the acts described herein may comprise computer-executable instructions that can be implemented by one or more processors and / or stored on a computer-readable medium or media. The computer-executable instructions can include routines, sub-routines, programs, threads of execution, and / or the like. Still further, results of acts of the methods can be stored in a computer-readable medium, displayed on a display device, and / or the like.
[0159] The order of the steps of the methods described herein is exemplary, but the steps may be carried out in any suitable order, or simultaneously where appropriate. Additionally, steps may be added or substituted in, or individual steps may be deleted from any of the methods without departing from the scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought.
Claims
CLAIMS1. A computer-implemented method for detecting the presence of water from Syntheticaperture radar, SAR, data, the method comprising: receiving, as a first input, SAR data with respect to an area of interest; receiving, as a second input, elevation data, with respect to the area of interest; and inputting the SAR data and the elevation data into a machine learning model, wherein the machine learning model is configured to: receive an input comprising SAR and elevation data; and perform a classification or segmentation on the input to generate a mapping indicative of the presence of water in the area of interest.
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 including a value indicative of a probability that a corresponding pixel or cell in the input includes water.
3. The method of claim 2, further comprising binarizing the value indicative of probability for each pixel or cell in the mapping to obtain a binary mapping.
4. The method of any preceding claim 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. The method of any preceding claim, further comprising, prior to inputting the SAR and elevation data into the machine learning model: coregistering the SAR data to 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, wherein each linked pair of pixels or cells corresponds to a same portion of the area of interest.
6. The method of any preceding claim, further comprising: training the machine learning model to detect water from an input comprising SAR and elevation data, using a training dataset; wherein the training dataset includes permanent water body SAR data.
7. The method of claim 6, further comprising: obtaining information relating to the position of one or more permanent water bodies in the area of interest; andadjusting the mapping to remove values from pixels or cells of the mapping corresponding to the position of the one or more permanent water bodies in the area of interest, such that the mapping is indicative of the presence of flooding.
8. The method of any of claims 6 or 7, further comprising: additionally training the machine learning model with a flood dataset, the flood dataset comprising SAR flood image data.
9. The method of claim 2 or any of claims 3 to 8 when dependent on claim 2, further comprising post-processing the flood probability map to obtain an improved flood probability map, the post-processing including: generating one or more isoline features from the elevation data, each isoline feature 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 isoline features; computing a function of the values of the grouped pixels or cells for each isoline feature to obtain a function result for each isoline feature; comparing, for each isoline feature, the function result to a threshold; reclassifying or resegmenting the flood probability map based on the comparison of each isoline feature against the threshold.
10. The method of claim 9, wherein the function is an aggregate function.11 . The method of claim 10 wherein the aggregate function for each isoline feature is the mean value of the values of the grouped pixels or cells.
12. The method of any of claims 9 to 11 , wherein the isoline feature is an isoband polygon, formed from a set of physically connected pixels or cells of the elevation data, wherein the set of connected pixels or cells each have an equivalent elevation value or an elevation value within an elevation value range.
13. The method of any of claims 9 to 11 , wherein the isoline feature is an isoline cluster, formed by: applying a clustering algorithm to the elevation data to obtain a cluster of pixels or cells of the elevation data within an elevation value interval.
14. The method of any of claims 1 to 13, wherein the elevation data is generated relative to an elevation of a body or bank of water in or adjacent to the area of interest.
15. The method of claim 14, wherein the elevation data includes Height Above Nearest Drainage Digital Elevation Model data, HAND DEM data, wherein the body or bank of water in or adjacent to the area of interest is the nearest drainage.
16. The method of claim 15, further comprising generating the HAND DEM data from DEM data of the area of interest, wherein generating the HAND DEM data comprises: filling one or more depressions in the DEM data to create filled DEM data; creating a flow accumulation layer that defines the flow direction in the filled DEM data; applying an area threshold to the flow accumulation layer to generate a flow network indicative of the flow patterns of water in the area of interest; and generating the HAND DEM data from the flow network.
17. The method of claim 16, further comprising, prior to filling one or more depressions in the DEM data: breaching one or more depressions in the DEM data to generate breached DEM data, wherein filling one or more depressions is performed on the breached DEM data.
18. The method of any of claims 16 or 17, wherein applying an area threshold to the flow accumulation layer comprises: 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 to actual data relating to water flow in the area of interest to generate a similarity measure for each potential flow network; and selecting the area threshold to be applied based on the potential flow network for which the similarity measure is highest.
19. A computing device comprising a memory and processor, the memory having instructions stored thereon, which, when executed by the processor, cause the processor to perform the method of any of claims 1 to 18.
20. A computer readable medium having instructions stored thereon, which, when executed by the processor, cause the processor to perform the method of any of claims 1 to 18.21 . A computer-implemented method of processing a classification or segmentation mapping indicative of the presence of water in the area of interest, wherein the mapping includes a plurality of pixels or cells each having a value indicative of a probability that a corresponding portion of the area of interest includes water, the method comprising:generating one or more isoline features from elevation data, each isoline feature associated with a common elevation value or a common elevation value range; grouping the pixels or cells of the mapping according to the isoline features; computing a function of the values of the grouped pixels or cells for each isoline feature to obtain a function result for each isoline feature; comparing, for each isoline feature, the function result to a threshold; reclassifying or resegmenting the mapping based on the comparison of each isoline feature against the threshold.
22. The method of claim 21 , wherein the elevation data is HAND DEM data or DEM data corresponding to the area of interest.
23. The method of claim 21 or 22, wherein the function for each isoline feature is the mean value of the values of the grouped pixels or cells.
24. The method of any of claims 21 to 23, wherein the isoline feature is either: an isoband polygon, formed from a set of physically connected pixels or cells of the elevation data, wherein the set of connected pixels or cells each have an equivalent elevation value or an elevation value within an elevation value range; or: an isoline cluster, formed by: applying a clustering algorithm to the elevation data to obtain a cluster of pixels or cells of the elevation data within an elevation value interval.
25. The method of any of claims 21 to 24, wherein the classification or segmentation mapping is generated, from SAR data, by performing: classical and / or analytical processing on the SAR data; or a machine-learning process on the SAR data.