Contributor to the broken line in civil engineering
By calculating the polyline contributors and watershed segmentation on the terrain grid, the accuracy and efficiency issues of existing civil engineering methods are solved, enabling fast and reliable watershed segmentation and trench identification, supporting civil engineering analysis and physical actions.
Patent Information
- Application Number
- CN202011360628.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-28
- Filing Date
- 2020-11-27
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2040-11-27
AI Technical Summary
Existing civil engineering methods are inadequate in terms of accuracy, robustness, and efficiency, and fail to provide satisfactory results, especially when dealing with watershed segmentation and trench identification in terrain.
A computer-implemented method is provided to modify the grid to identify gullies by calculating polyline contributors on the terrain grid, and to calculate watershed segmentation based on the modified grid to identify basins, and to determine water flow trajectories by combining polyline contributors.
It achieves fast, reliable, and accurate watershed segmentation and ditch identification, providing accurate watershed segmentation of the terrain, which can effectively guide civil engineering analysis and physical actions, such as road design and drainage system planning.
Smart Images

Figure CN112862969B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of computer programs and systems, and more specifically to methods, systems and programs for civil engineering. BACKGROUND
[0002] Many systems and programs for the design, engineering and manufacturing of objects are available on the market. CAD is the acronym for Computer Aided Design, for example it relates to software solutions for designing objects. CAE is the acronym for Computer Aided Engineering, for example it relates to software solutions for simulating the physical behavior of future products. CAM is the acronym for Computer Aided Manufacturing, for example it relates to software solutions for defining manufacturing processes and operations. In such computer aided design systems, the graphical user interface plays an important role in terms of technical efficiency. These technologies can be embedded in Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps enterprises share product data, apply common processes, and leverage business knowledge to drive extended enterprise concepts from concept to the graveyard. The PLM solution provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an engineering hub that organizes product engineering knowledge, a manufacturing hub that manages manufacturing engineering knowledge and an enterprise hub that integrates and connects the engineering and manufacturing hubs for the enterprise. The overall system provides an open object model that connects products, processes, resources and people to enable dynamic, knowledge-based product creation and decision-making to drive optimized product definition, manufacturing preparation, production and service.
[0003] In this context and others, civil engineering is becoming more and more important.
[0004] The following are papers and software related to this field, cited below:
[0005] - [1] Attali, D., Glisse, M., Hornus, S., Lazarus, F., & Morozov, D. (2009). Persistence-sensitive simplification of functions on surfaces in linear time. TOPO INVIS, 9, 23-24;
[0006] - [2] Autodesk Civil 3D software;
[0007] -[3] Banchoff, T. (1967). Critical points and curvature for embedded polyhedra. Journal of Differential Geometry, 1 (3-4), 245-256;
[0008] -[4] Bentley Power Civil software;
[0009] -[5] Blue Marble GlobalMapper software;
[0010] -[6] Bremer, P.-T., Hamann, B., Edelsbrunner, H., & Pascucci, V. (2004). A topological hierarchy for functions on triangulated surfaces. Bremer, P-T; Hamann, Bernd; Edelsbrunner, Herbert; Pascucci, Valerio, 10(4), 385-396;
[0011] -[7] L., De Floriani, L., Magillo, P., & Iuricich, F. (2014). Morphological modeling of terrains and volume data. Springer New York;
[0012] -[8] Danovaro, E., De Floriani, L., Magillo, P., & Mostefa Mesmoudi, M. (2003). Morphology-Driven Simplification and Multiresolution. Proceedings of the 11th ACM international symposium on Advances in geographic information systems, 63-70;
[0013] -[9] Edelsbrunner, H., Harer, J., & Zomorodian, A. (2003). Hierarchical Morse-Smale Complexes for Piecewise Linear 2-Manifolds. Discrete and Computational Geometry, 30(1), 87-107;
[0014] -
[10] Forman, R. (1998). Morse theory for cell complexes;
[0015] -
[11] Gyulassy, A., Natarajan, V., Pascucci, V., & Hamann, B. (2007). Efficient computation of Morse-Smale complexes for three-dimensional scalar functions. IEEE Transactions on Visualization and Computer Graphics, 1440-1447;
[0016] -
[12] Kozlov, D. (2008). Combinatorial Algebraic Topology. Springer;
[0017] -
[13] Matsumoto, Y. (2001). An introduction to Morse Theory. American Mathematical Society;
[0018] -
[14] Meyer, F. (1994). Topographic distance and watershed lines. Signal processing, 38(1), 113-125;
[0019] -
[15] Takahashi, S., Ikeda, T., Shinagawa, Y., Kunii, T. L., & Ueda, M. (1995). Algorithms for extracting correct critical points and constructing topological graphs from discrete geographical elevation data. Computer Graphics Forum, 181-192; and
[0020] -
[16] Wolhuter, K. (2015). Geometric Design of Roads Handbook. CRC Press.
[0021] All these methods lack accuracy and / or robustness and / or efficiency and / or speed, and / or do not provide satisfactory results.
[0022] There is therefore a need for an improved method for civil engineering. SUMMARY
[0023] There is therefore provided a computer-implemented method for civil engineering. The method comprises providing a mesh representing a terrain and a polyline on the mesh. The method further comprises computing a contributor of the polyline. The computation of the contributor comprises modifying the mesh by determining a trench under the polyline based on the polyline. The computation of the contributor further comprises computing a watershed segmentation of the terrain based on the modified mesh. The computation of the contributor further comprises identifying a basin comprising the trench on the modified mesh based on the computed watershed segmentation. The contributor corresponds to the identified basin.
[0024] The method can comprise one or more of the following:
[0025] - each point of the polyline corresponds to a point of the trench, and the height of each point of the trench is lower than the height of the corresponding point on said polyline;
[0026] - only one of the points of said trench is a local minimum in height;
[0027] - the identified basin has an outlet, which is a local minimum in height;
[0028] - the computation of the contributor further comprises modifying said basin by transforming the trench back to the polyline, the modified basin being said contributor;
[0029] - the computation of the watershed segmentation comprises:
[0030] o computing an initial watershed segmentation of the terrain based on the modified mesh; and
[0031] o performing regularization on the computed initial watershed segmentation;
[0032] - the terrain is a building terrain;
[0033] - the polyline represents a building on the terrain; and / or
[0034] - the polyline represents a road, railway, pathway, building, or mine.
[0035] There is also provided a computer program comprising instructions for carrying out the method.
[0036] There is also provided an apparatus comprising a data storage medium having recorded thereon a computer program.
[0037] The apparatus can form or function as a non-transitory computer readable medium, for example on a SaaS (Software as a Service) or other server, or cloud-based platform, etc. The apparatus can alternatively comprise a processor coupled to a data storage medium. The apparatus can thus form, in whole or in part, a computer system (e.g. the apparatus is a subsystem of a whole system). The system can further comprise a graphical user interface coupled to the processor. BRIEF DESCRIPTION OF DRAWINGS
[0038] Embodiments of the application will now be described, by way of non-limiting examples, and with reference to the accompanying drawings, in which:
[0039] - Figures 1 to 36 The present disclosure is illustrated; and
[0040] - Figure 37 An example of a system is illustrated. DETAILED DESCRIPTION
[0041] It provides a computer-implemented method for civil engineering.
[0042] In particular, it provides a first computer-implemented method for civil engineering.
[0043] The first method includes providing a mesh representing a terrain. The first method also 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 also includes, for each identified saddle point, identifying a rising path ascending from the saddle point according to a direction of a local maximum slope around the saddle point and a falling path descending from the saddle point according to a direction of a steepest slope around the saddle point. The identified rising path divides the mesh into connected components. The computing of the watershed segmentation also includes, for each identified saddle point, merging each connected component having the saddle point as a bottom point with a connected component comprising the identified falling path descending from the saddle point according to the direction of the steepest slope around the saddle point. The merging results in at least a portion of a basin. The first method can be referred to as a “watershed segmentation method”.
[0044] The watershed segmentation method constitutes an improved method in civil engineering.
[0045] Notably, the watershed segmentation method allows for a watershed segmentation of a terrain represented by a mesh, i.e. a segmentation of the terrain into one or more watershed basin (sometimes simply referred to as “basin” in the following) bounded by watershed lines (discussed below). The watershed segmentation method can in particular result in a basin and watershed lines of the terrain. For example, the identified rising paths comprise rising watershed lines. However, at least certain identified rising paths are not watershed lines. The watershed segmentation of the terrain is an objective physical information of the terrain, e.g. the terrain can be segmented into parts having similar behavior of water flow, i.e. watershed basins. Ultimately, this will allow for performing civil engineering analysis and / or performing one or more physical actions related to civil engineering on the terrain, as further discussed below.
[0046] Moreover, the watershed segmentation is performed based on a mesh representing a 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 modification would indeed reduce the quality of the mesh, e.g. the degree of reality of the terrain represented by the input mesh. In contrast, since no such modification occurs with the watershed segmentation method, the watershed segmentation method is accurate and robust and results in a relatively realistic watershed segmentation of the terrain. Moreover, in terms of realism of the result, the quality of the watershed segmentation computed by the watershed segmentation method does not depend on the size and / or regularity of the mesh.
[0047] In addition, the watershed segmentation method performs the watershed segmentation on a mesh comprising one or more saddle points. Now, it is known per se from the field of civil engineering that a mesh representing a terrain almost always contains one or more saddle points, just like the terrain in the real world. Thus, the watershed segmentation method allows for performing a watershed segmentation on a high-quality mesh, since the latter comprises one or more saddle points. Thus, the watershed segmentation method is accurate and can result in a realistic watershed segmentation of the terrain.
[0048] Further, as described above, the watershed segmentation computed by the watershed segmentation method is performed directly on the mesh that includes one or more saddle points. Thus, the watershed segmentation can handle the saddle points that are almost inevitable on the mesh without modifying the input mesh, which makes the watershed segmentation method both robust and efficient. The watershed segmentation method is implemented by, for each identified saddle point, identifying several paths, each of which rises from the saddle point according to a locally maximum slope direction, and falls from the saddle point according to a steepest slope direction. In this way, the watershed segmentation method divides the mesh into connected components, each of which is bounded by two determined rising paths. Specifically, the identification of the paths divides the mesh into various connected components, each of which corresponds to a connected portion of the terrain that bottoms out at a saddle point and on which water is sure to flow towards the saddle point, or each of which corresponds to a connected portion of the terrain that forms a steepest valley falling from the saddle point. It should be understood that water does not stop and stay at the saddle point: it passes through it / flows through it, eventually reaching the lowest height, which is the lowest point of the basin. The watershed segmentation method then merges each connected component that bottoms out at a saddle point with the steepest slope valley that surrounds the saddle point. This merging results in a single connected component of the mesh that includes the saddle point and represents a connected portion of the terrain on which water is sure to flow downstream and into a unique basin. In other words, the single connected component forms at least a portion of a basin. Since these basin portions are determined for each identified saddle point, the watershed segmentation ultimately determines the entire basin that the terrain is segmented into.
[0049] Further, in examples, 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, which are often present when a real-world terrain is realistically represented with a mesh. Thus, the watershed segmentation method takes as input a realistic mesh representation of a terrain and outputs a realistic watershed segmentation of the terrain. Further, the watershed segmentation method handles degenerate saddle points without modifying the input mesh, which makes the watershed segmentation method particularly robust and efficient.
[0050] It also provides a second computer-implemented method for civil engineering.
[0051] The second method includes providing a watershed segmentation of a terrain. The watershed segmentation includes basins. The second method also includes merging a first basin of the watershed segmentation with a second basin that is downstream of the first basin, each first basin verifying a smallness criterion. The second method can be referred to as a “regularization method”.
[0052] The regularization method constitutes an improved method for civil engineering.
[0053] Notably, this regularization method allows to regularize a watershed segmentation of a provided terrain. Regularizing a watershed segmentation means merging basins of the watershed segmentation such that the merging results in merged basins, also called filtered basins, each of which violates the smallness criterion. In other words, the merging results in larger filtered basins.
[0054] As with the regularization method, regularizing a watershed segmentation of a terrain apparently eliminates (or at least reduces the number of) small basins corresponding to numerical artifacts and / or noise. In other words, depending on how the provided watershed segmentation is computed, the watershed segmentation can comprise one or more basins which should not exist in the real world but exist numerically due to numerical artifacts and / or noise. The numerical artifacts and / or noise can result from taking physical measurements to obtain data about the terrain (which will be discussed further below), e.g. obtaining a mesh representing the terrain. Alternatively or additionally, the numerical artifacts and / or noise can correspond to non-significant details about the terrain (e.g. a field mouse nest). These basins respect the smallness criterion. The regularization method filters them by merging them into larger basins.
[0055] Additionally or alternatively, one or more basins each can verify the smallness criterion in that they are small in the real world. However, they are too small to be of interest to a civil engineer, e.g. because of their small volume, they have little influence on water trajectories and / or other physical phenomena on the terrain. Only larger filtered basins can have such an influence. The regularization method allows to obtain such filtered basins. In other words, the regularization method produces a filtered segmentation which is of interest to a civil engineer.
[0056] In any case, as previously mentioned, a watershed segmentation constitutes objective physical information allowing to perform civil engineering analysis and / or one or more civil engineering physical actions, then regularizing this watershed segmentation according to the watershed segmentation method can improve the relevance of these physical information.
[0057] Moreover, the regularization method does not modify a representation of the terrain (e.g. a mesh) to perform the regularization of the watershed segmentation. Notably, the regularization method does not modify characteristics of any basin like this, but only merges basins. As previously discussed in the context of the watershed segmentation method, not modifying a representation of the terrain (e.g. a mesh) contributes to improve the authenticity of the results produced by the regularization method.
[0058] It also provides a third computer-implemented method of civil engineering.
[0059] The third method includes providing a mesh representing the terrain and a polyline on the mesh. The third method also includes computing a contributor of the polyline. The computation of the contributor includes modifying the mesh by determining a trench under the polyline based on the polyline. The computation of the contributor also includes computing a watershed segmentation of the terrain based on the modified mesh. The computation of the contributor further includes identifying a basin including the trench on the modified mesh based on the computed watershed segmentation. The contributor corresponds to the identified basin. The third method can be referred to as the “contributor computation method”.
[0060] The contributor computation method constitutes an improved method for civil engineering.
[0061] Notably, the contributor computation method allows for computing a contributor of a polyline, i.e., a contributor of two or more points connected by line segments (i.e., a terrain region from which water is sure to flow and reach the polyline). The polyline can generally represent an alignment on the terrain, such as a road, a railway, a pathway, a mine, or a building. Thus, the contributor constitutes objective physical information for civil engineering, as it can determine a water track of water flowing through the polyline. This objective physical information can be used to perform a civil engineering analysis and / or one or more civil engineering physical actions, as further discussed below.
[0062] Further, the contributor computation method is performed in three steps: modifying the mesh by creating a trench under the polyline, computing a basin of the modified mesh by computing a watershed segmentation of the modified mesh, and identifying the basin in the segmentation corresponding to the contributor. Further, these three steps use a single operation to compute the contributor of the polyline, i.e., these steps are computed once, rather than computing all points (e.g., mesh vertices) of the contributor one after another. This makes the contributor computation method fast, reliable, efficient, and accurate. Further, the resulting contributor is consistent with the result of the watershed segmentation. Further, the computation is not affected / dependent on the complexity and / or accuracy of the polyline, which makes the contributor computation method more robust and effective.
[0063] The watershed segmentation method, the regularization method, and the contributor computation method can be performed independently from each other. Alternatively, the watershed segmentation method, the regularization method, and / or the contributor computation method can be combined. For example, the watershed segmentation provided according to the regularization method can be the watershed segmentation computed according to the watershed segmentation method. For example, providing the watershed segmentation according to the regularization method can include providing a mesh representing the terrain according to the watershed segmentation method and computing a watershed segmentation according to the watershed segmentation method, wherein the computed watershed segmentation is the provided watershed segmentation. Additionally or alternatively, the computation of the watershed segmentation according to the contributor computation method can be performed according to the computation of the watershed segmentation according to the watershed segmentation method.
[0064] The watershed segmentation method, the regularization method, and / or the contributor computation method can be integrated into the same civil engineering process, also referred to as a“civil engineering process”. In other words, the civil engineering process comprises performing one or more of the watershed segmentation method, the regularization method, and / or the contributor computation method.
[0065] In particular, the civil engineering process comprises providing a mesh representing a terrain.
[0066] In an example, the civil engineering process can further comprise a step of understanding the topography of the terrain. Understanding the terrain can comprise identifying elements of the terrain, such as ridges and / or valleys. Understanding the terrain can start by the user computing the slope of the terrain, for example computing the slope of each triangle of the mesh. Then, understanding the terrain can comprise estimating valleys and ridges by the user. Valleys and ridges provide the user with enough information to launch the computation of the watershed segmentation on a part of the terrain of particular interest. They also enable the user to deduce new information (e.g. estimating the amount of water received by a drainage outlet to determine the size of a drainage system). It is to be noted that the contributor computation can replace the computation of the watershed segmentation, for example when the user is conceiving an artwork. If the contributor computation indicates that the drainage system is not sufficient, the user can also modify the road alignment: this allows a loopback between the artwork concept and the estimated amount of water.
[0067] The civil engineering process can then comprise computing a watershed segmentation of the terrain based on the mesh, the computation of the watershed segmentation being according to a watershed segmentation method. The civil engineering process can then comprise regularizing the computed watershed segmentation by merging each first basin of the computed watershed segmentation with a second basin located downstream of the first basin, each first basin verifying a smallness criterion, the merging being a merging of a regularization method. Since small (e.g. shallow) basins of the computed watershed segmentation are thus filtered, the robustness is improved.
[0068] Additionally or alternatively, the civil engineering process can comprise providing a polyline on the mesh according to a contributor computation method, and computing a contributor of the polyline according to the contributor computation method. As previously mentioned, the computation of the contributor comprises computing a watershed segmentation of the terrain based on the modified mesh. The computation of the watershed segmentation can comprise computing an initial watershed segmentation of the terrain based on the modified mesh according to a watershed segmentation method, and performing a regularization of the computed initial watershed segmentation according to a regularization method. This will be further discussed hereafter.
[0069] Thus, the civil engineering process results in one or more of the following: a watershed segmentation computed by a watershed segmentation method and / or regularized by a regularization method and / or a contributor of a polyline computed by a contributor computation method. The civil engineering process can further comprise displaying the computed and / or regularized watershed segmentation and / or the computed contributor. The process thus allows, for example, based on the display, determining the trajectories of water flowing through certain parts of the terrain and / or segmenting the terrain into parts having similar behavior of water flow. This allows, as described below, performing a civil engineering analysis on the terrain.
[0070] The civil engineering process can further comprise performing a civil engineering analysis based on the computed and / or regularized watershed segmentation and / or the computed contributor. The civil engineering process can further comprise performing one or more physical actions based on the civil engineering analysis, the computed and / or regularized watershed segmentation and / or the computed contributor. The civil engineering analysis and / or the one or more physical actions can be performed while displaying the computed and / or regularized watershed segmentation and / or the computed contributor on a computer display. This allows guiding the civil engineer while performing the civil engineering analysis task and / or while performing the one or more physical actions.
[0071] In particular, each of the computed and / or regularized watershed segmentations and each of the computed contributors form objective physical information based on which the civil engineering analysis and / or the one or more physical actions can be performed, for example based on a display of said objective physical information. The one or more physical actions can also be performed based on the civil engineering analysis.
[0072] The civil engineering analysis can comprise analyzing and / or designing the terrain and / or human constructions on the terrain based on the computed and / or regularized watershed segmentations and / or the computed contributors, for example a display thereof. The civil engineering can comprise one or more of the following:
[0073] - terrain analysis, for example based on the computed and / or regularized watershed segmentations, for example a display thereof;
[0074] - determining water flow on the terrain, for example based on the computed and / or regularized watershed segmentations, for example a display thereof;
[0075] - segmenting the terrain into watersheds, for example based on the computed and / or regularized watershed segmentations, for example a display thereof;
[0076] - visualizing a topographical area of a specific area of interest at which rainfall is to arrive, e.g. a planned or existing road alignment, e.g. based on a computed contributor of the specific area of interest (e.g. a display thereof), a polyline representing the specific area of interest (e.g. a road alignment) (e.g. a display thereof);
[0077] - a size of a drainage tool for draining one or more ditches on a topography, e.g. around a road, a railway, a pathway, a mine and / or a building, e.g. based on a computed contributor of the road, the railway, the pathway, the mine and / or the building (e.g. a display thereof), a polyline representing the road, the railway, the pathway, the mine and / or the building;
[0078] - designing one or more rainwater discharge systems, e.g. based on a computed and / or regularized watershed segmentation (e.g. a display thereof);
[0079] - designing a catchment basin for a planned or existing road alignment, e.g. based on a computed contributor of the road alignment (e.g. a display thereof), a polyline representing the road alignment;
[0080] - determining an impact of water flow on one or more urban buildings on a topography, e.g. based on a computed and / or regularized watershed segmentation and / or a computed contributor of each respective building of the urban buildings (e.g. a display thereof), a polyline representing a respective one of the urban buildings;
[0081] - modifying a design of a human building to be constructed on a topography, e.g. based on a computed and / or regularized watershed segmentation and / or a computed contributor of the building (e.g. a display thereof), a polyline representing the building;
[0082] - determining an impact of a constructed dam on a topography, e.g. based on a computed and / or regularized watershed segmentation and / or a computed contributor of the dam (e.g. a display thereof), a polyline representing the dam;
[0083] - determining an impact of a dike implantation, e.g. based on a computed and / or regularized watershed segmentation and / or a computed contributor of the dike (e.g. a display thereof), a polyline representing the dike; and / or
[0084] - determining an impact of water flow on a topographical mine and / or determining an impact of constructing a mine on a topography, e.g. based on a computed and / or regularized watershed segmentation and / or a computed contributor of the mine (e.g. a display thereof), a polyline representing the mine.
[0085] The one or more physical actions can comprise natural risk management and / or construction work and / or maintenance work performed on the terrain and / or on one or more human constructions on the terrain based on (e.g., a display of) the computed and / or regularized watershed segmentation, the computed contributors, and / or the civil engineering analysis. The one or more physical actions can in particular comprise one or more of the following:
[0086] - performing natural risk management according to the water flow estimates, e.g., based on the computed and / or regularized watershed segmentation, the computed contributors, and / or the civil engineering analysis. The natural risk management can comprise determining whether the risk associated with implementing a structure at a given location is acceptable. This can comprise determining the amount of water received around the given location and comparing it to preventive means (e.g., dikes, drainage);
[0087] - constructing and / or modifying one or more roads, railways, passages, mines, and / or buildings on the terrain. The construction and / or modification can be based on the computed contributors (e.g., a display thereof) for each road, railway, passage, mine, and / or building, the polyline representing the road, railway, passage, mine, and / or building. Additionally or alternatively, the construction and / or modification can be based on results of the civil engineering analysis. The results can comprise one or more of the following:
[0088] o a geomorphological analysis,
[0089] o the determined water flow on the terrain,
[0090] o the geomorphology of the terrain,
[0091] o the watershed segmenting the terrain,
[0092] o the area of the rainfall that will reach the road, railway, passage, mine, and / or building,
[0093] o the impact of the determined water flow on the one or more roads, railways, passages, mines, and / or buildings,
[0094] o the modified design of the road, railway, passage, mine, and / or building,
[0095] o the impact of the determined dam construction on the terrain,
[0096] o the determined impact of a dike implantation;
[0097] - constructing and / or modifying a dam on the terrain. The construction and / or modification can be based on the computed contributors (e.g., a display thereof) for the dam, the polyline representing the dam. Additionally or alternatively, the construction and / or modification can be based on results of the civil engineering analysis. The results can comprise one or more of the following:
[0098] o geomorphologic analysis of the terrain,
[0099] o water flow on the determined terrain,
[0100] o geomorphology of the terrain,
[0101] o watershed dividing the terrain,
[0102] o impact of the determined construction of a dam on the terrain,
[0103] o impact of the determined construction of a dike or of a drainage system,
[0104] - building and / or modifying a road alignment. The building and / or modifying can be based on a computed contributor (e.g., a display thereof) of the road alignment, the polyline representing the road alignment. Additionally or alternatively, the building and / or modifying can be based on results of a civil engineering analysis. The results can include one or more of:
[0105] o geomorphologic analysis of the terrain,
[0106] o water flow on the determined terrain,
[0107] o geomorphology of the terrain,
[0108] o watershed dividing the terrain,
[0109] o area where the rainfall will reach the road alignment,
[0110] o watershed basin designed for the road alignment,
[0111] o impact of the determined water flow on the road alignment,
[0112] o impact of the determined construction of a dam on the terrain,
[0113] o determined impact of the construction of a dike;
[0114] - building and / or modifying a mine on the terrain. The building and / or modifying can be based on a computed contributor (e.g., a display thereof) of the mine, the polyline representing the mine. Additionally or alternatively, the building and / or modifying can be based on results of a civil engineering analysis. The results can include one or more of:
[0115] o geomorphologic analysis of the terrain,
[0116] o water flow on the determined terrain,
[0117] o geomorphology of the terrain,
[0118] o watershed dividing the terrain,
[0119] o area where the rainfall reaches the mine,
[0120] o the modified mine design,
[0121] o the determined impact of embankment implantation,
[0122] o the determined impact of building a dam on the terrain,
[0123] o the determined impact of water flow on the mine and / or on the terrain of building the mine;
[0124] - terrain modification, e.g. around human constructions on the terrain. The terrain modification can be based on the computed and / or regularized watershed segmentation (e.g. a display thereof). Additionally or alternatively, the terrain can be based on the results of a civil engineering analysis. The results can contain one or more of the following:
[0125] o a geomorphological analysis,
[0126] o a determined water flow on the terrain,
[0127] o a geomorphology of the terrain,
[0128] o a watershed segmenting the terrain,
[0129] o a determined impact of water flow on the construction,
[0130] o the modified construction design,
[0131] o the determined impact of building a dam on the terrain,
[0132] o the determined impact of embankment implantation;
[0133] - building one or more water management systems on the terrain. The building can be based on the computed and / or regularized watershed segmentation (e.g. a display thereof). Additionally or alternatively, the construction can be based on the results of a civil engineering analysis. The results can contain one or more of the following:
[0134] o a geomorphological analysis,
[0135] o a determined water flow on the terrain,
[0136] o a geomorphology of the terrain,
[0137] o a watershed segmenting the terrain,
[0138] o a large drainage tool for draining one or more ditches on the terrain,
[0139] o one or more rainwater discharge systems designed,
[0140] o a determined impact of water flow on one or more constructions on the terrain,
[0141] • the determined impact of building a dam on the terrain,
[0142] • the determined impact of embankment implantation; and / or
[0143] - building one or more drainage systems on the terrain. The building can be based on the computed and / or regularized watershed segmentation (e.g. a display thereof). Additionally or alternatively, the building can be based on the results of a civil engineering analysis. The results can contain one or more of the following:
[0144] • a geomorphological analysis of the terrain,
[0145] • a determined water flow on the terrain,
[0146] • a geomorphology of the terrain,
[0147] • a watershed segmenting the terrain,
[0148] • a large drainage tool for draining one or more ditches on the terrain,
[0149] • a designed one or more stormwater drainage system,
[0150] • a determined impact of water flow on one or more buildings on the terrain,
[0151] • the determined impact of building a dam on the terrain,
[0152] • the determined impact of embankment implantation.
[0153] The methods and processes are used in civil engineering.
[0154] As is known, civil engineering is an engineering field that encompasses both transportation and works of art, including public works such as roads, bridges, pathways, dams, airports, sewage treatment systems, pipelines, structural components of buildings, and railways. Each of the methods and processes thus relates to determining and / or computing objective physical information (i.e. watershed segmentation, regularized watershed segmentation, and / or contributors) on a terrain that is related to civil engineering. Each of these methods and processes also belongs to the field of terrain analysis and geometric modeling, as they can determine the trajectories of water flowing through certain parts of the terrain and / or segment the terrain into parts that have similar behavior of water flow.
[0155] In the context of the present disclosure, a terrain is a portion of the earth's soil surface. A terrain has a ground form. In the context of the present disclosure, a terrain is impermeable, i.e. water only flows on the terrain surface without any penetration phenomena. For several objective physical reasons, impermeable terrains are usually considered in civil engineering methods. For example, in urban environments, the terrain is at least partially urbanized, and a large part of the soil becomes impermeable due to the permanent covering of the soil surface with impermeable materials. Even in non-urban environments, the capacity of the soil to absorb water is reached in the case of heavy rain: since water can no longer penetrate the ground, the soil is considered impermeable.
[0156] Each terrain herein can be a built terrain. A built terrain is a terrain that:
[0157] - comprises one or more human constructions, such as structural components of roads, bridges, passages, mines, dams, airports, sewage treatment systems, pipelines, buildings, buildings and / or railways; and / or
[0158] - on which one or more human constructions are to be built, such as structural components of roads, bridges, passages, mines, dams, airports, sewage treatment systems, pipelines, buildings, buildings and / or railways, for example based on a civil engineering analysis.
[0159] Each terrain herein is represented by a discrete geometry. In other words, each civil engineering method herein is performed on a discrete geometric representation of the terrain. Each of the civil engineering methods and processes herein can in particular comprise providing a geometric representation of the terrain. For example, both the watershed segmentation method and the contributor computation method comprise providing a mesh representing the terrain as a discrete geometric representation of the terrain.
[0160] A discrete geometric representation of a terrain is here a data structure comprising a discrete set of data. Each piece of data represents a respective geometric entity (e.g. point, surface) of the terrain. Each geometric entity represents a respective position of the terrain (in other words, a respective portion of the soil surface). The set (i.e. union or juxtaposition) of geometric entities completely represents the terrain. In an example, any discrete geometric representation herein can comprise more than 1,000,000 such pieces of data. The discrete geometric representation can be two-dimensional or three-dimensional.
[0161] The discrete geometric representation of the terrain can be a mesh, each geometric entity being a mesh element, e.g. a tile or a face. Any mesh herein can be a 3D mesh or a 3D mesh. Any mesh herein can be regular or irregular (i.e. whether composed of faces of the same type). Any mesh herein can be a polygonal mesh, e.g. a triangular mesh, the mesh faces being triangles, each triangle being bounded by mesh edges, each mesh edge being bounded by mesh vertices. Any mesh herein can be obtained from a point cloud, e.g. by triangulating the point cloud (e.g. with Delaunay triangulation).
[0162] Any mesh representing a terrain herein can originate from (i.e. can be determined from) e.g. physical measurements performed on the terrain during a reconstruction process (i.e. can be determined from). The reconstruction process can comprise one or more laser radar surveys of the terrain, as known per se from the field of civil engineering. The reconstruction process can additionally or alternatively comprise one or more surveys by triangulation of parts of the terrain, as known per se from the field of civil engineering. The reconstruction process can alternatively or additionally comprise performing photogrammetry on the terrain, as known per se from the field of civil engineering. The laser radar survey, the survey by triangulation and / or the photogrammetry can yield a point cloud representing the terrain, and the reconstruction process can further comprise triangulating the point cloud to obtain the mesh. Any mesh representing a terrain herein can be a digital elevation model, as known per se from the field of civil engineering. Additionally or alternatively, any mesh representing a terrain herein can be a 3D triangular mesh that can be parameterized by a 2D subset D of the Oxy plane. In other words, the projection of the mesh triangles would cause a triangulation of the domain D, which means that there are no overhanging triangles in the mesh.
[0163] Both the watershed segmentation method and the contributor computation method comprise providing a mesh representing the terrain. Providing a mesh representing the terrain can comprise constructing the mesh, e.g. by performing a reconstruction process as discussed previously. Alternatively, providing the mesh can comprise retrieving the mesh from (e.g. remote) storage, the mesh having been stored on the storage after its construction.
[0164] The information about water trajectories on the terrain (e.g. the watershed segmentation or the contributors) constitutes objective physical information of the civil engineering, from which a civil engineer can perform a civil engineering analysis and / or one or more physical actions as discussed previously. Concepts related to water trajectories are now discussed.
[0165] The height on the terrain can be encapsulated by a height function f, which is defined on the discrete geometric representation of the terrain and takes real values. The value of f at a point of the discrete geometric representation corresponds to the height of that point. Note that when f is differentiable, its gradient is a vector that represents the steepest slope at each point.
[0166] A point A of a discrete geometric representation is said to flow to a point B if there exists a unique downward path from A to B on the discrete geometric representation, and for any point P on this path, the tangent vector to the path at point P is collinear with the gradient vector grad(f(P)) at point P. In other words, this path follows the maximum downward (also called “descending”) slope. This path can be referred to as a flow line.
[0167] A flow basin (also simply referred to as a “basin”) of a terrain is represented in a discrete geometric representation by a set of points flowing towards a same point. This point represents the outlet of the basin and is a local minimum of the height function. In other words, a flow basin is an attractor of water flow caused by the inverse direction of the gradient of the height function. As a result of a watershed segmentation performed by a watershed segmentation method, the boundary of a basin is represented on the discrete geometry by watershed lines. A watershed line separates water flows, so that any pair of points located on either side of a watershed line will generate two paths, respectively reaching two different outlets. It should be noted that, in the example where the terrain is represented by a triangular mesh, the boundary of a basin is a polyline, each polyline can or can not pass through a mesh triangle.
[0168] A contributor of a subset S of the discrete geometric representation form of a terrain is a set of points from which a path of the terrain will reach a point of S, that is to say, water will flow from this set of points to the point of S. For example, a local minimum of the height function is a contributor of the flow basin associated with this outlet.
[0169] In the context of the present disclosure, a watershed segmentation of a terrain is a division of the discrete geometric representation of the terrain into portions of the discrete geometric representation, each portion representing a respective basin of the terrain. The boundary of each respective one of these portions is a watershed line of the respective basin represented by the respective one portion and represents the boundary of the respective basin. Any watershed segmentation herein can further comprise data representing one or more physical properties within the basins of the watershed segmentation. Such physical properties can for example be water trajectories within each basin of the watershed segmentation.
[0170] The depth of a basin is the difference in height between the spillway (i.e. the lowest saddle point on the boundary of the basin, lowest meaning having a smaller height) and the outlet. This quantity represents the maximum water level that this basin can contain before flooding a downstream basin. The volume of a basin is the volume of the solid bounded downward by the basin and upward by the horizontal plane containing the lowest saddle point on the boundary of the basin.
[0171] Figure 1 An example of a terrain 10 is shown. This terrain comprises a flow basin 12 having an outlet 14 and a spillway 16. Double arrow 18 represents the depth of the flow basin 12.
[0172] A watershed segmentation method will now be further discussed.
[0173] “Computing a watershed segmentation of a terrain based on a mesh” means determining the watershed lines of a terrain by computing a representation of these watershed lines on a provided mesh. Equivalently, “computing a watershed segmentation of a terrain” means determining the catchment basins of a terrain by computing a representation of these catchment basins on a provided mesh. Thus, the computation of a watershed segmentation takes as input a provided mesh and determines a segmentation of a terrain into catchment basins by computing a representation on the mesh of the watershed lines of these catchment basins. In other words, a watershed segmentation method outputs parts of the mesh (e.g. sets of faces, e.g. triangles) that respectively represent the corresponding catchment basins.
[0174] The computation of a watershed segmentation includes 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 a terrain refers to a point having at least two local maximum downward directions and at least two local maximum upward directions, the soil surface around this saddle point forming for example a ground form saddle or mountain pass. This is illustrated in Figure 2 In the case of a saddle point on a regular surface, the downward directions are opposite, while the upward directions are also opposite. This is not generally the case for a saddle point on a triangular surface.
[0175] In examples of a watershed segmentation method, the mesh is a 3D triangular mesh having triangles, edges and vertices. In these examples, a saddle point of the mesh can be defined as follows. The star of a mesh vertex V is the set of triangles and edges containing V (i.e. V is a vertex of these triangles and edges): the star of V is denoted St(V). The upper star of a vertex V (respectively lower star) is the set of simplices of the star St(V) for which the value of f on any vertex other than V is greater (respectively lower) than f(V). In other words, the upper star belongs to the simplices s e St(V) for which f(W) > f(V) for any vertex W different from V. The lower star is defined analogously. Figure 3 A part of the mesh including a vertex v in an example of a watershed segmentation method is illustrated. Figure 3 The star of V 30 is illustrated. Figure 4 The same part of the mesh is illustrated and the link of vertex v 40 is illustrated. Since in these examples the terrain is represented by a triangular mesh, the height function is piecewise linear (PL).
[0176] In these examples, the critical points of a mesh are defined using the previous concepts of upper star and lower star (see the previously cited reference [3], which is incorporated herein by reference). In particular, a regular point that is not a critical point is a vertex for which the upper star and the lower star are formed by exactly one connected component. A local minimum is a vertex for which the lower star is empty (the upper star is composed of a single connected component). A local maximum is a vertex for which the lower star is empty (the upper star is composed of a single connected component). A saddle point is a critical point of the height function and is a vertex for which the lower star and the upper star are composed of at least two connected components. Equivalently, it is a critical point of the height function that is neither a local minimum nor a local maximum.
[0177] Figures 5 to 10 These concepts are illustrated, where the upper star is hatched and the lower star is not. Figure 5 A vertex and its incident edges are illustrated. Figure 6 A case where a vertex is a critical bottom (local minimum) is shown. Figure 7 A case where a vertex is a critical top (local maximum) is shown. Figure 8 A case where a vertex is a regular vertex is shown. Figure 9 A case where a vertex is a regular saddle point is shown. Figure 10 A case where a vertex is a monkey saddle is shown (upper and lower star have tree connected components).
[0178] The identification of the one or more saddle points can be performed by any known method suitable for identifying saddle points on a mesh. In the example where the mesh is a 3D triangle mesh, the identification of the one or more saddle points can comprise determining, for each vertex of the mesh, whether the vertex is a saddle point. Determining whether a vertex is a saddle point can comprise:
[0179] - computing the lower star of the vertex and the upper star of the vertex by comparing the heights of the adjacent vertices of the vertex; and
[0180] - determining that the vertex is a saddle point if the computed lower star has at least two connected components and the computed upper star has at least two connected components.
[0181] 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 it is the complement of the upper star on the direction circle (discussed hereinafter) and both have the same number of relevant components. In this case, determining whether a vertex is a saddle point if the vertex is an interior vertex of the mesh can comprise:
[0182] - computing the lower star of the vertex by comparing the heights of the adjacent vertices of the vertex; and
[0183] - if the computed lower star Lo(V) has at least two connected components, then determine that the vertex V is a saddle point.
[0184] If the vertex is a boundary vertex of the mesh, then it is not applicable.
[0185] It is possible to determine whether a vertex is a saddle point by executing an algorithm, which can be referred to as the “determine whether a vertex V is a saddle point” algorithm, which is described by the following pseudo-code:
[0186] Start algorithm (determine whether a vertex V is a saddle point)
[0187] - Compute the lower star Lo(V) of the vertex V by comparing the z-coordinates of the neighboring vertices
[0188] - If Lo(V) has at least 2 connected components
[0189] Return true
[0190] Else
[0191] Return false
[0192] End algorithm
[0193] It will be appreciated that the watershed segmentation method can identify all or at least a portion of the saddle points in the mesh. In examples, the watershed segmentation method identifies all the saddle points in the mesh.
[0194] In examples, 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 the terrain. A degenerate saddle point of the terrain is a point at which the soil surface curves upwards in at least two directions and curves downwards in at least three other directions. In effect, if the saddle point corresponds to an interior vertex of the mesh, then there are three local maximum downward directions around the saddle point. In examples of the watershed segmentation method, an interior degenerate saddle point on a mesh is a saddle point on the mesh for which the lower star comprises at least three connected components and the upper star comprises at least three connected components.
[0195] The computation of the watershed segmentation further comprises, for each identified saddle point, identifying a path ascending from the saddle point according to the direction of the local maximum slope around the saddle point. A path ascending from a saddle point is a path on the grid starting at the saddle point and going upwards along the grid such that the height increases along the path until the path reaches an end point on the basin boundary or on the boundary of the terrain. The end point can for example correspond to a local maximum of the height function and / or can be on the boundary of the grid. The path ascends from the saddle point according to the direction of the local maximum slope until the end point. This means that, when reaching the end point, the path tends to follow the position of the maximum slope. In other words, the path starts at the saddle point by ascending along the local maximum slope around the saddle point, there can be many such local maximum slopes, and then tends to always ascend according to the steepest ascending direction. It is to be noted that the identified ascending paths can be any paths on the grid, i.e. they do not have to follow the grid edges and can cross the grid faces. The identification of the ascending paths can be performed by any known method suitable for this purpose.
[0196] In examples, the identification of the path ascending from a saddle point comprises determining a local maximum of the slope around the saddle point. In these examples, each respective path of the paths ascending from the saddle point is guided according to the determined local maximum of the slope. This is an efficient way of identifying the ascending paths because it ensures that the ascending paths start from the saddle point in the steepest possible direction.
[0197] As mentioned before, each ascending path starts at the saddle point by ascending along a local maximum slope around the saddle point and there can be many such local maximum slopes. In these examples, the identification of the paths comprises determining these local maximum slopes by determining a local maximum of the slope around the saddle point. Determining a local maximum of the slope means finding the steepest ascending direction at the saddle point. Determining a local maximum of the slope can comprise computing radial slopes around the saddle point, i.e. computing ascending directions extending radially around the saddle point. Determining a local maximum of the slope can further comprise determining a local maximum of the computed radial slopes around the saddle point, such that in examples the determined local maximum of the slope around the saddle point is a local maximum of the radial slopes around the saddle point. This improves the simplicity and efficiency of the watershed segmentation method.
[0198] In examples, the identification of the path ascending from a saddle point comprises projecting the grid element comprising the saddle point onto a plane. In these examples, the radial slope around the saddle point is the direction angle of the projection of the saddle point in the plane. These examples are now discussed.
[0199] In these examples, the mesh can be parameterized by a 2D subset of the Oxy plane (i.e. the plane onto which the mesh elements are projected), which is a domain. In other words, the projection of the mesh elements (e.g. mesh tiles or faces such as triangular faces) gives rise to a meshing of the 2D subset. In examples of these examples, the mesh is a 3D triangular mesh (i.e. the mesh elements are triangles), and can be parameterized by a 2D subset of the Oxy plane, which is a domain. In these examples, the projection of the triangles gives rise to a triangulation of the domain, i.e. no overhanging triangles in the 3D triangular mesh.
[0200] Projecting the mesh elements can comprise computing the parameterization of the mesh by the 2D subset. Additionally or alternatively, projecting the mesh elements can comprise providing the parameterization, e.g. by retrieving it from a storage (e.g. remote) where it is stored after computation. In any case, the projection of the mesh elements onto the Oxy plane gives rise to the 2D subset or at least a part of the 2D subset, including the projection of the mesh element containing the saddle point.
[0201] The saddle point as part of the projected mesh element is also projected onto the plane. Thus, the projection of the saddle point is a 2D point of the 2D subset, which is a pole of a polar coordinate system of the parameterization plane. The direction angle around the saddle point is an angle of the polar coordinate system, and thus belongs to [0, 2π]. Then, the radial slope around the saddle point is a function of the direction angle, which is any function that takes the direction angle (i.e. belonging to [0, 2π]) as input and outputs a slope in the direction of the direction angle. The output slope in the direction of the direction angle is the radial slope in the direction of the direction angle. Thus, the watershed segmentation method determines the direction of the local maximum slope around the saddle point in an efficient, robust and simple way by reducing this determination to a simple and reliable computation of a local maximum of the function of the direction angle.
[0202] As discussed previously, the watershed segmentation method comprises determining a local maximum of this radial slope, e.g. according to any known method for determining a local maximum of a function.
[0203] The step of identifying each path rising from the saddle point can further comprise, after determining each direction of the local maximum slope, computing each path starting from the saddle point according to one direction of the local maximum slope and rising according to this steepest rising slope until a termination point, as discussed previously. The computation of each path can be performed according to any method that enables the computation of the steepest rising path starting from a given point P on the mesh.
[0204] An example of this approach is now discussed. In this example, the mesh is a 3D triangle mesh. In this example, the watershed segmentation method takes as input an arbitrary point of the mesh and computes the path that goes up from this point according to the steepest ascent direction. This can be performed by executing the following algorithm, which can be called the "Compute ascent path from point P" algorithm, and described by the following pseudocode:
[0205] Start algorithm (Compute ascent path from point P)
[0206] While (P is not a maximum and P is not on the terrain border)
[0207] - If P is inside a triangle T
[0208] o Move P along the steepest ascent direction until it reaches a point on the border of T
[0209] - If P is inside an edge e = [v1, v2]
[0210] o If e is a ridge
[0211] ■ Move P to the uppermost extremity of e
[0212] o Else, let T1 and T2 be the two triangles sharing e, and let T1 be the upward triangle
[0213] ■ Move P along the steepest ascent direction in T1 until it reaches a point on the border of T1
[0214] - If P is a vertex
[0215] o Consider all slopes around P (can be slopes on triangles that have P on their border; or slopes of edges that have P as one of their extremities), and determine the steepest ascent slope s
[0216] ■ If s is an edge → move P to the uppermost extremity of s
[0217] ■ If s is a triangle → move P along the steepest ascent direction in T1 until it reaches a point on the border of T1
[0218] End algorithm
[0219] Figures 11 to 14 A different kind of descent motion is illustrated. Figure 11 A descent motion from inside a triangle is illustrated. Figure 12 A descent motion along a ridge is illustrated. Figure 13 A descent motion through a triangle is illustrated. Figure 14 A descent motion from a mesh vertex is illustrated.
[0220] It will be appreciated that the computation of each ascending path can comprise applying the above algorithm when P is a saddle point and for each steepest ascent direction around P, thereby computing from the above algorithm each path ascending from P according to the steepest ascent direction.
[0221] The computation of the watershed segmentation further comprises, for each identified saddle point, identifying a path descending from the saddle point according to the direction of steepest slope around the saddle point. The "path descending from the saddle point according to the direction of steepest slope around the saddle point" is referred to as the "steepest descent path around / from the saddle point". The path descending from the saddle point according to the direction of steepest slope around the saddle point can also be referred to as the steepest descent valley around the saddle point. The steepest descent is such that, by following it, any water drop would flow towards local minimum critical points of the height function and / or points located on the terrain boundary.
[0222] Identifying a path descending from the saddle point according to the direction of steepest slope around the saddle point can comprise computing a slope global minimum around the saddle point. The slope global minimum is for example a global minimum of the radial slope around the saddle point, and computing it can comprise determining a global minimum of the radial slope around the saddle point. Determining the global minimum of the radial slope can be performed by projecting the grid element comprising the saddle point onto a plane and computing the global minimum of the previously discussed direction angle function around the saddle point. Identifying a path descending from the saddle point according to the direction of steepest slope can comprise computing a path starting from the saddle point according to the direction of steepest descent (e.g. the direction of minimum radial slope around the saddle point) and always descending from the saddle point according to the possibly steepest descent direction.
[0223] In examples, there are two steepest descent valleys around the saddle point (i.e. the same unit vector). In these examples, the identification of the path descending from the saddle point can comprise applying a symbolic perturbation to the grid (but not modifying the geometry) and determining the lowest unit vector between the two valleys, i.e. the unit vector corresponding to the steepest descent around the saddle point. Determining whether the first unit vector is lower than the second unit vector comprises comparing the z coordinates of the first and second unit vectors. In case of equality, determining whether the first unit vector is lower than the second unit vector comprises then comparing the x coordinates of the two vectors, and then the y coordinates in case of equality of the x coordinates.
[0224] For each identified saddle point, the identified ascending paths divide at least a portion of the grid into connected components. The identified ascending paths all actually intersect at the saddle point, and each connected component is a connected portion of the grid bounded by two identified ascending paths and not containing any other identified ascending path. All the ascending paths identified for all the identified saddle points divide the grid completely into such connected components.
[0225] In examples, the identification of the path ascending from the saddle point comprises, for each grid element comprising a saddle point and comprising at least two local maxima of the radial slope, retrieving, from the pair of local maxima of the at least two local maxima of the radial slope, the pair of local maxima whose directions form the largest angle in the projection of the grid element. The respective directions of the local maxima of this pair yield one of said connected components. These examples will be further discussed now.
[0226] In these examples, each grid element containing a saddle point is projected onto a plane, as previously discussed. Then, the identification of the path comprises determining, around the projection of the saddle point on the plane, each direction angle corresponding to a local maximum of the radial slope, as previously discussed. Each projected grid element does not contain a local maximum of the radial slope, for example if the grid element belongs to the lower star of the saddle point, or does not contain one or more local maxima of the radial slope, for example if the grid element belongs to the upper star of the saddle point. For each grid element comprising at least two local maxima of the radial slope, the watershed segmentation method retrieves the two local maxima of the radial slope corresponding to the two respective direction angles forming the largest angle in the projection of the grid element. This angle is the largest among all the angles formed by pairs of respective direction angles. The ascending paths identified from the saddle point according to the two directions corresponding to these two local maxima of the radial slope intersect at the saddle point. They also form a boundary between the two connected components of the partition grid, respectively. This is true for each projected grid element comprising at least two local maxima of the radial slope.
[0227] In other words, for each identified saddle point, the identified ascending paths partition at least a portion of the grid into connected components, these components being respectively delimited by one of:
[0228] - a pair of ascending paths, each ascending path ascending from the saddle point according to two direction angles forming the largest angle in the same projected grid element,
[0229] - the ascending path belonging to this pair of ascending paths, and another ascending path belonging to another such pair of ascending paths, or
[0230] - the ascending path belonging to such a pair of ascending paths, and another ascending path ascending from the saddle point according to a direction angle corresponding to a unique local maximum of the radial slope of the projected grid element.
[0231] The identified ascending paths all intersect at the saddle point. Each connected component has no other identified ascending path than the path delimiting the connected component. All the paths identified for all the identified saddle points completely partition the grid into such connected components.
[0232] In an example, the retrieval of the pair forming the largest angle comprises retrieving a first local maximum of the radial slope and a last local maximum of the radial slope according to a trigonometric function order or an inverse trigonometric function order in the projection of the grid element. This improves the simplicity, efficiency and robustness of the watershed segmentation method, as it can ensure that the pair is retrieved by simply moving around the projection of the saddle point in the projection of the grid element. These retrieved first and last local maxima of the radial slope form the retrieved pair.
[0233] It will be appreciated that the identification of the path is performed for each identified saddle point. All these identified ascending paths divide the grid completely into connected components. Then, the watershed segmentation method further comprises, for each identified saddle point, merging each connected component having the saddle point as its bottom point with the connected component comprising the identified path descending from the saddle point according to the steepest slope direction around the saddle point. The merging results in at least a part of the basin.
[0234] Merging the connected components means connecting the connected components so as to form one connected component of the grid. For each identified saddle point, the merged connected components thus form a connected component of the grid representing at least a part of the basin. The identified ascending paths are such that this formed connected component is delimited by the ascending paths respectively ascending from the saddle point according to the local maximum slope direction around the saddle point. These ascending paths are such that any water drop on at least a part of the basin represented by this connected component is bound to flow towards the outlet of the basin.
[0235] The merging is performed for all the identified saddle points, for example iteratively. For each identified saddle point, the respective merging results in a connected component of the grid which forms at least a part of the basin. It will be appreciated that at least a part of the basin can be in the basin. Alternatively, it can be comprised in a strict part of the basin, the basin or at least other parts of the basin being produced by merging the connected components delimited by the other ascending paths identified for other identified saddle points. In other words, as a result of all these mergings, the watershed segmentation finally results in connected components of the grid, each representing a complete basin, since the merging is performed for all the identified saddle points.
[0236] Examples of merging will now be further discussed. In these examples, by "merging", it will be appreciated that not a merging is performed for a given identified saddle point, but a combination of all the mergings performed as previously described for all the identified saddle points.
[0237] In these examples, the merging includes determining a graph having nodes representing the connected components respectively and arcs representing the connections between two connected components respectively. In these examples, the merging also includes extracting the connected components of the graph. Each connected component of the graph represents a basin of the terrain. This is a robust and efficient way of merging the connected components to produce the watershed partition of the basins.
[0238] Each node of the graph represents one of the connected components in the partitioned mesh. Determining the graph can include assigning the nodes to the connected components. The identified rising path is such that the lowest point of the connected component is a saddle point or a local minimum of height, for each connected component. Determining the graph can also include creating arcs, each arc connecting two nodes representing two connected components and each arc representing a connection between two connected components. Creating the arcs can include, for each node representing a connected component having a saddle point as a bottom point, creating an arc between the node and a node representing a connected component of the mesh located below the saddle point and including an identified path descending from the saddle point according to a direction of steepest slope around the saddle point. Thus, in examples, each node representing a connected component having a saddle point as a bottom point is connected by an arc in the graph to a node representing a connected component of the mesh located below the saddle point and including an identified path descending from the saddle point according to a direction of steepest slope around the saddle point. The connected component of the mesh located below the saddle point and containing the identified path descending from the saddle point according to a direction of steepest slope around the saddle point is unique.
[0239] In examples, the computation of the watershed partition according to the watershed partition method is performed by executing the algorithm now discussed. The algorithm of these examples is described by the following pseudo-code:
[0240] Start algorithm (Compute a watershed partition of a terrain from a mesh, the watershed partition being given by basin boundaries):
[0241] o Determine all the saddle points according to the "Determine if a vertex V is a saddle point" algorithm;
[0242] o Determine the local maximum of the slope around each saddle point V i . To this end, consider the slope around V as a function of theta depending on the angle between 0 and 2pi in the Oxy plane (called the radial slope), this theta representing any direction angle around V in the Oxy plane.
[0243] o For any saddle point V, compute the global minimum of the radial slope function (it is an angle): this direction will lead to the steepest descent valley, denoted as val;
[0244] o For each connected component Cc of the upper star shape of V, apply the following procedure:
[0245] ■If there is only one local maximum theta in Cci Then, according to the "Compute an ascending path from a point P" algorithm, an ascending path is computed from V, the ascending path starting direction being given by θ i .
[0246] ■ Otherwise, the first and last local maximum of radial slope θ f and θ l are retrieved using the trigonometric order around V (counterclockwise). Then, an ascending path is computed from V along the starting direction θ f and θ l ;
[0247] ■ All these paths divide the terrain into connected components that form the nodes of the graph G. The bottom point of each node is either:
[0248] ■ A degenerated saddle point
[0249] ■ A local minimum;
[0250] ■ In the first case, create an arc between this node and the node corresponding to the unique valley val of the degenerated saddle point.
[0251] ■ The resulting basins are given by the connected components of the graph G.
[0252] According to the above algorithm, all the water reaching the vertex V (from the connected components of the upper star) will flow through the valley val and remain in the same basin.
[0253] Figure 15 and Figure 16 The above algorithm is illustrated. Figure 15 The degenerated saddle point (which corresponds to the circle center), its steepest descent valley val, the three connected components of the upper star 150, 152 and 154 are illustrated, and for each of them, the first and last direction angles θ f and θ l . Figure 16 The result of the merging around the saddle point is illustrated (each basin 160, 162, 164 has a different gray shading).
[0254] The above algorithm is efficient, in particular because it does not need to browse all the mesh vertices, but only the saddle points. Therefore, the complexity of the computation depends on the number of saddle points, and not on the mesh vertices. As for the above algorithm, subdividing the mesh triangles has little impact 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 accurate because the basin boundaries are not constrained by the terrain edges, and follow the steepest ascending directions.
[0255] In the examples where the mesh is a triangular mesh, during the computation of the watershed segmentation, the triangles crossed by the rising watershed lines are segmented, the resulting segments being associated with the basins produced as output. Thus, in these examples, the watershed segmentation method does not necessarily follow the mesh edges when identifying the paths, which makes the watershed segmentation method robust and ensures relatively accurate results.
[0256] In any case, the computed watershed segmentation is accurate because it is consistent with the trajectories of water: the watershed segmentation method does indeed ensure that any trajectory of any water drop located within a given basin eventually reaches the outlet of the basin. Moreover, the watershed segmentation method does not require any modification of the input terrain (i.e. of the provided mesh), for example by adding and / or deleting vertices and / or by changing the coordinates of the vertices. In particular, the watershed segmentation does not require the segmentation of degenerated saddles into regular saddles, which makes the watershed segmentation method particularly robust.
[0257] The watershed segmentation method can further comprise displaying the computed watershed segmentation on a computer display. As previously mentioned, displaying the computed watershed segmentation allows performing civil engineering analysis and / or one or more physical actions based on the displayed computed watershed segmentation.
[0258] The regularization method will now be further discussed.
[0259] The regularization method comprises providing a watershed segmentation of a terrain. The watershed segmentation comprises basins. The concept of watershed segmentation has been discussed previously and will not be further discussed.
[0260] The providing of the watershed segmentation can comprise computing the watershed segmentation by any known method. For example, the providing of the watershed segmentation can comprise computing the watershed segmentation according to the watershed segmentation method as previously discussed. Alternatively, the providing of the watershed segmentation can comprise retrieving the watershed segmentation from a (e.g. remote) memory in which it has been stored after its computation (e.g. according to the watershed segmentation method).
[0261] The regularization method further comprises merging a first basin of the watershed segmentation with a second basin downstream of the first basin, each of the first basin verifying the smallness criterion. This means that the regularization method will explore (e.g. all) the watershed segmentation basins and merge each explored first basin verifying the smallness criterion with a second basin located downstream of the first basin. The second basin is a downstream basin of the first basin, i.e. a basin adjacent to the first basin through an overflow of the first basin. This allows to merge each small basin (i.e. in terms of smallness criterion) with a second basin downstream, eventually leading to a regularization of the catchment segmentation: the merged watershed segmentation contains only large basins or relatively only large basins, i.e. each large basin violates the smallness criterion. It should be understood that the second basin and / or the merged basin can also be a first basin verifying the smallness criterion, in which case they are also merged with a downstream basin. Thus, each basin of the regularized watershed segmentation is a result of a merging of two or more basins of the provided watershed segmentation.
[0262] A basin satisfying the smallness criterion is a relatively small basin. In examples, this means that the basin is too small to be of interest for a civil engineer, e.g. when performing a civil engineering analysis. Additionally or alternatively, this can mean that the basin corresponds to a numerical artifact and / or noise within the watershed segmentation, but does not exist in the real world.
[0263] In examples, a basin verifies the smallness criterion if a quantification of a smallness of the basin is below a predetermined threshold. The predetermined threshold can be a threshold predefined by a user (e.g. a civil engineer), i.e. a threshold defined before performing the regularization method. This allows to merge first basins of the segmentation which are too small to exist in the real world and / or too small to be of interest for a civil engineer. The quantification of the smallness of the basin can be any value representing the smallness of the basin. In examples, the quantification of the smallness of the basin comprises one or more of a quantification of a depth of the basin, a quantification of an area of the basin and / or a quantification of a volume of the basin. If the quantification of the smallness of the basin is a quantification of a depth of the basin, the threshold can be in the order of meters (e.g. for a model of an entire terrain) or decimeters (e.g. for a model of a city). If the quantification of the smallness of the basin is a quantification of an area of the basin, the threshold can be in the order of square meters. If the quantification of the smallness of the basin is a quantification of a volume of the basin, the threshold can be in the order of cubic meters (e.g. in a dike study) or less (e.g. in a drainage study, as a civil engineer will be interested in the speed at which the basin fills later on). The quantification of the depth of the basin can be a depth value of the basin, i.e. a value of the depth of the basin. The quantification of the area of the basin can be an area value of the basin, i.e. a value of the area of the basin. The quantification of the volume of the basin can be a volume value of the basin, i.e. a value of the volume of the basin.
[0264] Merging will now be discussed further.
[0265] The merging can be performed iteratively, i.e. the merging can comprise iteratively exploring basins of the watershed segmentation. The merging can iteratively determine an explored basin, the explored basin being a first basin that verifies the smallness criterion. Each identified first basin is merged (e.g. connected) with a second basin, the second basin being a downstream basin of the first basin. It should be understood that the second basin can also be a first basin that verifies the smallness criterion, in which case the second basin is also merged during the merging with a second basin that is downstream of it.
[0266] In examples, the merging comprises determining a directed graph having nodes and arcs. Each node represents a basin. Each arc represents a connection between a first basin that verifies the smallness criterion and a second basin that is downstream of the first basin. The arc is directed from a first node representing the first basin to a second node representing the second basin. In these examples, the merging further comprises merging the basins corresponding to the nodes of the same connected component of the directed graph. The graph can be a directed acyclic graph (hereinafter referred to as "DAG").
[0267] Determining a directed graph and performing the merging of a first basin with a second basin by merging the basins corresponding to the nodes of the same connected component of the graph is an efficient and robust way of performing the merging and thus of regularizing the provided watershed segmentation. Notably, the graph forms a data structure that well captures the arrangement of the small basins with respect to each other, i.e. which basin is upstream or downstream of which other basin. Indeed, the nodes of the connected components of the graph represent a set of basins that are:
[0268] - pairwise downstream of each other; and
[0269] - respectively downstream of the respective first basin of the group that verifies the smallness criterion, except for the most upstream basin of the group.
[0270] This is equivalent to saying that these basins form a DAG that indicates the order in which the basins are low with respect to each other.
[0271] Thus, the basins corresponding to the nodes of the same connected component of the graph can be efficiently generated by the merging, which violates the smallness criterion.
[0272] In examples, the determining of the directed graph includes exploring the basins according to a smallness order of the reward basins smallness. In these examples, the determining of the directed graph further includes, for each explored first basin of the verification smallness criterion, creating an arc between a node representing the first basin and a node representing a second basin downstream of the first basin. The arc is directed from the node representing the first basin to the node representing the second basin. The determining, prior to the creating of the arc, can include, for each explored basin, creating a node in the graph representing the basin. In any case, the graph resulting from the creation of the arcs is a DAG.
[0273] The smallness order is an order of the reward basins smallness. In other words, if one basin is smaller than another basin, then the basin precedes the other basin in the smallness order. Exploring the basins according to the smallness order thus includes exploring first the smallest basin of the provided watershed segmentation, then the smallest basin of the non-explored basins of the provided watershed segmentation, then the smallest basin of the non-explored basins of the provided watershed segmentation, and so on until all basins of the provided watershed segmentation have been explored. Exploring the basins can include, for each basin, computing a quantification of the basin smallness previously discussed, for example by computing a depth of the basin, an area of the basin or a volume of the basin. Exploring the basins can further include classifying the basins according to an increasing quantification of the smallness, for example by classifying the basins according to an increasing depth (smallness order is then a depth order), according to an increasing area (smallness order is then an area order) or according to an increasing volume (smallness order is then a volume order). Exploring the basins can then include exploring (e.g. visiting) the classified basins along the smallness order.
[0274] Exploring the basins according to the smallness order is an efficient and robust way to ensure that the connected components of the graph each represent a set of basins that are pairwise downstream of each other and that are respectively downstream of the corresponding first basin of the verification smallness criterion in the set, except for the most upstream basin of the set. The merged basin of each respective set of these sets thus efficiently results in a respective basin of the regularized watershed segmentation.
[0275] In examples, the watershed segmentation includes, for each basin, data representing a water trajectory within the basin. In these examples, the merging includes, for each first basin merged with a second basin, computing data representing a water trajectory between the first basin and the second basin. Thus, in addition to regularizing the provided watershed segmentation, the regularization method can also derive a water trajectory within each basin of the regularized watershed segmentation. Thus, the regularized watershed segmentation output by the regularization method can understand water trajectories and / or visualize the effect of any earthwork on water dynamics, which is highly relevant to civil engineering. Otherwise, the regularization method can regularize the provided watershed segmentation and update the water trajectories accordingly and simultaneously.
[0276] The data representing a trajectory within a basin can be any data representing a trajectory of any water flow within the basin, such as one or more paths within the basin. In examples, the one or more paths include a path from an outlet of the basin to a spillway of the basin, also referred to as an “extended rising path,” and / or a path from a spillway of an upstream basin of the basin to the outlet of the basin, also referred to as an “extended falling path.” The data representing a water trajectory between the first basin and the second basin can be any data representing a trajectory of any water flow flowing from the first basin into the second basin, and can be computed based on the data representing a water trajectory within the first basin and the second basin.
[0277] The computation of the data representing a water trajectory between the first basin and the second basin can be based on first data representing a water trajectory within the first basin and second data representing a water trajectory within the second basin (e.g., can be inputted). This improves the accuracy of the computation of the water trajectory between the first basin and the second basin. In examples, the first data includes an extended rising path from an outlet of the first basin to a spillway of the first basin, and / or the second data includes an extended falling path from the outlet of the first basin to a spillway of the second basin.
[0278] In examples, the first data comprises an extended ascending path from an outlet of the first basin to a spillway of the first basin, and the second data comprises an extended descending path from the spillway of the first basin to an outlet of the second basin. In these examples, the computation of data representative of water trajectories between the first basin and the second basin can take as input the extended ascending path and the extended descending path and output a path, which can be referred to as an extended path, which corresponds to a concatenation of the extended ascending path and the extended descending path. In other words, the extended path connects the outlet of the first basin to the spillway of the first basin according to the extended ascending path, and then connects the spillway of the first basin to the outlet of the second basin according to the extended descending path. Since this is a result of merging the first basin with the second basin downstream, it can be ensured that any water course reaching the outlet of the former (i.e. the outlet of the provided watershed segmentation) can be extended until reaching the outlet of the filtered basin (i.e. the basin of the regularized watershed segmentation). This trajectory of droplets towards the outlet of the filtered (i.e. regularized) watershed segmentation forms the extended path. The extended path constitutes objective physical information, in particular information relevant to civil engineering.
[0279] The regularization method can further comprise displaying the regularized watershed segmentation on a computer display. As previously mentioned, displaying the regularized watershed segmentation allows performing civil engineering analysis and / or one or more physical actions based on the displayed regularized watershed segmentation.
[0280] An example of the regularization method is now discussed.
[0281] In this example, the provided watershed segmentation contains many shallow basins which impair the readability of the result. This is illustrated in Figure 7 , which shows a screenshot of a provided watershed segmentation displayed on a computer display. A user (e.g. a civil engineer) can have difficulties to understand the trajectories of water and to visualize the impact of any earthwork on the water dynamics from the displayed provided watershed segmentation.
[0282] In this example, the merging comprises exploring the basins in order of smallness, as previously mentioned. The exploration comprises sorting the original basins (i.e. the basins of the provided watershed segmentation) in order of increasing depth (area, respectively volume). The exploration further comprises creating a directed acyclic graph (DAG) whose nodes are the initial basins.
[0283] Then, for each basin B, the exploration comprises creating a directed arc in the graph connecting B to its downstream basin B’ in order of increasing depth (area, respectively volume). At the same time, the exploration comprises associating to this arc two paths, which are respectively referred to as the extended path P 上升 and the extended path P 下降 : P 上升From B's outlet O B to B's spillway, P 下降 From B's spillway to B's spillway, labeled O B’ . Figure 19 These paths are shown.
[0284] Then, the set of basins in each connected component of the graph is merged into a so-called filtered basin, thus forming a regularized (i.e. filtered) watershed segmentation. The remaining (i.e. filtered) basins have a depth greater than a given threshold. Figure 20 The remaining basins after merging Figure 19 of basins B and B' are shown.
[0285] In this example, the merging is performed by an algorithm described by the following pseudo-code:
[0286] Start algorithm
[0287] o Create an empty DAG;
[0288] o For each initial basin, create a corresponding vertex in the DAG;
[0289] o Sort the basins according to increasing depth;
[0290] o In this order, when a basin B has a depth (respectively area, respectively volume) lower than a user-specified predefined threshold:
[0291] o Let c be B's spillway. c lies on the polyline shared by B and its downstream basin B'. Add an arc from B to B' in the DAG;
[0292] o Let o be B's outlet and o' be B's outlet. Compute the two extended paths P 上升 and P 下降 ;
[0293] o Create a new empty watershed segmentation that will store the filtered basins:
[0294] o For each connected component in the DAG, create a new basin as the union of all initial basins in the connected component.
[0295] End algorithm
[0296] Figure 18 The result of merging Figure 17 the segmentation according to the above algorithm is shown, where the depth threshold is equal to 0.5 mm. Figure 21 The computed water trajectories between Figure 19 the first basin B and the second basin B' are shown. Figure 22 and Figure 23 Further merging according to the above algorithm is shown.Figure 22 The provided watershed divides the two basins. Note that Basin 1 has a smaller depth and meets the minimum degree criterion. Figure 23 The effect of the merger is shown: only one basin remains after the merger.
[0297] In this example, the merged watercourse trajectory and watershed segmentation remain consistent. Regardless of the user-given depth threshold eps (even if eps = 0), the basin still includes any path that originates from and leads to the basin's outlet (or ground edge). Therefore, when eps > 0, the merged basin still forms a new segment of the terrain, validating the previous properties. This is in Figure 24 As shown in the figure, Figure 24 The image shows the trajectory of the original water (stopping when it reaches the outlet), and... Figure 25 As shown in the figure, Figure 25 The diagram shows the extended path calculated using eps=1m.
[0298] We will now discuss the contributor calculation method further.
[0299] The contributor calculation method includes providing a grid representing the terrain. The provision of the terrain-representing grid has already been discussed previously and will not be discussed further. The contributor calculation method also includes providing polylines on the grid.
[0300] A polyline is a line formed by the vertices and edges of a grid, with each edge connecting two of the vertices. Providing a polyline can include, for example, defining the polyline on a grid, such as through graphical user interaction. For example, the grid can be displayed on a computer monitor, and the user can define lines by graphically interacting with the monitor, for example, using a touch or haptic device. The user can, for example, draw lines or select the vertices and / or edges of lines. Alternatively, when a grid is provided, the polyline may already be defined on the grid. In this case, the polyline is set with the grid. A polyline can represent a structure on the terrain, which can be a constructed terrain. For example, a polyline can represent a road, railway, passageway, building, or mine.
[0301] The contributor calculation method also includes calculating contributors to a polyline. As mentioned earlier, a contributor is the set of points from which water in the grid will necessarily flow to a point on the polyline. Polylines can be connected and / or opened or closed. Contributors can be calculated in either case, making the contributor calculation method more robust.
[0302] The contributor's computation includes modifying the mesh by determining a trench under the polyline based on the polyline. In other words, the modification produces a modified mesh that is identical to the provided mesh except that the polyline is replaced by a trench under the fold. In examples, the modification of the mesh includes transforming (e.g., morphing, mapping) the polyline into the trench, for example, by continuously bending the polyline. For example, continuously bending the polyline can include decreasing the height coordinate of the points of the polyline such that there is only one local minimum of height 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 height coordinate on the trench is decreased from point 0 to point N-1 and then increased from point N to point 2N-1. The trench is a portion of the mesh that substantially has the shape of the trench, for example, a U-shape or a V-shape under the polyline.
[0303] In 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 can include mapping each vertex of the polyline, which belongs to the provided mesh, onto a corresponding vertex of the trench, which belongs to the modified mesh. In these examples, each point of the trench has a lower height than the corresponding point on the polyline. In other words, the mapping decreases the height of the points (e.g., vertices) of the polyline in order to transform them into vertices of the trench. This is a simple, reliable and efficient way of determining the trench.
[0304] An example of modifying the mesh is now discussed. In this example, the modification includes applying a mapping to the vertices of the polyline that decreases their height so as to transform them into vertices of the trench, thereby transforming the polyline into the trench. In this example, the modification is performed by executing the following algorithm, which can be referred to as the "decreasing the height of the points of the polyline" algorithm and is described by the following pseudo-code:
[0305] BEGIN algorithm (decreasing the height of the points of the polyline)
[0306] - let z be the lowest z coordinate over all mesh vertices min - let N be the number of vertices of the polyline,
[0307] - for i = 1 to N / 2
[0308] - change the z coordinate of the i-th vertex along the polyline by
[0309] - for i = (N / 2) + 1 to N
[0310] - change the z coordinate of the i-th vertex along the polyline by
[0311] - END algorithm
[0312]
[0313] In examples, only one point of the trench is a local height minimum. In other words, the modification of the mesh results in only one point (e.g., only one vertex) of the trench having a minimum height among all points (e.g., vertices) of the trench. This ultimately improves the robustness of the computation of the watershed segmentation and the robustness of the identification of basins including the mesh, which will be discussed below.
[0314] The computation of the contributor of the polyline also includes computing a watershed segmentation of the terrain based on the modified mesh. In other words, the computation of the watershed segmentation takes as input the modified mesh and outputs a watershed segmentation of the terrain from the input modified mesh. The computation of the watershed segmentation can be performed according to any method for computing a watershed segmentation based on a mesh. In examples, the computation of the watershed segmentation includes applying a watershed segmentation method, as previously discussed. In such examples, the computation of the watershed segmentation benefits from the improvements in accuracy, efficiency, and robustness provided by the watershed segmentation method previously discussed.
[0315] In examples, the computation of the watershed segmentation includes 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 computation of the watershed segmentation also includes performing a regularization on the computed initial watershed segmentation, e.g., by applying a regularization method. This allows for the identification of basins to be performed on a regularized (i.e., filtered) watershed segmentation that was initially computed based on the modified mesh. In effect, this does remove from the initial watershed segmentation basins that are so small, e.g., have small depth, area, and / or volume values, that they correspond to numerical artifacts and / or noise in the computation of the initial watershed segmentation and / or are irrelevant from a civil engineering perspective. Ultimately, the identification of basins including the trench is improved because it is ensured that the identified basins will not correspond to such basins that are so small that they should be discarded and not identified due to the reasons described above. Moreover, in examples, the regularization results in identified basins that are larger than basins identified without regularization. Thus, these examples result in computed contributors that are larger and / or more relevant to a civil engineer. This contributor can be referred to as an “expanded” contributor.
[0316] In any case, the calculation of watershed segmentation results in dividing the modified mesh into multiple parts, each representing a basin segmented by the calculated watershed. Due to its shape (e.g., because the trench includes only one local minimum of height), the trench is included in a basin with a point in the mesh as its outlet. The contributor's calculation further includes: identifying basins including trenches on the modified mesh based on the calculated watershed segmentation. In other words, identifying basins where trenches are included and which have points in the mesh as their outlets among the basins segmented by the calculated watershed, and identifying such basins. In other words, the identified basins including trenches are basins that include trenches and have points in the mesh as their outlets. In the example, only one point in the trench is a local minimum of height, and the identified basin has that local minimum of height as its outlet.
[0317] The identified basins correspond to contributors. This means that the identified basins belonging to the modified mesh correspond to the portions of the provided mesh that represent contributors. Specifically, the identified basins include trenches and another portion of the modified mesh (e.g., the union of trenches and another portion of the modified mesh). This other portion is identical in both the modified mesh and the provided mesh. The contributor then comprises polylines and the other portion (e.g., the union of polylines and the other portion). In the example, the calculation of contributors also includes modifying the basins by transforming the trenches back to polylines. Since the trenches are transformed back to polylines, the modified basins resulting from this modification are contributors. In other words, the modified basins consist of polylines and the other portion, and are therefore contributors. Transforming trenches back to polylines means reversing the modification of the mesh, resulting in the trenches being determined based on the polylines. For example, if the polylines have already been mapped onto the trenches by the modification described above, transforming back means applying the inverse mapping to the trenches to map them back to the polylines.
[0318] Now let's discuss an example of contributor computation. In this example, the mesh is a 3D triangular mesh. In this example, contributor computation is performed by executing the following algorithm (described by the following pseudocode):
[0319] Start Algorithm
[0320] To calculate the contributors to the polyline represented as P, copy the initial terrain (i.e., the provided grid) and then subdivide it by points S. i The triangle P is represented by point S. i - Insert a copy of the terrain (i.e., the modified mesh) (denoted as M'). Note that the copy of the terrain mesh is hidden from the user and is for internal purposes only.
[0321] Then, the z-coordinate of the insertion point is modified by applying the "modify the height of points on the polyline" algorithm to populate the following attributes:
[0322] ○ Each point S i The height of all of them is lower than any point in the original terrain.
[0323] ○S i Only one point is a local minimum of the height function (this local minimum will become the outlet of the basin):
[0324] A polyline whose vertices have been modified to fill previous properties is a groove.
[0325] Then, the watershed division is calculated on this modified terrain. The contributors to the polyline are determined by the basin, with the basin outlet located on the gully (i.e., the gully is point S). i one).
[0326] - Extract the mesh of the basin and then recover the z-coordinates of the points located on the trenches. This results in a mesh that is a subset of the initial terrain. The resulting mesh is precisely the contributor, and any path starting from a point included in the result will cross the target polyline.
[0327] Termination Algorithm
[0328] Figures 26 to 36 The above algorithm has been shown, and it will now be discussed.
[0329] Figure 26 The terrain and the polyline 260 on the terrain are shown. Figure 27 The defined trench 270 is shown. Figure 28 The diagram shows the identified basin 280, segmented by the watershed calculated on the modified grid. Figure 29 The contributors 290 are shown in the calculation of the polyline retrieved by restoring the coordinates.
[0330] Figure 30 The terrain is shown, along with a broken line 300 representing a line on the terrain. Figure 31 A cross-sectional view of the trench 310 on the modified grid of the terrain is shown. Figure 32 The basin 320 (in the watershed segment of the calculated modified grid) is shown. Figure 32 (Circled in the middle). The outlet of the identified basin is located at... Figure 31 On the groove 310. Figure 33 It shows Figure 30 The calculated contributors to the 300-fold line are 330.
[0331] As previously mentioned, the computation of the watershed segmentation can comprise computing an initial watershed segmentation according to a watershed segmentation method and regularizing the initial watershed segmentation by applying a regularization method. The resulting computed segmentation still contains basins whose outlets are located on the ditches and which cause extended contributors (contributors to which topological filtering has been applied), which is a result of the topological filtering (i.e. the regularization). This means that any extended path starting from a point contained in an extended contributor will cross the input polyline. Figure 34 The extended contributors of the polyline 300 computed in this way are shown. Figure 30 The extended contributors of the polyline 300 computed in this way are shown. Figure 34 The extended contributors are shown for several values of the depth threshold used when performing the regularization method: 0.5m (340, in red), 1 m (350, in dark pink) and 2m (360, in light pink).
[0332] The above algorithm is particularly efficient and accurate. It is worth noting that it uses the single operation discussed previously to compute the contributors of a polyline and is not affected by the complexity of the polyline (in the example, only the number of critical points matters). The above algorithm is particularly robust and efficient compared to a method that would sample the polyline into points, compute the contributors of each point and then compute the union of all these contributors. The Boolean union of all the contributors of the sampled points does not indeed equal the contributors of the polyline. In fact, one can find a stream from a point to the polyline from the Boolean union. This is illustrated in Figure 35 and Figure 36 Figure 36 The contributors of the polyline computed by the above algorithm are shown. Figure 36 The union of the contributors of the sampled points on the polyline is shown.
[0333] The contributor computation method can further comprise displaying the contributors of the polyline on a computer display. As previously mentioned, displaying the contributors allows performing civil engineering analysis and / or one or more physical actions based on the displayed contributors.
[0334] The watershed segmentation method, the regularization method and the contributor computation method are computer-implemented methods.
[0335] This means that the steps (or substantially all the steps) of the method are performed by at least one computer or any similar system. Thus, the steps of the method are performed by a computer, possibly fully automatically or possibly semi-automatically. In examples, the triggering of at least some steps of the method can be performed by user-computer interactions. The level of user-computer interaction required can depend on the level of automation foreseen and is balanced with the need to implement the user’s will. In examples, this level can be user-defined and / or pre-defined.
[0336] A typical example of a computer implementation of the method is the execution of the method using a system adapted for this purpose. The system can comprise a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for carrying out the method. The memory can also store a database. The memory is any hardware suitable for such storage, possibly comprising several physically different parts (for example one for the program and possibly one for the database).
[0337] Figure 37 An example of a system is shown, wherein the system is a client computer system, for example a workstation of a user.
[0338] The client computer of this example comprises a central processing unit (CPU) 1010 connected to an internal communication bus 1000, also connected to the bus is a random access memory (RAM) 1070. The client computer is also provided with a graphics 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 device controller 1020 manages access to a mass storage device, for example a hard disk drive 1030. Mass storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, for 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; CD-ROM disks 1040. Any of the foregoing can 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 can also include haptic devices 1090, for example a cursor control device, a keyboard, etc. A cursor control device is used in the client computer to allow the user to position a cursor selectively at any desired location on a display 1080. Furthermore, the cursor control device allows the user to select various commands and input control signals. The cursor control device comprises a plurality of signal generation devices for inputting control signals to the system. Typically, the cursor control device can be a mouse, the buttons of which are used to generate signals. Alternatively or additionally, the client computer system can comprise a sensitive mat and / or a sensitive screen.
[0339] Any of the computer programs herein can include instructions executable by a computer, which include means for causing the above-described system to perform one or more of the watershed segmentation method, the regularization method, and / or the contributor computation method. The program can be recorded on any data storage medium including the system's memory. The program can be implemented in, for example, digital electronic circuitry or computer hardware, firmware, software, or combinations thereof. The program can be implemented as an apparatus, e.g., a product, tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps can be performed by an executable program of instructions for execution by a programmable processor to perform a function of the method by operating on input data and generating output. The processor can be programmable and coupled for receiving data and instructions from, and sending data and instructions to, a data storage system, at least one input device, and at least one output device. The application can be implemented with assembled or machine language, if desired. In any case, the language can be a high-level, procedural, or object-oriented programming language that is translated to machine language suitable for execution by the system. The program can be a complete installation program or an update program. In any case, the application of the program on the system results in instructions for performing one or more of the watershed segmentation method, the regularization method, and / or the contributor computation method.
Claims
1. A computer-implemented method for civil engineering, the method comprising: providing a mesh representing a terrain and a polyline on the mesh; computing a contributor for the polyline, the computing of the contributor comprising: modifying the mesh by determining a trench under the polyline based on the polyline; computing a watershed segmentation of the terrain based on the modified mesh; and identifying a basin comprising the trench on the modified mesh based on the computed watershed segmentation; and modifying the basin by transforming the trench back to the polyline, the modified basin being the contributor.
2. The method of claim 1, wherein, each point of the polyline corresponds to a point of the trench, and each point of the trench has a height lower than a height of the corresponding point on the polyline.
3. The method of claim 2, wherein, only one of the points of the trench is a local height minimum.
4. The method of claim 3, wherein, the identified basin has an outlet, which is the local height minimum.
5. The method of any one of claims 1 to 4, wherein, the computing of the watershed segmentation comprises: computing an initial watershed segmentation of the terrain based on the modified mesh; and performing a regularization on the computed initial watershed segmentation.
6. The method of any one of claims 1 to 4, wherein, the terrain is a construction terrain.
7. The method of any one of claims 1 to 4, wherein, the polyline represents a construction on the terrain.
8. The method of claim 7, wherein, the polyline represents a road, a railway, a pathway, a building, or a mine.
9. A computer program product comprising instructions for performing the method according to any one of claims 1 to 8.
10. An apparatus for civil engineering comprising a data storage medium having recorded thereon instructions for performing the method according to any one of claims 1 to 8.
11. The apparatus according to claim 10, further comprising a processor coupled to the data storage medium.