Large-scale Biological Cluster Simulation Method in Realistic 3D Model Based on Oblique Photography

Through tilted photography data, the real scene three-dimensional model is constructed, combined with fluid simulation and path planning algorithms, the problem of lack of real-time three-dimensional simulation in the existing technology is solved, and efficient simulation and evacuation management of large-scale biological clusters in dynamic environments is realized.

CN120145936BActive Publication Date: 2025-07-22EAST CHINA JIAOTONG UNIVERSITY
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510605134.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-12
Publication Date
2025-07-22
Estimated Expiration
2045-05-12

AI Technical Summary

Technical Problem

The existing population evacuation model in fluids is mainly used for statistical calculations in static scenarios. It lacks real-time three-dimensional simulation, making it difficult to effectively cope with the behavioral simulation of large-scale biological clusters in dynamic environments, especially in the case of natural disasters.

Method used

The real-life three-dimensional model is constructed using tilt photography data, and the method of separating ground objects, fluid simulation and particles replacing solid objects is combined with gridless method to perform fluid simulation, using fluid force field information to drive individual motion, and using variable angle path planning algorithm and local driving strategy to achieve real-time simulation of large-scale biological clusters.

Benefits of technology

It realizes efficient real-time simulation of large-scale biological clusters in dynamic environments, reduces computing overhead, improves the accuracy of evacuation simulation and emergency response efficiency, and adapts to the simulation of multiple fluids and individual behaviors in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120145936B_ABST
    Figure CN120145936B_ABST
Patent Text Reader

Abstract

The present invention proposes a large-scale biological cluster simulation method in a real-scene three-dimensional model based on oblique photography. This method constructs a real-scene three-dimensional scene, separates ground objects, regards the movable objects and people separated as fluids, discretizes the fluid volume into particles carrying physical properties according to the volume for fluid simulation to obtain a fluid force field, and assigns different motion postures to the immovable models and individuals according to the particle force field information in the fluid force field information, plans the global path of the group, and selects different local driving strategies to perform real-time dynamic microscopic correction on the traveling directions of individuals on the traveling path, so as to achieve large-scale cluster biological simulation. The present invention bidirectionally integrates multiple types of fluids, enabling each individual to still maintain an independent driving force under the influence of the group and maintaining the diversity of individuals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer simulation processing, and in particular to a large-scale biological cluster simulation method in a real-scene three-dimensional model based on oblique photography. Background Art

[0002] Although humans are not completely dependent on group life like insects or bacteria, large gatherings often occur and can lead to crowding and trampling if not managed effectively. Therefore, by learning from species that are good at group behavior, people can learn lessons from their collective wisdom. By studying the behavioral patterns of these species, it can help humans better understand and manage crowd behavior and avoid similar tragedies from happening again.

[0003] Related studies have also shown that crowd evacuation models in fluids can effectively analyze the risks in flood emergency situations. At present, hydrodynamic models are used to simulate crowd evacuation in static scenarios, but these models are mainly used for statistical calculations and do not perform real-time three-dimensional simulations. In order to better respond to natural disasters such as floods, it is necessary to promote further research and develop more reliable and practical crowd evacuation simulation models to improve emergency response efficiency and reduce potential risks. Summary of the invention

[0004] In view of the above situation, the main purpose of the present invention is to propose a large-scale biological cluster simulation method in a real-life three-dimensional model based on oblique photography to solve the above technical problems.

[0005] The present invention proposes a method for simulating large-scale biological clusters in a real-life three-dimensional model based on oblique photography, the method comprising the following steps:

[0006] Step 1: Use oblique photography data to construct a real 3D scene, separate the ground objects from the real 3D scene, obtain a ground model and an object model, and divide the object model into a movable model and a stationary model;

[0007] Step 2: Given a fluid and a group on the ground model, the group includes a number of individuals, and the individuals are modeled as physical entities with mass;

[0008] Step 3: Use the meshless method to perform fluid simulation, treat the movable model and the group as fluid, and discretize the fluid volume into particles with physical properties;

[0009] Step 4: Consider the fluid as an interacting particle system, and perform continuous dynamics calculations to give the fluid different motion flexibility according to the change of particle density during fluid motion to achieve fluid simulation, obtain fluid force field information, and reconstruct the fluid surface using the Marching Cube algorithm;

[0010] Step 5: Assign different motion postures to the static model and individuals according to the static model in the fluid force field information and the particle force field information corresponding to the group;

[0011] Step 6: Preprocess the ground model, and then perform convex polygon partitioning to obtain a navigation grid;

[0012] Based on the current position and target position of an individual on the ground model, several individuals generate a global path according to the navigation grid and scene constraints, and a variable turning angle path finding algorithm is used to generate a traveling path for each individual in the global path;

[0013] Step 7: Select different local driving strategies according to the state of the current group and the interaction between the physical entities of the individuals and other particles in the fluid force field information to perform real-time dynamic microscopic correction on the traveling direction of the individuals on the traveling path, so as to realize large-scale cluster biological simulation.

[0014] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0015] 1. In terms of data acquisition and real-scene three-dimensional model construction, the method of drone oblique photography is adopted to obtain data such as the elevation, texture, and grid of ground objects, and a lightweight three-dimensional reconstruction method is adopted to reduce the calculation overhead.

[0016] 2. In terms of global path planning, referring to two classic algorithms in the academic circle, a minimum turning angle path planning algorithm (convex polygon path finding problem) is proposed, and a variable turning angle path planning algorithm is derived.

[0017] 3. In terms of the ground object separation method, a van projection separation method is proposed, and plane separation and curved surface separation algorithms are realized.

[0018] 4. In terms of solid model calculation, an algorithm for replacing solid objects with particles is proposed.

