A three-dimensional modeling system and method for multi-view geometric structures
Through the three-dimensional modeling system of multi-view geometric structures, the drone cluster and ground base station work together, the incomplete and intricate modeling of image data for the acquisition of complex structures by drones is solved, and the independent construction of fine three-dimensional models and safe and efficient data acquisition are realized.
Patent Information
- Application Number
- CN202211484096.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-24
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2042-11-24
AI Technical Summary
The existing drones have incomplete and intricate modeling, making it difficult to independently plan three-dimensional coverage routes, and a single drone is difficult to complete the data acquisition task of large and complex structures.
A three-dimensional modeling system for multi-view geometric structures is adopted, and a three-dimensional modeling system for multi-view geometric structures is used to work collaboratively with multiple drones. The multi-view geometric three-dimensional reconstruction method and ant colony algorithm are used to optimize the track, so that the drone cluster can independently collect image data and build a fine three-dimensional model.
It realizes the autonomous acquisition of image data of complex structures by drone clusters, builds a fine three-dimensional model, reduces the time-consuming and memory usage of model expansion, ensures model integrity and millimeter-level accuracy, and avoids drone collision accidents.
Smart Images

Figure CN115830230B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of unmanned aerial vehicles, and in particular relates to a three-dimensional modeling system and method for a multi-view geometric structure. Background Art
[0002] The rapid development of photogrammetry technology has made it possible to create 3D models of any object using only low-cost cameras. This technology is now widely used in fields such as virtual reality, game development, and digital artifacts. Detailed 3D models of complex ground structures are often used for building health monitoring and cloud-based tourism. Drones, with their excellent maneuverability, simple mechanical structure, and low cost, have become a key means of collecting image data of complex ground structures.
[0003] Currently, there are three problems with using drones to collect image data of complex structures. First, most existing autonomous drone image data collection methods, both domestically and internationally, can only plan two-dimensional, overlay routes. The image data collected through vertical photography lacks information about the structure's elevation, resulting in incomplete and imprecise modeling, making it difficult to use in areas such as building health monitoring. Second, collecting elevation image data often requires manual drone control based on engineer experience, which not only consumes a significant amount of human resources but also makes it difficult to ensure modeling quality. Third, for large and complex structures, the data collection workload is too large for a single drone to complete. Therefore, how to plan three-dimensional, overlay routes and utilize drone swarms to collaboratively and autonomously complete image data collection tasks for large and complex structures is a pressing issue. Summary of the Invention
[0004] In order to overcome the shortcomings and deficiencies of the existing technology, a multi-view geometric structure 3D modeling system and method are proposed. The method realizes the automation of building a detailed 3D model of complex structures by swarm drones.
[0005] The technical solution of the system of the present invention is a multi-view geometric structure three-dimensional modeling system and method.
[0006] The technical solution of the system of the present invention is a multi-view three-dimensional modeling system of geometric structures, comprising: multiple drones, ground base stations;
[0007] The ground base station is wirelessly connected to the plurality of drones in sequence;
[0008] Each drone is used to collect RGB images of the structure and transmit them wirelessly to the ground base station;
[0009] The ground base station uses the structure images collected by multiple drones through a drone data collection and structure three-dimensional modeling method based on multi-view geometric three-dimensional reconstruction to achieve fine three-dimensional modeling of the structure.
[0010] The technical solution of the method of the present invention is a multi-view three-dimensional modeling method of geometric structures, comprising the following steps:
[0011] Step 1: The ground base station selects multiple polygon vertices on the satellite base map to construct the 3D modeling range of the structure;
[0012] Step 2: The UAV flies within the 3D modeling range of the structure using a flat, covered route. It continuously captures multiple regional RGB images using vertical photography and wirelessly transmits them to a ground base station. The ground base station then models the multiple regional RGB images using a multi-view geometry 3D reconstruction method to obtain a 3D point cloud of the structure area.
[0013] Step 3: voxelizing the spatial range of the three-dimensional point cloud of the structure area to obtain a plurality of spatial voxels of the structure area, setting the states of the plurality of spatial voxels of the structure area, voxelizing the three-dimensional point cloud of the structure area to obtain a plurality of voxels of the structure area, performing dilation processing on the plurality of voxels of the structure area to obtain a plurality of dilated voxels of the structure area, modifying the states of the spatial voxels of the structure area in combination with the plurality of dilated voxels of the structure area, and then constructing a plurality of candidate three-dimensional viewpoints of the structure area. Combining the states of the voxels in the voxelized space, a plurality of three-dimensional viewpoints covering the structure are selected from the plurality of candidate three-dimensional viewpoints of the structure area by a three-dimensional viewpoint selection method, and further constructing a plurality of three-dimensional covering viewpoints in the structure area.
[0014] Step 4: The ground base station calculates the number of drones based on the spatial coordinates of multiple 3D coverage viewpoints within the structure area and the performance parameters of the drones. The multiple 3D coverage viewpoints within the structure area are clustered using K-means to obtain multiple 3D coverage viewpoint clusters. Each 3D viewpoint in each 3D coverage viewpoint cluster is defined as the navigation position of each drone. The track of each drone is constructed using all 3D viewpoints in each 3D coverage viewpoint cluster. Minimizing the range of each drone is used as the optimization goal. The optimized track of each drone is obtained through the ant colony algorithm. The ground base station wirelessly transmits the optimized track of each drone to each drone.
[0015] Step 5: Each UAV flies according to the corresponding optimized trajectory, continuously collects multiple RGB images of the structure through close-up photography, and wirelessly transmits them to the ground base station. The ground base station processes the multiple RGB images of the structure from each UAV using the multi-view geometry 3D planar method to obtain a detailed 3D model of the structure.
[0016] Preferably, the multiple polygon vertices in step 1 are specifically defined as follows:
[0017] vi
[0018] i=1,2,...,N0
[0019] Where N0 is the number of polygon vertices, v i is the i-th polygon vertex;
[0020] The polygon surrounded by the N0 polygon vertices is defined as the three-dimensional modeling range of the structure;
[0021] The three-dimensional modeling range of the structure is defined as S;
[0022] Preferably, the three-dimensional point cloud of the structure area in step 2 is:
[0023]
[0024] in, is the 3D coordinate of the jth point in the 3D point cloud of the building area, is the X-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Y-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Z-axis coordinate of the jth point in the three-dimensional point cloud of the structure area, and N1 is the number of points in the three-dimensional point cloud of the structure area;
[0025] The coordinate range of all points in the 3D point cloud of the building area is:
[0026]
[0027] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis.
[0028] Preferably, the multiple spatial voxels of the structure area in step 3 are specifically defined as follows:
[0029] The side length of each spatial voxel in the structure area is r, and the center points of the multiple spatial voxels in the structure area are:
[0030]
[0031]
[0032]
[0033] in, is the X-axis coordinate of the center point of the k-th spatial voxel along the positive direction of the X-axis in the spatial voxel of the structure area, is the Y-axis coordinate of the center point of the m-th spatial voxel along the positive direction of the Y-axis in the spatial voxel of the structure area, is the Z-axis coordinate of the center point of the n-th spatial voxel along the positive direction of the Z axis in the spatial voxel of the structure area, W p is the number of spatial voxels in the building area on the X axis, L p is the number of spatial voxels in the building area on the X axis, H p is the number of spatial voxels in the building area on the X axis, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis,
[0034] The states of the multiple spatial voxels in the structure area are:
[0035] s={s (k,m,n) |s (k,m,n) ∈{0, 1, 2}}
[0036] k∈[1,W p ],m∈[1,L p ],n∈[1,H p ]
[0037] Among them, s (k,m,n) is the state of the kth voxel along the positive direction of the X axis, the mth voxel along the positive direction of the Y axis, and the nth voxel along the positive direction of the Z axis in the spatial voxel of the structure area, s (k,m,n) =0 means the voxel is idle; s (k,m,n) =1 indicates that the voxel is occupied by an obstacle; s (k,m,n) =2 means that the voxel is occupied by a structure; in the initial state, s (k,m,n) All are 0;
[0038] The multiple voxels of the structure area described in step 3 are as follows:
[0039] The side length of each voxel in the building area is r, and the center points of multiple voxels in the building area are:
[0040]
[0041] in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the qth voxel in the structure area, and N2 is the number of voxels in the structure area;
[0042] The multiple voxels after dilation processing in the structure area in step 3 are as follows:
[0043] The center points of multiple dilated voxels in the building area are:
[0044]
[0045] in, is the X-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, is the Y-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, is the Z-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, is the number of voxels in the structure area after dilation processing, N2 is the number of voxels in the structure area;
[0046] gather is a set of multiple neighboring voxels of the voxel constructed based on the coordinates of the center point of the voxel in the qth structure area and the relative positions between the voxels. It is specifically defined as:
[0047]
[0048] in, for point The X-axis coordinate of the center point of the e-th voxel along the positive direction of the X-axis, for point The Y-axis coordinate of the center point of the f-th voxel along the positive direction of the Y-axis, for point The Z-axis coordinate of the center point of the g-th voxel along the positive Z-axis, n q The number of voxels expanded in the X, Y, and Z axes is calculated as follows:
[0049]
[0050]
[0051]
[0052]
[0053]
[0054] in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the voxel in the qth structure area, d q is the actual expansion distance of the qth voxel in the structure area voxel in step 3. When the voxel is within the 3D modeling range S of the structure in step 1, d q =dis view ,dis view is the minimum distance between the viewpoint and the target structure; q When the structure is outside the three-dimensional modeling range S in step 1, d q =dis safe ,dis safe The minimum safe distance between the drone and obstacles.
[0055] Step 3 changes the state of the spatial voxels in the structure area as follows:
[0056] The center coordinates of the first voxel after the expansion of the building area Change It is the kth voxel in the positive direction of the X axis in the building area. l The mth one along the positive direction of the Y axis l nth, along the positive direction of the Z axis l The state of the voxel, The specific calculation is as follows:
[0057]
[0058] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area;
[0059] If Oexp,l When the structure is within the three-dimensional modeling range S described in step 1,
[0060] If O exp,l When the structure is outside the three-dimensional modeling range S in step 1,
[0061] Step 3 constructs multiple candidate 3D viewpoints of the building area, specifically as follows:
[0062] The multiple candidate 3D viewpoint sets are:
[0063]
[0064] Among them, V (a,b,c) A is the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis. (a,b,c) is the position of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in A (a,b,c) The coordinate on the X axis, A (a,b,c) The coordinate on the Y axis, A (a,b,c) Coordinate on the Z axis;
[0065] B (a,b,c) is the direction vector of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in For B (a,b,c) The direction component on the X axis, For B (a,b,c) The direction component on the Y axis, B (a,b,c) The direction component on the Z axis;
[0066] γ (a,b,c) is the state of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, γ (a,b,c) The initial value is 0;
[0067] W v , L v , H v are the number of candidate 3D viewpoints in the building area on the X-axis, Y-axis, and Z-axis respectively. The specific calculation formula is as follows:
[0068]
[0069]
[0070]
[0071] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis;
[0072] d v is the distance between adjacent candidate 3D viewpoints, which is calculated as follows:
[0073]
[0074] Among them, β is the minimum overlap rate of adjacent images, dis view is the minimum distance between the viewpoint and the target structure, VFOV is the vertical field of view of the camera;
[0075] In step 3, the occupancy status of voxels in the voxelized space is combined to select multiple 3D viewpoints covering the structure from multiple candidate 3D viewpoints in the structure area through a 3D viewpoint selection method, as follows:
[0076] Traverse the set V one by one can Viewpoint V in (a,b,c) , where V (a,b,c) The ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis;
[0077] According to the viewpoint V (a,b,c) Location Get viewpoint V (a,b,c) Voxel state in is the kth voxel in the positive direction of the X axis in the building area (a,b,c) The mth one along the positive direction of the Y axis (a,b,c) nth, along the positive direction of the Z axis (a,b,c) The state of the voxel, The specific calculation is as follows:
[0078]
[0079] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, xmax is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area.
[0080] like When V (a,b,c) In the structure and its expansion space, set V (a,b,c) Status of γ (a,b,c) =1, then traverse the viewpoints is the ath direction along the positive direction of the X axis * bth, in the positive direction of the Y axis * cth, Z-axis positive direction * A viewpoint, The specific calculation is as follows:
[0081] a * =a+i * , b * =b+j * , c * =c+k *
[0082] i * ,j * , k * ∈{-1, 0, 1}
[0083] Among them, a * Indicates V (a,b,c) The origin is the i-th * The order of viewpoints on the X axis of the entire space, b * Indicates V (a,b,c) The origin is the jth point along the positive direction of the Y axis * The order of viewpoints on the Y axis of the entire space, c * Indicates V (a,b,c) The kth point along the positive direction of the Z axis from the origin * The order of viewpoints on the Z axis of the entire space.
[0084] If the viewpoint The state of the voxel This indicates that the viewpoint is not only in a safe and permitted space but also closest to the surface of the structure. Status And update the viewpoint Direction
[0085] in, The first voxel in the spatial voxel of the building area along the positive direction of the X axis , along the positive direction of the Y axis , along the positive direction of the Z axis The state of the voxel,
[0086]
[0087] Collection V can Viewpoint V in (a,b,c) After the traversal is completed, the state γ (a,b,c) =2 are the selected three-dimensional viewpoints of the covering structure.
[0088] The multiple three-dimensional overlay viewpoints within the structure area described in step 3 are specifically defined as follows:
[0089] The set of multiple three-dimensional covering viewpoints in the building area is
[0090] V={V u =(A u , B u )|u=1,2,…,N3}
[0091] Among them, V u is the u-th viewpoint among multiple three-dimensional covering viewpoints in the building area, A u is the viewpoint V u The coordinates of B u is the viewpoint V u N3 is the direction vector of the building area, and N3 is the number of multiple three-dimensional covering viewpoints in the building area.
[0092] Preferably, the number of drones is calculated according to the performance parameters of the drones in step 4, as follows:
[0093]
[0094] Among them, n sungle The number of viewpoints a single drone can fly:
[0095]
[0096] Among them, T is the flight time of a single UAV, and t is the time it takes for the UAV to move between adjacent viewpoints;
[0097] like hour,
[0098] like hour,
[0099] Among them, a is the average acceleration of the drone, v0 is the maximum flight speed of the drone, d v is the distance between adjacent candidate 3D viewpoints;
[0100] In step 4, multiple three-dimensional covering viewpoint clusters are obtained by clustering through K-means. The specific process is as follows:
[0101] Step 4.1: Randomly select N from multiple 3D coverage viewpoints within the structure area. uav The coordinates of the viewpoints are used as cluster centers;
[0102] Step 4.2: Use the k-means algorithm to cluster all viewpoints in multiple three-dimensional coverage viewpoints within the building area. The clustering optimization objective function is:
[0103]
[0104] Among them, A u is the coordinate of the u-th viewpoint among multiple three-dimensional covering viewpoints in the structure area, is the center coordinate of the 3D covering viewpoint cluster to which the u-th viewpoint belongs among the multiple 3D covering viewpoints in the building area, N3 is the number of multiple 3D covering viewpoints in the building area, and the clustering result is:
[0105] M now ={V t |t=1,2,...,N uav}
[0106] Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as:
[0107]
[0108] in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The direction vector of the viewpoint, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area;
[0109] Step 4.3: Calculation Among them, c nowis the penalty value of this cycle, N uav is the number of drones, which is also the number of clusters here, is the number of viewpoints in the t-th cluster, n single The number of viewpoints a single drone can fly;
[0110] Step 4.4: When c now <c best When M best =M now , c best =c now , where M best is the best clustering result so far, c best is the smallest penalty value so far, and its initial value is ∞;
[0111] Step 4.5: When c now = 0 or the number of cycles reaches the maximum value, M final =M best , where M final is the final clustering result; otherwise, jump to step 4.1 to execute the next cycle.
[0112] The multiple viewpoint clusters described in step 4 are specifically defined as follows:
[0113] Viewpoint cluster set M = M final , specifically defined as
[0114] M={V t |t=1,2,...,N uav}
[0115] Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as:
[0116]
[0117] in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the direction vector of the u*th viewpoint in the tth three-dimensional covering viewpoint cluster after clustering, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area;
[0118] The optimization goal is to minimize the range of each drone as described in step 4, as follows:
[0119] For the t-th UAV, the optimization result is:
[0120]
[0121] Among them, L t is an ordered viewpoint sequence, which is used as the trajectory of the UAV. t is the t-th cluster after viewpoint clustering, is the number of viewpoints in the tth cluster after viewpoint clustering, is the nth UAV on the tth UAV track * A viewpoint, specifically defined as:
[0122]
[0123] in, is the nth UAV on the tth UAV track * The three-dimensional coordinates of the viewpoints, is the nth UAV on the tth UAV track * The direction vector of the viewpoint.
[0124] Then the optimization objective function of the t-th UAV is:
[0125]
[0126] in, is the number of viewpoints in the t-th viewpoint cluster.
[0127] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0128] The system has realized the autonomous use of swarm drones to collect image data of complex structures and construct detailed models;
[0129] The coarse model is voxelized based on the octree principle, which significantly reduces the complexity of the structure's geometric proxy model while maintaining the original geometric form of the structure. This reduces the time consumption and memory usage of the model expansion, and improves the overall time efficiency of the algorithm.
[0130] By evenly distributing candidate viewpoints in space, we search for viewpoints that overlap with the expanded proxy model of the structure geometry, and based on this, we select three-dimensional overlay viewpoints. During this process, we continuously update the direction of the selected viewpoints based on their relative positions, ensuring that the three-dimensional overlay viewpoints not only meet the distance requirements and are closest to the structure, but also always point towards the structure surface. This ensures that the established structure model is not only highly complete but also achieves millimeter-level accuracy.
[0131] Based on the viewpoint planning results, the drones' flight time, maximum speed, and acceleration, the system automatically estimates the minimum number of drones in the swarm that can complete the data collection task in one go. This avoids the uncertainty caused by manual evaluation and ensures that the drone swarm completes the entire task.
[0132] By clustering the overall task into different blocks, the drone swarm can simultaneously collect image data, significantly improving data collection efficiency. The block division effectively reduces the possibility of overlapping tasks, avoiding collisions between drones and ensuring the operational safety of the swarm drones. In addition, by adding a penalty term to the cluster, it ensures that each task can be completed by a single drone within its flight time, improving the reliability of the method. BRIEF DESCRIPTION OF THE DRAWINGS
[0133] Figure 1 : A flow chart of a method according to an embodiment of the present invention;
[0134] Figure 2 : Schematic diagram of polygonal modeling range and plane coverage route according to an embodiment of the present invention;
[0135] Figure 3 : A schematic diagram of a three-dimensional point cloud of a structure area according to an embodiment of the present invention;
[0136] Figure 4 : A schematic diagram of multiple voxels of a structure area according to an embodiment of the present invention;
[0137] Figure 5 : Schematic diagram of voxels after dilation processing of the structure area according to an embodiment of the present invention;
[0138] Figure 6 : Schematic diagram of a three-dimensional overlay viewpoint according to an embodiment of the present invention;
[0139] Figure 7 : Schematic diagram of clustering and cluster route planning according to an embodiment of the present invention;
[0140] Figure 8 : A schematic diagram comparing the vertical photography rough mold of an embodiment of the present invention and the fine mold of the present invention. DETAILED DESCRIPTION
[0141] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0142] In specific implementation, the method proposed in the technical solution of the present invention can be automatically run by those skilled in the art using computer software technology. System devices that implement the method, such as computer-readable storage media that store the corresponding computer program of the technical solution of the present invention and computer equipment that runs the corresponding computer program, should also be within the scope of protection of the present invention.
[0143] The technical solution of the system of the embodiment of the present invention is a multi-view geometric structure 3D modeling system, including:
[0144] Multiple drones and ground base stations;
[0145] The ground base station is wirelessly connected to the plurality of drones in sequence;
[0146] Each drone is used to collect RGB images of the structure and transmit them wirelessly to the ground base station;
[0147] The ground base station uses the structure images collected by multiple drones through a drone data collection and structure three-dimensional modeling method based on multi-view geometric three-dimensional reconstruction to achieve fine three-dimensional modeling of the structure.
[0148] The models of the drones mentioned are all DJI Mavic 3;
[0149] The model of the ground base station is Honor Hunter gaming laptop V700 i5 independent graphics card 16GB + 512GB (FRD-WFG9);
[0150] The following combination Figure 1-8 A multi-view 3D modeling method for geometric structures provided by an embodiment of the present invention is described as follows:
[0151] Step 1: The ground base station selects multiple polygon vertices on the satellite base map to construct the 3D modeling range of the structure;
[0152] The multiple polygon vertices described in step 1 are specifically defined as follows:
[0153] v i
[0154] i=1,2,...,N0
[0155] Among them, N0=4 is the number of polygon vertices, v i is the i-th polygon vertex;
[0156] The polygon surrounded by the N0 polygon vertices is defined as the three-dimensional modeling range of the structure;
[0157] The three-dimensional modeling range of the structure is defined as S;
[0158] Step 2: The UAV flies within the 3D modeling range of the structure through a plane covering route, where the plane covering route is as follows: Figure 2 The UAV continuously collects multiple regional RGB images through vertical photography and transmits them wirelessly to the ground base station. The ground base station models the multiple regional RGB images through the multi-view geometry 3D reconstruction method to obtain the 3D point cloud of the structure area, as shown in Figure 3 As shown;
[0159] The three-dimensional point cloud of the structure area in step 2 is:
[0160]
[0161] in, is the 3D coordinate of the jth point in the 3D point cloud of the building area, is the X-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Y-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Z-axis coordinate of the jth point in the three-dimensional point cloud of the structure area, and N1 is the number of points in the three-dimensional point cloud of the structure area;
[0162] The coordinate range of all points in the 3D point cloud of the building area is:
[0163]
[0164] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis.
[0165] Step 3: The spatial range of the three-dimensional point cloud of the structure area is processed by voxelization to obtain multiple spatial voxels of the structure area, the state of the multiple spatial voxels of the structure area is set, and the three-dimensional point cloud of the structure area is processed by octree voxelization to obtain multiple voxels of the structure area, such as Figure 4 As shown, multiple voxels in the building area are expanded to obtain multiple expanded voxels in the building area, such as Figure 5As shown, the state of the spatial voxels in the building area is changed by combining the multiple dilated voxels in the building area, and then multiple candidate 3D viewpoints of the building area are constructed. The state of the voxels in the voxelized space is combined to select multiple 3D viewpoints covering the structure from the multiple candidate 3D viewpoints in the building area through the 3D viewpoint selection method, and further construct multiple 3D covering viewpoints in the building area, as shown in FIG. Figure 6 As shown;
[0166] The multiple spatial voxels of the structure area described in step 3 are specifically defined as follows:
[0167] The side length of each spatial voxel in the structure area is r=2, and the center points of the multiple spatial voxels in the structure area are:
[0168]
[0169]
[0170]
[0171] in, is the X-axis coordinate of the center point of the k-th spatial voxel along the positive direction of the X-axis in the spatial voxel of the structure area, is the Y-axis coordinate of the center point of the m-th spatial voxel along the positive direction of the Y-axis in the spatial voxel of the structure area, is the Z-axis coordinate of the center point of the n-th spatial voxel along the positive direction of the Z axis in the spatial voxel of the structure area, W p is the number of spatial voxels in the building area on the X axis, L p is the number of spatial voxels in the building area on the X axis, H p is the number of spatial voxels in the building area on the X axis, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis,
[0172] The states of the multiple spatial voxels in the structure area are:
[0173] s={s (k,m,n) |s (k,m,n) ∈{0, 1, 2}}
[0174] k∈[1,Wp ],m∈[1,L p ],n∈[1,H p ]
[0175] Among them, s (k,m,n) is the state of the kth voxel along the positive direction of the X axis, the mth voxel along the positive direction of the Y axis, and the nth voxel along the positive direction of the Z axis in the spatial voxel of the structure area, s (k,m,n) =0 means the voxel is idle; s (k,m,n) =1 indicates that the voxel is occupied by an obstacle; s (k,m,n) =2 means that the voxel is occupied by a structure; in the initial state, s (k,m,n) All are 0;
[0176] The multiple voxels of the structure area described in step 3 are as follows:
[0177] The side length of each voxel in the building area is r = 2, so the center points of multiple voxels in the building area are:
[0178]
[0179] in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the qth voxel in the structure area, and N2 is the number of voxels in the structure area;
[0180] The multiple voxels after dilation processing in the structure area in step 3 are as follows:
[0181] The center points of multiple dilated voxels in the building area are:
[0182]
[0183] in, is the X-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, o exp,y1 is the Y-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, is the Z-axis coordinate of the center point of the I-th voxel after the expansion processing of the structure area, is the number of voxels in the structure area after dilation processing, N2 is the number of voxels in the structure area;
[0184] gather is a set of multiple neighboring voxels of the voxel constructed based on the coordinates of the center point of the voxel in the qth structure area and the relative positions between the voxels. It is specifically defined as:
[0185]
[0186] in, for point The X-axis coordinate of the center point of the e-th voxel along the positive direction of the X-axis, for point The Y-axis coordinate of the center point of the f-th voxel along the positive direction of the Y-axis, for point The Z-axis coordinate of the center point of the g-th voxel along the positive Z-axis, n q The number of voxels expanded in the X, Y, and Z axes is calculated as follows:
[0187]
[0188]
[0189]
[0190]
[0191]
[0192] in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the voxel in the qth structure area, d q is the actual expansion distance of the qth voxel in the structure area voxel in step 3. When the voxel is within the 3D modeling range S of the structure in step 1, d q =dis view ,dis view =3.6 is the minimum distance between the viewpoint and the target structure; q When the structure is outside the three-dimensional modeling range S in step 1, d q =dis safe ,dis safe =5 is the minimum safe distance between the drone and obstacles.
[0193] Step 3 changes the state of the spatial voxels in the structure area as follows:
[0194] The center coordinates of the first voxel after the expansion of the building area Change It is the kth voxel in the positive direction of the X axis in the building area. l The mth one along the positive direction of the Y axis l nth, along the positive direction of the Z axis lThe state of the voxel, The specific calculation is as follows:
[0195]
[0196] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, mi□ is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area;
[0197] If O exp,l When the structure is within the three-dimensional modeling range S described in step 1,
[0198] If O exp,l When the structure is outside the three-dimensional modeling range S in step 1,
[0199] Step 3 constructs multiple candidate 3D viewpoints of the building area, specifically as follows:
[0200] The multiple candidate 3D viewpoint sets are:
[0201]
[0202] Among them, V (a,b,c) A is the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis. (a,b,c) is the position of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in A (a,b,c) The coordinate on the X axis, A (a,b,c) The coordinate on the Y axis, A (a,b,c) Coordinate on the Z axis;
[0203] B (a,b,c) is the direction vector of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in B (a,b,c) The direction component on the X axis, B(a,b,c) The direction component on the Y axis, B (a,b,c) The direction component on the Z axis;
[0204] γ (a,b,c) is the state of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, γ (a,b,c) The initial value is 0;
[0205] W v , L v, H v are the number of candidate 3D viewpoints in the building area on the X-axis, Y-axis, and Z-axis respectively. The specific calculation formula is as follows:
[0206]
[0207]
[0208]
[0209] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis;
[0210] d v is the distance between adjacent candidate 3D viewpoints, which is calculated as follows:
[0211]
[0212] Among them, β = 70% is the minimum overlap rate of adjacent images, dis view =3.6 is the minimum distance between the viewpoint and the target structure, VFOV = 67.5° is the vertical field of view of the camera;
[0213] In step 3, the occupancy status of voxels in the voxelized space is combined to select multiple 3D viewpoints covering the structure from multiple candidate 3D viewpoints in the structure area through a 3D viewpoint selection method, as follows:
[0214] Traverse the set V one by one can Viewpoint V in (a,b,c) , where V (a,b,c)The ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis;
[0215] According to the viewpoint V (a,b,c) Location Get viewpoint V (a,b,c) Voxel state in is the kth voxel in the positive direction of the X axis in the building area (a,b,c) The mth one along the positive direction of the Y axis (a,b,c) nth, along the positive direction of the Z axis (a,b,c) The state of the voxel, The specific calculation is as follows:
[0216]
[0217] Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area.
[0218] like When V (a,b,c) In the structure and its expansion space, set V (a,b,c) Status of γ (a,b,c) =1, then traverse the viewpoints is the ath direction along the positive direction of the X axis * bth, in the positive direction of the Y axis * cth, Z-axis positive direction * A viewpoint, The specific calculation is as follows:
[0219] a * =a+i * , b * =b+j * , c * =c+k *
[0220] i * ,j * , k * ∈{-1, 0, 1}
[0221] Among them, a *Indicates V (a,b,c) The origin is the i-th * The order of viewpoints on the X axis of the entire space, b * Indicates V (a,b,c) The origin is the jth point along the positive direction of the Y axis * The order of viewpoints on the Y axis of the entire space, c * Indicates V (a,b,c) The kth point along the positive direction of the Z axis from the origin * The order of viewpoints on the Z axis of the entire space.
[0222] If the viewpoint The state of the voxel This indicates that the viewpoint is not only in a safe and permitted space but also closest to the surface of the structure. Status And update the viewpoint Direction
[0223] in, The first voxel in the spatial voxel of the building area along the positive direction of the X axis , along the positive direction of the Y axis , along the positive direction of the Z axis The state of the voxel,
[0224] Collection V can Viewpoint V in (a,b,c) After the traversal is completed, the state γ (a,b,c) =2 are the selected three-dimensional viewpoints of the covering structure.
[0225] The multiple three-dimensional overlay viewpoints within the structure area described in step 3 are specifically defined as follows:
[0226] The set of multiple three-dimensional covering viewpoints in the building area is
[0227] V={V u =(A u , B u )|u=1,2,...,N3}
[0228] Among them, V u is the u-th viewpoint among multiple three-dimensional covering viewpoints in the building area, A u is the viewpoint V u The coordinates of B u is the viewpoint V u N3 is the direction vector of the building area, and N3 is the number of multiple three-dimensional covering viewpoints in the building area.
[0229] Step 4: The ground base station calculates the number of drones based on the spatial coordinates of multiple 3D coverage viewpoints in the structure area and the performance parameters of the drones, clusters the multiple 3D coverage viewpoints in the structure area through K-means to obtain multiple 3D coverage viewpoint clusters, defines each 3D viewpoint in each 3D coverage viewpoint cluster as the navigation position of each drone, constructs the track of each drone through all 3D viewpoints in each 3D coverage viewpoint cluster, takes minimizing the range of each drone as the optimization goal, and obtains the optimized track of each drone through ant colony algorithm optimization. The ground base station wirelessly sends the optimized track of each drone to each drone, where the optimized track of each drone is as follows: Figure 7 As shown, different colors in the figure correspond to the tracks of different drones;
[0230] Step 4 calculates the number of drones based on their performance parameters, as follows:
[0231]
[0232] Among them, n single The number of viewpoints a single drone can fly:
[0233]
[0234] Among them, T = 1200 is the flight time of a single UAV, and t is the time it takes for the UAV to move between adjacent viewpoints;
[0235] like hour,
[0236] like hour,
[0237] Among them, a=2 is the average acceleration of the UAV, v0=4 is the maximum flight speed of the UAV, d v is the distance between adjacent candidate 3D viewpoints;
[0238] In step 4, multiple three-dimensional covering viewpoint clusters are obtained by clustering through K-means. The specific process is as follows:
[0239] Step 4.1: Randomly select N from multiple 3D coverage viewpoints within the structure area. uav The coordinates of the viewpoints are used as cluster centers;
[0240] Step 4.2: Use the k-means algorithm to cluster all viewpoints in multiple three-dimensional coverage viewpoints within the building area. The clustering optimization objective function is:
[0241]
[0242] Among them, A u is the coordinate of the u-th viewpoint among multiple three-dimensional covering viewpoints in the structure area, is the center coordinate of the 3D covering viewpoint cluster to which the u-th viewpoint belongs among the multiple 3D covering viewpoints in the building area, N3 is the number of multiple 3D covering viewpoints in the building area, and the clustering result is:
[0243] M now ={V t |t=1,2,...,N uav}
[0244] Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as:
[0245]
[0246] in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The direction vector of the viewpoint, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area;
[0247] Step 4.3: Calculation Among them, c now is the penalty value of this cycle, N uav is the number of drones, which is also the number of clusters here, is the number of viewpoints in the t-th cluster, n single The number of viewpoints a single drone can fly;
[0248] Step 4.4: When c now <c best When M best =M now , c best =c now , where M best is the best clustering result so far, c best is the smallest penalty value so far, and its initial value is ∞;
[0249] Step 4.5: When c now = 0 or the number of cycles reaches 100, Mfinal =M best , where M final is the final clustering result; otherwise, jump to step 4.1 to execute the next cycle.
[0250] The multiple viewpoint clusters described in step 4 are specifically defined as follows:
[0251] Viewpoint cluster set M = M final , specifically defined as
[0252] M={V t |t=1,2,...,N uav}
[0253] Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as:
[0254]
[0255] in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The direction vector of the viewpoint, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area;
[0256] The optimization goal is to minimize the range of each drone as described in step 4, as follows:
[0257] For the t-th UAV, the optimization result is:
[0258]
[0259] Among them, L t is an ordered viewpoint sequence, which is used as the trajectory of the UAV. t is the t-th cluster after viewpoint clustering, is the number of viewpoints in the tth cluster after viewpoint clustering, is the nth UAV on the tth UAV track * A viewpoint, specifically defined as:
[0260]
[0261] in, is the nth UAV on the tth UAV track * The three-dimensional coordinates of the viewpoints, is the nth UAV on the tth UAV track * The direction vector of the viewpoint.
[0262] Then the optimization objective function of the t-th UAV is:
[0263]
[0264] in, is the number of viewpoints in the t-th viewpoint cluster.
[0265] Step 5: Each UAV flies according to the corresponding optimized trajectory, continuously collects multiple RGB images of the structure through close-up photography, and wirelessly transmits them to the ground base station. The ground base station processes the multiple RGB images of the structure from each UAV using the multi-view geometry 3D planar method to obtain a detailed 3D model of the structure.
[0266] Figure 8 The comparison between the rough model of part of the structure obtained by vertical photography in the example and the fine three-dimensional model obtained by the present invention is shown. It can be found that due to the excessive complexity of the structure and the serious lack of facade information, the rough model obtained only by plane coverage planning and vertical photography has a large number of defects under the eaves, the model is seriously distorted, and the facade of the structure contains almost no detailed texture information, and the text is difficult to recognize; the fine model obtained by using the method of the present invention not only has a complete model under the eaves, but also has rich facade texture, clear details and clear text, and is much higher than the traditional vertical photography modeling results in terms of completeness and fineness.
[0267] It should be understood that parts not elaborated in detail in this specification belong to the prior art.
[0268] Although this document frequently uses terms such as drones and ground base stations, the use of other terms is not excluded. These terms are used solely to more conveniently describe the essence of the present invention, and interpreting them as any additional limitations would be contrary to the spirit of the present invention.
[0269] It should be understood that the above description of the preferred embodiment is relatively detailed and cannot be regarded as limiting the scope of protection of the patent of the present invention. Under the guidance of the present invention, ordinary technicians in this field can also make substitutions or modifications without departing from the scope of protection of the claims of the present invention, which all fall within the scope of protection of the present invention. The scope of protection requested by the present invention shall be based on the attached claims.
Claims
1. A method for three-dimensional modeling of a multi-view geometric structure, characterized in that: The following steps are involved: Step 1: The ground base station selects multiple polygon vertices on the satellite base map to construct the 3D modeling range of the structure; Step 2: The UAV flies within the 3D modeling range of the structure using a flat, covered route. It continuously captures multiple regional RGB images using vertical photography and wirelessly transmits them to a ground base station. The ground base station then models the multiple regional RGB images using a multi-view geometry 3D reconstruction method to obtain a 3D point cloud of the structure area. Step 3: voxelizing the spatial range of the three-dimensional point cloud of the structure area to obtain a plurality of spatial voxels of the structure area, setting the states of the plurality of spatial voxels of the structure area, voxelizing the three-dimensional point cloud of the structure area to obtain a plurality of voxels of the structure area, performing dilation processing on the plurality of voxels of the structure area to obtain a plurality of dilated voxels of the structure area, modifying the states of the spatial voxels of the structure area in combination with the plurality of dilated voxels of the structure area, and then constructing a plurality of candidate three-dimensional viewpoints of the structure area. Combining the states of the voxels in the voxelized space, a plurality of three-dimensional viewpoints covering the structure are selected from the plurality of candidate three-dimensional viewpoints of the structure area by a three-dimensional viewpoint selection method, and further constructing a plurality of three-dimensional covering viewpoints in the structure area. Step 4: The ground base station calculates the number of drones based on the spatial coordinates of multiple 3D coverage viewpoints within the structure area and the performance parameters of the drones. The multiple 3D coverage viewpoints within the structure area are clustered using K-means to obtain multiple 3D coverage viewpoint clusters. Each 3D viewpoint in each 3D coverage viewpoint cluster is defined as the navigation position of each drone. The track of each drone is constructed using all 3D viewpoints in each 3D coverage viewpoint cluster. Minimizing the range of each drone is used as the optimization goal. The optimized track of each drone is obtained through the ant colony algorithm. The ground base station wirelessly transmits the optimized track of each drone to each drone. Step 5: Each UAV flies according to the corresponding optimized trajectory, continuously collects multiple RGB images of the structure through close-up photography, and wirelessly transmits them to the ground base station. The ground base station processes the multiple RGB images of the structure from each UAV using the multi-view geometry 3D planar method to obtain a detailed 3D model of the structure.
2. The multi-view geometric structure 3D modeling method according to claim 1, characterized in that: The following steps are involved: The multiple polygon vertices described in step 1 are specifically defined as follows: v i i=1,2,…,N0 Where N0 is the number of polygon vertices, v i is the i-th polygon vertex; The polygon surrounded by the N0 polygon vertices is defined as the three-dimensional modeling range of the structure; The three-dimensional modeling range of the structure is defined as S.
3. The multi-view geometric structure 3D modeling method according to claim 2, characterized in that: The following steps are involved: The three-dimensional point cloud of the structure area in step 2 is: in, is the 3D coordinate of the jth point in the 3D point cloud of the building area, is the X-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Y-axis coordinate of the j-th point in the three-dimensional point cloud of the structure area, is the Z-axis coordinate of the jth point in the three-dimensional point cloud of the structure area, and N1 is the number of points in the three-dimensional point cloud of the structure area; The coordinate range of all points in the 3D point cloud of the building area is: Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis.
4. The multi-view geometric structure 3D modeling method according to claim 3, characterized in that: The following steps are involved: The multiple spatial voxels of the structure area described in step 3 are specifically defined as follows: The side length of each spatial voxel in the structure area is r, and the center points of the multiple spatial voxels in the structure area are: in, is the X-axis coordinate of the center point of the k-th spatial voxel along the positive direction of the X-axis in the spatial voxel of the structure area, is the Y-axis coordinate of the center point of the m-th spatial voxel along the positive direction of the Y-axis in the spatial voxel of the structure area, is the Z-axis coordinate of the center point of the n-th spatial voxel along the positive direction of the Z axis in the spatial voxel of the structure area, W p is the number of spatial voxels in the building area on the X axis, L p is the number of spatial voxels in the building area on the X axis, H p is the number of spatial voxels in the building area on the X axis, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, The states of the multiple spatial voxels in the structure area are: s={s (k,m,n) |s (k,m,n) ∈{0,1,2}} k∈[1,W p ],m∈[1,L p ],n∈[1,H p ] Among them, s (k,m,n) is the state of the kth voxel along the positive direction of the X axis, the mth voxel along the positive direction of the Y axis, and the nth voxel along the positive direction of the Z axis in the spatial voxel of the structure area, s (k,m,n) =0 means the voxel is idle; s (k,m,n) =1 indicates that the voxel is occupied by an obstacle; s (k,m,n) =2 means that the voxel is occupied by a structure; in the initial state, s (k,m,n) Both are 0.
5. The multi-view geometric structure 3D modeling method according to claim 4, characterized in that: The following steps are involved: The multiple voxels of the structure area described in step 3 are as follows: The side length of each voxel in the building area is r, and the center points of multiple voxels in the building area are: in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the qth voxel in the structure area, and N2 is the number of voxels in the structure area; The multiple voxels after dilation processing in the structure area in step 3 are as follows: The center points of multiple dilated voxels in the building area are: in, is the X-axis coordinate of the center point of the lth voxel after the expansion of the structure area, is the Y-axis coordinate of the center point of the l-th voxel after the expansion processing of the structure area, is the Z-axis coordinate of the center point of the l-th voxel after the expansion processing of the structure area, is the number of voxels in the structure area after dilation processing, N2 is the number of voxels in the structure area; gather is a set of multiple neighboring voxels of the voxel constructed based on the coordinates of the center point of the voxel in the qth structure area and the relative positions between the voxels. It is specifically defined as: in, for point The X-axis coordinate of the center point of the e-th voxel along the positive direction of the X-axis, for point The Y-axis coordinate of the center point of the f-th voxel along the positive direction of the Y-axis, for point The Z-axis coordinate of the center point of the g-th voxel along the positive Z-axis, n q The number of voxels expanded in the X, Y, and Z axes is calculated as follows: in, is the X-axis coordinate of the center point of the voxel in the qth structure area, is the Y-axis coordinate of the center point of the voxel in the qth structure area, is the Z-axis coordinate of the center point of the voxel in the qth structure area, d q is the actual expansion distance of the qth voxel in the structure area voxel in step 3. When the voxel is within the 3D modeling range S of the structure in step 1, d q =dis view ,dis view is the minimum distance between the viewpoint and the target structure; q When the structure is outside the three-dimensional modeling range S in step 1, d q =dis safe ,dis safe The minimum safe distance between the drone and obstacles.
6. The multi-view geometric structure 3D modeling method according to claim 5, characterized in that: The following steps are involved: Step 3 changes the state of the spatial voxels in the structure area as follows: The coordinates of the center point of the lth voxel after the expansion of the building area Change It is the kth voxel in the positive direction of the X axis in the building area. l The mth one along the positive direction of the Y axis l nth, along the positive direction of the Z axis l The state of the voxel, The specific calculation is as follows: Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area; If O exp,l When the structure is within the three-dimensional modeling range S described in step 1, If O exp,l When the structure is outside the three-dimensional modeling range S in step 1, 7. The multi-view geometric structure 3D modeling method according to claim 6, characterized in that: The following steps are involved: Step 3 constructs multiple candidate 3D viewpoints of the building area, specifically as follows: The multiple candidate 3D viewpoint sets are: Among them, V (a,b,c) is the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, (a,b,c) is the position of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in For A (a,b,c) The coordinate on the X axis, For A (a,b,c) The coordinate on the Y axis, For A (a,b,c) Coordinate on the Z axis; Β (a,b,c) is the direction vector of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, and in For Β (a,b,c) The direction component on the X axis, For Β (a,b,c) The direction component on the Y axis, For Β (a,b,c) The direction component on the Z axis; γ (a,b,c) is the state of the ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis, γ (a,b,c) The initial value is 0; W v ,L v ,H v are the number of candidate 3D viewpoints in the building area on the X-axis, Y-axis, and Z-axis respectively. The specific calculation formula is as follows: Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max It is the maximum value of the three-dimensional point cloud of the structure area on the Z axis; d v is the distance between adjacent candidate 3D viewpoints, which is calculated as follows: Among them, β is the minimum overlap rate of adjacent images, dis view is the minimum distance between the viewpoint and the target structure, VFOV is the vertical field of view of the camera; In step 3, the occupancy status of voxels in the voxelized space is combined to select multiple 3D viewpoints covering the structure from multiple candidate 3D viewpoints in the structure area through a 3D viewpoint selection method, as follows: Traverse the set V one by one can Viewpoint V in (a,b,c) , where V (a,b,c) The ath viewpoint along the positive direction of the X axis, the bth viewpoint along the positive direction of the Y axis, and the cth viewpoint along the positive direction of the Z axis; According to the viewpoint V (a,b,c) Location Get viewpoint V (a,b,c) Voxel state in is the kth voxel in the positive direction of the X axis in the building area (a,b,c) The mth one along the positive direction of the Y axis (a,b,c) nth, along the positive direction of the Z axis (a,b,c) The state of the voxel, The specific calculation is as follows: Among them, x min is the minimum value of the three-dimensional point cloud of the building area on the X axis, x max is the maximum value of the three-dimensional point cloud of the building area on the X axis, min is the minimum value of the three-dimensional point cloud of the structure area on the Y axis, max is the maximum value of the three-dimensional point cloud of the building area on the Y axis, min is the minimum value of the three-dimensional point cloud of the building area on the Z axis, max is the maximum value of the three-dimensional point cloud of the building area on the Z axis, and r is the side length of each voxel in the space of the building area; like When V (a,b,c) In the structure and its expansion space, set V (a,b,c) Status of γ (a,b,c) =1, then traverse the viewpoints is the ath direction along the positive direction of the X axis * bth, in the positive direction of the Y axis * cth, Z-axis positive direction * A viewpoint, The specific calculation is as follows: a * =a+i * ,b * =b+j * ,c * =c+k * i * ,j * ,k * ∈{-1,0,1} Among them, a * Indicates V (a,b,c) The origin is the i-th * The order of viewpoints on the X axis of the entire space, b * Indicates V (a,b,c) The origin is the jth point along the positive direction of the Y axis * The order of viewpoints on the Y axis of the entire space, c * Indicates V (a,b,c) The kth point along the positive direction of the Z axis from the origin * The order of viewpoints on the Z axis of the entire space; If the viewpoint The state of the voxel This indicates that the viewpoint is not only in a safe and permitted space but also closest to the surface of the structure. Status And update the viewpoint Direction in, The first voxel in the spatial voxel of the building area along the positive direction of the X axis , along the positive direction of the Y axis The first one along the positive direction of the Z axis The state of the voxel, Collection V can Viewpoint V in (a,b,c) After the traversal is completed, the state γ (a,b,c) =2 are the selected three-dimensional viewpoints of the covered structure; The multiple three-dimensional overlay viewpoints within the structure area described in step 3 are specifically defined as follows: The set of multiple three-dimensional covering viewpoints in the building area is V={V u =(Α u ,Β u )|u=1,2,…,N3} Among them, V u is the u-th viewpoint among multiple three-dimensional covering viewpoints in the building area, A u is the viewpoint V u The coordinates of Β u is the viewpoint V u N3 is the direction vector of the building area, and N3 is the number of multiple three-dimensional covering viewpoints in the building area.
8. The multi-view geometric structure 3D modeling method according to claim 7, characterized in that: The following steps are involved: Step 4 calculates the number of drones based on their performance parameters, as follows: Among them, N uav is the number of drones, n single The number of viewpoints a single drone can fly: Among them, T is the flight time of a single UAV, and t is the time it takes for the UAV to move between adjacent viewpoints; like hour, like hour, Among them, a is the average acceleration of the drone, v0 is the maximum flight speed of the drone, d v is the distance between adjacent candidate 3D viewpoints.
9. The multi-view geometric structure 3D modeling method according to claim 8, characterized in that: The following steps are involved: In step 4, multiple three-dimensional covering viewpoint clusters are obtained by clustering through K-means. The specific process is as follows: Step 4.1: Randomly select N from multiple 3D coverage viewpoints within the structure area. uav The coordinates of the viewpoints are used as cluster centers; Step 4.2: Use the k-means algorithm to cluster all viewpoints in multiple three-dimensional coverage viewpoints within the building area. The clustering optimization objective function is: Among them, A u is the coordinate of the u-th viewpoint among multiple three-dimensional covering viewpoints in the structure area, is the center coordinate of the three-dimensional covering viewpoint cluster to which the u-th viewpoint belongs among the multiple three-dimensional covering viewpoints in the building area, and N3 is the number of multiple three-dimensional covering viewpoints in the building area. The clustering result is: M now ={V t |t=1,2,…,N uav } Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as: in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The direction vector of the viewpoint, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area; Step 4.3: Calculation Among them, c now is the penalty value of this cycle, N uav is the number of drones, which is also the number of clusters here, is the number of viewpoints in the t-th cluster, n single The number of viewpoints a single drone can fly; Step 4.4: When c now <c best When M best =M now , c best =c now , where M best is the best clustering result so far, c best is the smallest penalty value so far, and its initial value is ∞; Step 4.5: When c now = 0 or the number of cycles reaches the maximum value, M final =M best , where M final is the final clustering result; otherwise, jump to step 4.1 to execute the next cycle; The multiple viewpoint clusters described in step 4 are specifically defined as follows: Viewpoint cluster set M = M final , specifically defined as M={V t |t=1,2,…,N uav } Among them, V t is the tth cluster after viewpoint clustering, N uav is the number of drones, and each cluster is defined as: in, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * A viewpoint, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The coordinates of the viewpoints, is the uth in the tth three-dimensional covering viewpoint cluster after clustering * The direction vector of the viewpoint, is the number of viewpoints in the tth three-dimensional covering viewpoint cluster after clustering, V is a set of multiple three-dimensional covering viewpoints in the building area; The optimization goal is to minimize the range of each drone as described in step 4, as follows: For the t-th UAV, the optimization result is: Among them, L t is an ordered viewpoint sequence, which is used as the trajectory of the UAV. t is the t-th cluster after viewpoint clustering, is the number of viewpoints in the tth cluster after viewpoint clustering, is the nth UAV on the tth UAV track * A viewpoint, specifically defined as: in, is the nth UAV on the tth UAV track * The three-dimensional coordinates of the viewpoints, is the nth UAV on the tth UAV track * The direction vector of the viewpoint; Then the optimization objective function of the t-th UAV is: in, is the number of viewpoints in the t-th viewpoint cluster.
Citation Information
Patent Citations
Unmanned aerial vehicle navigation map construction system and method based on image three-dimensional reconstruction technology
CN111599001A
Airborne thermal infrared image building true three-dimensional temperature field construction method and system
CN114529682A