Method and apparatus for constructing a three-dimensional computational fluid dynamics model based on oblique photography
By constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry data, the problem of insufficient model precision was solved, enabling the acquisition of more refined flow field information and improving the application effectiveness of oblique photogrammetry models in urban management.
Patent Information
- Application Number
- CN202411024116.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2044-07-29
AI Technical Summary
The lack of existing model building methods to address the issue of the level of detail in 3D computational fluid dynamics models makes it impossible to obtain more detailed information about the flow field in cities, thus limiting the application potential of oblique photogrammetry models in computational fluid dynamics research.
By acquiring oblique photogrammetry data, a 3D model is established, the geometric complexity of the 3D building model is calculated, and the 3D building model is processed based on a preset model correction criterion to construct a model suitable for computational fluid dynamics simulation of urban buildings, including the processing of low, medium, and high-precision models.
This invention enables the quantitative processing of model complexity in 3D oblique photogrammetry models, solving the problem of users constructing 3D computational fluid dynamics models of different levels of detail, obtaining more refined flow field information, and providing technical support for the application of oblique photogrammetry models in urban management and other fields.
Smart Images

Figure CN118965519B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computational fluid dynamics technology in civil engineering, and in particular to a method and apparatus for constructing a three-dimensional computational fluid dynamics model based on oblique photography. Background Technology
[0002] With the intensification of global climate change, cities face a variety of climate problems. Applying computational fluid dynamics (CFD) to study urban ventilation design, pedestrian comfort, and the urban heat island effect is crucial. In CFD research, the geometric model of the research object significantly affects the flow field distribution. Therefore, constructing higher-precision models is essential for obtaining more accurate flow field information in CFD research.
[0003] Existing computational fluid dynamics (CFD) research models are mostly limited to simplified bulk models, which cannot capture the details of the flow field. In recent years, the development of technologies such as drones and sensors has led to the emergence of oblique photogrammetry modeling, which compensates for the shortcomings of simplified bulk models and can realistically reproduce the appearance of urban buildings. However, oblique photogrammetry models suffer from high storage requirements, defects, and distortion, and cannot be directly used in CFD research. Against this backdrop, if a CFD model that addresses the issue of model refinement is constructed, more detailed flow fields can be obtained to study urban climate issues, significantly unlocking the potential of oblique photogrammetry models in numerous subsequent applications.
[0004] Currently, there is a lack of a model construction method in existing technologies to solve the problem of the accuracy of three-dimensional computational fluid dynamics models. Summary of the Invention
[0005] This invention provides a method and apparatus for constructing a three-dimensional computational fluid dynamics model based on oblique photography, in order to solve the technical problem that there is currently no model construction method in the prior art that can solve the problem of the accuracy of three-dimensional computational fluid dynamics models.
[0006] To solve the above-mentioned technical problems, the present invention provides the following technical solution:
[0007] On one hand, the present invention provides a method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry, the method comprising:
[0008] Acquire oblique photographic data of the target area;
[0009] Based on the oblique photogrammetry data of the target area, a three-dimensional model of the target area is established; wherein, the three-dimensional model of the target area includes a three-dimensional architectural model corresponding to each building within the target area;
[0010] Obtain the selected 3D model of the building and calculate the geometric complexity of the selected 3D model of the building.
[0011] Based on preset model correction criteria, the selected 3D building model is processed according to its geometric complexity in order to construct a model suitable for computational fluid dynamics simulation of urban buildings.
[0012] Furthermore, after establishing a three-dimensional model of the target region, the method further includes:
[0013] Number each building 3D model in the target area's 3D model;
[0014] The method for obtaining the selected 3D building model is as follows: obtain the number and building floor height input by the user, and use the 3D building model corresponding to the number input by the user as the selected 3D building model.
[0015] Furthermore, the calculation of the geometric complexity of the selected 3D building model includes:
[0016] Calculate the horizontal complexity of the selected 3D building model;
[0017] Calculate the vertical complexity of the selected 3D building model.
[0018] Furthermore, the calculation of the horizontal complexity of the selected 3D building model includes:
[0019] Based on the building floor height input by the user, starting from the bottom surface of the selected 3D building model, slice the selected 3D building model along the height direction to obtain discrete polygon images of cross-sections at different heights of the selected 3D building model.
[0020] The obtained discrete polygon images of each cross section are scaled separately;
[0021] Obtain the minimum bounding rectangle of the scaled discrete polygon image for each cross section;
[0022] Interpolate the discrete polygon image of each cross section and its minimum bounding rectangle to make the number of discrete points of each discrete polygon image of each cross section and its minimum bounding rectangle the same.
[0023] Calculate the Fréchet distance between the discrete polygon image of each cross section after interpolation and its minimum bounding rectangle to obtain a set of Fréchet distance data and calculate its root mean square. Use the root mean square of this set of Fréchet distance data as the horizontal complexity of the selected architectural 3D model.
[0024] Further, the scaling process for each acquired discrete polygon image across a cross section includes:
[0025] Each discrete polygon image of a cross section is scaled according to its corresponding equivalent diameter.
[0026] Furthermore, the calculation of the vertical complexity of the selected 3D building model includes:
[0027] Based on the building floor height input by the user, starting from the bottom surface of the selected 3D building model, slice the selected 3D building model along the height direction to obtain discrete polygon images of cross-sections at different heights of the selected 3D building model.
[0028] The obtained discrete polygon images of each cross section are scaled separately;
[0029] By randomly selecting two cross-sectional discrete polygon images from all the acquired images and combining them, all possible combinations of cross-sectional discrete polygon images are obtained. The Fréchet distance data of the two cross-sectional discrete polygon images in each combination is calculated, resulting in a set of Fréchet distance data and calculating its root mean square error. The calculated root mean square error is used as the vertical complexity of the selected architectural 3D model. Before each calculation of the Fréchet distance, the cross-sectional discrete polygon images with fewer discrete points need to be interpolated to ensure that the two cross-sectional discrete polygon images have the same number of discrete points.
[0030] Further, the scaling process for each acquired discrete polygon image across a cross section includes:
[0031] Each cross-sectional discrete polygon image is scaled according to the maximum equivalent diameter of the cross-sectional discrete polygon file of the selected architectural 3D model bottom surface.
[0032] Further, the interpolation processing of each cross-sectional discrete polygon image and its minimum bounding rectangle, such that the number of discrete points of each cross-sectional discrete polygon image and its minimum bounding rectangle is the same, includes:
[0033] The centroid of the discrete polygon image with cross-section is projected onto the smallest bounding rectangle corresponding to the discrete polygon image with cross-section in a preset order, and the projection point is the interpolation point.
[0034] Furthermore, the process based on the preset model correction criteria, according to the geometric complexity of the selected 3D building model, involves processing the selected 3D building model, including:
[0035] The category of the selected 3D architectural model is determined based on its horizontal and vertical complexity; the model categories are divided into low-resolution models, medium-resolution models, and high-resolution models.
[0036] The selected 3D architectural model is processed according to its category; among which,
[0037] If the selected 3D building model is a low-resolution model, a simplified model is obtained by stretching the 2D bottom contour of the selected 3D building model along the height direction, thus completing the model processing.
[0038] If the selected 3D building model is a medium-resolution model, the voxelized model corresponding to the selected 3D building model is obtained through the preset voxelization algorithm, and the model processing is completed.
[0039] If the selected 3D building model is a high-resolution model, then the selected 3D building model is modified to obtain a refined model corresponding to the selected 3D building model, thus completing the model processing.
[0040] By combining the processed models, a three-dimensional computational fluid dynamics model that meets the requirements is obtained.
[0041] On the other hand, the present invention also provides a three-dimensional computational fluid dynamics model construction device based on oblique photogrammetry, the three-dimensional computational fluid dynamics model construction device based on oblique photogrammetry comprising:
[0042] The data acquisition module is used to acquire oblique photographic data of the target area;
[0043] The target area 3D model construction module is used to build a 3D model of the target area based on the oblique photogrammetry data of the target area acquired by the data acquisition module; wherein, the 3D model of the target area includes the 3D model of each building in the target area;
[0044] The model geometry complexity calculation module is used to obtain the selected 3D building model and calculate the geometry complexity of the selected 3D building model.
[0045] The model processing module is used to process the selected 3D building model based on the preset model correction criteria and the geometric complexity of the selected 3D building model calculated by the model geometric complexity calculation module, so as to construct a model suitable for computational fluid dynamics simulation of urban buildings.
[0046] In another aspect, the present invention also provides an electronic device comprising a processor and a memory; wherein the memory stores at least one instruction, which is loaded and executed by the processor to implement the above-described method.
[0047] In another aspect, the present invention also provides a computer-readable storage medium storing at least one instruction, which is loaded and executed by a processor to implement the above method.
[0048] The beneficial effects of the technical solution provided by this invention include at least the following:
[0049] This invention quantifies the model complexity of 3D oblique photogrammetry models, solving the problem of users constructing 3D computational fluid dynamics models of different levels of detail. This helps to obtain more detailed flow field information and provides technical support for the application of oblique photogrammetry models in urban management and other fields. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a schematic diagram of the execution flow of the method for constructing a three-dimensional computational fluid dynamics model based on oblique photography provided in an embodiment of the present invention;
[0052] Figure 2 This is a schematic diagram of the oblique photography model number of a real area provided in an embodiment of the present invention;
[0053] Figure 3 This is a schematic diagram of the interpolation method between the model cross-sectional polygon and the minimum bounding rectangle provided in an embodiment of the present invention;
[0054] Figure 4 These are the results of constructing three-dimensional computational fluid dynamics models of different levels of detail provided in the embodiments of the present invention;
[0055] Figure 5 This is a system block diagram of the electronic device provided in the embodiments of the present invention. Detailed Implementation
[0056] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
[0057] First, it should be noted that in the embodiments of the present invention, the words "exemplarily," "for example," etc., are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "exemplarily" is intended to present the concept in a specific manner. Furthermore, in the embodiments of the present invention, the meaning expressed by "and / or" can be both, or it can be either one or the other.
[0058] First Embodiment
[0059] This embodiment provides a method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry. This method can be implemented by electronic devices, and its execution flow is as follows: Figure 1 As shown, it includes the following steps:
[0060] S1, acquire oblique photographic data of the target area;
[0061] It should be noted that, in this embodiment, the oblique photography data was acquired using a drone.
[0062] S2, Based on the oblique photography data of the target area, establish a three-dimensional model of the target area;
[0063] It should be noted that the 3D model of the target area constructed in this embodiment includes building models in the city, but does not include terrain, trees, roads, bridges, streetlights, or sculptures. Furthermore, after establishing the 3D model of the target area, this method also includes: numbering the models using Arabic numerals starting from 0 and ascending in ascending order, and ensuring that the format of the numbered model files is consistent, i.e., model filename + number.
[0064] Specifically, the oblique photogrammetry 3D model of a real area provided in this embodiment consists of 5 buildings. Figure 2 A schematic diagram showing the numbering of an oblique photography model of a real area provided in an embodiment of the present invention is shown.
[0065] S3: Obtain the selected 3D model of the building and calculate the geometric complexity of the selected 3D model of the building.
[0066] It should be noted that the method for obtaining the selected 3D building model in this embodiment is as follows: The model number and building floor height input by the user are obtained, and the 3D building model corresponding to the user-input model number is used as the selected 3D building model. Specifically, in this embodiment, the model numbers input by the user for which model complexity needs to be calculated are Model 0 to Model 4, and the building floor height is 4 meters. Therefore, this embodiment uses the construction of a 3D computational fluid dynamics model of the user-input model as an example for explanation, but it should be understood that the solution in this embodiment is not limited to the user-input model.
[0067] In this embodiment, calculating the geometric complexity of the selected 3D building model includes:
[0068] Calculate the horizontal complexity of the selected 3D building model;
[0069] Calculate the vertical complexity of the selected 3D building model.
[0070] Specifically, the calculation process for the geometric complexity of a 3D architectural model is as follows:
[0071] S31, based on the building floor height input by the user, starting from the bottom surface of the selected 3D building model, slice the selected 3D building model along the height direction to obtain discrete polygon files of cross-sections at different heights of the selected 3D building model.
[0072] In this embodiment, the slicing is performed according to the building's floor height. That is, a slice is obtained for every floor height. Slicing by floor height can measure the complexity of each floor, thereby comprehensively calculating the complexity of the entire building. Other slices that are too small or too large are not conducive to measuring the complexity of the building.
[0073] S32, scale each of the acquired discrete polygon files for each cross-section;
[0074] It should be noted that scaling the model ensures that the cross-sectional polygon of the model has a sufficient number of discrete points, thereby reducing the error in complexity calculation. At the same time, normalizing the complexity value to 0 to 1 facilitates the standardization of measurement and ensures that the complexity value calculated after the model changes scale is not affected.
[0075] The scaling process involves scaling the acquired discrete polygon files of the cross-sections according to the maximum equivalent diameter of the discrete polygons. When calculating vertical complexity, which measures the model's complexity in the vertical direction, scaling should maintain the model's original proportions. Therefore, the discrete polygon files of the cross-sections at each height of the model are uniformly scaled according to the maximum equivalent diameter of the discrete polygon files of the bottom cross-sections. Specifically, the equivalent diameter of each discrete polygon in the model's cross-sections is calculated using the convex hull algorithm. The maximum value of the equivalent diameter of each discrete polygon in the cross-sections is selected as the scaling factor. The x, y coordinates of each discrete point in each discrete polygon in the cross-sections are multiplied by the scaling factor for scaling. The maximum equivalent diameter of each discrete polygon in the scaled cross-sections is between 0 and 1, thus maintaining the original proportions. The original proportions of the discrete polygon files for each height cross-section of the model are used. When calculating horizontal complexity, the complexity is measured by comparing the discrete polygons of each horizontal cross-section of the model with their corresponding minimum bounding rectangles. It is not necessary to maintain the original proportions of the model in the vertical direction. Therefore, the discrete polygon files for each height cross-section of the model are scaled according to their respective equivalent diameters. The specific process is as follows: the equivalent diameter of each cross-section discrete polygon of the model is calculated using the convex hull algorithm. The scaling factor of each cross-section discrete polygon is the equivalent diameter of the cross-section discrete polygon. The x, y coordinates of each discrete point in each cross-section discrete polygon of the model are multiplied by the corresponding scaling factor for scaling. The scale of each cross-section discrete polygon after scaling is between 0 and 1, and finally, a normalized cross-section discrete polygon file is obtained.
[0076] S33, obtain the minimum bounding rectangle of the scaled discrete polygon image for each cross section;
[0077] The minimum bounding rectangle corresponding to the discrete polygon of the cross section is obtained by calculating the convex hull algorithm.
[0078] S34, use an interpolation program to interpolate the discrete polygon image of each cross section and its minimum bounding rectangle, so that the number of discrete points of each discrete polygon image of each cross section and its minimum bounding rectangle is the same.
[0079] The interpolation process consists of two parts. The first part slices the model along the height of the building's floors, obtaining discrete polygon files of cross-sections at various heights. The second part interpolates these discrete polygon files. Taking any given polygon file as an example, the minimum bounding rectangle of the polygon file is first calculated using the convex hull algorithm. This algorithm calculates the bounding rectangles of the discrete polygons in each direction and selects the one with the smallest area as the minimum bounding rectangle. Then, starting from a point on the polygon, discrete points in the polygon file are connected sequentially to the centroid of the polygon file. Finally, the lines are extended outwards until they intersect the minimum bounding rectangle; the intersection point is the interpolation point. Figure 3 This demonstrates an interpolation method between the model's cross-sectional polygon and its minimum bounding rectangle, derived from... Figure 3 It can be seen that the cross-sectional polygons and the minimum bounding rectangle of the model have been uniformly interpolated.
[0080] S35, calculate the Fréchet distance between the discrete polygon image of each cross section after interpolation and its minimum bounding rectangle, to obtain a set of Fréchet distance data; wherein, the formula for calculating the Fréchet distance is:
[0081]
[0082] Here, f : [a,b] and g : [a′,b′] are two continuous curves defined on the metric space V, and α (β) is any continuous non-decreasing function from the interval [0,1] to the interval [a,b] ([a′,b′]); assuming t is a time point, the sampling point on curve f at that time is The sampling points on curve g are If Euclidean distance is used, it is easy to define In each sampling, the interval t traverses [0,1] to obtain the maximum distance under that sampling condition. The Fréchet distance is the value obtained by sampling that minimizes the maximum distance.
[0083] S36, calculate the root mean square of the set of Fréchet distance data, and use the calculated root mean square of the set of Fréchet distance data as the horizontal complexity of the selected architectural 3D model.
[0084] S37, calculate the Fréchet distance between each cross-sectional polygon and its corresponding minimum bounding rectangle according to the permutation and combination model of C(N,2), and calculate the root mean square error of all permutations and combinations as the complexity of the model in the vertical direction.
[0085] S4, based on preset model correction criteria, processes the selected 3D building model according to its geometric complexity to construct a model suitable for computational fluid dynamics simulation of urban buildings.
[0086] In this embodiment, the above steps serve the following purpose: based on the complexity calculation results of each model, and according to the user's precision requirements, each model is modeled with different levels of precision to obtain the computational fluid dynamics model required by the user. Moreover, models that are too simplified or too complex are not conducive to computational fluid dynamics simulation. Therefore, a model that balances computational resource consumption and result accuracy is required. Constructing a model that balances computational resource consumption and result accuracy requires classifying the original models to determine whether the original models need to be used as high-precision or low-precision models in computational fluid dynamics simulation.
[0087] The specific implementation process is as follows:
[0088] S41, based on the horizontal and vertical complexity of the selected 3D building models, determine the category of the selected 3D building models. The specific classification method needs to consider the distribution of horizontal and vertical complexity of the models. After calculating the vertical and horizontal complexity of all models, perform cluster analysis on the vertical and horizontal complexity of all models using the K-means clustering algorithm. Specify two clusters for both vertical and horizontal complexity clustering. Then, optimize the cluster partitioning by minimizing the squared distance from each data point to the nearest cluster center, dividing both vertical and horizontal complexity into two categories. Finally, take the midpoint between the two cluster centers of the vertical complexity clustering as the vertical complexity boundary point and the midpoint between the two cluster centers of the horizontal complexity clustering as the horizontal complexity boundary point. Figure 2 Taking the five building models as an example, the model construction process to balance computational resource consumption and result accuracy is as follows: Cluster analysis is performed on the vertical and horizontal complexity to obtain the vertical and horizontal complexity boundary points. The obtained vertical complexity boundary point is 0.1, and the horizontal complexity boundary point is 0.2. Specifically, for each building, if its vertical complexity is not higher than 0.1, a low-precision model is used. If the building's vertical complexity is higher than 0.1, it indicates that the building has a large geometric change in the vertical direction, and it is necessary to further determine whether to use a medium-precision or high-precision model based on the horizontal complexity. If its horizontal complexity is not higher than 0.2, a medium-precision model is used; otherwise, a high-precision model is required.
[0089] S42, Process the selected 3D architectural model according to its category; the specific processing method for the selected 3D architectural model is as follows:
[0090] 1) For low-resolution models, a simplified model can be obtained by stretching the two-dimensional bottom contour of the model along the height direction;
[0091] 2) For medium-resolution models, voxel models are used, and the voxelized model can be obtained through an octree-based voxelization algorithm.
[0092] 3) High precision: A fine model is used. The model can be refined by modifying the 3D oblique photogrammetry model. It should be noted that the original oblique photogrammetry model may have surface defects, holes and other deficiencies. The model can be manually modified using 3D modeling tools to add some complex details lost in the automatic processing to obtain a model without surface defects. The defect-free model is then further optimized and corrected by meshing, removing redundant surfaces and refining the mesh for smoothing, finally obtaining the fine model.
[0093] By combining each processed model, a three-dimensional computational fluid dynamics model that meets the user's needs is finally obtained. Figure 4 The results of constructing three-dimensional computational fluid dynamics models with different levels of detail are shown in this embodiment.
[0094] In summary, this embodiment provides a method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry. This method quantifies the model complexity of the three-dimensional oblique photogrammetry model, solves the problem of users constructing three-dimensional computational fluid dynamics models of different levels of detail, helps to obtain more detailed flow field information, and also provides technical support for releasing the application effectiveness of oblique photogrammetry models in urban management and other fields.
[0095] Second Embodiment
[0096] This embodiment provides a device for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry. The device includes the following modules:
[0097] The data acquisition module is used to acquire oblique photographic data of the target area;
[0098] The target area 3D model construction module is used to build a 3D model of the target area based on the oblique photogrammetry data of the target area acquired by the data acquisition module; wherein, the 3D model of the target area includes the 3D model of each building in the target area;
[0099] The model geometry complexity calculation module is used to obtain the selected 3D building model and calculate the geometry complexity of the selected 3D building model.
[0100] The model processing module is used to process the selected 3D building model based on the preset model correction criteria and the geometric complexity of the selected 3D building model calculated by the model geometric complexity calculation module, so as to construct a model suitable for computational fluid dynamics simulation of urban buildings.
[0101] It should be noted that the three-dimensional computational fluid dynamics model construction device based on oblique photography in this embodiment corresponds to the three-dimensional computational fluid dynamics model construction method based on oblique photography in the first embodiment described above; the functions implemented by each functional module in the three-dimensional computational fluid dynamics model construction device based on oblique photography in this embodiment correspond one-to-one with the process steps in the three-dimensional computational fluid dynamics model construction method based on oblique photography in the first embodiment described above; therefore, they will not be described again here.
[0102] Third Embodiment
[0103] This embodiment provides an electronic device, such as... Figure 5 As shown, the electronic device includes a processor and a memory; wherein the processor and the memory can be connected via a communication bus; the memory stores at least one instruction, which is loaded and executed by the processor to implement the method of the first embodiment described above. Furthermore, the electronic device may also include a transceiver, the processor and the transceiver can be connected via a communication bus, and the transceiver is used to communicate with other devices.
[0104] Below, in conjunction with Figure 5 A detailed introduction to each component of this electronic device is provided below:
[0105] The processor is the control center of the electronic device. The electronic device may include multiple processors, each of which can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The term "processor" can refer to a single processor or a collective term for multiple processing elements. For example, a processor can be one or more central processing units (CPUs), other general-purpose processors, application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement embodiments of the present invention, such as one or more digital signal processors (DSPs), one or more field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor can perform various functions of the electronic device by running or executing software programs stored in memory and by calling data stored in memory.
[0106] In a specific implementation, as one example, the processor may include one or more CPUs, for example... Figure 5 CPU0 and CPU1 shown are, of course, merely illustrative examples.
[0107] The memory is used to store the software program that executes the solution of the present invention, and the processor controls its execution. For specific implementation methods, please refer to the above method embodiments, which will not be repeated here.
[0108] Optionally, the memory may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory may be integrated with the processor or exist independently, and may be accessed through the interface circuit of the electronic device ( Figure 5 (Not shown in the image) is coupled to the processor; however, this embodiment of the invention does not impose specific limitations on this.
[0109] The transceiver may include a receiver and a transmitter. Figure 5 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function. The transceiver can be integrated with the processor or exist independently, and can be connected through the interface circuit of the electronic device (…). Figure 5 (Not shown in the image) is coupled to the processor, and this embodiment of the invention does not specifically limit this.
[0110] In addition, it should be noted that, Figure 5 The structure of the electronic device shown is not intended to limit the device. Actual devices may include more or fewer components than shown, or combine certain components, or have different component arrangements. Furthermore, the technical effects achieved by this electronic device when performing the method of the first embodiment described above can be referenced to the technical effects described in the first embodiment; therefore, they will not be repeated here.
[0111] Fourth embodiment
[0112] This embodiment provides a computer-readable storage medium storing at least one instruction, which is loaded and executed by a processor to implement the method of the first embodiment described above. The computer-readable storage medium may be a ROM, random access memory, CD-ROM, magnetic tape, floppy disk, or optical data storage device, etc. The instruction stored therein can be loaded and executed by a processor in a terminal.
[0113] Furthermore, it should be noted that the present invention can be provided as a method, apparatus, or computer program product. Therefore, embodiments of the present invention can take the form of a completely or partially hardware embodiment, a completely or partially software embodiment, or an embodiment combining software and hardware aspects. Moreover, when implemented in software, embodiments of the present invention can take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any usable medium accessible to a computer or a data storage device such as a server or data center containing one or more sets of usable media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive (SSD).
[0114] Embodiments of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0115] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing terminal equipment to cause a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0116] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element. Furthermore, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Additionally, the character " / " in this text generally indicates an "or" relationship between the preceding and following objects, but it can also indicate an "AND / OR" relationship. Please refer to the context for specific interpretations. "At least one" refers to one or more items, while "more than" refers to two or more items. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can be represented as: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0117] Furthermore, it is understood that in various embodiments of the present invention, the order of the above-mentioned process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0118] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0119] In the several embodiments provided by this invention, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of functional modules / units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms. Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, i.e., they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Additionally, the functional units in the various embodiments of this invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0120] If the method is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0121] Finally, it should be noted that the above description is merely a preferred embodiment of the present invention. It should be pointed out that although preferred embodiments of the present invention have been described, those skilled in the art, once they understand the basic inventive concept of the present invention, can make several improvements and modifications without departing from the principles described herein. These improvements and modifications should also be considered within the scope of protection of the present invention. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.
Claims
1. A method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry, characterized in that, include: Acquire oblique photographic data of the target area; Based on the oblique photogrammetry data of the target area, a three-dimensional model of the target area is established; wherein, the three-dimensional model of the target area includes a three-dimensional architectural model corresponding to each building within the target area; Obtain the selected 3D building model and calculate its geometric complexity, including: calculating the horizontal complexity of the selected 3D building model; calculating the vertical complexity of the selected 3D building model. Based on preset model correction criteria, the selected 3D building models are processed according to their geometric complexity to construct models suitable for computational fluid dynamics simulation of urban buildings. This includes: performing K-means clustering analysis on the vertical and horizontal complexity of all models, assigning two clusters to each type of data point clustering analysis. Then, the cluster partitioning is optimized by minimizing the squared distance from each data point to the nearest cluster center, further dividing the vertical and horizontal complexity into two categories. Finally, the midpoint between the two cluster centers in the vertical complexity clustering analysis is taken as the vertical complexity boundary, and the midpoint between the two cluster centers in the horizontal complexity clustering analysis is taken as the horizontal complexity boundary. For a selected 3D building model, if its vertical complexity is not higher than the vertical complexity boundary, it is considered low-resolution. The model is classified as follows: if its vertical complexity exceeds the vertical complexity threshold but its horizontal complexity does not exceed the horizontal complexity threshold, it is considered a medium-resolution model; if its vertical complexity exceeds the vertical complexity threshold and its horizontal complexity exceeds the horizontal complexity threshold, it is considered a high-resolution model. If the selected 3D building model is a low-resolution model, a simplified model is obtained by stretching the 2D bottom contour of the selected 3D building model along the height direction, thus completing the model processing. If the selected 3D building model is a medium-resolution model, a voxelized model corresponding to the selected 3D building model is obtained through a preset voxelization algorithm, thus completing the model processing. If the selected 3D building model is a high-resolution model, a refined model corresponding to the selected 3D building model is obtained by modifying the selected 3D building model, thus completing the model processing. By combining the processed models together, a 3D computational fluid dynamics model that meets the requirements is obtained.
2. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry as described in claim 1, characterized in that, After establishing a 3D model of the target region, the method further includes: Number each building 3D model in the target area's 3D model; The method for obtaining the selected 3D building model is as follows: obtain the number and building floor height input by the user, and use the 3D building model corresponding to the number input by the user as the selected 3D building model.
3. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry as described in claim 1, characterized in that, The calculation of the horizontal complexity of the selected 3D building model includes: Based on the building floor height input by the user, starting from the bottom surface of the selected 3D building model, slice the selected 3D building model along the height direction to obtain discrete polygon images of cross-sections at different heights of the selected 3D building model. The obtained discrete polygon images of each cross section are scaled separately; Obtain the minimum bounding rectangle of the scaled discrete polygon image for each cross-section. Interpolate the discrete polygon image of each cross section and its minimum bounding rectangle to make the number of discrete points of each discrete polygon image of each cross section and its minimum bounding rectangle the same. Calculate the Fréchet distance between the discrete polygon image of each cross section after interpolation and its minimum bounding rectangle to obtain a set of Fréchet distance data and calculate its root mean square. Use the root mean square of this set of Fréchet distance data as the horizontal complexity of the selected architectural 3D model.
4. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photography as described in claim 3, characterized in that, The scaling process for each acquired discrete polygon image across a cross section includes: Each discrete polygon image of a cross section is scaled according to its corresponding equivalent diameter.
5. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry as described in claim 1, characterized in that, The calculation of the vertical complexity of the selected 3D building model includes: Based on the building floor height input by the user, starting from the bottom surface of the selected 3D building model, slice the selected 3D building model along the height direction to obtain discrete polygon images of cross-sections at different heights of the selected 3D building model. The obtained discrete polygon images of each cross section are scaled separately; By randomly selecting two cross-sectional discrete polygon images from all the acquired images and combining them, all possible combinations of cross-sectional discrete polygon images are obtained. The Fréchet distance data of the two cross-sectional discrete polygon images in each combination is calculated, resulting in a set of Fréchet distance data and calculating its root mean square error. The calculated root mean square error is used as the vertical complexity of the selected architectural 3D model. Before each calculation of the Fréchet distance, the cross-sectional discrete polygon images with fewer discrete points need to be interpolated to ensure that the two cross-sectional discrete polygon images have the same number of discrete points.
6. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry as described in claim 5, characterized in that, The scaling process for each acquired discrete polygon image across a cross section includes: Each cross-sectional discrete polygon image is scaled according to the maximum equivalent diameter of the cross-sectional discrete polygon file of the selected architectural 3D model bottom surface.
7. The method for constructing a three-dimensional computational fluid dynamics model based on oblique photography as described in claim 3, characterized in that, The interpolation process performed on the discrete polygon image of each cross-section and its minimum bounding rectangle, such that the number of discrete points of each discrete polygon image of each cross-section and its minimum bounding rectangle is the same, includes: The centroid of the discrete polygon image with cross-section is projected onto the smallest bounding rectangle corresponding to the discrete polygon image with cross-section in a preset order, and the projection point is the interpolation point.
8. A device for constructing a three-dimensional computational fluid dynamics model based on oblique photogrammetry, characterized in that, include: The data acquisition module is used to acquire oblique photographic data of the target area; The target area 3D model construction module is used to build a 3D model of the target area based on the oblique photogrammetry data of the target area acquired by the data acquisition module; wherein, the 3D model of the target area includes the 3D model of each building in the target area; The model geometry complexity calculation module is used to obtain the selected 3D building model and calculate the geometry complexity of the selected 3D building model, including: calculating the horizontal complexity of the selected 3D building model; and calculating the vertical complexity of the selected 3D building model. The model processing module, based on preset model correction criteria and the geometric complexity of the selected 3D building model calculated by the model geometric complexity calculation module, processes the selected 3D building model to construct a model suitable for computational fluid dynamics simulation of urban buildings. This includes: performing cluster analysis on the vertical and horizontal complexity of all models using the K-means clustering algorithm, assigning two clusters to each type of data point cluster analysis (vertical and horizontal), optimizing the cluster partitioning by minimizing the squared distance from each data point to the nearest cluster center, and finally taking the midpoint between the two cluster centers of the vertical complexity cluster analysis as the vertical complexity boundary point and the midpoint between the two cluster centers of the horizontal complexity cluster analysis as the horizontal complexity boundary point; for the selected 3D building model, if its vertical complexity is not higher than the horizontal complexity... If the selected 3D building model is a low-resolution model, it is classified as such. If its vertical complexity exceeds the vertical complexity threshold but its horizontal complexity does not exceed the horizontal complexity threshold, it is classified as a medium-resolution model. If its vertical complexity exceeds the vertical complexity threshold and its horizontal complexity exceeds the horizontal complexity threshold, it is classified as a high-resolution model. If the selected 3D building model is a low-resolution model, a simplified model is obtained by stretching the 2D bottom contour of the selected 3D building model along the height direction, thus completing the model processing. If the selected 3D building model is a medium-resolution model, a voxelized model corresponding to the selected 3D building model is obtained through a preset voxelization algorithm, thus completing the model processing. If the selected 3D building model is a high-resolution model, a refined model corresponding to the selected 3D building model is obtained by modifying the selected 3D building model, thus completing the model processing. By combining the processed models together, a 3D computational fluid dynamics model that meets the requirements is obtained.
Citation Information
Patent Citations
Mobile terminal high-precision oblique photography three-dimensional modeling method based on OpenGL
CN109934911A
Oblique photography model building contour line automatic extraction method, system and device
CN114155263A