[0019] 5. In terms of large-scale biological cluster (crowd) simulation, combined with observations in real life, group behavior driving algorithms such as the centroid following method, the group center method, the neighborhood extreme value method, and the space squeezing method are proposed.

[0020] The additional aspects and advantages of the present invention will be partially given in the following description, partially become obvious from the following description, or be understood through the embodiments of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 is a flowchart of a large-scale biological cluster simulation method based on an oblique photography-based real-scene three-dimensional model proposed by the present invention;

[0022] Figure 2 is a three-dimensional space partitioning and storage structure;

[0023] Figure 3 The state diagram of the individual motion posture for a finite state machine;

[0024] Figure 4 The individual motion posture sequence;

[0025] Figure 5 The improved schematic diagram of the variable rotation angle method;

[0026] Figure 6 The overall structure diagram of the present invention;

[0027] Figure 7 The calculation process of the solution framework of the present invention. Detailed implementation manners

[0028] The embodiments of the present invention will be described in detail below. The examples of the embodiments are shown in the accompanying drawings, where the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary only for explaining the present invention and should not be construed as limiting the present invention.

[0029] Referring to the following description and drawings, these and other aspects of the embodiments of the present invention will be clear. In these descriptions and drawings, some specific implementation manners in the embodiments of the present invention are specifically disclosed to represent some ways of implementing the principles of the embodiments of the present invention. However, it should be understood that the scope of the embodiments of the present invention is not limited thereto.

[0030] Please refer to Figure 1 , this embodiment provides a large-scale biological cluster simulation method in a real-scene three-dimensional model based on oblique photography. The method includes the following steps:

[0031] Step 1: Construct a real-scene three-dimensional scene using oblique photography data, perform ground object separation on the real-scene three-dimensional scene to obtain a ground model and an object model, and divide the object model into a movable model and an immovable model;

[0032] In this embodiment, taking a certain area as an example for oblique photography data acquisition, the model of the aircraft used for field operations is Huace (CTI) P330Pro, the ground resolution is 2 cm, the interval of ground control points is 1 km, the flight altitude is 178 m, the flight line spacing is 48 m, and the sampling interval is 21 m. The processing software used for indoor operations is Smart3D 2022.

[0033] (1) Field layout

[0034] The field operations mainly include stages such as aerial photography mission planning, flight route setting, ground control point layout, and execution of aerial photography missions. First, plan the area for UAV aerial photography, reasonably set the flight route, and set the altitude and speed of the aircraft. To ensure the data accuracy during the indoor 3D reconstruction process, the lateral overlap rate and forward overlap rate of the aircraft images need to be greater than 65% (usually between 60% and 80%).

[0035] (2)Indoor data processing

[0036] After completing the field aerial photography operations, the collected data includes target aerial images from one vertical and four oblique perspectives, plus POS (Position and Orientation System Data), refined data, camera parameter files, etc.

[0037] The specific steps for data collection are as follows:

[0038] ① Preparation of refined data, elevation data, and POS data

[0039] The refined data is mainly used to correct the error between the aircraft elevation and the geodetic height, and the relevant data is generated by third-party software.

[0040] ② Preparation of image data

[0041] This process is to prepare the data of five cameras for aerial triangulation calculation.

[0042] ③ Import of camera parameters

[0043] This step is to import the parameters of each camera position according to the flight situation.

[0044] ④ Preparation of refined POS parameters

[0045] It is necessary to accurately match the corresponding POS parameters for each flight.

[0046] ⑤ Creation of an aerotriangulation task

[0047] The aerotriangulation task, that is, aerial triangulation, is the basis for high-precision 3D modeling. The main work of the aerotriangulation task is: by adjusting the position and attitude (external parameters) of the camera during imaging and the internal parameters of the camera, minimize the error in the three-dimensional space during the process of extracting image feature points.

[0048] ⑥ Addition of control points

[0049] Perform control point adjustment through control point data.

[0050] After completing the above steps, the modeling work can be officially started, and the required models can be produced according to needs.

[0051] After the acquisition of the original data, in this embodiment, Smart 3D software is used to generate a three-dimensional scene. The specific steps are as follows:

[0052] The original experimental data is a tile data block with a size of 50m * 50m. After selecting the target area, the number of data point clouds exceeds one million, and the number of vertices is nearly ten million. The experiment needs to perform preliminary processing on it.

[0053] First, the tile data is cropped, stitched, reduced, and denoised. The original experimental data is in the TIN (Triangulated Irregular Network) format, which is an irregular triangular mesh. During the process of mesh reduction, three methods are adopted in the experiment: one is finite element mesh division, the second is triangular face downsampling, and the third is mesh resampling.

[0054] The finite element mesh division method is to regenerate the mesh by using the finite element mesh division method on the basis of the original mesh vertices. The triangular face downsampling method is to remove the threshold faces on the basis of the original mesh faces, thereby reducing the total number of triangular faces. Mesh resampling is to re-determine the sampling points based on the original mesh data and then regenerate the mesh. The purpose of this process is to retain the necessary details on the premise of removing redundant data, better adapt to the geometric characteristics of the surface, make the mesh more stable and uniform geometrically, thereby improving the overall quality of the mesh, reducing errors and unstable factors in the calculation process, and thus improving the overall calculation performance. High-quality meshes are crucial for improving calculation accuracy and stability.

[0055] It can be seen that after the preliminary processing, the data volume in the scene is reduced by about 10 times (see Tables 1 and 2).

[0056] Table 1 Comparison of Mesh Reduction Algorithms (0.5m Segmentation Scale)

[0057]

[0058] Table 2 Comparison of Scene Mesh Data (Taking the Triangular Face Downsampling Method as an Example)

[0059]

