Watershed Segmentation in Civil Engineering
The method addresses the inaccuracies in civil engineering software by implementing a watershed segmentation technique that identifies saddle points and merges terrain components, enhancing accuracy and robustness while filtering out irrelevant watersheds, thus improving civil engineering analysis and operations.
Patent Information
- Application Number
- JP2020195439
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-11-28
- Filing Date
- 2020-11-25
- Publication Date
- 2025-01-23
- Estimated Expiration
- 2040-11-25
AI Technical Summary
Existing civil engineering software lacks accuracy, robustness, and efficiency in watershed segmentation, particularly in handling real-world terrain data with saddle points and numerical artifacts.
A computer-implemented method for watershed segmentation that identifies saddle points on a terrain mesh, calculates ascending and descending paths based on local slope directions, and merges connected components to accurately segment the terrain without modifying the mesh, combined with a regularization method to filter out small, irrelevant watersheds.
The method provides accurate, robust, and efficient watershed segmentation that maintains the realism of terrain representation, effectively handling degenerate saddle points and numerical artifacts, resulting in meaningful watershed divisions for civil engineering analysis and operations.
Smart Images

Figure 0007620416000011 
Figure 0007620416000012 
Figure 0007620416000013
Abstract
Description
[Technical field]
[0001] The present disclosure relates to the field of computer programs and systems, and more particularly to methods, systems, and programs for civil engineering. [Background technology]
[0002] For the design, engineering and manufacturing of objects, numerous systems and programs are offered on the market. CAD is an acronym for Computer-Aided Design, e.g., related to software solutions for designing objects. CAE is an acronym for Computer-Aided Engineering, e.g., related to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g., related to software solutions for defining manufacturing processes and operations. In such Computer-Aided Design systems, the graphical user interface plays a key role regarding the efficiency of the technique. These technologies may be incorporated within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies share product data, apply common processes and leverage corporate knowledge to help develop products from concept to life, beyond long-term corporate concepts. The PLM solutions offered by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub that organizes product engineering knowledge, a Manufacturing Hub that manages manufacturing engineering knowledge, and an Enterprise Hub that allows connections to both the Enterprise Hub and the Engineering and Manufacturing Hubs. Overall, the system provides an open object model that links products, processes, and resources to enable dynamic knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production, and service.
[0003] In this and other contexts, civil engineering is gaining widespread importance. The following papers and software are relevant to this technical field and are referenced below. TIFF0007620416000001.tif167166
[0004] All these methods suffer from lack of accuracy and / or robustness and / or efficiency and / or speed and / or do not provide satisfactory results.
[0005] Therefore, there is a need for improved methods for civil engineering. Summary of the Invention
[0006] Accordingly, the present invention provides a computer-implemented method for civil engineering. The method includes providing a mesh representing a terrain. The method further includes computing a watershed segmentation of the terrain based on the mesh. The computing of the watershed segmentation includes identifying one or more saddle points on the mesh. For each identified saddle point, the computing of the watershed segmentation includes computing a path ascending from the saddle point according to a direction of local maximum gradient centered at the saddle point, and a path descending from the saddle point according to a direction of steepest gradient centered at the saddle point. identification The identified ascending paths divide the mesh into connected components. The watershed segmentation calculation further includes, for each identified saddle point, merging the respective connected components, where each component whose bottom point is a saddle point is merged with a connected component. The connected components are organized according to the identified paths descending from the saddle point according to the direction of the steepest slope around the saddle point. The road wherein the merging creates at least a portion of a watershed.
[0007] The method may include one or more of the following. The step of identifying the paths ascending from the saddle point includes determining a gradient local maximum around the saddle point, and each of the paths ascending from the saddle point is oriented according to the determined gradient local maximum. The determined gradient maximum about the saddle point is a radial gradient maximum about the saddle point. The step of identifying a path ascending from the saddle point includes projecting a mesh element including the saddle point onto a plane, the radial slope around the saddle point being a function of a direction angle around the projection of the saddle point on the plane. The step of identifying a path ascending from the saddle point includes, for each mesh element that includes the saddle point and that includes at least two maxima of radial gradient, searching among the pairs of at least two maxima of radial gradient for a pair of maxima in a direction that forms a maximum angle in the projection of the mesh element, each direction of the maxima of the pair resulting in one of the connected components. The step of searching for the pair that forms the maximum angle includes searching for a first maximum of the radial gradient and a last maximum of the radial gradient in a projection of the mesh element according to a trigonometric order or an anti-trigonometric order. Identifying the at least one path descending from the saddle point includes calculating a gradient global minimum about the saddle point. The gradient global minimum is the global minimum of the radial gradient around the saddle point. The merging determining a graph having nodes representing connected components and arcs representing connections between two connected components; extracting connected components of the graph, each of which represents a watershed of a terrain; Includes. Each node representing a connected component with the saddle point as its base is connected by an arc in the graph to a node representing a connected component of the mesh that is located below the saddle point and includes an identified path descending from the saddle point according to the steepest direction around the saddle point. At least one of the identified one or more saddle points is a degenerate saddle point; and / or The terrain is a construction terrain.
[0008] A computer program comprising instructions for carrying out the method is further provided. Furthermore, an apparatus is provided that includes a data storage medium having a computer program recorded thereon. The apparatus may form or function as a non-transitory computer-readable medium, such as on a SaaS or other server or cloud-based platform. The device may alternatively comprise a processor coupled to the data storage medium. Thus, the apparatus may form in whole or in part a computer system (e.g., the apparatus is a subsystem of the overall system). The system may further comprise a graphical user interface coupled to the processor. [Brief description of the drawings]
[0009] [Figure 1] 1 illustrates the present disclosure. [Diagram 2] 1 illustrates the present disclosure. [Diagram 3] 1 illustrates the present disclosure. [Figure 4] 1 illustrates the present disclosure. [Diagram 5] 1 illustrates the present disclosure. [Figure 6] 1 illustrates the present disclosure. [Figure 7] 1 illustrates the present disclosure. [Figure 8] 1 illustrates the present disclosure. [Figure 9] 1 illustrates the present disclosure. [Figure 10] 1 illustrates the present disclosure. [Figure 11] 1 illustrates the present disclosure. [Figure 12] 1 illustrates the present disclosure. [Figure 13] 1 illustrates the present disclosure. [Figure 14] 1 illustrates the present disclosure. [Figure 15] 1 illustrates the present disclosure. [Figure 16] 1 illustrates the present disclosure. [Figure 17] 1 illustrates the present disclosure. [Figure 18] 1 illustrates the present disclosure. [Figure 19] 1 illustrates the present disclosure. [Figure 20] 1 illustrates the present disclosure. [Figure 21] 1 illustrates the present disclosure. [Figure 22] 1 illustrates the present disclosure. [Figure 23] 1 illustrates the present disclosure. [Figure 24] 1 illustrates the present disclosure. [Diagram 25] 1 illustrates the present disclosure. [Figure 26] 1 illustrates the present disclosure. [Figure 27] 1 illustrates the present disclosure. [Figure 28] 1 illustrates the present disclosure. [Figure 29] 1 illustrates the present disclosure. [Diagram 30] 1 illustrates the present disclosure. [Diagram 31] 1 illustrates the present disclosure. [Diagram 32] 1 illustrates the present disclosure. [Diagram 33] 1 illustrates the present disclosure. [Diagram 34] 1 illustrates the present disclosure. [Diagram 35] 1 illustrates the present disclosure. [Diagram 36] 1 illustrates the present disclosure. [Figure 37] An example of a system is shown. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] The present invention provides a computer-implemented method for civil engineering.
[0011] In particular, the present invention provides a first computer-implemented method for civil engineering.
[0012] The first method includes providing a mesh representing a terrain. The first method further includes computing a watershed segmentation of the terrain based on the mesh. The computing of the watershed segmentation includes identifying one or more saddle points on the mesh. The computing of the watershed segmentation further includes identifying, for each identified saddle point, a path ascending from the saddle point according to a direction of maximum gradient around the saddle point and a path descending from the saddle point according to a direction of steepest gradient around the saddle point. The identified ascending paths partition the mesh into connected components. The computing of the watershed segmentation further includes, for each identified saddle point, mapping each connected component that is a saddle point with a connected component that includes an identified path descending from the saddle point according to a direction of steepest gradient around the saddle point. The merging results in at least a portion of a watershed. The first method is sometimes referred to as the "watershed segmentation method."
[0013] The watershed division method constitutes an improved method of civil engineering.
[0014] In particular, the watershed segmentation method makes it possible to perform a watershed segmentation of the terrain represented by the mesh, i.e., to perform a segmentation of the terrain into one or more watersheds (hereinafter sometimes simply called "basins") bounded by watershed lines (described below). The watershed segmentation method notably results in the watersheds and watershed lines of the terrain. For example, the identified ascending paths include ascending spurs. However, at least some of the identified ascending paths are not watershed lines. The watershed segmentation of the terrain is objective physical information about the terrain, making it possible, for example, to segment the terrain into parts where the water flow has a similar behavior, i.e. watersheds. This ultimately makes it possible to perform a civil engineering analysis and / or to perform one or more physical operations related to civil engineering on the terrain, as discussed further below.
[0015] Furthermore, the watershed segmentation is performed based on a mesh representing the terrain, which means that the watershed segmentation is performed directly on the input (i.e. provided) mesh, i.e. without any modification of the input mesh. Such modifications may indeed reduce the quality of the mesh, e.g. the degree of realism with which the input mesh represents the terrain. In contrast, this modification does not occur in the watershed segmentation method, so that the watershed segmentation method is accurate and robust, resulting in a relatively realistic watershed segmentation of the terrain. Also, with regard to the realism of the results, the quality of the watershed segmentation calculated by the watershed segmentation method does not depend on the size and / or regularity of the mesh.
[0016] Furthermore, the watershed segmentation method performs watershed segmentation on a mesh that includes one or more saddle points, where, as known per se from the field of civil engineering, a mesh that represents a terrain almost always includes one or more saddle points, as the terrain does in the real world. The watershed segmentation method therefore makes it possible to perform watershed segmentation on a quality mesh, as the quality mesh includes one or more saddle points. The watershed segmentation method is therefore accurate and results in a realistic watershed segmentation of the terrain.
[0017] Furthermore, the watershed segmentation computed by the watershed segmentation method is performed directly on a mesh that contains one or more saddle points, as described above. In this way, the watershed segmentation handles the almost inevitable presence of saddle points on a mesh without modifying the input mesh, which makes the watershed segmentation method robust and efficient. identification It does so by identifying, for each identified saddle point, several paths ascending from the saddle point according to the local maximum slope direction, and a path descending from the saddle point with the steepest slope direction. In this way, the watershed segmentation method divides the mesh into connected components, each of which is bounded by two identified ascending paths. Specifically, identificationThe mesh is divided into connected components that correspond to either connected portions of the terrain that have a saddle point at their base, connected portions of the terrain where water necessarily flows towards a saddle point, or connected portions of the terrain that form steepest valleys descending from the saddle point. It should be understood that water does not stop, but remains at the saddle point, thereby passing / flowing and eventually reaching the lowest elevation point, which is the lowest point in the watershed. The watershed segmentation method then merges each connected component that has a saddle point at its base with the steepest valley around the saddle point. This merging results in a single connected component of the mesh that comprises the saddle point, representing the connected portions of the terrain where water necessarily flows downstream to enter a unique watershed. In other words, the single connected component forms at least a portion of a watershed. Such a watershed portion identification As each saddle point is determined, the watershed segmentation ultimately determines the complete drainage basin that segments the landscape.
[0018] Moreover, in the example, at least one of the identified one or more saddle points is a degenerate saddle point. Thus, the watershed segmentation method handles degenerate saddle points that are often present in mesh-realistic representations of real-world terrain. In this manner, the watershed segmentation method takes as input a realistic mesh representation of the terrain and outputs a realistic watershed segmentation thereof. Moreover, the watershed segmentation method handles degenerate saddle points without modifying the input mesh, which makes the watershed segmentation method particularly robust and efficient.
[0019] The present invention also provides a second computer-implemented method for civil engineering.
[0020] The second method includes providing a watershed segmentation of the terrain. The watershed segmentation includes a watershed. The second method further includes merging a first watershed of the watershed segmentation, each verifying the smallness criterion, with a second watershed downstream of the first watershed. The second method may be referred to as a "regularization method."
[0021] The regularization method constitutes an improved method for civil engineering.
[0022] In particular, the regularization method makes it possible to regularize the provided watershed segmentation of the terrain, by regularizing the watershed segmentation to a means of merging the watersheds of the watershed segmentation, so that the merging result is a merged watershed, also called filtered watersheds, each violating a smallness criterion. In other words, the merging results in a large filtered watershed.
[0023] The regularization method can remove (or at least reduce the number of) small watersheds that correspond to numerical artifacts and / or noise by regularizing the watershed segmentation of the terrain. In other words, depending on how the provided watershed segmentation was calculated, the watershed segmentation can include one or more watersheds that are not believed to exist in the real world but exist numerically due to numerical artifacts and / or noise. The numerical artifacts and / or noise can result from physical measurements performed to obtain data on the terrain (which is further described below), for example to obtain a mesh that represents the terrain. Additionally or alternatively, the numerical artifacts and / or noise can correspond to unimportant details about the terrain (e.g., molehills). These watersheds respect the smallness criterion. The regularization method filters these watersheds by merging them into larger watersheds.
[0024] Additionally or alternatively, one or more watersheds may be small in the real world, so that each may verify the smallness criterion. However, they may be so small that they are meaningless to civil engineers, e.g., because of their smallness, they do not have much effect on the trajectory of water over the landscape and / or other physical phenomena. Only the larger filtered watersheds have such an effect. The regularization method makes it possible to obtain such filtered watersheds. In other words, the regularization method results in a filtered segmentation that is meaningful to civil engineers.
[0025] As mentioned above, if the watershed segmentation constitutes objective physical information, enabling a civil engineering analysis and / or one or more civil engineering physical actions to be performed, regularizing this watershed segmentation according to the watershed segmentation method improves the relevance of this physical information.
[0026] In addition, the regularization method takes into account the terrain (e.g., the In particular, the regularization method does not modify the characteristics of such watersheds, but only merges them. As discussed above in the context of the watershed segmentation method, not modifying the representation of the terrain (e.g., the mesh) contributes to improving the realism of the results obtained by the regularization method.
[0027] The present invention also provides a third computer-implemented method for civil engineering.
[0028] A third method includes providing a mesh representing the terrain and a polyline on the mesh. The third method further includes calculating a contributor for the polyline. The calculation of the contributor includes modifying the mesh by determining a trench under the polyline based on the polyline. The calculation of the contributor further includes calculating a watershed segmentation of the terrain based on the modified mesh. The calculation of the contributor further includes identifying a watershed that includes the trench on the modified mesh based on the calculated watershed segmentation. The contributor corresponds to the identified watershed. The third method may be referred to as a "contributor calculation method."
[0029] Contributor calculus constitutes an improved method for civil engineering.
[0030] In particular, the contributor calculation method allows to calculate the contributors of a polyline, which are the contributors of two or more points connected by a line segment (i.e., areas of the terrain where water necessarily flows towards and reaches the polyline). A polyline may typically represent the alignment on a terrain such as a road, a railway, a channel, a mine, or a building. The contributors therefore constitute objective physical information for civil engineering, since they allow to determine the water trajectory of the water flowing across the polyline. This objective physical information may be used to perform civil analysis and / or one or more civil physics actions, as discussed further below.
[0031] Furthermore, the contributor calculation method proceeds in three steps, namely, modifying the mesh by generating a trench under the polyline, calculating the watershed of the modified mesh by calculating a watershed segmentation of the modified mesh, and identifying the watershed on the segmentation that corresponds to the contributor. Furthermore, these three steps use a single operation to calculate the contributor of the polyline, i.e., they calculate all the points (e.g., mesh vertices) of the contributor at once, and not one by one. This makes the contributor calculation method fast, robust, efficient, and accurate. Furthermore, the generated results are consistent with the results of the watershed segmentation. Furthermore, the calculation is not affected / dependent on the complexity and / or accuracy of the polyline, which makes the contributor calculation method even more robust and efficient.
[0032] The watershed segmentation method, the regularization method, and the contributor calculation method may be performed independently of each other. Alternatively, the watershed segmentation method, the regularization method, and / or the contributor calculation method may be combined. For example, the watershed segmentation provided according to the regularization method may be a watershed segmentation calculated according to the watershed segmentation method. For example, the providing of the watershed segmentation of the regularization method may include providing a mesh representing the terrain according to the watershed segmentation method and calculating the watershed segmentation according to the watershed segmentation method, where the calculated watershed segmentation is the provided watershed segmentation. Additionally or alternatively, the calculation of the watershed segmentation according to the contributor calculation method may be performed following the calculation of the watershed segmentation according to the watershed segmentation method.
[0033] The watershed division method, the regularization method, and / or the contributor calculation method may be integrated into the same civil engineering process, also referred to as a “civil engineering process.” In other words, the civil engineering process includes performing one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method.
[0034] Specifically, civil engineering involves providing a mesh that represents the terrain.
[0035] The civil engineering process may further include, in the example, understanding the morphology of the terrain. Understanding the terrain may include identifying elements of the terrain such as ridges and / or valleys. Understanding the terrain may begin by the user by calculating the slope on the terrain, for example on each triangle of the mesh. Understanding the terrain may then include estimating valleys and ridges by the user. The valleys and ridges provide the user with enough information to start calculating watershed segmentation on a portion of the terrain that is of particular interest. They also allow the user to infer new information (e.g., estimating the volume of water received by an outlet to dimension the drainage system). Note that the contributor calculation may replace the watershed segmentation calculation, for example, when the user is considering an artwork. The user may also modify the road alignment if the contributor calculation indicates that the drainage system is not sufficient. This allows a loopback between the work of the artwork concept and the estimation of the volume of water.
[0036] The civil engineering process may then include computing a watershed segmentation of the terrain based on the mesh, where the computing the watershed segmentation is computing the watershed segmentation by a watershed segmentation method. The civil engineering process may then include regularizing the computed watershed segmentation by merging a first watershed of the computed watershed segmentation, each verifying the smallness criterion, with a second watershed downstream of the first watershed, where the merging is a merging regularization method. This improves robustness since small (e.g., shallow) watersheds of the computed watershed segmentation are filtered out.
[0037] Additionally or alternatively, the civil engineering process may include providing a polyline on the mesh according to a contributor computation method, and computing contributors of the polyline according to a contributor computation method. Calculating the contributors includes computing a watershed segmentation of the terrain based on the modified mesh, as described above. Calculating the watershed segmentation may include computing an initial watershed segmentation of the terrain based on the modified mesh according to a watershed segmentation method, and performing regularization of the computed initial watershed segmentation according to a regularization method, as described further below.
[0038] Thus, the civil engineering process results in one or more of the watershed segmentation method calculated by the watershed segmentation method and / or regularized by the regularization method, and / or the polyline contributors calculated by the contributor calculation method. The civil engineering process may further include displaying the calculated and / or regularized watershed segmentation and / or the calculated contributors. In this manner, the process may, for example, enable determining the trajectory of water flowing across a portion of the terrain based on the display, and / or segmenting the terrain into portions where water flow has similar behavior. This may enable performing civil engineering analysis on the terrain, as described below.
[0039] The civil processing may further include performing a civil analysis based on the calculated and / or regularized watershed segmentation and / or the calculated contributors. The process may further include performing one or more physical operations based on the civil analysis, the calculated and / or regularized watershed segmentation, and / or the calculated contributors. The civil analysis and / or the one or more physical operations may be performed while the calculated and / or regularized watershed segmentation and / or the calculated contributors are displayed on a computer display. This may guide a civil engineer when performing the task of the civil analysis and / or when performing the one or more physical operations.
[0040] In particular, the calculated and / or regularized watershed segmentation and each of the calculated contributors form objective physical information that can, for example, perform a civil engineering analysis and / or one or more physical actions based on a representation of the objective physical information. One or more physical actions may also be performed based on the civil engineering analysis.
[0041] The civil analysis may include analyzing and / or designing the terrain and / or human structures on the terrain based on (e.g., based on a representation of) the calculated and / or regularized watershed segmentation and / or the calculated contributors. The civil analysis may include one or more of the following: For example, topographic analysis based on computed and / or regularized watershed segmentation (e.g., its representation); Determination of water flow over the landscape, e.g., based on calculated and / or regularized watershed segmentation (e.g., its representation); Segmenting the landscape into watersheds, for example, based on the calculated and / or regularized watershed segmentation (e.g., a representation thereof); For example, visualizing areas of the terrain where rainfall reaches a particular area of interest, such as a planned or existing road alignment, based on the calculated contributors (e.g., representations thereof) of a particular area of interest (e.g., road alignment), with a polyline representing the particular area of interest (e.g., road alignment); Sizing drainage tools for draining one or more trenches of the terrain, railway, waterway, mine and / or building based on the contributors (e.g., representations of) the terrain around the road, railway, waterway, mine and / or building, e.g., the calculated road, railway, waterway, waterway, mine and / or building, polylines representing the road, railway, waterway, mine and / or building; designing one or more storm water drainage systems, for example, based on the calculated and / or regularized watershed segmentation (e.g., a representation thereof); For example, designing a watershed for a proposed or existing road alignment based on (e.g., a representation of) the calculated contributors of the road alignment (polylines representing the road alignment); determining the impact of water flow on one or more urban structures on the landscape based on the calculated and / or regularized watershed subdivisions and / or the calculated contributions of each of said urban structures, and / or a polyline representing each of said urban structures (e.g., a representation thereof); Modifying the design of a human construction to be constructed on the terrain, for example, based on the calculated and / or regularized watershed segmentation and / or calculated contributors of the construction, a polyline representing the construction (e.g., a representation thereof); Determining the impact of constructing a dam on the terrain, e.g., based on the calculated and / or regularized watershed segmentation and / or the calculated contributors of the dam, a polyline representing the dam (e.g., a representation thereof); Determining the impact of dyke transplantation, e.g., based on the calculated and / or regularized watershed segmentation and / or the calculated contributors of the dyke, a polyline representing the dyke. The determination of the influence of the water flow on the terrain of the mine and / or the determination of the influence of the mine buildings on the terrain may be carried out, for example, by calculating and / or regularizing the watershed segmentation and / or the calculation of the mine. This is done based on the polylines (i.e., representations) of the contributors and mines that have been added.
[0042] The one or more physical actions may include performing natural risk management and / or construction and / or maintenance operations on the terrain and / or one or more human constructions on the terrain based on the calculated and / or regularized watershed segmentation, the calculated contributors, and / or the civil analysis (e.g., displaying the same). The one or more physical actions may, among others, include one or more of the following: For example, performing natural risk management based on calculated and / or regularized watershed segmentation, calculated contributors and / or water flow estimates resulting from civil engineering analysis. Natural risk management can include determining whether the risk associated with the implementation of a structure at a given location is acceptable. This can include determining the amount of water received around a given location and comparing it with preventative measures (e.g., dikes, drains); Constructing and / or modifying one or more roads, railroads, channels, mines, and / or buildings on the terrain. The construction and / or modification can be based on the calculated contributors of each road, railroad, channel, mine, and / or building, polylines representing the road, railroad, channel, mine, and / or building (e.g., a representation thereof). Additionally or alternatively, the construction and / or modification can be based on results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis. - Water flow over a determined terrain. - Terrain topography. · Watersheds that divide the terrain. Areas where rainfall reaches roads, railways, waterways, mines and / or buildings. ·The determined effect of the water flow on one or more roads, railways, waterways, streams, mines and / or buildings. ·Revised designs of roads, railways, waterways, mines and / or buildings. · Determined impact of dam construction on the terrain. Determined effects of dike embedding. Constructing and / or modifying a dam on a terrain. The constructing and / or modifying can be based on calculated contributors of the dam (e.g., its representation), where the polyline represents the dam. Additionally or alternatively, the constructing and / or modifying can be based on results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis, - Topographically determined water flow, Topography of the terrain, - Watersheds that divide the terrain; Determined impact of dam construction on the terrain; Determined impact of dike filling or drainage systems; Construction and / or modification of road alignments. The construction and / or modification may be based on road alignments, polylines representing roads, and calculated contributors to the alignment (e.g., their representations). Additionally or alternatively, the construction and / or modification may be based on results of civil engineering analysis. The results may include one or more of the following: ··Terrain analysis, determined water flow on the terrain, topography of the terrain, distributaries dividing the terrain, areas where rainfall will reach road alignment, designed catchment areas for road alignment, determined impact of water flow on road alignment, determined impact of dam construction on the terrain, determined impact of dike filling; The construction and / or modification of mines on the terrain. The construction and / or modification can be based on the calculated contributors of the mines (e.g., the display of polylines representing the mines). Additionally, or alternatively, the construction and / or modifications may be based on results of the civil engineering analysis. The results may include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. - Watersheds that divide the terrain. The area where the mine should be reached. ·Mine modification design. Determined impact of mine embedment. · Determined impact of dam construction on the terrain. · The determined impact of water flow on the mine and / or the impact of mine construction on the mine. For example, forming a terrain around a human construction on the terrain. The terraforming can be based on (e.g., a representation of) a calculated and / or regularized watershed segmentation. Additionally or alternatively, the terraforming can be based on the results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. · Watersheds that divide the terrain. - Determined impact of water flow on construction. - Revised design of construction. · Determined impact of dam construction on the terrain. Determined impact of dyke transplantation. Constructing one or more water management systems on a terrain. The construction may be based on a calculated and / or regularized watershed segmentation (e.g., a representation thereof). Additionally or alternatively, the construction may be based on results of a civil engineering analysis. The results may include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. -Watersheds that divide the terrain. · A drainage tool sized to drain one or more trenches on the terrain. ·One or more designed storm drainage systems. ·The determined effect of water flow on one or more structures on the terrain. The determined impact of dam construction and / or dike filling on the terrain; and / or Constructing one or more water management systems on a terrain. The construction may be based on a calculated and / or regularized watershed segmentation (e.g., a representation thereof). Additionally or alternatively, the construction may be based on results of a civil engineering analysis. The results may include one or more of the following: ·Terrain analysis, - Topographically determined water flow, Topography of the terrain, - Waterways that divide the terrain, A drainage tool sized to drain one or more trenches on the terrain; One or more designed storm water drainage systems; · The determined effect of the water flow on one or more structures on the terrain; · The determined impact of building a dam on the terrain; Determined effects of dike embedding.
[0043] The methods and processes are for civil engineering.
[0044] As known per se, civil engineering is a branch of engineering that encompasses the study of means of transportation and works of art, including roads, bridges, waterways, dams, airports, sewerage systems, pipelines, structural parts of buildings, and public works such as railways. Each of the methods and processes therefore relates to determining and / or calculating objective physical information on terrains (i.e. watershed segmentation, regularized watershed segmentation, and / or contributors) related to civil engineering. Each of the methods and processes also belongs to the field of terrain analysis and geometric simulation, which allows to determine the trajectory of water flowing across some parts of a terrain and / or to divide a terrain into parts where the water flow has a similar behavior.
[0045] In the context of this disclosure, a terrain is a part of the earth's soil surface. A terrain has a topography. In the context of this disclosure, a terrain is impermeable, i.e., water flows only on the terrain surface. Impermeable terrains are often considered in civil engineering methods for several objective physical reasons. For example, in urban situations, the terrain is at least partially urbanized and most of the soil is made impermeable by permanently covering the soil surface with impermeable materials. Even in non-urban situations, the soil is considered impermeable because in the case of heavy rainfall, the soil capacity to absorb water is reached and the water can no longer permeate into the ground.
[0046] Here, each terrain may be a construction terrain. The construction terrain is the following terrain: and / or one or more human constructions, such as roads, bridges, waterways, dams, airports, sewerage systems, pipelines, buildings, structures and / or railways; For example, based on the civil engineering analysis, one or more human-made constructions, such as roads, bridges, waterways, mines, dams, airports, sewer systems, pipelines, buildings, structural components of buildings, and / or railroads, are constructed.
[0047] Each terrain in this disclosure is represented by a discrete geometric representation. In other words, each of the civil engineering methods in this disclosure is performed on a discrete geometric representation of the terrain. Each of the civil engineering methods and processes in this disclosure can specifically include providing a geometric representation of the terrain. For example, the watershed division method and the contributor calculation method both include providing a mesh that represents the terrain as a discrete geometric representation of the terrain.
[0048] A discrete geometric representation of a terrain, in this disclosure, is a data structure that includes a discrete set of data. Each datum represents a respective geometric entity (e.g., point, surface) of the terrain. Each geometric entity represents a corresponding location of the terrain (in other words, a corresponding portion of the soil surface). The collection (i.e., union or juxtaposition) of the geometric entities represents the entire terrain. Any discrete geometric representation of this disclosure can include a large number of such data, in examples exceeding one million. A discrete geometric representation may be two-dimensional or three-dimensional.
[0049] The discrete geometric representation of the terrain may be a mesh, where each geometric entity is a mesh element, such as a tile or face. Any mesh in the present disclosure may be a 3D mesh or a 3D mesh. Any mesh in the present disclosure may be regular or irregular (i.e., may or may not consist of faces of the same type). Any mesh in the present disclosure may be a polygonal mesh, e.g. a triangular mesh, where the mesh faces are triangles, each with a boundary defined by mesh edges and each with a boundary defined by mesh vertices. Any mesh in the present disclosure may be obtained from a point cloud, for example, by triangulating the point cloud (e.g., using Delaunay triangulation).
[0050] Any mesh representing a terrain in the present disclosure may be implemented using, for example, a reconstruction process performed on the terrain. The terrain features may be derived from (i.e. may be determined from) physical measurements. The reconstruction process may comprise performing one or more lidar surveys of the terrain, as known per se from the civil engineering field. The reconstruction process may additionally or alternatively comprise one or more surveys by triangulation of parts of the terrain, as known per se from the civil engineering field. The reconstruction process may additionally or alternatively comprise performing photogrammetry on the terrain, as known per se from the civil engineering field. The lidar survey, triangulation and / or photogrammetric survey may result in a point cloud representing the terrain, and the reconstruction process may further comprise triangulating the point cloud to obtain a mesh. Any mesh representing a terrain in the present disclosure may be a digital elevation model, as known per se from the civil engineering field. Additionally or alternatively, any mesh representing a terrain in the present disclosure may be a 3D triangular mesh that may be parameterized by a 2D subset D of the plane Oxy. In other words, the projection of the mesh triangles induces a triangulation of the domain D, which entails that there are no overhanging triangles in the mesh.
[0051] Both the watershed segmentation method and the contributor calculation method include providing a mesh representing the terrain. Providing a mesh representing the terrain may include constructing the mesh, for example, by performing a reconstruction process as described above. Alternatively, providing the mesh may include retrieving the mesh from a (e.g., remote) memory in which the mesh was stored after construction.
[0052] Information relating to water trajectories through the terrain, such as watershed segmentation or contributors, constitutes objective physical information for civil engineering, based on which a civil engineer can perform civil analysis and / or one or more physical operations, as described above. The concept of water trajectories will now be described.
[0053] The altitude over a terrain can be encapsulated by an altitude function f, which is defined on a discrete geometric representation of the terrain and takes real values. The value of f at a point on the discrete geometric representation corresponds to the altitude at this point. Note that if f is differentiable, then its slope is a vector representing the steepest slope at each point.
[0054] A point A in the discrete geometric representation flows towards a point B if there is a unique downward path from A to B on the discrete geometric representation, and for any point P on that path, the tangent vector of the path at point P is the gradient vector
number
[0055] A watershed (also simply called a "watershed") of a terrain is represented on a discrete geometric representation by a set of points that flow towards the same point. This point represents the outlet of the watershed and is a local minimum of the elevation function. In other words, the watershed is a point of attraction of the water flow induced by the inverse gradient of the elevation function. As a result of the watershed segmentation performed by the watershed segmentation method, the boundaries of the watershed are represented on the discrete geometric representation by watershed lines. The watershed lines split the water flow such that any pair of points located from either side of the watershed line gives rise to two paths that reach two different outlets. It should be noted that in the example where the terrain is represented by a triangular mesh, the boundaries of the watershed are polylines that may or may not each pass through the mesh triangles.
[0056] The contributions of a subset S of the discrete geometric representation of the terrain are the points of the terrain where a path reaches a point in S. , from which water flows towards the points in S. For example, the contribution of a local minimum in the height function is given by the watershed associated with that drainage basin.
[0057] In the context of this disclosure, a watershed segmentation of a terrain is a segmentation of a discrete geometric representation of the terrain into portions of the discrete geometric representation that represent each drainage basin of each terrain. A boundary of each of these portions is a watershed line of each watershed represented by the respective portion, representing a boundary of each watershed. Any watershed segmentation in this disclosure may further include data representing one or more physical properties within the watershed of the watershed segmentation. Such a physical property may be, for example, a water trajectory within each watershed of the watershed segmentation.
[0058] Basin depth is the difference in elevation between the spillway (i.e. the lowest saddle point on the basin boundary, the lowest meaning with the smaller elevation) and the outlet. This quantity represents the maximum height of water that this basin can contain before it inundates the downstream basin. Basin volume is the volume of solids bounded downwards and upwards by a horizontal plane that contains the lowest saddle point on the basin boundary.
[0059] 1 illustrates an example of a landscape 10. The landscape includes a watershed 12 having a drainage basin 14 and a spillway 16. Double arrow 18 represents the depth of the watershed 12.
[0060] The watershed segmentation method will now be further described.
[0061] "Computing a watershed segmentation of a terrain based on a mesh" means determining the watershed lines of the terrain by computing a representation of these watershed lines on a provided mesh. Similarly, "computing a watershed segmentation of a terrain" means determining the drainage watersheds of the terrain by computing a representation of these drainage watersheds on a provided mesh. Thus, the watershed segmentation computation takes a provided mesh as input and determines the segmentation of the terrain into watersheds by computing a representation on the mesh of the watershed lines of these watersheds. In other words, the watershed segmentation method outputs a portion of the mesh (e.g., a set of faces, e.g., triangles) that represent each watershed.
[0062] The watershed segmentation calculation involves identifying one or more saddle points on the mesh. A saddle point on the mesh is a vertex that represents a saddle point of the terrain. A saddle point of the terrain is a point that has at least two locally maximum directions of descent and at least two locally maximum directions of ascent, where the soil surface forms, for example, a topographic saddle or mountain that passes around the saddle point. This is illustrated in FIG. 2. For saddle points on regular surfaces, the descent directions are opposite and the ascent directions are likewise opposite. This is not the case for saddle points on generally triangular surfaces.
[0063] In the watershed partitioning examples, the mesh is a 3D triangular mesh with triangles, edges, and vertices. In these examples, the saddle points of the mesh can be defined as follows: A star of a vertex V of a mesh is the set of triangles and edges that contain V (i.e., V is the vertices of these triangles and edges), and the stars of V are denoted as St(V). A star above (or below) a vertex V is the set of star simplices St(V) such that the value of f at any other vertex is greater than (or less than) Vf(V). In other words, a simplex
number
number
[0064] In these examples, the critical points of the mesh are defined using the previous notion of upper and lower stars (see reference [3] cited above, which is incorporated by reference into this disclosure). Specifically, regular points that are not critical are vertices where the upper and lower stars are formed by exactly one connected component. Minima are vertices where the lower star is empty (the upper star consists of a single connected component). Maxima are vertices where the lower star is empty (the upper star consists of a single connected component). Saddle points are critical points of the altitude function, vertices where the lower and upper stars consist of at least two connected components. Equivalently, they are critical points of the altitude function that are not minima and are not maxima.
[0065] Figures 5-10 illustrate these concepts, with the top star shaded and the bottom star unshaded. Figure 5 shows a vertex and its incident edge. Figure 6 shows the case where the vertex is a critical base (local minimum). Figure 7 shows the case where the vertex is a critical top (local maximum). Figure 8 shows the case where the vertex is a regular vertex. Figure 9 shows the case where the vertex is a regular saddle point. Figure 10 shows the case where the vertex is a monkey saddle (the top and bottom stars have connected tree components).
[0066] Identifying the one or more saddle points may be performed by any known method adapted to identify saddle points on a mesh. In an example where the mesh is a 3D triangle mesh, identifying the one or more saddle points may include, for each vertex of the mesh, determining whether the vertex is a saddle point. Determining whether the vertex is a saddle point may include: Calculating lower and upper stars by comparing the altitudes of the vertices nearby. · If the computed lower star has at least two connected components and if the computed upper star has at least two connected components, then determine that the vertex is a saddle point.
[0067] If the vertex is an interior vertex of the mesh, i.e., a vertex that is not a boundary vertex, then it is sufficient to analyze only the lower star of the vertex, since the vertex is the complement of the upper star on the circle of directions (this is described below) and the two have the same number of associated components. In such a case, if the vertex is an interior vertex of the mesh, the step of determining whether the vertex is a saddle point may include: - Calculating lower and upper stars by comparing the altitudes of its vertices with its adjacent vertices. If the computed lower star has at least two connected components, determine that the vertex is a saddle point.
[0068] This does not hold if the vertex is a boundary vertex of the mesh.
[0069] Determining whether a vertex is a saddle point may be referred to as a “Determine if vertex V is a saddle point” algorithm, and may be performed by executing the algorithm described by the following pseudocode:
number
[0070] It should be appreciated that the watershed segmentation method may identify all saddle points in the mesh or at least a portion of them. In an example, the watershed segmentation method identifies all saddle points in the mesh.
[0071] In an example, at least one of the identified one or more saddle points is a degenerate saddle point. A degenerate saddle point on a mesh is a vertex of the mesh that represents a degenerate saddle point of a terrain. A degenerate saddle point of a terrain is a point where the soil surface bends upward in at least two directions and downward in at least three other directions. In fact, if the saddle point corresponds to an interior vertex of the mesh, there are three directions of maximum descent locally around the saddle point. In an example of a watershed segmentation method, an interior degenerate saddle point on a mesh is a saddle point on a mesh such that the lower star contains at least three connected components and the upper star contains at least three connected components.
[0072] The calculation of the watershed segmentation further includes identifying, for each identified saddle point, a path ascending from the saddle point, respectively, according to the direction of the maximum gradient around the saddle point. A path ascending from a saddle point is a path on the mesh that starts at the saddle point and ascends the mesh such that the altitude increases along the path until the path reaches an end point that is either on the boundary of the watershed or on the boundary of the terrain. For example, the end point can correspond to a maximum value of the altitude function and / or can be on the boundary of the mesh. The path ascends from the saddle point to the end point according to the direction of the maximum gradient. The means is that the path tends to follow where the gradient is maximum as it ascends to the end point. In other words, the path starts at the saddle point by ascending the maximum gradient around the saddle point (there may be many such maximum gradients) and then tends to always ascend according to the steepest ascending direction. It should be noted that the identified ascending paths may be any path on the mesh, i.e. they do not necessarily follow mesh edges and can cross mesh faces. Identification of the ascending path may be performed by any known method adapted for such purpose.
[0073] In examples, identifying paths ascending from a saddle point includes determining a gradient maximum around the saddle point. In these examples, each one of said paths ascending from the saddle point is oriented according to the determined local gradient maximum. This is an efficient way of identifying an ascending path, as it ensures that the ascending path starts from the saddle point in the steepest possible direction.
[0074] As previously mentioned, each ascent path begins at a saddle point by ascending a maximum gradient around the saddle point, and there may be several such maximum gradients. In these examples, the path identification Another involves determining these local maximum slopes by determining slope local maxima around the saddle points. Finding the steepest ascending direction on the saddle points means determining the local maximum of the slope. Determining the local maximum of the slope may include calculating the radial slope around the saddle points, i.e., calculating the ascending direction extending radially around the saddle points. Determining the slope local maxima may further include determining the local maxima of the radial slope around the saddle points, where the local maxima of the radial slope around the saddle points are instances of the local maxima of the radial slope around the saddle points. This improves the simplicity and efficiency of the watershed segmentation method.
[0075] In examples, identifying a path ascending from a saddle point includes projecting a mesh element that includes the saddle point onto a plane. In these examples, the radial tilt about the saddle point is the direction angle about the projection of the saddle point on the plane. These examples are described below.
[0076] In these examples, the mesh may be parameterized by a 2D subset of the Oxy plane (i.e., the plane onto which the mesh elements are projected), where the 2D subset is the domain. In other words, the projection of the mesh elements (e.g., mesh tiles or faces, such as triangular faces) induces the meshing of the 2D subset. In these examples, the mesh is a 3D triangular mesh (i.e., the mesh elements are triangles) and may be parameterized by a 2D subset of the Oxy plane, where the 2D subset is the domain. In these examples, the projection of the triangles induces a triangulation of the domain, i.e., there are no overhanging triangles in the 3D triangular mesh.
[0077] Projecting the mesh elements may include computing a parameterization of the mesh with the 2D subset. Additionally or alternatively, projecting the mesh elements may include providing the parameterization, for example by retrieving the parameterization from a (e.g., remote) memory where it was stored after computation. In any case, the projection of the mesh elements onto the Oxy plane results in a 2D subset, or at least a portion of the 2D subset, including a projection of the mesh elements that include the saddle points.
[0078] Saddle points, which are part of the projected mesh elements, are also projected onto the plane. The projections of the saddle points are therefore 2D points of a 2D subset that is a pole of the polar coordinate system that parameterizes the plane. The orientation angle about the saddle point is a polar coordinate angle, which lies in [0,2π]. The radial slope around the saddle point is a function of the orientation angle, which is any function that takes an orientation angle as input (i.e. lies in [0,2π]) and outputs a slope in the direction of the orientation angle. The output slope in the direction of this orientation angle is the radial slope in the direction of the orientation angle. The watershed splitting method reduces this determination to a simple and robust computation of a local maximum of a function of the orientation angle, thereby determining the direction of the local maximum slope around the saddle point in an efficient, robust and simple manner.
[0079] As discussed above, the watershed division method involves determining a local maximum of this radial gradient, for example, according to any known method for determining a local maximum of a function of direction angle.
[0080] Identifying the respective ascending paths from the saddle point may further comprise, after determining each direction of the local maximum gradient, calculating each path starting from the saddle point according to one direction of the local maximum gradient and ascending to an end point according to the steepest ascending gradient, as described above. The calculation of each path may be performed according to any method capable of calculating the steepest ascending path from a given point P on the mesh.
[0081] An example of such a method is described below. In this example, the mesh is a 3D triangle mesh. In this example, the watershed segmentation method takes as input any point of the mesh and calculates the path ascending from this point according to the steepest ascending direction. This may be done by executing the following algorithm, which may be called the "Compute ascending path from point P" algorithm, which is described by the following pseudocode:
number
[0082] Figures 11-14 show different types of droplet movement. Figure 11 shows droplet movement from inside a triangle. Figure 12 shows droplet movement along a ridge. Figure 13 shows droplet movement through a triangle. Figure 14 shows droplet movement from a mesh vertex.
[0083] The calculation of each ascent path is performed such that P is a saddle point, and for each steepest ascent direction around P, each path ascending from P according to the steepest ascent direction is calculated by the above algorithm. It should be understood that this may include applying the above algorithm.
[0084] The watershed segmentation calculation further comprises identifying, for each identified saddle point, a path descending from the saddle point according to the steepest direction around the saddle point. "A path descending from the saddle point according to the steepest direction around the saddle point" means "the steepest descending path around / from the saddle point". A path descending from the saddle point according to the steepest direction around the saddle point can also be called the steepest descending valley around the saddle point. The steepest descent is such that by following it the water droplet flows towards a local minimum critical point of the elevation function and / or a point located on the boundary of the terrain.
[0085] Identifying a path that descends from the saddle point according to the steepest direction around the saddle point may include calculating a gradient global minimum around the saddle point. The gradient global minimum is, for example, a global minimum of the radial gradient around the saddle point, and calculating may include determining a global minimum of the radial gradient around the saddle point. Determining the global minimum of the radial gradient may be performed by projecting the mesh element that includes the saddle point onto a plane and calculating the global minimum of the aforementioned function of the orientation angle around the saddle point. Identifying a path that descends from the saddle point according to the steepest direction may include starting at the saddle point according to the steepest direction (e.g., the direction of the smallest radial gradient centered around the saddle point) and always calculating a path that descends from the saddle point according to the steepest possible descent direction.
[0086] In examples, there are two valleys of steepest descent around a saddle point (i.e., the same unit vector). In these examples, identifying the path descending from the saddle point may include applying a symbolic perturbation to the mesh (but without modifying the geometry) and determining the lowest unitary vector of the two valleys, i.e., the unitary vector of the valley corresponding to the steepest descent around the saddle point. Determining whether the first unitary vector is lower than the second unitary vector includes comparing the z coordinates of the first and second unitary vectors. In case of equality, determining whether the first unitary vector is lower than the second unitary vector includes comparing the x coordinates of the two vectors, and in case of equality between the x coordinates, includes comparing the y coordinates.
[0087] For each identified saddle point, the identified ascent paths divide at least a portion of the mesh into connected components. The identified ascent paths actually all intersect at a saddle point, and each connected component is a connected portion of the mesh whose boundary is defined by two identified ascent paths and does not contain any other identified ascent paths. All identified ascent paths for all identified saddle points completely divide the mesh into such connected components.
[0088] In an embodiment, the identification of the path ascending from the saddle point includes, for each mesh element that includes the saddle point and that includes at least two local maxima of radial gradient, searching among a pair of at least two local maxima of radial gradient, including the pair of local maxima, the direction of which pair forms a maximum angle in the projection of the mesh element, each direction of the connection maxima resulting in one of said connected components. These embodiments are discussed further herein.
[0089] In these examples, each mesh element, including the saddle point, is projected onto a plane as described above.
[0090] Identifying the path then involves determining each directional angle around the projection of the saddle point on the plane that corresponds to a local maximum of radial slope, as discussed above. Each projected mesh element may contain no local maximum of radial slope, for example if the mesh element belongs to the lower star of the saddle point, or may contain one or more local maxima of radial slope, for example if the mesh element belongs to the upper star of the saddle point. For each mesh element that contains at least two local maxima of radial slope, the watershed split method determines the two maxima that form the largest angle in the projection of the mesh element. Search for two local maxima of the radial gradient corresponding to the respective orientation angles of . The angle is the maximum among all angles formed by the union of the respective orientation angles. The identified ascent paths ascending from the saddle point according to the two directions corresponding to these two local maxima of the radial gradient intersect at the saddle point. Also, they each form a boundary between two connected components that divide the mesh. This holds for each projected mesh element that contains at least two local maxima of the radial gradient.
[0091] In other words, for each identified saddle point, the identified ascent path divides at least a portion of the mesh into connected components, each of which is bounded by one of the following: Two ascent paths, each ascending from a saddle point according to the two direction angles that form the maximum angle within the same projected mesh element. an ascent path belonging to the set of ascent paths and another ascent path belonging to another set of ascent paths, or Ascent paths belonging to the set of such ascent paths and ascent paths belonging to another set of such ascent paths ascending from a saddle point according to a direction angle corresponding to a unique radial gradient local maximum of the projected mesh element.
[0092] All identified ascent paths intersect at a saddle point. Each connected component does not contain any identified ascent paths other than those that bound the connected component. All identified paths for all identified saddle points completely partition the mesh into such connected components.
[0093] In the example, the search for the couple that forms the maximum angle includes searching for the first local maximum of the radial gradient and the last maximum of the radial gradient according to the triangle order or according to the antitriangle order in the projection of the mesh element. This improves the simplicity, efficiency and robustness of the watershed division method since it ensures that the couple is searched by only moving angularly around the projection of the saddle point in the projection of the mesh element to search for the first and last local maxima of the radial gradient. These obtained first and last local maxima form the obtained couple.
[0094] It should be understood that the identification of paths is performed for each identified saddle point. The mesh is completely divided into connected components by all these identified ascending paths. The watershed division method then further includes merging, for each identified saddle point, each connected component that is a saddle point with a connected component that includes an identified path descending from the saddle point according to the steepest direction around the saddle point. This merging results in at least a portion of the watershed.
[0095] Merging connected components means linking them to form one connected component of a mesh. For each identified saddle point, the merged connected components thus form a connected component of a mesh that represents at least a portion of the watershed. identification The determined ascending paths are such that the formed connected component is bounded by ascending paths that respectively ascend from the saddle point according to a maximum gradient direction around the saddle point, and these ascending paths are such that water droplets on at least a portion of the basin represented by the connected component necessarily flow towards the outlet of the basin.
[0096] The merging is performed, for example iteratively, for all identified saddle points. For each identified saddle point, the corresponding merging results in a connected component of the mesh that forms at least a portion of the watershed. It should be understood that at least a portion of the watershed may be within the watershed. Alternatively, it may consist of a strict portion of the watershed, with the watershed or at least other portions of the watershed being connected components bounded by other ascent paths identified for other identified saddle points. In other words, when merging is performed for all identified saddle points, the watershed segmentation finally results in connected components of the mesh as a result of all these mergings, each component representing an entire drainage basin. These complete watersheds form the watershed segmentation of the landscape.
[0097] Examples of merging are now further described, in which by "merging" it is understood not a merge performed for a given identified saddle point, but rather a combination of all merges performed for all identified saddle points, as previously described.
[0098] In these examples, the merging includes determining a graph with nodes each representing a connected component and arcs each representing a connection between two connected components. In these examples, the merging further includes extracting connected components of the graph. Each connected component of the graph represents a watershed of the terrain. This is a robust and efficient way of merging connected components to yield the watersheds of the watershed segmentation.
[0099] Each node of the graph represents a connected component of the connected components that divide the mesh. Determining the graph may include assigning the nodes to the connected components. The identified ascending paths are such that the bottom of the connected components is, for each connected component, either a saddle point or a minimum point of altitude. Determining the graph may further include generating arcs that respectively connect two nodes that represent two connected components, each representing a connection between the two connected components. Generating arcs may include, for each node that represents a connected component having a saddle point as a bottom, generating an arc between this node and a node that represents a connected component of the mesh that is located below the saddle point and that includes an identified path that descends from the saddle point according to the steepest direction around the saddle point. Thus, in the example, each node that represents a connected component that has a bottom at a saddle point is connected by an arc in the graph to a node that represents a connected component of the mesh that is located below the saddle point and that includes an identified path that descends from the saddle point according to the steepest direction around the saddle point. A connected component of the mesh that is located below the saddle point and contains an identified path that descends from the saddle point according to the direction of the steepest gradient around the saddle point is unique.
[0100] In the examples, the computation of watershed segmentation according to the watershed segmentation method is performed by executing the algorithms discussed herein. The algorithms in these examples are described by the following pseudocode:
number
[0101] According to the above algorithm, all the water that reaches the vertex V (from the connected components of the star above) will flow through the valley of the valley and stay in the same drainage basin.
[0102] Figures 15 and 16 illustrate the above algorithm. Figure 15 shows a degenerate saddle point (corresponding to the center of the circle) whose valley is the steepest descent, and the three connected components 150, 152 and 154 of the star above it, and for each of them, the first and last orientation angles θf and θl. Figure 16 shows the result of merging around the saddle point (one different shade of grey for each basin 160, 162, 164).
[0103] The above algorithm is particularly efficient since it does not need to browse all mesh vertices, but only the saddle points. Thus, the computational complexity depends on the number of saddle points, and not on the mesh vertices. Subdividing the mesh triangles as in the above algorithm has little effect on the computation time. In particular, doubling the number of triangles for the same geometry does not double the computation time. The above algorithm is also exact, since the watershed boundaries are not constrained by the edges of the terrain, but follow the steepest ascent direction.
[0104] In examples where the mesh is a triangular mesh, during the computation of the watershed partitions, triangles intersected by the ascending watershed line are partitioned and the resulting fragments are associated with the watershed that is provided as output. Thus, in these examples, the watershed segmentation method is not bounded such that it follows mesh edges when identifying paths, which makes the watershed segmentation method robust and ensures relatively accurate results.
[0105] In any case, the computed watershed segmentation is accurate in that it matches the water trajectory. That is, the watershed segmentation method reliably prevents the trajectory of any fall lying inside a given watershed from ending at the watershed outlet. Also, the watershed segmentation method does not require any modification of the input terrain (i.e., the provided mesh), for example, by adding and / or removing vertices and / or by changing vertex coordinates. In particular, the watershed segmentation does not require splitting degenerate saddle points into regular saddle points, which makes the watershed segmentation method particularly robust.
[0106] The watershed segmentation method may further include displaying the calculated watershed segmentation on a computer display. Displaying the calculated watershed segmentation may enable performing civil engineering analysis and / or one or more physical actions based on the displayed calculated watershed segmentation, as described above.
[0107] The regularization method will now be further explained.
[0108] The regularization method includes providing a watershed segmentation of the terrain. The watershed segmentation includes a watershed. The concept of watershed segmentation has been discussed previously and will not be discussed further.
[0109] Providing the watershed segmentation may include computing the watershed segmentation by any known method. For example, providing the watershed segmentation may include computing the watershed segmentation according to the watershed segmentation methods described above. Alternatively, providing the watershed segmentation may include retrieving the watershed segmentation from a (e.g., remote) memory where it was stored after its computation (e.g., according to the watershed segmentation method).
[0110] The regularization method further includes merging a first watershed of the watershed segmentation, each of which verifies the smallness criterion, with a second watershed downstream of the first watershed. This is because the regularization method This means searching the watersheds (e.g., all) of the watershed segmentation and merging each of the searched first watersheds to verify the smallness criterion with a second watershed downstream of the first watershed. The second watershed is a subwatershed of the first watershed and is adjacent to the first watershed through the spillway of the first watershed. This allows merging the small watersheds (in terms of the smallness criterion) with each downstream second watershed, which ultimately results in the watershed segmentation being regularized. After merging, the watershed segmentation includes only large watersheds or only relatively large watersheds that violate the smallness criterion. It should be understood that the second watershed and / or the merged watershed may also be a first watershed that verifies the smallness criterion, in which case they are also merged with their downstream watersheds. Thus, each watershed of the regularized watershed segmentation is the result of merging two or more watersheds of the provided watershed segmentations.
[0111] A watershed that meets the smallness criterion is a relatively small watershed. In an example, this may mean that the watershed is very small and not relevant to a civil engineer, for example, when performing civil engineering analysis. Additionally or alternatively, it may mean that the watershed corresponds to numerical artifacts and / or noise in the watershed division, but does not exist in the real world.
[0112] In an embodiment, the watershed verifies the smallness criterion if the quantification of the watershed compactness is lower than a predefined threshold. The predefined threshold may be a threshold predefined by a user (e.g., a civil engineer) before executing the regularization method. This allows merging the first watersheds of the segmentation that are too small to exist in the real world and / or are too small to be relevant to civil engineers. The quantification of the smallness may be any value that represents the watershed compactness. In an embodiment, the quantification of the watershed compactness includes one or more of a quantification of the watershed depth, a quantification of the watershed area, and / or a quantification of the watershed volume. If the quantification of the watershed smallness is a quantification of the watershed depth, the order of magnitude of the threshold may be meters (e.g., for a model of the entire landscape) or decimeters (e.g., for a city model). If the quantification of the watershed smallness is a quantification of the watershed area, the order of magnitude of the threshold may be square meters. If the quantification of the watershed compactness is a quantification of the watershed volume, the threshold size may be in cubic metres (e.g. in the context of dyke studies) or may be much smaller than that (e.g. in the context of drainage studies, since the civil engineer is later interested in the rate at which the watershed fills itself). The quantification of the watershed depth may be the watershed depth value, i.e. the value of the watershed depth. The quantification of the watershed area may be the watershed area value, i.e. the value of the watershed area. The quantification of the watershed volume may be the watershed volume value, i.e. the value of the watershed volume.
[0113] Merging will now be further explained.
[0114] The merging may be performed iteratively, i.e., the merging may include iteratively searching the watersheds of the watershed segmentation. The merging may iteratively identify exploration watersheds that are first watersheds that verify the smallness criterion. Each identified first watershed is merged (e.g., connected) with a second watershed that is a downstream watershed to the first watershed. It should be understood that the second watershed may be the first watershed that verify the smallness criterion, in which case the second watershed is also merged with its downstream second watershed during merging.
[0115] In examples, the merging includes determining a directed graph having nodes and arcs. Each node represents a watershed. Each arc represents a connection between a first watershed verifying the smallness criterion and a second watershed downstream of the first watershed. The arc is directed from a first node representing the first watershed to a second node representing the second watershed. In these examples, the merging further includes merging watersheds that correspond to nodes of the same connected component of the directed graph. The graph may be a directed acyclic graph (hereinafter referred to as a "DAG").
[0116] Determining a directed graph and performing the merging of the first and second watersheds by merging the watersheds that correspond to nodes of the same connected component in the graph is an efficient and robust way of performing the merging and thus regularizing the provided watershed segmentation. In particular, this graph forms a data structure that captures well the placement of small watersheds relative to each other in terms of which watersheds are upstream or downstream of another watershed. In fact, the nodes of the connected components of the graph represent groups of watersheds such that: are basins that are 2x2 downstream of each other, The watershed downstream of the corresponding first watershed of the group for which the smallness criterion is to be verified, excluding the watershed of the group most upstream.
[0117] This means that the watersheds form a DAG that shows the order in which watersheds impoverish one another.
[0118] Thereby, merging watersheds that correspond to nodes of the same connected component of the graph effectively results in a regularized watershed segmentation watershed, which violates the smallness criterion.
[0119] In examples, determining the directed graph includes exploring the watersheds according to an order of smallness that rewards smallness of the watersheds. In these examples, determining the directed graph further includes, for each explored first watershed, verifying the minor criteria and generating an arc between a node representing the first watershed and a node representing a second watershed downstream of the first watershed. The arc is directed from the node representing the first watershed to a node representing the second watershed. Prior to generating the arcs, the determining step may include generating a node in the graph representing the watershed for each explored watershed. In any case, the graph resulting from the generation of the arcs is a DAG.
[0120] The order of smallness is an order that rewards the smallness of the watersheds. In other words, if a watershed is smaller than another watershed, the merged watershed comes before the other watershed in the order of smallness. Thus, exploring the watersheds according to the order of smallness consists of exploring the first smallest watershed of the provided watershed segmentation, exploring the next smallest watershed among the non-explored watersheds of the provided watershed segmentation, exploring the next smallest watershed among the non-explored watershed segmentation of the provided watershed segmentation, and so on until all watersheds of the provided watershed segmentation have been explored. Exploring the watersheds may include calculating, for each watershed, a quantification of said watershed's smallness, for example by calculating the watershed's depth, the watershed's area, or the watershed's volume. Exploring the watersheds may further include sorting the watersheds according to increasing quantification of smallness, for example, by sorting the watersheds according to increasing depth (order of smallness by depth), by increasing area (order of smallness by area), or by increasing volume (order of smallness by volume). Exploring the watersheds may then include exploring (e.g., visiting) the classified watersheds in order of smallness.
[0121] Searching for watersheds according to minimum degree is an efficient and robust way of ensuring that each connected component of the graph represents a group of watersheds that are 2x2 downstream of each other and downstream of the first watershed in each of the groups that validate the minimum criterion, except for the watershed in the most upstream group. Merging one watershed in each of these groups thus efficiently obtains each watershed in the regularized watershed segmentation.
[0122] In the example, the watershed segmentation includes, for each watershed, data that represents the trajectory of water within the watershed. In these examples, the merging includes, for each first watershed where the merging is to be merged with a second watershed, calculating data representing water trajectories between the first watershed and the second watershed. In addition to regularizing the provided watershed segmentation thereby, the regularization method also results in water trajectories within each watershed of the regularized watershed segmentation. Thus, the regularized watershed segmentation output by the regularization method allows for understanding of water trajectories and / or visualization of any civil engineering impacts on hydraulic dynamics, which is highly relevant to civil engineering. Otherwise, the regularization method can regularize the provided watershed segmentation and simultaneously update water trajectories accordingly.
[0123] The data representing the trajectory within the watershed may be any data representing the trajectory of any flow of water within the watershed, such as one or more pathways within the watershed. In an example, the one or more pathways include a pathway from an outlet of the watershed to an outlet of the watershed, also referred to as an "upward pathway extension," and / or a pathway from an outlet of an upstream watershed to an outlet of the watershed, also referred to as a "downward pathway extension." The data representing the trajectory of water between the first watershed and the second watershed may be any data representing the trajectory of any flow of water flowing from the first watershed into the second watershed, and may be calculated based on the data representing the trajectory of water within the first and second watersheds.
[0124] Calculation of the data representative of water trajectories between the first and second watersheds may be based on (e.g., may take as input) first data representative of water trajectories in the first watershed and second data representative of water trajectories in the second watershed, thereby improving accuracy of the calculated water trajectories between the first and second watersheds. In an embodiment, the first data includes an ascending path extending from an outlet of the first watershed to an outlet of the first watershed and / or the second data includes a descending path extending from an outlet of the first watershed to an outlet of the second watershed.
[0125] In an embodiment, the first data includes an extended upward path from the outlet of the first basin to the outlet of the first basin, and the second data includes an extended downward path from the outlet of the first basin to the outlet of the second basin. In these examples, a calculation of data representative of the trajectory of water between the first basin and the second basin can take as input the extended upward path and the extended downward path, and output a path that can be called an "extended path" corresponding to the concatenation of the extended upward path and the extended downward path. That is, the extended path connects the outlet of the first basin to the spillway of the first basin according to an extended upward path, and then connects the spillway of the first basin to the outlet of the second basin according to an extended downward path. This is done whenever a first watershed merges with a downstream second watershed, thereby allowing any waterway arriving at the former watershed (i.e., the outlet of the provided watershed segment) to be extended until it reaches the outlet of the filtered watershed (i.e., the watershed of the regularized watershed segment). Such trajectories of droplets towards the outlet of the filtered (i.e., regularized) watershed segmentation form extension paths. Extension paths constitute objective physical information that is particularly relevant for civil engineering.
[0126] The regularization method may further include displaying the regularized watershed segmentation on a computer display. Displaying the regularized watershed segmentation may enable performing civil engineering analysis and / or one or more physical actions based on the displayed regularized watershed segmentation, as described above.
[0127] Here, an example of a regularization method will be described.
[0128] In this example, the provided watershed segmentation contains many shallow watersheds that impair the readability of the result. This is illustrated in FIG. 17, which shows a screenshot of the provided watershed segmentation as it appears on a computer display. It is expected that a user (e.g., a civil engineer) will be able to understand the water trajectory and make decisions based on this displayed provided watershed segmentation. Therefore, it can be difficult to visualize the impact of any civil engineering operation on hydraulics.
[0129] In this example, merging involves searching the watersheds according to order of smallness, as discussed above. Searching involves sorting the original watersheds (i.e., the watersheds of the provided watershed segmentation) after increasing depth (or area, or volume) ordering. Searching further involves creating a directed acyclic graph (DAG) whose nodes are the initial base-in.
[0130] Then, for each base-in B, following the order of increasing depth (respective area, respective volume), the search involves creating an orientation arc in the graph that connects B towards its downstream base-in B'. At the same time, the search involves associating this arc with two paths, PAscending and PDescending. PAscending is the path from the outlet OB of B to the outlet of B, and PDescending is the path from the outlet OB' of B' to the outlet of B'. Figure 19 shows these paths.
[0131] The set of watersheds in each connected component of the graph are then merged into a so-called filtered watershed to form a regularized (i.e., filtered) watershed segmentation. The remaining (i.e., filtered) watersheds have a depth greater than a given threshold. Figure 20 shows the remaining watersheds after merging watersheds B and B' of Figure 19.
[0132] In this example, the merging is performed by executing the algorithm described in the following pseudocode:
number
[0133] Fig. 18 shows the result of merging the segmentations of Fig. 17 by the above algorithm, where the depth threshold is equal to 0.5 mm. Fig. 21 shows the calculated water trajectory between the first watershed B and the second watershed B' of Fig. 19. Fig. 22 and Fig. 23 further show the merging by the above algorithm. Fig. 22 shows two watersheds of the provided watershed segmentation. It is noted that watershed 1 has a small depth and meets the smallness criterion. Fig. 23 shows the effect of merging, where after merging only one watershed remains.
[0134] In this example, the water trajectory and watershed segmentation remain consistent after merging. Whatever the depth threshold eps given by the user (even eps=0), the path remains in the watershed containing the starting point, reaching the outlet (or ground edge) of this watershed. Thus, when eps>0, the merged watershed still forms a new segmentation of the terrain that verifies the previous characteristics. This is illustrated in Figure 24, showing the original water trajectory (stopping when it reaches the outlet), and in Figure 25, showing the extended path calculated using eps=1m.
[0135] Here, the method of calculating the contributors will be further explained.
[0136] The contributor calculation method includes providing a mesh representing the terrain. Providing a mesh representing the terrain has been described above and will not be described further. The contributor calculation method further includes providing polylines on the mesh.
[0137] A polyline is a line formed by the vertices of a mesh and the edges of the mesh, each connecting two of said vertices. Providing a polyline may include defining a polyline on the mesh, for example by graphical user interaction. For example, the mesh may be displayed on a computer display and a user may define a line by graphically interacting with the display, for example using a touch or haptic device. The user may, for example, draw a line or select the vertices and / or edges of the line. Alternatively, the polyline may already be defined on the mesh when the mesh is provided. In such a case, the polyline is provided with the mesh. The polyline may represent a construction on a terrain, which may be a construction terrain. For example, the polyline may represent a road, a railway, a channel, a building, or a mine.
[0138] The contributor calculation method further includes calculating contributors of the polylines. As explained above, a contributor is a set of mesh points to which water necessarily flows toward the polyline points. The polylines may be connected and / or open or closed. Contributors are calculated in either case, making the contributor calculation method robust.
[0139] The contributor computation includes modifying the mesh by determining, based on the polyline, a trench under the polyline. In other words, the modification results in a modified mesh that is identical to the provided mesh except for the polyline, which is replaced by the trench under the polyline. In an example, modifying the mesh includes converting (e.g., deforming, mapping) the polyline into a trench, for example, by continuously bending the polyline. For example, continuously bending the polyline may include lowering the elevation coordinates of the points of the polyline such that there is only one elevation local minimum along the trench and the points of the trench are all lower than the original mesh vertices. For example, if the polyline has 2N points, the elevation coordinates on the trench decrease from point 0 to point N-1, then increase from point N to point 2N-1. The trench is a portion of the mesh that has substantially the shape of a trench, such as a U-shape or V-shape under the polyline.
[0140] In the examples, each point of the polyline corresponds to a point of the trench. In other words, the modification consists in mapping the polyline onto the trench. For example, the mapping may consist in that the vertices belonging to the provided mesh are mapped to the corresponding vertices of the trench by the vertices belonging to the modified mesh. In these examples, each point of the trench has a lower elevation than the corresponding point on the polyline. In other words, the mapping reduces the elevation of the points (e.g., vertices) of the polyline so as to convert the polyline into a trench. This is a simple, robust and efficient way of determining the trench.
[0141] An example of mesh modification is now described. In this example, the modification consists in applying a mapping to the vertices of a polyline, which reduces the elevation of these vertices and converts them into trench vertices, thereby converting the polyline into a trench. In this example, the modification is performed by executing the following algorithm, which can be called the "Modify Elevations of Polyline Points" algorithm, and is described by the following pseudocode:
number
[0142] In the example, only one of the points of the trench is the local minimum in altitude. In other words, the mesh modification results in only one point (e.g., one vertex) of the trench having the minimum altitude among all points (e.g., vertices) of the trench. This ultimately improves the robustness of the watershed segmentation computation and the identification of watersheds containing the mesh.
[0143] The computation of the polyline contributors further comprises computing a watershed segmentation of the terrain based on the modified mesh. In other words, the computation of the watershed segmentation takes the modified mesh as input and outputs a watershed segmentation of the terrain from the input modified mesh. The computation of the watershed segmentation may be performed according to any method for computing a watershed segmentation based on a mesh. In an example, the computation of the watershed segmentation comprises applying a watershed segmentation method as described above. In such a case, the computation of the watershed segmentation benefits from the aforementioned improvements in accuracy, efficiency, and robustness provided by the watershed segmentation method.
[0144] In an example, computing the watershed segmentation may include computing an initial watershed segmentation of the terrain based on the modified mesh, e.g., by applying a watershed segmentation method. In these examples, the calculation of the watershed segmentation further comprises performing a regularization of the calculated initial watershed segmentation, for example by applying a regularization method. This allows the identification of watersheds to be performed on the regularized (i.e., filtered) watershed segmentation initially calculated based on the modified mesh. This in fact removes from the initial watershed segmentation watersheds that are very small, e.g., have very small depth, area, and / or volume values, as they correspond to numerical artifacts and / or noise in the calculation of the initial watershed segmentation and / or as they are not relevant from a civil engineering point of view. Finally, the identification of watersheds constituting trenches is improved, since it is ensured that the identified watersheds do not correspond to watersheds that are so small that they are discarded and not identified for the reasons mentioned above. Furthermore, the regularization results in identified watersheds that are larger in the examples than those identified without regularization. Thereby, these examples result in calculated contributors that are larger and / or more relevant for civil engineers. This contributor is sometimes called the "extended" contributor.
[0145] In either case, the calculation of the watershed segmentation results in the modified mesh being segmented into portions each representing a watershed of the calculated watershed segmentation. The trench is included in one watershed that has the mesh point as an outlet because of its shape (e.g., because the trench contains only one altitude local minimum). The calculation of the contributors further includes identifying, on the modified mesh, a watershed that contains the trench based on the calculated watershed segmentation. In other words, the identification search between the watersheds of the calculated watershed segmentation searches for one watershed that contains the trench and has the mesh point as an outlet, and identifies this watershed. In yet another word, the identified watershed that constitutes the trench is one watershed that contains the trench and has the mesh point as an outlet. In an example, only one of the trench points is an altitude local minimum, and the identified watershed has this altitude local minimum as an outlet.
[0146] The identified watershed corresponds to a contributor. This means that the identified watershed belonging to the modified mesh corresponds to a part of the provided mesh that represents a contributor. In particular, the identified watershed is composed of (e.g., is the union of) a trench and another part of the deformed mesh. The other part is identical in the modified mesh and in the provided mesh. In this case, the contributor is composed of (e.g., is the union of) a polyline and the other part. In an embodiment, the calculation of the contributor further comprises modifying the watershed by converting the trench back to a polyline. Since the trench is deformed back to a polyline, the modified watershed resulting from this modification is a contributor. In other words, the modified watershed is made from a polyline and the other part, and is thereby a contributor. Reversing the modification of the mesh that resulted in determining the trench based on the polyline means converting the trench back to a polyline. For example, if a polyline has been mapped onto a trench with the modifications described above, inverse transformation means applying the inverse mapping to the trench to map it back onto the polyline.
[0147] An example of the computation of contributors is discussed here. In this example, the mesh is a 3D triangle mesh. In this example, the computation of contributors is performed by executing the following algorithm, which is described by the following pseudocode:
number
[0148] 26 to 36 show the above algorithm and will now be explained.
[0149] Figure 26 shows the terrain and a polyline 260 on the terrain. Figure 27 shows the determined trenches 270. Figure 28 shows the identified watersheds 280 of the watershed segmentation calculated on the modified mesh. Figure 29 shows the calculated contributors 290 of the polyline, extracted by recovering the coordinates.
[0150] Figure 30 shows the terrain and a polyline 300 representing an alignment on the terrain. Figure 31 shows a cross-section of a trench 310 on a modified mesh of the terrain. Figure 32 shows the modified mesh. FIG. 32 shows an identified watershed 320 (circled in FIG. 32) on the calculated watershed segmentation of the line. The outlet of this identified watershed is located on trench 310 of FIG. 31. FIG. 33 shows the calculated contributors 330 of polyline 300 of FIG. 30.
[0151] As mentioned above, the calculation of the watershed segmentation may include calculating an initial watershed segmentation according to the watershed segmentation method and performing regularization of the initial watershed segmentation by applying the regularization method. The resulting calculated segmentation still includes the watershed whose outlet is on the trench, which gives rise to an expanded contributor (topologically filtered contributor) as a result of the topological filtering (i.e., regularization). This means that any expansion path starting from a point included in the expanded contributor will cross the input polyline. FIG. 34 shows the expanded contributor of the polyline 300 of FIG. 30 calculated in this way. FIG. 34 shows the expanded contributor for several values of the depth threshold used when performing the regularization method: 0.5 m (340, red), 1 m (350, dark pink), and 2 m (360, light pink).
[0152] The above algorithm is particularly efficient and accurate. In particular, it computes the polyline contribution using a single operation as described above, and is not affected by the complexity of the polyline (only the number of critical points matters in the example). The above algorithm is particularly much more robust and efficient than methods that sample the polyline into points, compute the contributors for each point, and then compute the union of all of these contributors. The result of the Boolean union of all the contributors of the sample points is not actually equal to the contributor of the polyline. In fact, it is possible to find points from the Boolean union that flow towards the polyline. This is illustrated in Figures 35 and 36. Figure 36 shows the polyline contributors computed by the above algorithm. Figure 36 shows the combination of the contributors of the sample points on the polyline.
[0153] The contributor calculation method may further include displaying the polyline contributors on a computer display, where displaying the contributors enables performing civil engineering analysis and / or one or more physical actions based on the displayed contributors, as described above.
[0154] The watershed segmentation method, the regularization method, and the contributor calculation method are computer-implemented methods.
[0155] This means that the steps of the method (or substantially all steps) are performed by at least one computer or any system. Thus, the steps of the method are performed by a computer, possibly fully automatically or semi-automatically. In an example, the triggering of at least some of the steps of the method may be performed via user / computer interaction. The level of user / computer interaction required depends on the level of automation expected and can be balanced against the need to implement the user's wishes. In an example, this level may be user-defined and / or predefined.
[0156] A typical example of a computer implementation of the method is to execute the method using a system adapted for this purpose. The system may comprise a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for executing the method. The memory may also store a database. The memory is any hardware adapted for such storage, and may optionally comprise several physically distinct parts (e.g. a part for the program and possibly a part for the database).
[0157] FIG. 37 shows an example of a system where the system is a client computer system, eg, a user's workstation.
[0158] The client computer in this example comprises a central processing unit (CPU) 1010 connected to an internal communications bus 1000, and a random access memory (RAM) 1070 also connected to the bus. The client computer is further provided with a graphical processing unit (GPU) 1110 associated with a video random access memory 1100 connected to the BUS. The video RAM 1100 is also known in the art as a frame buffer. A mass storage controller 1020 manages access to mass storage devices such as a hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory including, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM disks 1040. Any of the foregoing may be supplemented by or incorporated in specially designed ASICs (application specific integrated circuits). A network adapter 1050 manages access to a network 1060. The client computer may also include a cursor control device, a haptic device 1090 such as a keyboard. A cursor control device is used in the client computer to allow a user to selectively position a cursor at any desired location on the display 1080. In addition, the cursor control device allows a user to select various commands and input control signals. The cursor control device includes a number of signal generators for inputting control signals to the system. Typically, the cursor control device may be a mouse, with the buttons on the mouse being used to generate the signals. Additionally or alternatively, the client computer system may include a touch pad and / or a touch screen.
[0159] Any computer program of the present disclosure may include computer executable instructions, which include means for causing the above system to perform one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method. The program may be recordable in any data storage medium, including the memory of the system. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. The program may be implemented as an apparatus, for example, an article of manufacture tangibly embodied in a machine-readable storage device for execution by a programmable processor. The steps of the method may be executed by a programmable processor executing a program of instructions to perform the functions of the method by operating on input data and generating output. Thus, the processor is programmable and may be coupled to receive data and instructions from, and transmit data and instructions to, the data storage system, at least one input device, and at least one output device. The application program may be implemented in a high level procedural or object oriented programming language, or in assembly language or machine language as appropriate. In either case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. Application of the program on the system will in any event result in instructions for carrying out one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method.
Claims
1. 1. A computer-implemented method for civil engineering, comprising: providing a mesh representing the terrain; computing a watershed segmentation of the terrain based on the mesh; Including, Calculating the watershed segmentation comprises: identifying one or more saddle points on a mesh; For each identified saddle point, a path ascending from the saddle point according to the direction of the local maximum gradient around the saddle point; and A path that descends from a saddle point by following the direction of the steepest gradient around the saddle point. identifying the identified ascent paths divide the mesh into connected components, each connected component being a connected portion of the mesh bounded by two identified ascent paths and not including any other identified ascent paths; For each identified saddle point, merging a respective connected component, merging each component whose nadir is the saddle point with a connected component that includes an identified path descending from the saddle point according to a direction of steepest slope around the saddle point, the merging resulting in at least a portion of a watershed. method.
2. The step of identifying the paths ascending from the saddle point includes the step of determining a gradient local maximum around the saddle point, and each of the paths ascending from the saddle point is oriented according to the determined gradient local maximum. The method of claim 1.
3. The determined gradient maximum about the saddle point is a radial gradient maximum about the saddle point. The method of claim 2.
4. The step of identifying a path ascending from the saddle point includes projecting a mesh element including the saddle point onto a plane, the radial slope around the saddle point being a function of a direction angle around the projection of the saddle point on the plane. The method according to claim 3.
5. The step of identifying a path ascending from the saddle point includes, for each mesh element including a saddle point and including at least two maxima of radial gradient, searching among the pairs of at least two maxima of radial gradient for a pair of maxima in a direction that forms a maximum angle in a projection of the mesh element, each direction of the maxima of the pair resulting in one of the connected components. The method according to claim 4.
6. The step of searching for the pair forming the maximum angle includes searching for a first maximum of the radial gradient and a last maximum of the radial gradient according to a trigonometric or anti-trigonometric order in a projection of the mesh element. The method according to claim 5.
7. The step of identifying a path descending from the saddle point includes the step of calculating a global minimum of a gradient about the saddle point.
7. The method according to any one of claims 1 to 6.
8. The gradient global minimum is the global minimum of the radial gradient around the saddle point The method according to claim 7.
9. The merging determining a graph having nodes representing connected components and arcs representing connections between two connected components; Extracting connected components of the graph, each of which represents a watershed of the terrain; 9. The method of claim 1, comprising:
10. Each node representing a connected component having the saddle point as its base is connected by an arc in the graph to a node representing a connected component of the mesh that is located below the saddle point and includes an identified path that descends from the saddle point according to the steepest direction around the saddle point.
10. The method of claim 9.
11. At least one of the identified one or more saddle points is a degenerate saddle point.
11. The method according to any one of claims 1 to 10.
12. The terrain is a construction terrain.
12. The method according to any one of claims 1 to 11.
13. A computer program comprising instructions for carrying out the method according to any one of claims 1 to 12.
14. Apparatus including a data storage medium having recorded thereon a computer program according to claim 13.
15. The apparatus of claim 14 , further comprising a processor coupled to the data storage medium.
Citation Information
Patent Citations
DEM-based river valley cross-section morphology algorithm
CN107180450A
Treatment of geomorphological information data
JP2000029384A
Method, device, and program for calculating river basin area
JP2006138995A
Watershed extraction program and watershed extraction device
JP2010282349A
Fluvial geomorphic landscape design computer software
US20050058971A1