Machine learning rainstorm
By constructing surrogate models and convolutional neural network sequences through machine learning, the problems of computationally intensive and time-consuming flood map generation in existing technologies are solved. This enables fast and accurate flood map generation and real-time design feedback, supporting the optimal location selection of water storage structures and rainwater controls.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- AUTODESK INC
- Filing Date
- 2024-11-12
- Publication Date
- 2026-05-19
AI Technical Summary
Existing technologies are computationally intensive and time-consuming when creating flood maps, making it difficult to efficiently and accurately determine the location where water will accumulate in order to select the optimal location for water storage structures and rainwater controls.
We employ machine learning (ML) to build a proxy model, which is trained to generate flood maps when rainfall is applied to the surface, bypassing the solution equations. We use a sequence of convolutional neural networks (CNNs) to predict the evolution of rainwater surface runoff, providing real-time feedback and interactive design.
It enables rapid generation of flood maps without relying on traditional equation solving, providing a speed improvement of 16 to 25 times, and supports real-time design feedback and flood forecasting for more complex urban scenarios.
Smart Images

Figure CN122070545A_ABST
Abstract
Description
[0001] Cross-references to related applications This application claims the benefit of the following co-pending and co-assigned U.S. provisional patent applications, which are incorporated herein by reference, pursuant to Section 119(e) of 35 USC: U.S. Provisional Patent Application Serial No. 63 / 598,226, filed November 13, 2023, inventors Sam Jamieson, Jason Lao, Marco Antonio Rodrigues Andrade, Siavash Hakim Elahi, Vishnu Prathish, Gerald Brown, Samer Muhandes, and Maciek Tytus Rybezynski, entitled "Machine Learning Deluge", Agent's Case No. 30566.0618USP1. Technical Field
[0002] This invention relates generally to water flow prediction, and more particularly to methods, apparatus, systems and articles for predicting water flow using machine learning (MI). Background Technology
[0003] It is necessary to determine where water will accumulate to help designers select the optimal locations for water storage structures and stormwater controls (SWCs). As part of this determination, flood maps are typically created, examined, and analyzed. Furthermore, existing technology systems require lengthy conventional stormwater simulations that solve equations to generate flood maps. In this respect, stormwater simulations are simulations of large-scale rainfall (typically floods) that allow for site assessment by supplying a certain amount of rainfall to the surface to establish potential channeling and ponding. Such stormwater simulations apply water to the surface and simulate where water channels and ponds (i.e., to identify flood hotspots and avoid them when constructing buildings, offices, schools, etc.).
[0004] Existing / traditional stormwater mapping tools rely on meshing the ground model and then solving equations for each mesh element, as well as analyzing where water will accumulate and converge into flows. This process is often computationally expensive due to solving equations for each mesh element and for each time step. For example, for a ten (10)-hectare site, an existing system might end up solving over 144 million equations during a 24-hour simulation. Such existing systems are computationally intensive and associated with long simulation times. Therefore, there is a need for systems and methods that can efficiently and accurately generate flood maps without lengthy simulations. Summary of the Invention
[0005] Embodiments of this invention provide an innovative machine learning (ML) stormwater service tailored to offer unprecedented speed, stability, and adaptability in evaluating flood maps when a given amount of rainfall is applied to a surface (ground model) to establish locations where water will accumulate. In other words, embodiments of this invention use ML to build surrogate models and obtain stormwater flood maps without having to solve equations. This capability helps designers select optimal locations for water storage structures and stormwater controls (SWCs). Without lengthy simulations, embodiments of this invention provide users with flood maps, thus making drainage design smarter, more responsive, and more efficient.
[0006] The ML storm simulation of the present invention bypasses the need to solve equations because the algorithm has been trained on approximately 10,000 different simulations (e.g., surface and associated flood maps from public domain sources) and has learned flood maps associated with many different terrains. Therefore, by spotting patterns, the embodiments of the present invention manage to establish flood maps associated with water depths applied to the surface at rates between 16 and 25 times that of conventional storm simulations.
[0007] The ML stormfall tool using embodiments of the present invention enables users to receive instant feedback whenever they move reservoirs or drainage ditches, thereby providing an interactive and real-time experience. In other words, embodiments of the present invention fundamentally transform simulation from step-by-step / command-driven simulation to an interactive experience with real-time feedback, thus laying the foundation for extending the application to more complex urban scenarios for flood forecasting. Attached Figure Description
[0008] Now referring to the accompanying drawings, in which the same reference numerals denote corresponding parts, in the following: Figure 1 The overall design workflow, including data engineering and model building, is illustrated according to one or more embodiments of the present invention; Figure 2A A convolutional neural network (CNN) is shown as a prediction model utilized as one or more embodiments of the present invention; Figure 2B A sequence of three selected CNN models for a third sample is shown according to one or more embodiments of the present invention; Figure 3 End-to-end system delays according to one or more embodiments of the present invention are shown; Figure 4 and Figure 5A graphical user interface for initially activating a rainstorm tool according to one or more embodiments of the present invention is shown; Figure 6 A graphical user interface illustrating the construction of an instruction grid according to one or more embodiments of the present invention is shown; Figure 7 A graphical user interface indicating the progress of mesh generation according to one or more embodiments of the present invention is shown; Figure 8 A graphical user interface illustrating the initial placement of a water storage tank is shown according to one or more embodiments of the present invention; Figure 9 A graphical user interface illustrating the movement of a water storage tank is shown according to one or more embodiments of the present invention; Figures 10-11 A graphical user interface with further movement of the reservoir is shown according to one or more embodiments of the present invention; Figure 12 The logical flow for generating a stormwater overland flow map according to one or more embodiments of the present invention is shown; Figure 13 These are exemplary hardware and software environments for implementing one or more embodiments of the present invention; and Figure 14 A typical distributed / cloud-based computer system according to one or more embodiments of the present invention is illustrated schematically. Detailed Implementation
[0009] In the following description, reference is made to the accompanying drawings, which form a part thereof, and several embodiments of the invention are illustrated by way of illustration in the drawings. It should be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
[0010] Overview Embodiments of this invention utilize machine learning (ML) to construct surrogate models and obtain stormwater flood maps without having to solve equations. The ML model is trained on simulations (surfaces and associated flood maps) from public domain sources. After training the ML model, the surface is passed to the ML algorithm, and the ML output is a flood map similar to conventional stormwater flood maps in the prior art. Embodiments of this invention also provide interactive drainage, where users can place / move ponds and swales on the surface. In response, the updated surface is reprocessed by the ML algorithm, and the flood map is updated dynamically in real time. In other words, immediate feedback on the flood map is provided each time a pond / swale is moved. Additionally, embodiments of this invention provide interactive building, where clients / users can place / move building objects on the surface, and the updated surface is reprocessed by the ML algorithm, and the flood map is updated on-site (dynamically in real time) to identify locations where no buildings are placed. In other words, the implementation provides immediate feedback when buildings / floodwalls / other objects are moved around.
[0011] Design Workflow Proxy modeling (also known as ML) can be implemented as a cloud service with demanding input requirements and unconventional outputs. Existing prior art systems (e.g., INFODRAINAGE™) can be implemented as high-end drainage design software that provides two different ways to view a two-dimensional (2D) representation of water pooling (called stormwater) on a surface. Stormwater essentially shows what happens when water pours down a surface and is fairly fast but does not take into account any stormwater controls such as reservoirs that the user adds to their design, while 2D analysis takes into account a specified rainfall amount and all manholes / reservoirs, but takes significantly longer to compute. Embodiments of the present invention utilize proxy modeling, which uses services to compute the distribution of water on a surface that takes into account reservoirs (and some other stormwater controls), where the computation time is as fast or faster than prior art stormwater computation.
[0012] Figure 1 An overall design workflow, including data engineering and model building, according to one or more embodiments of the present invention is illustrated. The various aspects of the workflow are described in more detail below.
[0013] Unusual format Rainfall systems are used to transmit various hydraulic and rainfall data, but machine learning tools are typically concerned with slightly different things than what rainfall systems might be concerned with for proper rigorous analysis. Embodiments of the present invention provide a proxy modeling service 102 that receives input from a 500×500 ASCII raster and outputs a bitmap file (i.e., a simulation file 104 such as .sim, .log, etc.). Surface data is not saved as an ASCII raster, and the objects storing rainfall results are slightly more complex than bitmap files. Any desktop product associated with a machine learning-driven service may have to consider how to quickly translate to and from these inputs and outputs.
[0014] Preprocessing and pre-preprocessing To convert surface data into an ASCII raster, it becomes very clear that a faster way is needed to navigate the network of triangles and vertices that make up our surface data. The implementation of this invention relies on an R-tree approach, allowing the system to find the Z-value from the surface very quickly for each point in a 500×500 ASCII raster. However, it may also be necessary to determine whether any rainwater controls are relevant. Furthermore, while the R-tree implementation speeds up preprocessing, it is undesirable to perform this calculation for every 250,000 points every time a user moves the reservoir before sending anything to the proxy modeling service. Therefore, the problem becomes implementing a connection to the API (Application Programming Interface) of a particularly demanding cloud service within an established desktop product.
[0015] In view of the foregoing, embodiments of the present invention can store in memory a very lightweight set of custom objects representing points in an ASCII raster, along with the associated Z-values for the surface and any rain controls on the surface. This way, the surface only needs to be navigated at load time, and with the help of a GUID dictionary, the associated raster nodes can be updated whenever the rain controls are updated. Such embodiments are lightweight in terms of memory and distribute CPU load across programs, so that the ASCII raster is essentially filled by the time a call to the proxy modeling service is needed.
[0016] In addition, to provide such capabilities, the data preprocessing engine 106 removes unnecessary files, removes corrupted files, compresses data, and uploads data to a storage device (e.g., an S3 bucket or other cloud storage container for objects stored in Simple Storage Service [S3]).
[0017] Post-processing and limit values Once preprocessed (at preprocessing engine 106), data visualization and validation engine 108 visualizes the ground model and depth, checks the number of implementations, and validates the propagation of water depth over time.
[0018] In addition to the above, it can be noted that systems may become accustomed to receiving far more explicit and detailed data from computation than that provided by a single bitmap image. To find a way to convert this data (and quickly!), embodiments of the invention can request a limitation on the proxy modeling service. This limitation is to set an upper limit of 1 meter on the maximum water level on the surface to be displayed by the bitmap file. This is reasonable because if water at that depth (or greater) accumulates in any location where the user does not intend for it to accumulate, the user will typically want to update their model. Importantly, this allows embodiments of the invention to convert back from bitmap shading very quickly—where a value of 0 represents a depth of 0 m and a value of 255 represents a depth of 1 m. This rapid conversion back to depth data then allows embodiments of the invention to provide users with similar flexibility in display settings as prior art rainstorm results.
[0019] In other words, one or more embodiments of the present invention set an upper limit on the maximum depth, thereby enabling fast and efficient conversion between ASCII values at different points.
[0020] Proxy modeling return Figure 1 Once the data has been processed (at step 106) and validated (at step 108), the physics-based deep learning (PBDL) engine 110 performs surrogate / ML modeling. The purpose of the surrogate model (or ML model) is to approximate the results of more complex modeling or simulations, while accepting a higher degree of error, but with computational speed as an advantage.
[0021] The embodiments of the present invention (via PBDL 110) utilize fully simulated inputs and outputs to train a convolutional neural network to approximate the results of that simulation, but provide results much faster than running a full simulation. This allows users to rapidly iterate through the design and understand the impact of design changes. Furthermore, the embodiments of the present invention are able to provide dynamic results, showing the evolution of water flow over time (more precisely, 15 time steps).
[0022] Figure 2AA convolutional neural network (CNN) is illustrated as a predictive model utilized according to one or more embodiments of the present invention. As shown, a ground model 202 is used as input (i.e., input to input layer 204A). Such a ground model may consist of LiDAR data from ground terrain or other publicly available ground model data (e.g., from government sources). Additionally, suitable parameters are specified. Specifically, CNN 204 includes input layer 204A, a deep neural network 204B (which includes multiple hidden layers), and output layer 204C (204A-204C are collectively referred to as CNN 204). The deep neural network 204B generates an output layer 204C that includes actual randomized visualizations. As shown, the DNN includes 12 distinct layers, 3 million trainable parameters, a 3×3 kernel size, a stride of 1, and padding of 1. Using this configuration, 3100 implementations / implementation visualizations 206 and 52,700 files are generated (by the DNN 204B).
[0023] It can be noted that traditional simulation processes involve solving a set of partial differential equations and discretizing them in both time (t) and space (x, y). However, in the input data / ground model 202 utilized in embodiments of the present invention, spatial discretization has already been captured in ground image 202, which is used as input to convolutional neural network (CNN) 204. To incorporate temporal discretization and utilize it in the surrogate model, embodiments of the present invention redesign the architecture to include a sequence of CNN models 204.
[0024] Each model 204 in the sequence takes the output of the previous model as its input. This allows model 204 to learn and predict the evolution of stormwater surface runoff over time. As used herein, stormwater surface runoff refers to rain falling on a surface and following the landform to find low points and form flooding hotspots. In other words, only the first model receives the ground image 202 and predicts the stormwater surface runoff map for the next time step (t1). This predicted stormwater surface runoff at t1 is then used as input to predict the stormwater surface runoff at t2, and so on.
[0025] During training, the sequence of the CNN model 204 learns to observe and predict changes in the water map over time. Later, when deployed, the sequence of the model can generate video output 206 representing the evolution of stormwater surface runoff.
[0026] Figure 2BA sequence of three selected CNN models 206A-206C for a third sample is shown according to one or more embodiments of the present invention. As shown, the ground model 202 is processed by sequential CNNs 206A-206C, generating estimated outputs 208A-208C at different time steps (i.e., TS1 is 2 minutes, TS2 is 15 minutes, and TS3 is 30 minutes). For reference / comparison purposes, a reference figure 210 (i.e., actual outputs TS1-TS2, TS3, and TS4) generated by an actual simulator at this timestamp is shown. As shown, the estimated outputs 208A-208C generated by CNN 206 are quite close to the actual outputs 210 generated by the simulator.
[0027] As a result of incorporating a sequence of CNN models 204 into the architecture of the embodiment of this invention, several improvements have been achieved. First, the accuracy of the surrogate models has been enhanced. By allowing each model in the sequence to build upon the predictions of the previous model, the embodiment is able to more effectively capture the evolutionary dynamics of stormwater surface runoff. Additionally, this method enables the generation of video output instead of a single image. By utilizing the predictions made by each model in the sequence, a visual representation of stormwater surface runoff over time can be created. This video output provides a more comprehensive and dynamic understanding of the system's behavior, thereby allowing for better analysis and interpretation of the results.
[0028] Inference time improvement In determining which CNN 204 to utilize, one challenge was to provide a low-latency service that could perform predictions (or inferences) from the CNN and respond to desktop client apps within a reasonable timeframe. Development proceeded in two versions. The first version had a response time target of 5-7 seconds and utilized AWS (AMAZON WEB SERVICES) LAMBDA as the primary computational unit for the proxy service. This first version managed to approach the target response time but exhibited high variability. Through the development of this first version, the biggest bottleneck was identified as the size of the file transferred from the client application to the backend service. With a full-precision, uncompressed file, a response time of approximately 13 seconds (file size approximately 5MB) was achieved. By reducing the precision (to 2 or 3 decimal places) and compressing the input file, the embodiment of this invention was able to reduce the response time to approximately 6.3 seconds. The conclusion is that once the file is on the AWS network and processed by the backend application, the inference and post-processing times are acceptable. The truly unknown factor is the transfer time, which can be significantly affected by the user's network connection. At this point, during development, determining a response time between 6 and 13 seconds will not compensate for a good user experience, because the goal is to be more dynamic and allow for rapid iteration through the design.
[0029] In addition to the above, during the development of the first version of the application, it was noted that significantly higher inference speeds could be achieved by leveraging better hardware in AWS (in this case, just the time spent on the forward pass of CNN 204). Testing with GPU-accelerated hardware, the embodiment of this invention was able to achieve inference in under 1 second, which is much faster than the approximately 4 seconds achieved by performing inference within AWS LAMBDA. Therefore, for the second version, the embodiment of this invention leverages AWS SAGEMAKER to gain access to better, GPU-accelerated hardware. The new architecture then uses AWS LAMBDA for preprocessing and post-processing of the input, with the AWS SAGEMAKER real-time endpoint performing model loading and inference. After benchmarking, the embodiment of this invention selected the ml.g4dn.xlarge instance because it provided an average inference time of 0.74 seconds at a relatively low cost—other instances performed slightly better but at a much higher cost. The resulting response times from instances using SAGEMAKER and GPU acceleration are significant: 5.6 seconds for full-precision, uncompressed input and 2.1 seconds for compressed input with 2 or 3 decimal places. These response times provide greater confidence that the proxy model can be used in real-time to deliver dynamic results to end users. Table 1 shows these estimated response times within the AWS network (e.g., ~1.2s).
[0030] Table 1 The embodiments of the present invention can further reduce latency. Figure 3 End-to-end system latency according to one or more embodiments of the present invention is illustrated. As shown, the processing / computation time is approximately 500 ms for GPU inference 302, approximately 125 ms for a 300KB PNG transfer 304, and approximately 250 ms for rendering, visual perception, and reaction 306. The network setup 308 has approximately 2 ms for DNS, approximately 34 ms for TCP, and approximately 127 ms for SSL, and approximately 1,000-2,000 ms for a 5,000KB ASCII transfer 310. It can be seen that the system latency is dominated by the data transmission 310 of the input representation. Embodiments of the present invention provide: - Lower precision, compressed matrix input (as small as 1 / 100); - Rasterization in AWS, and user-designed options for "stamping" the underlying triangular mesh; and - Streaming via more persistent connections eliminates network setup overhead—if multiple related requests / responses are expected for a particular client workflow.
[0031] Additional / alternative use improvements Speed – In embodiments of the invention, the process may take longer than expected. Embodiments of the invention can significantly improve speed by reducing the incurred preprocessing time (e.g., through INFO DRAINAGE) and by performing some of this preprocessing before it is needed. From a usage perspective, the change is that once the surface is loaded, the values required to fill the ASCII raster consumed by the service are held in memory, and these values are updated when changes are made.
[0032] SWC Overlay—In embodiments of the invention, the values passed to the service can be entirely determined by the loaded surface and are unaffected by anything the user might place on the plan view. Additional embodiments of the invention can alter this, allowing rainwater controls for reservoirs and drains to be effectively “overlaid” onto the grid passed to the surface, so that they influence the outcome. Such overlays can include rectangular, circular, and freeform profiles for both straight-edged and angled rainwater controls.
[0033] Iteration – Maintaining Results / Iterative Functionality – In embodiments of the invention, the user may be prompted to select the interactive rainstorm option each time they desire a proxy model. Alternative embodiments may work such that, after the user has initially selected the interactive rainstorm option, the proxy model is updated whenever changes are made to the surface or rain control. The new proxy model will not be displayed immediately, but very quickly, and instead of using a progress bar to prevent the application from making these requests, the same functionality presented for 1D analysis can be utilized when the “Maintain Results” option is enabled. That is, assuming the input is valid, the user can see the progress only in the lower left / taskbar section of the software application (e.g., INFODRAINAGE), and the plan view will be updated with a new proxy model image upon completion (assuming, of course, its display setting is enabled).
[0034] Legend / Display Settings Update—An embodiment of the invention may display only the image returned from the proxy modeling service. An alternative embodiment may evaluate the returned bitmap and provide legends and display settings similar to existing 2D display settings to allow the user to select colors and opacities for various thresholds. Note that the upper limit of the maximum water depth above the surface can be set to 1m.
[0035] Graphical User Interface (GUI) The storm tool of this invention allows for site assessment by applying a certain amount of rainfall to a surface to establish potential confluences and water accumulation. This provides crucial information for determining the optimal location for water storage structures and also provides key locations to avoid when designing buildings and evacuation routes. Users can utilize either simulation-based or ML-based storm data and will obtain flood maps indicating potential confluences and water accumulation.
[0036] Figures 4-11 These are screenshots of a graphical user interface for a rainstorm tool according to one or more embodiments of the present invention. Figure 4 and Figure 5 The initial activation of the rainstorm tool is shown. To run a rainstorm, the surface is loaded, and then the user clicks "Rainstorm" 402, or in a different implementation, "Interactive Rainstorm (ML)" 502, or simply adjusts the ribbon from the initial size, to run a rainstorm analysis to retrieve a flood map associated with a specific water depth applied to the surface.
[0037] like Figure 6 As shown, once activated, the rainstorm tool indicates that a mesh is being built (see message 602). Then, Figure 7 The progress of mesh generation is displayed via status window 702. Figure 8 In the center, the water reservoir 504 has been initially placed in the upper right corner of the site, and the location of the water accumulation can be seen (via shading / shading 802).
[0038] The user can then move the water tank 504 to the desired location and retrieve instantaneous, dynamic, real-time feedback regarding the placement of the water tank 504. For example, as Figure 9 As shown, the user can move reservoir 504 to the right, and the flood map will be updated immediately to reflect the impact of the change. Figure 10 As shown, the user can then move the reservoir 504 to the left (outline 1002 captures the position the user is attempting to move [by clicking and holding the mouse] to before actually moving the reservoir (via releasing the mouse button)). Figure 11 (As shown).
[0039] Once actually placed, as a result of moving reservoir 504 to the left (as shown in Figure 111), the GUI will provide immediate feedback on the flood map. Finally, the user can place the reservoir in the middle (e.g., in the middle of the accumulated water), where the final placement is similar to... Figures 4-8 (as shown in the image) to capture surface runoff—also with real-time dynamic updates and a real-time experience of the flood map.
[0040] Given the above, with the help of rain gauges, the location of expected water accumulation can be seen, which will inform decisions related to the location of reservoirs, buildings, and evacuation routes. As shown in the figure (e.g., via depth map 1102 (coloring / shading reflecting the depth of water accumulation 1104)), the perfect location for reservoir 504 would be the upper right corner of the site.
[0041] Logical Flow Figure 12 The logical flow for generating rainwater surface runoff maps according to one or more embodiments of the present invention is shown.
[0042] At step 1202, simulation inputs and outputs are obtained from the storm simulation model. The storm simulation model simulates where water will converge into streams and accumulate on surfaces. Furthermore, the simulation input is surface data. Additionally, each simulation output is a stormwater runoff map.
[0043] At step 1204, a convolutional neural network (CNN) is trained to approximate the simulated output of the storm simulation model. In this respect, the CNN is a sequence of CNN models, where each CNN model in the sequence represents a time step. The first CNN model in the sequence receives new ground image data and predicts a stormwater runoff map for subsequent time steps. Each subsequent CNN model in the sequence takes the CNN output from the previous CNN model as its CNN input. The output of the CNN (i.e., the CNN output) is a video output, which is a visual representation of stormwater runoff over time.
[0044] In one or more implementations, the CNN is a Bayesian CNN that estimates a standard deviation plot to address uncertainties in a rainstorm simulation model. In a Bayesian CNN, the model parameters are treated as random variables with a prior distribution P(A). During training, Bayesian inference is used to update these distributions based on observed data P(B|A) and P(B), producing a posterior distribution P(A|B) that reflects both prior beliefs and observed evidence. Specifically, the following equation / probability can be used to represent a Bayesian CNN: Where P(A|B) is the posterior, P(B|A) is the probability, P(A) is the prior, and P(B) is the evidence.
[0045] In one or more embodiments of the invention, CNNs are integrated with deep learning in real time to address uncertainties arising from specific numerical methods used in rainstorm simulation models. In an additional embodiment, graphics processing unit (GPU) accelerated hardware is used in Amazon Web Services to process the CNNs.
[0046] At step 1206, a new input consisting of new ground surface data is obtained in a first format.
[0047] At step 1208, a set of custom objects representing the points of the raster is stored in memory. Each custom object is the first z-value of a point on the new ground surface data and the second z-value of a rainwater control above the new ground surface data. Furthermore, the raster can consist of ASCII (American Standard Code for Information Interchange) rasters.
[0048] In step 1210, a collection of custom objects is used to populate the raster.
[0049] At step 1214, the raster is processed in / by the CNN to generate CNN output. Output generation may include the display of a rainwater surface runoff map.
[0050] In one or more implementations, there may be a limit / upper limit on the maximum water level on the surface to be displayed in the CNN output. In such implementations, the CNN output may also include bitmap shading based on bitmap color values being converted into depth data.
[0051] In addition to the above, in one or more embodiments of the invention, obtaining new input may further include overlaying a defined water collection region onto new ground image data. Such overlay may include interactively placing polygonal regions onto the new ground image data. A raster is then refilled based on the defined water collection region. Subsequently, the refilled raster is reprocessed in a CNN to generate a CNN output. In this respect, the CNN output is generated and displayed dynamically in real time in response to the overlay. In one or more embodiments, such overlay may consist of interactively moving polygonal regions onto different regions of the new ground image data. As used herein, the defined water collection region may be selected from the group consisting of reservoirs, drains, and channels (i.e., it may be a reservoir, drain, channel, or other area for collecting water).
[0052] Hardware environment Figure 13This is an exemplary hardware and software environment 1300 (referred to as a computer-implemented system and / or computer-implemented method) for implementing one or more embodiments of the present invention. The hardware and software environment includes a computer 1302 and may include peripheral devices. The computer 1302 may be a user / client computer, a server computer, or a database computer. The computer 1302 includes a hardware processor 1304A and / or a dedicated hardware processor 1304B (hereinafter alternatively referred to collectively as processor 1304) and a memory 1306, such as random access memory (RAM). The computer 1302 may be coupled to and / or integrally formed with other devices, including input / output (I / O) devices such as a keyboard 1314, a cursor control device 1316 (e.g., a mouse, pointing device, pen and tablet, touchscreen, multi-touch device, etc.), and a printer 1328. In one or more embodiments, the computer 1302 may be coupled to or may include a portable or media viewing / listening device 1332 (e.g., an MP3 player, iPod, NOOK, portable digital video player, cellular device, personal digital assistant, etc.). In yet another embodiment, computer 1302 may include a multi-touch device, a mobile phone, a gaming system, an internet-enabled television, a set-top box, or other internet-enabled devices running on various platforms and operating systems.
[0053] In one implementation, computer 1302 operates under the control of operating system 1308 via hardware processor 1304A, executing instructions defined by computer program 1310 (e.g., a computer-aided design [CAD] application). Computer program 1310 and / or operating system 1308 may be stored in memory 1306 and may interface with user and / or other devices to accept input and commands, and provide output and results based on such input and commands and instructions defined by computer program 1310 and operating system 1308.
[0054] The output / result may be presented on display 1322 or provided to another device for presentation, further processing, or action. In one embodiment, display 1322 includes a liquid crystal display (LCD) having a plurality of individually addressable liquid crystals. Alternatively, display 1322 may include a light-emitting diode (LED) display having clusters of red, green, and blue diodes driven together to form full-color pixels. Each liquid crystal or pixel of display 1322 changes to an opaque or translucent state in response to data or information generated by processor 1304 according to instructions of computer program 1310 and / or operating system 1308 applied to inputs and commands to form a portion of an image on the display. The image may be provided via graphical user interface (GUI) module 1318. Although GUI module 1318 is depicted as a separate module, the instructions for performing GUI functions may reside or be distributed within operating system 1308, computer program 1310, or implemented using dedicated memory and processor.
[0055] In one or more embodiments, the display 1322 is integrated with / integrated into the computer 1302 and includes a multi-touch device having a touch-sensing surface (e.g., a track pod or touchscreen) capable of recognizing the presence of two or more contact points on the surface. Examples of multi-touch devices include mobile devices (e.g., iPhone, Nexus S, DROID devices, etc.), tablet computers (e.g., iPad, HP Touchpad, Surface devices, etc.), portable / handheld gaming / music / video player / console devices (e.g., iPod Touch, MP3 player, NINTENDO SWITCH, PLAYSTATION PORTABLE, etc.), touch tables and walls (e.g., where images are projected through acrylic and / or glass and then illuminated with LED backlighting).
[0056] Some or all of the operations performed by computer 1302 according to the instructions of computer program 1310 can be implemented in dedicated processor 1304B. In this embodiment, some or all of the instructions of computer program 1310 can be implemented via firmware instructions stored in read-only memory (ROM), programmable read-only memory (PROM), or flash memory within dedicated processor 1304B, or stored in memory 1306. Dedicated processor 1304B can also implement the invention by hard-wiring circuitry to perform some or all of the operations. Furthermore, dedicated processor 1304B can be a hybrid processor, comprising dedicated circuitry for performing a subset of functions and additional circuitry for performing more general functions, such as responding to instructions of computer program 1310. In one embodiment, dedicated processor 1304B is an application-specific integrated circuit (ASIC).
[0057] Computer 1302 may also implement compiler 1312, which allows applications or computer programs 1310 written in programming languages (such as C, C++, assembly language, SQL, PYTHON, PROLOG, MATLAB, RUBY, RAILS, HASKELL, or other languages) to be translated into code readable by processor 1304. Alternatively, compiler 1312 may be an interpreter that directly executes instructions / source code, translates source code into an intermediate representation to be executed, or executes stored pre-compiled code. Such source code can be written in various programming languages (such as JAVA, JAVASCRIPT, PERL, BASIC, etc.). After completion, application or computer program 1310 uses the relationships and logic generated by compiler 1312 to access and manipulate data received from I / O devices and stored in memory 1306 of computer 1302.
[0058] Computer 1302 may also optionally include external communication devices, such as modems, satellite links, Ethernet cards, or other devices, for accepting input from other computers 1302 and providing output to said computer.
[0059] In one embodiment, the instructions for implementing the operating system 1308, computer program 1310, and compiler 1312 are tangibly embodied in a non-transitory computer-readable medium (e.g., data storage device 1320), which may include one or more fixed or removable data storage devices, such as a zip drive, floppy disk drive 1324, hard disk drive, CD-ROM drive, magnetic tape drive, etc. Furthermore, the operating system 1308 and computer program 1310 include computer program 1310 instructions that, when accessed, read, and executed by computer 1302, cause computer 1302 to perform steps necessary for implementing and / or using the present invention, or load a program of instructions into memory 1306, thereby creating a dedicated data structure that enables computer 1302 to operate as a specially programmed computer performing the method steps described herein. Computer program 1310 and / or operating instructions may also be tangibly embodied in memory 1306 and / or data communication device 1330, thereby creating a computer program product or article of manufacture according to the present invention. Therefore, as used herein, the terms “article,” “program storage device,” and “computer program product” are intended to cover computer programs accessible from any computer-readable device or medium.
[0060] Of course, those skilled in the art will recognize that any combination of the above components or any number of different components, peripherals and other devices can be used with computer 1302.
[0061] Figure 14 A typical distributed / cloud-based computer system 1400 is illustrated schematically, using network 1404 to connect client computer 1402 to server computer 1406. A typical combination of resources may include: network 1404, which may include the Internet, LAN (Local Area Network), WAN (Wide Area Network), SNA (System Network Architecture) network, etc.; client 1402, which may be a personal computer or workstation (e.g., ...). Figure 13 (as described in the document); and server 1406, which is a personal computer, workstation, minicomputer, or mainframe computer (such as...). Figure 13 (As described in the document). However, it can be noted that, according to embodiments of the invention, different networks (such as cellular networks (e.g., GSM [Global System for Mobile Communications] or other networks), satellite-based networks, or any other type of network) can be used to connect client 1402 and server 1406.
[0062] Network 1404 (such as the Internet) connects client 1402 to server computer 1406. Network 1404 can utilize Ethernet, coaxial cable, wireless communication, radio frequency (RF), etc., to connect client 1402 and server 1406 and provide communication between them. Furthermore, in a cloud-based computing system, resources (e.g., storage devices, processors, applications, memory, architecture, etc.) in client 1402 and server computer 1406 can be shared by client 1402, server computer 1406, and users across one or more networks. Resources can be shared by multiple users and can be dynamically reallocated as needed. In this respect, cloud computing can be described as a model for enabling access to a shared pool of configurable computing resources.
[0063] Client 1402 can execute client applications or web browsers and communicate with server computer 1406, which executes web server 1410. Such web browsers are typically programs such as Microsoft Internet Explorer / Edge, Mozilla Firefox, Opera, Apple Savari, Google Chrome, etc. Furthermore, software running on client 1402 can be downloaded from server computer 1406 to client computer 1402 and installed as a web browser plugin or ActiveX control. Therefore, client 1402 can utilize ActiveX components / Component Object Model (COM) or Distributed COM (DCOM) components to provide a user interface on client 1402's display. Web server 1410 is typically a program such as Microsoft's Internet Information Server.
[0064] Web server 1410 can host Active Server Pages (ASP) or Internet Server Application Programming Interface (ISAPI) applications 1412 that can execute scripts. Scripts invoke objects (called business objects) to perform business logic. The business objects then manipulate data in database 1416 through database management system (DBMS) 1414. Alternatively, database 1416 can be part of client 1402 or directly connected to the client, rather than conveying / receiving information from / from database 1416 across network 1404. When developers encapsulate business functionality into objects, the system can be called a Component Object Model (COM) system. Therefore, scripts executed on web server 1410 (and / or application 1412) invoke COM objects that implement business logic. Furthermore, server 1406 can utilize Microsoft's Transmission Server (MTS) to access desired data stored in database 1416 via interfaces such as ADO (Active Data Objects), OLE DB (Object Linking and Embedded Database), or ODBC (Open Database Connectivity)
[0065] Generally, these components 1400-1416 include logic and / or data embedded in or retrieved from a device, medium, signal, or carrier (e.g., a data storage device, a data communication device, a remote computer, or a device coupled to a computer via a network or another data communication device). Furthermore, when such logic and / or data is read, executed, and / or interpreted, it causes the steps necessary for implementing and / or using the present invention to be performed.
[0066] Although the terms “user computer,” “client computer,” and / or “server computer” are used herein, it should be understood that such computers 1402 and 1406 may be interchangeable and may also include thin client devices with limited or full processing capabilities, portable devices (such as mobile phones, laptops, pocket computers, multi-touch devices), and / or any other device with suitable processing, communication, and input / output capabilities.
[0067] Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, can be used with computers 1402 and 1406. Embodiments of the present invention are implemented as software / CAD applications on client 1402 or server computer 1406. Furthermore, as described above, client 1402 or server computer 1406 may include thin client devices or portable devices with multi-touch-based displays.
[0068] in conclusion The description of the preferred embodiments of the invention concludes here. Several alternative embodiments for implementing the invention are described below. For example, any type of computer (such as a mainframe, minicomputer, or personal computer) or computer configuration (such as a time-sharing mainframe, local area network, or standalone personal computer) can be used with the invention.
[0069] The foregoing description of preferred embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on the foregoing teachings. The scope of the invention is not intended to be limited by this specific embodiment, but rather by the appended claims.
Claims
1. A computer-implemented method for generating rainwater surface runoff maps, comprising: (a) Obtain the simulation input and simulation output from the rainstorm simulation model, where: (i) The rainstorm simulation model simulates the locations where water will converge into streams and accumulate on the surface; (ii) The simulated input includes ground surface data; (iii) Each simulation output includes the aforementioned rainwater surface runoff map; (b) Train a convolutional neural network (CNN) to approximate the simulated output of the rainstorm simulation model, wherein: (i) The CNN includes a sequence of CNN models; (ii) Each CNN model in the sequence represents a time step; (iii) The first CNN model in the sequence receives new ground image data and predicts the rainwater surface runoff map for subsequent time steps; (iv) Each subsequent CNN model in the sequence takes the CNN output from the previous CNN model as its CNN input; (v) The CNN output includes video output, which includes a visual representation of rainwater surface runoff over time; (c) Obtain new input including new ground surface data in a first format; (d) Store a collection of custom objects representing points of a grid in memory, wherein each custom object includes a first z-value of a point on the new ground surface data and a second z-value of a rainwater control above the new ground surface data; (e) Populate the grid using the collection of custom objects; and (f) Process the grid in the CNN to generate the CNN output.
2. The computer-implemented method according to claim 1, wherein the CNN includes a Bayesian CNN, the Bayesian CNN estimating a standard deviation plot to resolve uncertainties in the rainstorm simulation model.
3. The computer-implemented method of claim 1, wherein the CNN is integrated with deep learning in real time to resolve uncertainties caused by specific numerical methods used in the rainstorm simulation model.
4. The computer-implemented method of claim 1, wherein the CNN is processed using GPU-accelerated hardware in AMAZON WEB SERVICES.
5. The computer-implemented method of claim 1, wherein the raster comprises the American Standard Code for Information Interchange (ASCII) raster.
6. The computer-implemented method according to claim 1, further comprising: Limit the maximum water level on the surface to be displayed in the CNN output.
7. The computer-implemented method according to claim 6, further comprising: The CNN output includes bitmap coloring; The bitmap coloring output by the CNN is converted into depth data based on the bitmap color values.
8. The computer-implemented method according to claim 1, further comprising: Overlaying a defined water collection area onto the new ground image data, wherein the overlay includes interactively placing polygonal shaped regions onto the new ground image data; Refill the grid based on the defined water collection area; and The refilled raster is reprocessed in the CNN to generate the CNN output, which is dynamically generated and displayed in real time in response to the overlay.
9. The computer-implemented method of claim 8, wherein the overlay further comprises interactively moving the polygonal shape region onto different regions of the new ground image data.
10. The computer-implemented method according to claim 8, wherein the defined water collection area is selected from the group consisting of a reservoir, a drainage ditch, and a channel.
11. A computer-implemented system for generating rainwater surface runoff maps, comprising: (a) A computer having a memory; (b) A processor, which executes on the computer; (c) The memory storing an instruction set, wherein the instruction set, when executed by the processor, causes the processor to perform operations, the operations including: (i) Obtain the simulation input and simulation output from the rainstorm simulation model, where: (1) The rainstorm simulation model simulates the locations where water will converge into streams and accumulate on the surface; (2) The simulated input includes ground surface data; (3) Each simulation output includes the aforementioned rainwater surface runoff map; (ii) Train a convolutional neural network (CNN) to approximate the simulated output of the rainstorm simulation model, wherein: (1) The CNN includes a sequence of CNN models; (2) Each CNN model in the sequence represents a time step; (3) The first CNN model in the sequence receives new ground image data and predicts the rainwater surface runoff map for subsequent time steps; (4) Each subsequent CNN model in the sequence takes the CNN output from the previous CNN model as its CNN input; (v) The CNN output includes video output, which includes a visual representation of rainwater surface runoff over time; (iii) Obtain new input including new ground surface data in a first format; (iv) Store a collection of custom objects representing points of a grid in memory, wherein each custom object includes a first z-value of a point on the new ground surface data and a second z-value of a rainwater control above the new ground surface data; (v) Populate the grid using the collection of custom objects; and (vi) Process the raster in the CNN to generate the CNN output.
12. The computer-implemented system of claim 11, wherein the CNN comprises a Bayesian CNN that estimates a standard deviation plot to resolve uncertainties in the rainstorm simulation model.
13. The computer-implemented system of claim 11, wherein the CNN is integrated with deep learning in real time to resolve uncertainties arising from specific numerical methods utilized in the rainstorm simulation model.
14. The computer-implemented system of claim 11, wherein the CNN is processed using GPU-accelerated hardware in AMAZON WEB SERVICES.
15. The computer-implemented system of claim 11, wherein the raster comprises the United States Standard Code for Information Interchange (ASCII) raster.
16. The computer-implemented system according to claim 11, further comprising: Limit the maximum water level on the surface to be displayed in the CNN output.
17. The computer-implemented system according to claim 16, further comprising: The CNN output includes bitmap coloring; The bitmap coloring output by the CNN is converted into depth data based on the bitmap color values.
18. The computer-implemented system according to claim 11, further comprising: Overlaying a defined water collection area onto the new ground image data, wherein the overlay includes interactively placing polygonal shaped regions onto the new ground image data; Refill the grid based on the defined water collection area; and The refilled raster is reprocessed in the CNN to generate the CNN output, which is dynamically generated and displayed in real time in response to the overlay.
19. The computer-implemented system of claim 18, wherein the overlay further includes interactively moving the polygonal shape region onto different regions of the new ground image data.
20. The computer-implemented system of claim 18, wherein the defined water collection area is selected from the group consisting of a reservoir, a drainage ditch, and a channel.