[0060] After the experiment completes the scene import, data cleaning, and optimization, what is obtained is a high-quality overall mesh. However, having only the mesh is far from enough. The mesh can be used as the basis for the terrain, but it cannot achieve the dynamic solution of the above-ground buildings. To simulate the earthquake effect, it is necessary to extract the buildings in the mesh and perform feature separation. Regarding feature separation, three separation methods are proposed in the experiment: one is the plane segmentation method, the second is the curved surface segmentation method, and the third is the van segmentation method.

[0061] ① Plane Separation Method and Curved Surface Separation Method

[0062] The plane separation method uses a specified plane as the cutting plane and divides the grid into several sub-grids through Boolean operations. For the curved surface separation method, the cutting plane is transformed into a curved surface.

[0063] ② Van projection separation method

[0064] This method constructs a cutting box and performs Boolean operations on the original grid and the cutting box to achieve the separation goal. In current research, there are many methods for ground object classification, including those based on supervised learning, unsupervised learning, remote sensing images, radar images, etc. Each method will ultimately obtain a segmented ground object classification data. Based on the ground object classification data, a cutting box can be accurately constructed through projection to achieve the purpose of segmenting specified ground objects. The specific steps are as follows:

[0065] Use the ground object classification method to classify the ground objects in the real scene 3D scene to obtain the ground object classification data;

[0066] Based on the ground object classification data, construct cutting boxes corresponding to different objects by projection;

[0067] Perform Boolean operations on the 3D grid ground objects of the real scene 3D scene and the cutting box to achieve the separation goal, and obtain the ground model and object model.

[0068] After the reduction, cleaning, separation, noise reduction, and separation of the scene model, the data volume of the model is still very large, with hundreds of thousands of points and faces. If directly used for calculation, the time cost will be unacceptable. To meet the calculation requirements, the experiment needs to construct a low-precision model based on the current data for simulation calculation.

[0069] Step 2: Given fluids and a group on the ground model, the group contains several individuals, and the individuals are modeled as physical entities with mass;

[0070] As Figure 2 shown, Figure 2 in a is a schematic diagram of the spatial cube division, Figure 2 in b is the rough structure of the spatial cube. Using the adjacency list method, Pk in the figure represents the kth human particle, Wl represents the lth water flow particle, V0 to V6 represent the storage nodes of spatial cubes 0 to 6, and ∧ represents the end of the linked list. In this embodiment, is used to represent any cube in space ( Figure 2 in a), and is used to represent any plane in space, then there are:

[0071] ;

[0072] ;

[0073] Among them, represents a set of cubes, represents the intersecting planes of the cubes, represents a set of planes, represents the intersection lines of the planes, represents a spatial cube c , represents the volume division limit of the cube, represents the volume of a single cube or the area of a plane, represents the area division limit of the plane, represents a plane f , represents a plane d overhead.

[0074] All biological population and fluid particle information is stored in the corresponding cells according to their positions. In each three-dimensional cell, the positions of the biological population and fluid particles are stored in adjacent tables according to their adjacent relationships ( Figure 2 b) in

[0075] When constructing an indoor scene, considering that there are numerous and homogeneous indoor small objects such as tables and chairs, the experiment treats these homogeneous solids in the way of solid-state fluid (that is, by discretizing the fluid volume into sampling particles carrying physical properties, and keeping specific properties unchanged during the calculation process, such as the velocity property), and also regards them as particles and crowd particle flows for joint calculation to achieve the effect of the fusion of biological fluid (that is, by discretizing the fluid volume into sampling particles carrying physical properties, and according to the calculation results, replacing the biological posture according to the properties of individual particles) and solid-state fluid. The same calculation of the fusion of multiple types of particle flows is also used among crowds, vehicles, and sand and gravel. Through this work, multiple types of fluids and various individuals are fundamentally fused, so that each individual can still maintain specific autonomy while being affected by multiple types of groups, and can more accurately simulate the crowd behavior in various complex scenarios.

[0076] After completing the calculation of the fluid force field at the macroscopic level, it is also necessary to control the motion postures of individuals. In this embodiment, each individual (individuals such as: people, fish, and trucks) is driven by the fluid force field and also by the rigid body force (convention of the rigid body: after an object is subjected to a force, during the motion process, the appearance characteristics of the object do not change, and its internal structure remains relatively unchanged).

[0077] At the macroscopic level, a fluid dynamics force field is used to drive individuals, and the individuals switch their motion postures according to a finite state machine (as Figure 3 shown), and control the action sequence according to factors such as the position and speed they are in (as Figure 4As shown in [Figure X], the skinning animation method is adopted. The so-called skinning animation means driving the deformation of the mesh on the skin surface by defining bones. The bones are responsible for the actual motion calculation, and the skin is responsible for deforming according to the corresponding bones.

[0078] At the microscopic level, local collision detection needs to be used to determine the force conditions of individuals and perform dynamic calculations. To implement collision detection, it is necessary to define the collision parts of individuals and internal motion angle constraints, etc. for individuals to perform collision calculations with dynamic rigid bodies during local motion.

[0079] Step 3: Use the meshless method for fluid simulation. Regard the movable model and the group as fluids, and discretize the fluid volume into particles carrying physical properties;

[0080] Fluid phenomena widely exist in nature, and the simulation of fluids has always been an important research content in computer animation and graphics. At present, fluid simulation based on physical laws is mainly divided into two categories according to different ways of spatial discretization: the mesh method and the meshless method. This embodiment adopts the meshless method:

[0081] The meshless method is to discretize the fluid volume into sampled particles, and each particle has corresponding physical properties. The particles move in space under the action of the control equation. The meshless method has characteristics such as boundaryless regions and mass conservation, and is more convenient for simulating more complex physical phenomena (such as fluids, water droplets, curling waves, and solid fluids). Among them, the method based on Smoothed Particle Hydrodynamics (SPH) has become a widely concerned method because of its simple and efficient calculation and realistic simulation effect. This embodiment also adopts this method.

[0082] The SPH (Smoothed Particle Hydrodynamics) method: The main idea is to represent the continuous fluid field through a series of discretized particles. Each particle has physical properties such as density, pressure, and velocity, and these physical quantities are expressed by the method of approximation using a smoothing kernel function. The motion of the fluid is determined by the interaction of these particles.

[0083] Among them, in the preferred embodiment provided by the present invention, the meshless method is used for fluid simulation. The movable model and the group are regarded as fluids, and the fluid volume is discretized into particles carrying physical properties; the specific steps are as follows:

[0084] According to the density characteristics between particles, entities with strong intermolecular forces are defined as solid fluids, and entities with weak intermolecular forces are defined as liquid fluids;

[0085] Both solid fluids and liquid fluids follow Newton's second law of motion, and the following relational expressions exist in the corresponding processes:

[0086] ;

[0087] wherein, represents the force applied, represents the density, represents the acceleration;

[0088] The object model is regarded as a solid fluid, and the group is regarded as a liquid fluid;

[0089] According to the volume sizes of the object model and the group, the object model and the group are discretized into corresponding numbers of particles;

[0090] An initial position, an initial mass, and an initial velocity are assigned to each particle.

[0091] Step 4: The fluid is regarded as a particle system with interactions, and continuous dynamics calculations are performed to assign different motion flexibilities to the fluid according to the change in particle density during the fluid motion process to achieve fluid simulation, obtain fluid force field information, and use the Marching Cube algorithm to reconstruct the fluid surface;

[0092] When simulating the motion of fluid particles, the present invention not only needs to calculate the motion trajectories of the particles using equations, but also needs to reconstruct the surface of the fluid. Among the surface reconstruction algorithms, the Marching Cube algorithm is a relatively simple and practical algorithm. This algorithm is one of the classic algorithms for volume rendering, mainly used for the visualization of three-dimensional spatial data. The core idea is to extract the isosurface from the three-dimensional dataset (Isosurface Extraction) and use triangular meshes to approximately represent these isosurfaces.

[0093] The core principle of continuous dynamics is to model the motion as a particle system with interactions, where they affect each other to form complex fluid motions. According to the change in density, the present invention classifies these fluids into:

[0094] Solid fluid: A densely packed entity showing strong intermolecular forces.

[0095] Liquid fluid: An entity with weaker intermolecular forces, allowing greater motion flexibility.

[0096] A concept is involved in continuous dynamics: the smoothing kernel. The smoothing kernel can be understood as that each particle is affected by other particles within a certain range around it, and the final properties of this particle are determined by the weighted properties of all the surrounding particles. Within the smoothing kernel radius, the closer the distance, the greater the influence.

[0097] Based on this concept, the calculation formula for the properties of the particles is obtained:

[0098]

[0099] Among them, represents a certain property to be calculated (such as density, pressure, viscosity), represents the mass and density of surrounding particles, is the position of this particle, h is the smoothing kernel radius, W is the smoothing kernel function.

[0100] Among them, in the preferred embodiment provided by the present invention, the fluid is regarded as a system of interacting particles, and different motion flexibilities are assigned to the fluid according to the change of particle density during the fluid motion process, and continuous dynamics calculation is performed to achieve fluid simulation. The specific steps are as follows:

[0101] Define the relationship between the external force and density, and the gravitational acceleration. The corresponding process has the following relationship:

[0102] ;

[0103] Among them, represents the gravitational acceleration;

[0104] Define the relationship between the force generated by the pressure difference, the pressure, and the gradient. The corresponding process has the following relationship:

[0105] ;

[0106] Among them, represents the gradient, represents the pressure;

[0107] Define the relationship between the force caused by the velocity difference between particles, the density, and the velocity difference. The corresponding process has the following relationship:

[0108] ;

[0109] Among them, represents the velocity difference between particles;

[0110] According to the position, mass, and smoothing kernel radius of the particles, use the smoothing kernel function to calculate the density. The corresponding process has the following relationship:

[0111] ;

[0112] Among them, represents the density of the i th particle, represents the mass, represents the smoothing kernel radius, represents the i th particle's position, represents the jThe position of a particle;

[0113] The kernel function used for density calculation is:

[0114] ;

[0115] Among them, represents the smoothing kernel function used for density calculation, represents the i th particle and the j th particle, the length of the distance between them, represents the i th particle and the j th particle, the distance vector between them;

[0116] According to the position, density, mass and pressure of the particles, the pressure is calculated using the smoothing kernel function. The corresponding process has the following relationship:

[0117] ;

[0118] Among them, represents the pressure of the i th particle, represents the pressure at position , represents the pressure of the i th particle, represents the pressure of the j th particle, represents the i th particle's density, represents the j th particle's density, represents the j th particle's mass; The pressure p of a single particle can be calculated using the ideal gas equation:

[0119] ;

[0120] Among them, is the static density of the fluid, is a constant related to the fluid properties, usually related to temperature.

[0121] The kernel function used for pressure calculation is:

[0122] ;

[0123] Among them, represents the smoothing kernel function used for pressure calculation;

[0124] The viscosity is calculated using a smoothing kernel function based on the particle smoothing kernel radius, the distance between particles, and the velocity difference. The corresponding process has the following relationship:

[0125] ;

[0126] where, represents the shear force caused by the velocity difference, represents the viscosity coefficient, represents the i th particle's velocity, represents the j th particle's velocity;

[0127] The kernel function used for viscosity calculation is:

[0128] ;

[0129] where, represents the smoothing kernel function used to calculate the shear force;

[0130] The total force of the particle is calculated based on the external force, the pressure inside the body, and the force caused by the velocity difference. The corresponding process has the following relationship:

[0131] ;

[0132] where, represents the external force, represents the force generated by the pressure difference inside the fluid, represents the force caused by the velocity difference between particles;

[0133] Update the particle motion state based on the total force, the current velocity, and the time step.

[0134] Step 5: Assign different motion postures to the static model and individuals according to the static model in the fluid force field information and the particle force field information corresponding to the group;

[0135] Step 6: Preprocess the ground model and then perform convex polygon division to obtain the navigation grid;

[0136] Based on the current position and the target position of the individual on the ground model, several individuals generate a global path according to the navigation grid and the scene constraints, and a variable turning angle path search algorithm is used to generate a travel path for each individual in the global path;

[0137] A Navigation Mesh is a polygon mesh data structure used for pathfinding in a three-dimensional space, also known as a traversable surface. Usually, it carries more functions, such as attaching weight information like slope and density at that location. A navigation mesh is composed of multiple convex polygons. In terms of global path calculation, using the plane partitioning method, the traversable area in the space is divided into multiple three-dimensional planes, and the set of convex polygons that an individual's optimal path needs to pass through is determined based on the multiple three-dimensional planes to determine the global path. Suppose represents a plane in space, then the plane set is stored in an array in sequence.

[0138] Among them, in the preferred embodiment provided by the present invention, the ground model is preprocessed, and then convex polygon partitioning is performed to obtain a navigation mesh; based on the current position and target position of an individual on the ground model, several individuals generate a global path according to the navigation mesh and scene constraints, and a variable turning angle path search algorithm is used in the global path to generate a travel path for each individual, which specifically includes the following steps:

[0139] Obtain the three-dimensional space information of the ground model, and use the plane partitioning method to divide the traversable area in the three-dimensional space into multiple three-dimensional planes according to the three-dimensional space information to obtain the plane set of the three-dimensional space;

[0140] Calculate the intersection of each plane in the plane set of the three-dimensional space with the traversable space to obtain a set of convex polygons located on different planes;

[0141] Analyze the spatial relative positions between the convex polygons, and determine whether there is a connection channel between the convex polygons to obtain an adjacency graph describing the polygon units and their adjacency relationships;

[0142] Determine the convex polygon units corresponding to the current position and the target position according to the current position and the target position of the individual on the ground model;

[0143] According to the cost of passing through each convex polygon unit, find the set of convex polygons that need to be passed through and have the lowest cost from the current position convex polygon unit to the target position convex polygon unit in the adjacency graph to obtain the global path.

[0144] Among them, there is the following relational expression in the cost calculation process of the convex polygon unit:

[0145] ;

[0146] Among them, represents the cost of the current convex polygon unit, represents the pedestrian flow density weight, Indicates the water flow speed weight, Indicates a convex polygon cell, Indicates the l th water flow particle, Indicates the passing plane, Indicates the k th human figure particle.

[0147] The convex polygon pathfinding algorithm is to find a path that meets the constraint conditions for an individual between a given position A and position B based on a known map. Such problems often occur in industrial applications such as individuals and car navigation. The reason for choosing a convex polygon is: a property of a convex polygon, that is, when walking from a point on the side of a convex polygon to another point, no matter which direction you walk, you will not walk out of this convex polygon. While a concave polygon does not have this property, and a concave polygon may walk outside.

[0148] In a previous patent invention (CN202310294890.0), a minimum turning angle method was proposed for global path calculation. Its goal is to ensure that pedestrians move towards the destination with the minimum rotation angle. The minimum turning angle method proposed in the patent invention (CN202310294890.0), although having the minimum amount of rotation and being faster in calculation speed than the midpoint method and the inflection point method, has obvious advantages, but lacks flexibility. Considering adding changes to the original minimum turning angle method to adapt to external variable situations such as crowd density, terrain height, and passage switch in path planning and improve the adaptability of the algorithm, the present invention proposes a variable turning angle path finding algorithm.

[0149] Please refer to Figure 5 , wherein, in the preferred embodiment provided by the present invention, adopting the variable turning angle path finding algorithm in the global path to generate a travel path for each individual specifically includes the following steps:

[0150] S1. Obtain the current position and target position of the individual and the set of internal edges of the convex polygon in the global path;

[0151] S2. Establish an empty tracking queue for storing the key points selected during the path planning process;

[0152] S3. Connect the current position and the target position of the individual to form a straight line as the target line;

[0153] S4. Traverse all the internal edges and determine whether there is an intersection between the internal edge and the current target line;

[0154] S5. If there is an intersection, then use the first internal edge intersecting with the target line as the intersecting edge, calculate the weights of the left endpoint, intersection point, and right endpoint of the intersecting edge, compare the weights of the left endpoint, intersection point, and right endpoint, obtain the point with the minimum weight, and use the point with the minimum weight as the key point;

[0155] S6. If there is no intersection point, obtain the internal edge closest to the target line;

[0156] S7. Calculate the two angles formed between the target line and the two endpoints of the closest internal edge, compare the weights corresponding to the current two angles, select the point with the smallest weight, and use the point with the smallest weight as the key point;

[0157] S8. Add the key point to the end of the tracking queue, update the queue content, and obtain the updated tracking queue;

[0158] S9. Repeat the above S1 to S8 with the first key point in the tracking queue as the starting point for the next iteration until the tracking queue is empty, and obtain the travel path.

[0159] Among them, the calculation process of the minimum weight point has the following relational expressions:

[0160] ;

[0161] Among them, represents the tracking point weight selection, represents the linear interpolation function, represents the rotation angle weight, represents the rotation angle, represents the distance weight, represents the distance magnitude.

[0162] In Figure 5 , Path 1 and Path 3 are obtained by the variable turning angle method of the present invention, while Path 2 is obtained by the minimum turning angle method. It can be seen from the figure that Path 2 has the smallest turning amount, while Path 1 and Path 3 obtained by the variable turning angle method proposed by the present invention have higher flexibility. Through the iterative weight evaluation mechanism, when extending the path each time, multiple objective parameters such as the turning angle, path length, and subsequent scalability are comprehensively considered, which can effectively avoid the problem that the minimum turning angle method only aims at minimizing the local turning angle and is prone to short-sighted decisions, resulting in redundant global paths, and can have better avoidance strategies when encountering obstacle boundaries.

[0163] Step 7. According to the state of the current group and the interaction situation between the physical entities of the individuals in the fluid force field information and other particles, select different local driving strategies to perform real-time dynamic microscopic correction on the traveling directions of the individuals on the traveling path, so as to realize large-scale swarm biological simulation.

[0164] During the local routing process of the crowd, many changes may occur, especially in emergencies such as earthquakes and landslides. In the local space where the crowd is located, obvious environmental changes will occur, and there will be many situations where the internal particle forces cannot drive, such as falling objects from high altitudes, oncoming vehicles from the side, and reverse pedestrians. This requires individual local strategies to cope with. The local driving strategies adopted in the present invention include the three-dimensional space minimum turning angle method, the centroid accompanying method, the target orientation method, the group center method, and the neighborhood extreme value method. The specific strategies are as follows:

[0165] (1)Three-dimensional space minimum turning angle method (1 VS 1)

[0166] When the oncoming object in the three-dimensional space (based on relative velocity) is a single object, calculate the line connecting the centroid of the individual and the centroid of the oncoming object, which is called the centroid line, and calculate the line connecting the centroid of the individual and the vertex of the bounding box of the oncoming object, which is called the boundary line. Calculate the angles between the boundary lines in 8 directions and the centroid line respectively, and select the boundary line with the minimum escape angle as one of the main directions for the next movement.

[0167] (2)Three-dimensional space minimum turning angle method (1 VS n)

[0168] When the oncoming objects in the three-dimensional space (based on relative velocity) are multiple objects, generate a bounding grid for the multiple objects and regard the bounding grid as a single object. Calculate the line connecting the centroid of the individual and the centroid of the bounding grid, which is called the centroid line, and calculate the line connecting the centroid of the individual and the vertex of the bounding box of the bounding grid, which is called the boundary line. Calculate the angles between the boundary lines in 8 directions and the centroid line respectively, and select the boundary line with the minimum escape angle as one of the main directions for the next movement direction.

[0169] (3)Centroid accompanying method (n VS 0)

[0170] When the cluster in the three-dimensional space is in a roaming or migrating state, each individual in the cluster calculates the direction between itself and the target point (such as the nearest point on the path), denoted as , and refers to the direction between itself and the cluster center, denoted as , combined with the distance between itself and the cluster center, denoted as . Then perform a linear random movement along the sum of the two directions ( + ) with the distance ( ) as the weight.

[0171] (4)Target orientation method (n VS 1)

[0172] When the group in the three-dimensional space is in a foraging or hunting state, each individual in the group calculates the direction between itself and the target point , and then move in this direction.

[0173] (5) Group Center Method (n VS m)

[0174] When groups A and B in three-dimensional space are in an attack and defense state, individual a in group A (reaching the distance threshold) calculates the direction between itself and the center of mass of group A as follows: , and calculate the direction between itself and the closest point of group B as follows , then along the difference direction of the two directions ( - ) to make random motion (i.e. adding noise) and vice versa.

[0175] (6) Neighborhood extreme value method (ndomain VS m)

[0176] When groups A and B in three-dimensional space are in an attack and defense state, individual a in group A (reaching the defined distance threshold that may be threatened) calculates the intersection C of its own neighborhood and group A, and calculates the direction of the neighborhood center as follows: , the direction of the nearest point in the neighborhood is denoted as Or the direction of the farthest point in the neighborhood is denoted as , and calculate the direction between itself and the closest point of group B , then along the difference direction of the two directions ( - )、( - )or( - ) to make random movements (i.e. adding noise), and vice versa. In scenes such as landslides and earthquakes, the computational objects in the neighborhood are roads or shelters (i.e., safe areas) that can be selected around the individual.

[0177] (7) Space Squeezing Method

[0178] The so-called space squeeze method is to apply pressure to the group in a confined space with limited exits to achieve the purpose of driving. In actual natural scenes (such as earthquakes), space collapse is also easy to occur.

[0179] This embodiment uses C# and Python languages to implement the relevant algorithms in the article on the Unity 3D and Houdini platforms. The simulation system runs stably at a speed of more than 24 FPS on a PC equipped with an Intel(R) Core(TM) i9-14900KF 3.20 GHz CPU, NVIDIA GeForceRTX 4090 GPU and 64G RAM. The specific overall structure diagram is shown in Figure 6, the calculation process of the solution framework is shown in Figure 7 . In this embodiment, scenarios of human-water interaction, dangerous waters, earthquake evacuation, and mine landslides are simulated.

[0180] (1) Human-water interaction (calculation of multi-type particle fusion)

[0181] In this experiment, the influence of different flow velocities of water on different scales of crowds is simulated. The number of simulated crowds is 1, 10, and 100 respectively.

[0182] The experiment proves that the relevant fluid motion calculation and fluid surface reconstruction methods adopted by the present invention are practical and feasible. At the same time, the macroscopic motion of the crowd is driven by the fluid dynamics method, and the microscopic motion of the crowd is driven by the rigid body mechanics method, and the effect is good.

[0183] (2) Dangerous waters

[0184] The crowd evacuates from the vortex. In this experiment, the crowd carried to dangerous areas by floods is simulated. Due to different terrain distributions, dynamic water flows are likely to form dangerous areas such as vortices. According to the model of the present invention, the crowd will follow the direction of the water flow and leave the spiral center.

[0185] (3) Earthquake evacuation

[0186] Indoor earthquake evacuation. When an earthquake occurs, the situation of the crowd evacuating in the building is simulated. This scenario involves the influence of high-altitude falling objects on the path, the fusion calculation of biological fluids and solid fluids, verifying the solid particle substitution method proposed in the invention, and demonstrating the effects of the space squeezing method and the variable turning angle method in such scenarios.

[0187] (4) Underwater fishing

[0188] Simulate the situation of the crowd chasing fish underwater. This scenario involves the fusion calculation of two biological fluids and verifies the three-dimensional space local routing strategies: the group center method and the domain extreme value method. The simulation scale is the sum of 100, 500, and 1000 particles. The experiment shows that both the group center method and the domain extreme value method of the three-dimensional space local routing strategy can simulate effects close to reality, and the calculation cost of the domain extreme value method is smaller. However, the nearest neighbor and farthest neighbor methods in the domain extreme value method are likely to cause a small number of groups to become outliers.

[0189] (5) Mine landslide

[0190] Simulate the situation of a landslide occurring during the production of a certain mine. This scenario involves the fusion calculation of two biological fluids and one solid fluid. The simulation scale is the sum of 100, 500, and 1000 particles, and the neighborhood extreme value method proposed in the article is verified. In such scenarios, the calculation objects within the neighborhood are the roads or shelters (i.e., reachable safe areas) that can be selected around an individual, etc.

[0191] The experimental results show that the integration of two biological fluids and a solid fluid is feasible, with good integration effect and high efficiency. The neighborhood nearest method and the neighborhood farthest method in the field extreme value method of three-dimensional space local routing strategy are most suitable for such cases.

[0192] It should be understood that although the steps in the flowcharts of the embodiments of the present invention are shown in sequence according to the indication of the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this embodiment, the execution of these steps has no strict order limitation, and these steps can be executed in other orders. Moreover, at least a part of the steps in each embodiment may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps.

[0193] It should be understood that each part of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following techniques well known in the art can be used: discrete logic circuits with logic gate circuits for implementing logic functions on data signals, application specific integrated circuits with appropriate combinational logic gate circuits, programmable gate arrays (PGA), field programmable gate arrays (FPGA), etc.

[0194] In the description of this specification, the description referring to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.

[0195] The above-described embodiments only represent several implementation manners of the present invention. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the patent of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several modifications and improvements can still be made, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention should be subject to the appended claims.

Claims

1. A method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography, characterized in that, The method comprises the following steps: Step 1: Use oblique photography data to construct a real 3D scene, separate the ground objects from the real 3D scene, obtain a ground model and an object model, and divide the object model into a movable model and a stationary model; Step 2: Given a fluid and a group on the ground model, the group includes a number of individuals, and the individuals are modeled as physical entities with mass; Step 3: Use the meshless method to perform fluid simulation, treat the movable model and the group as fluid, and discretize the fluid volume into particles with physical properties; Step 4: Consider the fluid as an interacting particle system, and perform continuous dynamics calculations to give the fluid different motion flexibility according to the change of particle density during fluid motion to achieve fluid simulation, obtain fluid force field information, and reconstruct the fluid surface using the Marching Cube algorithm; Step 5: According to the particle force field information corresponding to the immovable model and the group in the fluid force field information, different motion postures are assigned to the immovable model and the individual; Step 6: Preprocess the ground model and then divide it into convex polygons to obtain a navigation mesh; Based on the current position and target position of the individual on the ground model, several individuals are combined to generate a global path according to the navigation grid and scene constraints, and a variable angle path finding algorithm is used in the global path to generate a travel path for each individual; Step 7: According to the current state of the group and the interaction between the individual physical entity and other particles in the fluid force field information, different local driving strategies are selected to perform real-time dynamic microscopic corrections on the direction of the individual on the path of travel, so as to realize large-scale cluster biological simulation; The meshless method is used for fluid simulation. The movable model and the group are regarded as fluids, and the fluid volume is discretized into particles with physical properties. The specific steps include the following: According to the density characteristics between particles, entities with strong intermolecular forces are defined as solid fluids, and entities with weak intermolecular forces are defined as liquid fluids; Both solid fluids and liquid fluids follow Newton's second law of motion, and the corresponding processes have the following relationship: ; Among them, represents the force applied, represents the density, represents the acceleration; The object model is regarded as a solid fluid and the group is regarded as a liquid fluid; According to the volume of the object model and the group, the object model and the group are discretized into a corresponding number of particles; Assign each particle an initial position, initial mass, and initial velocity.

2. The method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography according to claim 1, wherein In step 1, separating the ground objects from the real 3D scene to obtain the ground model and the object model specifically includes the following steps: Using the object classification method to classify the objects in the real three-dimensional scene, and obtaining object classification data; According to the classification data of ground objects, the clipping boxes corresponding to different objects are constructed by projection; The three-dimensional grid objects and clipping boxes of the real three-dimensional scene are used for Boolean operations to achieve the purpose of separation and obtain the ground model and object model.

3. The method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography according to claim 2, wherein In step 4, the fluid is regarded as an interacting particle system, and different movement flexibility is given to the fluid according to the change of particle density during the fluid movement process to perform continuous dynamics solution to achieve fluid simulation, specifically, the following steps: Define the relationship between external force, density, and gravitational acceleration. The corresponding process has the following relationship: ; Among them, represents the acceleration due to gravity; Define the relationship between the force generated by the pressure difference, the pressure, and the gradient. The corresponding process has the following relational expression: ; Among them, represents the gradient, represents the pressure; Define the relationship between the force caused by the velocity difference between particles, the density, and the velocity difference. The corresponding process has the following relational expression: ; Among them, represents the velocity difference between particles; Calculate the density using the smoothing kernel function based on the position, mass, and smoothing kernel radius of the particles. The corresponding process has the following relational expression: ; Among them, represents the position density, represents the mass, represents the smooth kernel radius, represents the i position of the nth j particle, Calculate the pressure using the smoothing kernel function based on the position, density, mass, and pressure of the particles. The corresponding process has the following relational expression: ; Among them, represents the pressure of the i th particle, represents the pressure at position ; represents the pressure of the i th particle, represents the pressure of the j th particle, represents the density of the i th particle, represents the density of the j th particle, represents the mass of the j th particle; Calculate the viscosity using the smoothing kernel function based on the smoothing kernel radius of the particles, the distance between particles, and the velocity difference. The corresponding process has the following relational expression: ; Among them, represents the shear force caused by the velocity difference, represents the viscosity coefficient, represents the i velocity of the th particle, j represents the velocity of the Calculate the total force of the particles based on the external force, the pressure inside the body, and the force caused by the velocity difference. The corresponding process has the following relational expression: ; Among them, represents an external force, represents the acting force generated by the pressure difference inside the fluid, represents the acting force caused by the velocity difference between particles; Update the motion state of the particles based on the total force, the current velocity, and the time step.

4. The large-scale biological swarm simulation method for the real scene three-dimensional model based on oblique photography according to claim 3, characterized in that The kernel function used for density calculation is: ; Among them, represents the smoothing kernel function used to calculate the density, represents the i th particle and the j th particle, the length of the distance between them, represents the i th particle and the j th particle, the distance vector between them; The kernel function used for pressure calculation is: ; Among them, represents the smoothing kernel function used for calculating the pressure; The kernel function used for viscosity calculation is: ; Among them, represents the smooth kernel function used to calculate the shear force.

5. The method for simulating large-scale biological clusters in a real three-dimensional model based on oblique photography according to claim 4, wherein, In the step 6, preprocess the ground model, and then perform convex polygon division to obtain a navigation mesh; Based on the current position and the target position of the individual on the ground model, generate a global path for several individuals according to the navigation mesh and the scene constraints. In the global path, use the variable turning angle path finding algorithm to generate a travel path for each individual, specifically including the following steps: Obtain the three-dimensional space information of the ground model, and use the plane partition method to divide the passable area in the three-dimensional space into multiple three-dimensional planes according to the three-dimensional space information, and obtain a plane set of the three-dimensional space; Calculate the intersection of each plane in the plane set of the three-dimensional space with the passable space to obtain a set of convex polygons located on different planes; Analyze the spatial relative positions between the convex polygons, judge whether there is a connection channel between the convex polygons, and obtain an adjacency graph describing the polygon units and their adjacency relationships; According to the current position and the target position of the individual on the ground model, determine the convex polygon units corresponding to the current position and the target position; According to the cost of passing through each convex polygon unit, find the set of convex polygons that need to be passed through and have the lowest cost from the convex polygon unit of the current position to the convex polygon unit of the target position in the adjacency graph to obtain the global path.

6. The method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography according to claim 5, wherein In the global path, use the variable turning angle path finding algorithm to generate a travel path for each individual, specifically including the following steps: S1. Obtain the current position and the target position of the individual and the set of internal edges of the convex polygons in the global path; S2. Establish an empty tracking queue for storing the key points selected during the path planning process; S3. Connect the current position and the target position of the individual to form a straight line as the target line; S4. Traverse all the internal edges and judge whether the internal edges have intersections with the current target line; S5. If there is an intersection point, use the first internal edge intersecting with the target line as the intersecting edge, calculate the weights of the left endpoint, intersection point, and right endpoint of the intersecting edge, compare the weights of the left endpoint, intersection point, and right endpoint, obtain the point with the minimum weight, and use the point with the minimum weight as the key point; S6. If there is no intersection point, obtain the internal edge closest to the target line; S7. Calculate the two angles formed between the target line and the two endpoints of the nearest internal edge, compare the weights corresponding to the current two angles, select the point with the minimum weight, and use the point with the minimum weight as the key point; S8. Add the key point to the end of the tracking queue, update the queue content, and obtain the updated tracking queue; S9. Repeat the above S1 to S8 with the first key point in the tracking queue as the starting point for the next iteration until the tracking queue is empty to obtain the travel path.

7. The large-scale biological cluster simulation method in the real scene three-dimensional model based on oblique photography according to claim 6, characterized in that, The following relational expressions exist in the calculation process of the minimum weight point: ; Among them, represents the tracking point weight selection, represents the linear interpolation function, represents the rotation angle weight, represents the rotation angle, represents the distance weight, represents the distance magnitude.

8. The method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography according to claim 7, wherein The following relational expressions exist in the cost calculation process of the convex polygon unit: ; Among them, represents the cost of the current convex polygon cell, represents the weight of the pedestrian flow density, represents the weight of the water flow velocity, represents the convex polygon cell, represents the l th water flow particle, represents the passing plane, represents the k th human particle.

9. The method for simulating large-scale biological clusters in a real-scene three-dimensional model based on oblique photography according to claim 8, wherein, In step 7, different local driving strategies include the three-dimensional space minimum turning angle method, centroid adjoint method, target orientation method, group center method, and neighborhood extreme value method.

Citation Information

Patent Citations

  • Simulation Methods and Systems for Risk Assessment of High-Density Populations in Natural Disasters

    CN116011361B

  • Fluid-solid interaction simulation method based on video reconstruction and SPH model

    CN106446425A

  • Robot static path planning method

    WO2016045615A1