Structure perpendicularity measurement method based on unmanned aerial vehicle three-dimensional modeling
By using UAV 3D modeling and centroid trajectory fitting, the safety risks and adaptability issues of traditional verticality measurement methods have been resolved. This has enabled the acquisition of overall structural data and accurate reflection of local deformation characteristics, providing a reliable verticality evaluation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU POWER SUPPLY BUREAU GUANGDONG POWER GRID CO LTD
- Filing Date
- 2026-03-23
- Publication Date
- 2026-06-09
AI Technical Summary
Traditional methods of measuring verticality require manual climbing, which poses high safety risks, has poor adaptability, makes it difficult to obtain data on the overall structure, and cannot accurately reflect local deformation characteristics.
Using UAV 3D modeling, the system acquires overall structural image data through continuous spiral ascent flight, performs point cloud processing and centroid trajectory fitting, and calculates segmented verticality by combining local curvature change rate, thus integrating overall and local verticality evaluation.
It enables automated measurement by drones, reduces safety risks, is suitable for complex terrain, can accurately reflect the overall and local deformation of the structure, and provides reliable verticality evaluation results.
Smart Images

Figure CN121876913B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of structural verticality measurement technology, specifically a method for measuring structural verticality based on UAV 3D modeling. Background Technology
[0002] In the field of building structure construction acceptance and health monitoring, verticality is a core safety indicator for measuring whether tall structures are tilted. Traditional methods for measuring verticality mainly include the plumb line method, the laser plumb line method, and the total station method. Among them, the plumb line method is simple to operate but is easily affected by wind and has low accuracy; the laser plumb line method is quick and intuitive, but has high requirements for site conditions; the total station method is currently the most commonly used method, which calculates verticality by measuring the horizontal offset at different heights of the structure. However, these traditional methods all require manual climbing or setting up instruments at multiple locations, which poses significant safety risks. Furthermore, they can only obtain data from a few measuring points on the structure, making it difficult to reflect the overall geometric shape and local deformation characteristics of the structure. They are also poorly adaptable to structures near water, complex terrain, or structures with unequal widths.
[0003] In the prior art, a method for detecting the verticality of buildings based on point cloud robustness adaptive method (publication number CN113124782A) collects structural point cloud data using a 3D laser scanner, performs layered slicing of the point cloud to adaptively determine the structure type, and uses robust fitting to estimate and extract the centroid coordinates at different heights. Finally, the verticality is calculated by fitting a straight line or curve to the centroid points. This method achieves automated detection to a certain extent and improves adaptability to irregular structures. However, this method still has the following shortcomings: First, it relies on ground-based 3D laser scanners for data collection, and the setting of scanning stations is limited, making it difficult to obtain complete full-height point clouds for ultra-high structures or complex terrain environments. Second, although the method can remove some gross errors during the robust fitting process, it does not quantitatively evaluate the extraction quality of the centroid of the cross-section, and cannot identify unreliable cross-sections caused by local point cloud missingness or noise. Third, this method only calculates verticality through a single overall straight line fitting. When the structure has local bending or torsion, a single fitted straight line cannot accurately describe the true deformation state of the structure, resulting in an incomplete verticality evaluation result.
[0004] The information disclosed in the background section is only intended to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] The purpose of this invention is to provide a method and system for measuring the verticality of structures based on UAV 3D modeling, so as to solve the problems mentioned in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] The method for measuring structural verticality based on UAV 3D modeling includes the following steps:
[0008] Step 1: Control the drone to perform continuous spiral ascent flight around the target structure and take equidistant photos according to the preset overlap threshold to obtain a sequence of image data covering the entire target structure. Based on the sequence of image data, perform 3D reconstruction and point cloud processing to obtain a structural point cloud model.
[0009] Step 2: After preprocessing the structural point cloud model by cropping, horizontal slices are made at fixed intervals along the height direction to obtain several layers of cross-sectional point sets. Two-dimensional fitting is performed on each layer of cross-sectional point sets, and the centroid coordinates of the cross-section at the corresponding elevation are extracted. Then, the centroid trajectory point cloud is constructed based on the centroid coordinates of the cross-section at all elevations.
[0010] Step 3: Perform spatial straight line fitting on the centroid coordinates of all cross sections based on the centroid trajectory point cloud to obtain the structural axis representing the spatial attitude of the structure;
[0011] Step 4: Calculate the local dispersion of each section based on the distance of the centroid coordinates of the cross section from the structural axis, and determine the fitting weight of the cross section based on the local dispersion; at the same time, construct the spatial trajectory curve of the centroid of the cross section based on the horizontal displacement vector between the centroids of adjacent cross sections, and calculate the local curvature change rate of the curve.
[0012] Step 5: Perform weighted spatial straight line fitting on the centroid coordinates of each section based on the fitting weights to determine the first corrected verticality; perform segmented processing on the centroid trajectory point cloud based on the local curvature change rate and calculate the local verticality of each sub-segment to determine the second corrected verticality; and merge the first corrected verticality and the second corrected verticality to generate the structural verticality evaluation result of the target structure.
[0013] Furthermore, the specific process for acquiring the sequence image data is as follows:
[0014] Centered on the target structure, a continuous spiral ascent route is generated using flight path planning software. The UAV flies along the route at a constant lateral distance and ascent speed, and takes equidistant shots according to a preset overlap threshold during flight, so that the spatial distance between the exposure center points of adjacent images remains constant, thereby acquiring a sequence of image data covering the entire height of the target structure from bottom to top.
[0015] The lateral distance refers to the spatial relative distance between the UAV and the surface of the target structure;
[0016] The overlap threshold includes forward overlap and lateral overlap. Forward overlap refers to the proportion of the overlapping area between two adjacent images to the area of a single image, while lateral overlap refers to the proportion of the overlapping area between two adjacent images whose exposure center points are on the same vertical line to the area of a single image.
[0017] Furthermore, the specific execution process of step 2 is as follows:
[0018] The structural point cloud model is imported into the point cloud processing software. The main area of the target structure is manually selected in the visualization interface of the point cloud processing software. The ground, surrounding attachments and background noise points are cropped to obtain the cropped structural point cloud data. Taking the bottom surface of the target structure as the reference, the cropped structural point cloud data is horizontally sliced at fixed intervals along the vertical direction to obtain several layers of cross-sectional point sets perpendicular to the vertical direction.
[0019] For each layer of cross-sectional point set, a corresponding two-dimensional fitting model is selected according to the cross-sectional geometry type of the target structure. The RANSAC random sampling consensus algorithm is used for iterative fitting. In each iteration, the minimum number of non-collinear points required to constitute the two-dimensional fitting model are randomly selected. The model parameter set representing the current candidate geometry is calculated. Points in the cross-sectional point set whose distance to the boundary of the candidate geometry is less than a preset threshold are counted as interior points. After a preset number of iterations, the model parameter set with the most interior points is retained as the optimal fitting result. The interior point set of the optimal fitting result is used for least squares optimization. Finally, the centroid coordinates of the cross-section at the corresponding elevation are output.
[0020] After performing the above fitting operation on the cross-sectional point set at all elevations, a centroid trajectory point cloud is constructed based on the spatial location of the centroid coordinates of all cross-sections.
[0021] Furthermore, the RANSAC random sampling consensus algorithm is used for iterative fitting operations. The specific logic behind this is as follows:
[0022] The target structure's cross-sectional geometry includes circular and rectangular cross-sections;
[0023] When the cross-sectional geometry is circular, the two-dimensional fitting model used is the circle equation. In each iteration, the minimum number of non-collinear points required to form the fitted model are randomly selected. Specifically, three non-collinear points are randomly selected. Based on the coordinates of these three points, the model parameter set representing the current candidate circle is calculated. The model parameter set includes the center coordinates of the circle. and radius ;
[0024] When the cross-sectional geometry is rectangular, the two-dimensional fitting model used includes the equations of four boundary lines:
[0025] The equation of the left boundary line is determined by the coordinates of the rectangle's center, the angle of rotation of the rectangle around the center, and the half-width of the rectangle. Specifically, it is the equation of the line corresponding to the left boundary of the rectangle in the rotated coordinate system.
[0026] The equation of the right boundary line is determined by the coordinates of the rectangle's center, the angle of rotation of the rectangle around the center, and the half-width of the rectangle. Specifically, it is the equation of the line corresponding to the right boundary of the rectangle in the rotated coordinate system.
[0027] The equation of the upper boundary line is determined by the coordinates of the center of the rectangle, the rotation angle of the rectangle around the center, and the half height of the rectangle. Specifically, it is the equation of the line corresponding to the upper boundary of the rectangle in the rotated coordinate system.
[0028] The equation of the lower boundary line is determined by the coordinates of the center of the rectangle, the rotation angle of the rectangle around the center, and the half height of the rectangle. Specifically, it is the equation of the line corresponding to the lower boundary of the rectangle in the rotated coordinate system.
[0029] In each iteration, a minimum number of non-collinear points are randomly selected to form the fitting model. Specifically, four non-collinear points are randomly selected. Based on the coordinates of these four points, the model parameter set representing the current candidate rectangle is calculated. This model parameter set includes the coordinates of the rectangle's center. Angle of rotation of a rectangle around its center Rectangle half-width and the half height of the rectangle .
[0030] Furthermore, the specific execution process of step 3 is as follows:
[0031] Using the centroid coordinates of all elevation points in the centroid trajectory point cloud as the input point set, spatial straight line fitting is performed using the least squares method. The spatial straight line equation is expressed symmetrically as follows: the difference between the coordinates of any point on the straight line and the coordinates of the reference point along each coordinate axis is proportional to the components of the corresponding direction vector; where the reference point (… Let be the coordinates of any point on the line. ) represents the direction vector of the structural axis;
[0032] By minimizing the sum of the squared distances from the centroid coordinates of all cross sections to the spatial line, the optimal line parameters are calculated, thereby obtaining the structural axis characterizing the spatial attitude of the structure, and the direction vector corresponding to this structural axis. This refers to the overall tilt direction of the target structure in three-dimensional space.
[0033] Furthermore, based on the distance of the centroid coordinates of the cross sections from the structural axis, the local dispersion of each cross section is calculated, specifically as follows:
[0034] Let the coordinates of any point on the structural axis be... ( ), mark it as the reference point, for the first Centroid coordinates of each cross section , To find the index of a section, first calculate the vector pointing from the reference point to the centroid of the section. Then, perform a cross product operation between this vector and the direction vector of the structural axis. Take the modulus of the cross product vector, and finally divide it by the modulus of the direction vector of the structural axis. The resulting value is the index of the section. Spatial distance from the centroid of each section to the structural axis , the spatial distance As the first Local dispersion of each cross section.
[0035] Calculate the local dispersion of all cross sections, take the reciprocal of the local dispersion of each cross section as the initial weight of that cross section, and normalize the initial weights of all cross sections so that the sum of the fitting weights of all cross sections is 1, thus obtaining the final fitting weights of each cross section.
[0036] Furthermore, in step 4, the specific process of constructing the spatial trajectory curve of the centroid of the cross section and calculating the local rate of change of curvature of the curve is as follows:
[0037] Sort the centroid coordinates of all elevations in ascending order of elevation to obtain an ordered sequence of centroid points. ,in , For the first The elevation of each section, and , The number of cross sections is given; the horizontal displacement vector between the centroids of adjacent cross sections is calculated, that is, the plane coordinates of two adjacent centroids are taken to construct the displacement vector on the horizontal plane, and the centroids of adjacent cross sections are connected in sequence to construct the spatial trajectory curve of the centroids of the cross sections;
[0038] For any three adjacent centroid points of the cross section, first calculate the vector from the previous point to the current point, the vector from the current point to the next point, and the vector from the previous point to the next point. Then, calculate the magnitude of the cross product of the first two vectors. Multiply this magnitude by 2 and divide it by the product of the magnitudes of the first two vectors and the third vector. The resulting value is the local curvature of the trajectory curve determined by these three points at the current point.
[0039] For each centroid point of the cross section, the local curvature is calculated to obtain a local curvature sequence. The two endpoints are not included in the calculation;
[0040] The local curvature change rate between adjacent sections is calculated based on the local curvature sequence, specifically by taking the first... The local curvature at the centroid of the first cross section and the first The difference in local curvature at the centroid of each cross section, and then taking the absolute value of this difference, yields the spatial trajectory curve at the [number]th [section]. The section to the first The rate of change of local curvature of this section of the curve.
[0041] Furthermore, based on the fitting weights of each section, a weighted spatial straight line fitting is performed on the centroid coordinates of all sections. By minimizing the weighted sum of squared distances, the weighted corrected structural axis is calculated, and the angle between the weighted corrected structural axis and the vertical direction is calculated. This angle is used as the first corrected perpendicularity.
[0042] Based on the local curvature change rate, a curvature change rate threshold is set. The curve segments corresponding to the local curvature change rate exceeding the threshold are regarded as significantly deformed segments. The two endpoints of the segment are used as segmentation points to divide the centroid trajectory point cloud into several continuous sub-segments. The centroid coordinates of the cross-sections in each sub-segment are independently fitted with spatial straight lines to obtain the local axis of each sub-segment. The angle between the local axis of each sub-segment and the vertical direction is calculated as the local verticality of each sub-segment. The number of cross-sections contained in each sub-segment is used as the fusion weight of the sub-segment. The local verticality of all sub-segments is weighted and averaged to obtain the second corrected verticality.
[0043] Furthermore, the specific process of fusing the first and second corrected verticality to generate the final structural verticality evaluation result is as follows: Calculate the variance of the local dispersion of all sections based on the local dispersion of all sections, use the reciprocal of the variance plus 1 as the fusion weight coefficient, then use the fusion weight coefficient as the weight of the first corrected verticality, and use 1 minus the fusion weight coefficient as the weight of the second corrected verticality. Perform a weighted sum of the first and second corrected verticality to obtain the final structural verticality evaluation result.
[0044] Compared with the prior art, the beneficial effects of the present invention are:
[0045] First, the present invention uses an unmanned aerial vehicle equipped with an RTK positioning system to perform continuous spiral ascent flight, and takes equidistant shots through a preset overlap threshold to obtain sequential image data covering the full height of the target structure. It can realize the automated reconstruction of the structural point cloud model without the need to set up ground targets or carry out manual climbing operations. It effectively solves the problems of poor adaptability to complex terrain and high operational safety risks of traditional measurement methods. It is particularly suitable for verticality detection of ultra-high structures, waterfront areas or environments with inconvenient transportation.
[0046] Second, after extracting the centroid coordinates of the cross sections, this invention calculates the local dispersion of the centroid of each cross section from the structural axis and uses the reciprocal of the local dispersion as the fitting weight of the cross section, thereby achieving a quantitative evaluation of the quality of the centroid extraction. When the centroid extraction of a certain cross section is unreliable due to local point cloud missing, surface attachments, or noise interference, its local dispersion is large, and the corresponding fitting weight is automatically reduced, thereby effectively suppressing the interference of unreliable cross sections on axis fitting and improving the robustness of perpendicularity calculation.
[0047] Third, by constructing the spatial trajectory curve of the centroid of the cross section and calculating the local curvature change rate, this invention can accurately identify the local bending or torsional deformation of the structure in different height sections. When the local curvature change rate exceeds the set threshold, the section is treated as a significantly deformed section and segmented. The local axis of each sub-segment is fitted and the local perpendicularity is calculated, which overcomes the defect of the traditional method that cannot describe the local deformation characteristics by fitting only a single overall straight line.
[0048] Fourth, this invention adaptively fuses the first and second corrected verticality values, dynamically adjusting their fusion weights based on the variance of local dispersion. When the overall quality of each section is good, the contribution of the first corrected verticality increases, highlighting overall stability; when significant local deformation exists in the structure, the contribution of the second corrected verticality increases, strengthening local sensitivity. Through this fusion mechanism, the final output structural verticality evaluation result retains the accuracy of the overall tilt trend while also accurately reflecting local deformation characteristics, providing a more reliable basis for structural safety assessment. Attached Figure Description
[0049] Figure 1 This is a schematic diagram of the overall method flow of the present invention;
[0050] Figure 2 A dual Y-axis image showing the centroid X-coordinate, centroid Y-coordinate, and local dispersion;
[0051] Figure 3 This is a schematic diagram of the flight trajectory of the spiral-shaped structure of the UAV of the present invention; Detailed Implementation
[0052] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to specific embodiments.
[0053] It should be noted that, unless otherwise defined, the technical or scientific terms used in this invention should have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. The terms "first," "second," and similar terms used in this invention do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0054] Example:
[0055] Please see Figures 1-3 The present invention provides a technical solution:
[0056] The method for measuring structural verticality based on UAV 3D modeling includes the following steps:
[0057] Step 1: Control the drone to perform continuous spiral ascent flight around the target structure and take equidistant photos according to the preset overlap threshold to obtain a sequence of image data covering the entire target structure. Based on the sequence of image data, perform 3D reconstruction and point cloud processing to obtain a structural point cloud model.
[0058] In this embodiment, the specific process of acquiring the sequence image data is as follows:
[0059] A DJI D-RTK 3 high-precision multi-functional base station was set up in an open area near the bridge site. After powering on, it automatically completed a self-test. The base station broadcast differential correction data to the drone in real time through OcuSync image transmission technology to ensure positioning accuracy. The flight path of the drone aerial survey was planned using DJI ITerra software, and the drone was controlled to perform continuous spiral ascent flight with the target structure as the center. The circumference radius was 2 meters, the vertical flight speed was 0.2 m / s, the camera pitch angle was 35°, the directional overlap of the aerial survey was set to 85%, and the lateral overlap was set to 80%. During the flight, equidistant shooting was performed according to the overlap threshold to keep the spatial distance between the exposure center points of adjacent images constant, thereby obtaining a sequence of image data covering the entire height of the target structure from bottom to top.
[0060] Import the sequence image data into DJI Terra software, select the 3D reconstruction task type and enable the visible light mode. Without adding any ground control points, the software automatically completes aerial triangulation and multi-view stereo matching based on the high-precision POS data of the images, generates a dense point cloud and outputs a structural point cloud model.
[0061] The lateral distance refers to the spatial relative distance between the UAV and the surface of the target structure;
[0062] The overlap threshold includes forward overlap and lateral overlap. Forward overlap refers to the proportion of the overlapping area between two adjacent images to the area of a single image, while lateral overlap refers to the proportion of the overlapping area between two adjacent images whose exposure center points are on the same vertical line to the area of a single image.
[0063] In step 1, this invention utilizes an UAV equipped with an RTK positioning system to perform continuous spiral ascent flight and conducts equidistant imaging according to a preset overlap threshold. This efficiently acquires sequential image data covering the entire height of the target structure from bottom to top. Unlike traditional ground-based 3D laser scanning, which requires the deployment of multiple stations, this method eliminates the need for manual climbing and the deployment of ground targets, significantly reducing operational safety risks and adaptability requirements for complex terrains. Simultaneously, the continuous spiral ascent flight strategy ensures uniform point cloud distribution across the entire height of the structure without interlayer gaps. Combined with high-precision RTK positioning and preset overlap control, this provides a high-quality image data foundation for subsequent 3D reconstruction, making it particularly suitable for verticality detection of ultra-high structures, waterfront areas, or environments with inconvenient transportation.
[0064] Step 2: After preprocessing the structural point cloud model by cropping, horizontal slices are made at fixed intervals along the height direction to obtain several layers of cross-sectional point sets. Two-dimensional fitting is performed on each layer of cross-sectional point sets, and the centroid coordinates of the cross-section at the corresponding elevation are extracted. Then, the centroid trajectory point cloud is constructed based on the centroid coordinates of the cross-section at all elevations.
[0065] In this embodiment, the specific execution process of step 2 is as follows:
[0066] The structural point cloud model is imported into point cloud processing software. The main area of the target structure is manually selected in the visualization interface of the point cloud processing software, and the ground, surrounding attachments and background noise points are cropped to obtain the cropped structural point cloud data. Taking the bottom surface of the target structure as a reference, the cropped structural point cloud data is horizontally sliced at fixed intervals along the vertical direction to obtain several layers of cross-sectional point sets perpendicular to the vertical direction. In this embodiment, the fixed interval is set to 1 meter, and the number of cross-sections is not less than 3.
[0067] For each layer of cross-sectional point set, a corresponding two-dimensional fitting model is selected according to the cross-sectional geometry type of the target structure. The RANSAC random sampling consensus algorithm is used for iterative fitting. In each iteration, the minimum number of non-collinear points required to constitute the two-dimensional fitting model are randomly selected. The model parameter set representing the current candidate geometry is calculated. Points in the cross-sectional point set whose distance to the candidate geometry boundary is less than 2 mm are counted as interior points. After 1000 iterations, the model parameter set with the largest number of interior points is retained as the optimal fitting result. The interior point set of the optimal fitting result is used for least squares optimization. Finally, the centroid coordinates of the cross-section at the corresponding elevation are output.
[0068] After performing the above fitting operation on the cross-sectional point set at all elevations, a centroid trajectory point cloud is constructed based on the spatial location of the centroid coordinates of all cross-sections.
[0069] In step 2, the RANSAC algorithm is used for iterative fitting of each layer of cross-sectional point sets. Its core objective is to robustly extract accurate cross-sectional geometric features from the original point cloud data containing noise and outliers. Since the actual collected point cloud data inevitably contains measurement errors, surface deposits, or local missing data, directly using the traditional least squares method for fitting would severely affect the accuracy of the fitting results, leading to deviations in the extracted cross-sectional centroid coordinates. The RANSAC algorithm, through random sampling and iterative verification, can effectively identify and remove these outliers, utilizing only... Fitting interior points that conform to the model assumptions significantly improves the accuracy and stability of centroid extraction. Specifically, setting a 2mm distance threshold as the criterion for judging interior points ensures adaptability to the surface roughness of the concrete structure while effectively filtering out coarse points. Setting 1000 iterations ensures that the globally optimal fitting result can be found in a probabilistic sense. In this way, the centroid coordinates of each cross-section represent the optimal estimate of the structural center at that height, and the constructed centroid trajectory point cloud can truly reflect the geometric shape of the structure, providing a reliable data foundation for subsequent verticality calculations.
[0070] The RANSAC random sampling consensus algorithm is used for iterative fitting operations, based on the following logic:
[0071] The target structure's cross-sectional geometry includes circular and rectangular cross-sections;
[0072] When the cross-sectional geometry is circular, the two-dimensional fitting model used is the circle equation. In each iteration, the minimum number of non-collinear points required to form the fitted model are randomly selected. Specifically, three non-collinear points are randomly selected. Based on the coordinates of these three points, the model parameter set representing the current candidate circle is calculated. The model parameter set includes the center coordinates of the circle. and radius ;
[0073] When the cross-sectional geometry is rectangular, the two-dimensional fitting model used includes the following four boundary line equations:
[0074] Equation of the left boundary line: ;
[0075] Equation of the right boundary line: ;
[0076] Equation of the upper boundary line: ;
[0077] Equation of the lower boundary line: ;
[0078] in, The coordinates of the center of the rectangle; The angle of rotation of the rectangle around its center; The width is half the width of a rectangle; The half-height of the rectangle;
[0079] In each iteration, a minimum number of non-collinear points are randomly selected to form the fitting model. Specifically, four non-collinear points are randomly selected. Based on the coordinates of these four points, the model parameter set representing the current candidate rectangle is calculated. This model parameter set includes the coordinates of the rectangle's center. Angle of rotation of a rectangle around its center Rectangle half-width and the half height of the rectangle .
[0080] Differentiated two-dimensional fitting models are used for different cross-sectional geometries to achieve accurate adaptation and feature extraction for different structural forms. In practical engineering, common tall structures include circular and rectangular cross-sections. Circular cross-sections include chimneys, bridge piers, and storage tanks, while rectangular cross-sections include building columns, bridge towers, and factory supports. The geometric characteristics of these two types of structures are completely different. Using a single fitting model would inevitably lead to a loss of accuracy in centroid extraction. For circular cross-sections, the circle equation is used as the fitting model. In each iteration, three non-collinear points are randomly selected to uniquely determine a candidate circle. This minimum point set sampling strategy ensures computational efficiency and quickly verifies the rationality of the candidate model. The final output center coordinates are the centroid position of the cross-section. For rectangular cross-sections, the geometric description is more complex, requiring simultaneous determination of the center position. The model considers the position, rotation angle, and dimensions of the rectangle. Therefore, a rectangular model containing the equations of four boundary lines is adopted. In each iteration, four non-collinear points are randomly selected to calculate the center coordinates, rotation angle, half-width, and half-height of the candidate rectangle. This model can completely describe all the geometric features of the rectangle. Through this targeted modeling strategy, the RANSAC algorithm can accurately identify and eliminate noise points that deviate from the target geometry during the iteration process, retaining only the interior points that truly belong to the structural cross-section for fitting, thereby significantly improving the accuracy of centroid coordinate extraction. In particular, for rectangular cross-sections, by fitting all four boundary lines simultaneously instead of fitting each side individually, the extracted center coordinates can be ensured to have global consistency, avoiding the problem of center position shift caused by independent fitting of each side, laying a solid foundation for the subsequent construction of centroid trajectory point clouds.
[0081] Step 3: Perform spatial straight line fitting on the centroid coordinates of all cross sections based on the centroid trajectory point cloud to obtain the structural axis representing the spatial attitude of the structure;
[0082] In this embodiment, the specific execution process of step 3 is as follows:
[0083] Using the centroid coordinates of all elevation points in the centroid trajectory point cloud as the input point set, spatial line fitting is performed using the least squares method. The equation of the spatial line is given as:
[0084]
[0085] In the formula, ( Let be the coordinates of any point on the line. ) represents the direction vector of the structural axis;
[0086] By minimizing the sum of the squared distances from the centroid coordinates of all cross sections to the spatial line, the optimal line parameters are calculated, thereby obtaining the structural axis characterizing the spatial attitude of the structure, and the direction vector corresponding to this structural axis. This refers to the overall tilt direction of the target structure in three-dimensional space.
[0087] In step 3, spatial straight-line fitting is performed on the centroid coordinates of all cross sections to obtain the structural axis. This aims to upgrade the discrete centroid point cloud of the cross sections into a continuous spatial attitude description of the structure, establishing a unified geometric benchmark for verticality calculation. Although the centroid trajectory point cloud contains information about the center position of the structure at different elevations, it exists only as discrete points and cannot directly represent the overall tilt trend of the structure. By using the least squares method for spatial straight-line fitting, all centroid coordinates of the cross sections are taken as the overall input, and an optimal spatial straight line is solved as the theoretical axis of the structure. This axis represents the average tilt direction and degree of the structure in three-dimensional space. Specifically, let the equation of the spatial straight line be... By minimizing the sum of squared distances from all centroids to the line, the fitted axis best approximates the center position of all cross-sections, balancing the overall trend while suppressing the interference of individual anomalous cross-sections. This step transforms discrete centroids into continuous structural axes, allowing for a quantitative expression of the structure's spatial orientation. Secondly, the least-squares-based fitting method possesses statistical optimality, fully utilizing information from all cross-sections and improving the robustness of perpendicularity calculations. Finally, the fitted direction vector... It can be used to calculate the angle with the vertical direction, providing a direct mathematical basis for the quantitative evaluation of the structural verticality, and avoiding the randomness and one-sidedness of traditional methods that rely on only a few measuring points for straight line fitting.
[0088] Step 4: Calculate the local dispersion of each section based on the distance of the centroid coordinates of the cross section from the structural axis, and determine the fitting weight of the cross section based on the local dispersion; at the same time, construct the spatial trajectory curve of the centroid of the cross section based on the horizontal displacement vector between the centroids of adjacent cross sections, and calculate the local curvature change rate of the curve.
[0089] In this embodiment, the local dispersion of each section is calculated based on the distance of the centroid coordinates of the cross section from the structural axis, specifically as follows:
[0090] Let the coordinates of any point on the structural axis be... ( ), for the first Centroid coordinates of each cross section , To determine the index of a section, first calculate the spatial distance from the centroid of that section to the structural axis. The calculation formula it is based on is as follows:
[0091]
[0092] In the formula, This represents the vector cross product operation. Represents the magnitude of a vector;
[0093] The spatial distance That is, the first Local dispersion of a cross section;
[0094] For this formula, vector Indicates any point on the axis Pointing to the centroid of the cross section The spatial vector, and Let be the direction vectors of the structural axes. The magnitude of the cross product of these two vectors is equal to the area of the parallelogram formed by these two vectors as adjacent sides, divided by the length of the base. That is, the height of the parallelogram, which corresponds exactly to the point. The perpendicular distance to the structural axis; through this geometric transformation, the calculation of the distance from a point to a line is converted into a vector operation, which avoids complex spatial geometric derivations and can uniformly handle the centroid points of all sections, resulting in a higher calculated distance. That is, the first The local dispersion of a cross section quantifies the degree to which the centroid of that cross section deviates from the axis of the overall structure: The smaller the value, the closer the centroid of the cross section is to the structural axis, and the higher the quality of the cross section centroid extraction. The larger the value, the more likely the cross section is to have local point cloud missingness, surface attachments or noise interference, causing the centroid extraction result to deviate from the true center of the structure. This index provides a basis for determining the fitting weight of each cross section, so that the contribution of cross sections with large local dispersion in the weighted axis fitting is automatically reduced, thereby effectively suppressing the interference of unreliable cross sections on the verticality calculation.
[0095] Calculate the local dispersion of all cross sections, take the reciprocal of the local dispersion of each cross section as the initial weight of that cross section, and normalize the initial weights of all cross sections so that the sum of the fitting weights of all cross sections is 1, thus obtaining the final fitting weights of each cross section.
[0096] Local discretization quantifies the degree to which the centroid of a cross section deviates from the overall structural axis. Smaller local discretization indicates that the centroid of the cross section is closer to the structural axis, meaning higher point cloud quality and more reliable centroid extraction results. Conversely, larger local discretization suggests potential local point cloud deficiencies, surface deposits, or noise interference, causing the centroid extraction results to deviate from the true structural center. Therefore, using the reciprocal of the local discretization as the initial weight allows highly reliable cross sections to receive a larger weight contribution, while the weight of less reliable cross sections is automatically reduced. Further normalization of the initial weights for all cross sections ensures that the sum of the fitting weights for all sections is 1. This preserves the relative importance of each cross section and provides a unified weighting benchmark for subsequent weighted spatial linear fitting. Through this weighting mechanism, high-quality cross sections play a dominant role when fitting and correcting the structural axis, while the influence of low-quality cross sections is effectively suppressed, thus significantly improving the robustness and anti-interference capability of the perpendicularity calculation.
[0097] In step 4, the specific process of constructing the spatial trajectory curve of the centroid of the cross section and calculating the local rate of change of curvature of the curve is as follows:
[0098] Sort the centroid coordinates of all elevations in ascending order of elevation to obtain an ordered sequence of centroid points. ,in , For the first The elevation of each section, and , The number of cross sections is given; the horizontal displacement vector between the centroids of adjacent cross sections is calculated, that is, the plane coordinates of two adjacent centroids are taken to construct the displacement vector on the horizontal plane, and the centroids of adjacent cross sections are connected in sequence to construct the spatial trajectory curve of the centroids of the cross sections;
[0099] For any three adjacent centroids of the cross section , and Calculate the trajectory curve determined by these three points. Local curvature at point The calculation formula is:
[0100]
[0101] In the formula, vector From point to A vector; a vector From point to Vectors; vectors From point Point of view The vector;
[0102] For each centroid point of the cross section, the local curvature is calculated to obtain a local curvature sequence. The two endpoints are not included in the calculation;
[0103] The logic for calculating local curvature and the rate of change of local curvature lies in quantifying the degree of bending or torsional deformation of the structure in different height segments by analyzing the geometric shape of the centroid trajectory curve: First, for any three adjacent centroid points of the cross-section... , and The curvature calculation formula based on vector cross product is used, where the numerator is twice the modulus of the cross product of two adjacent displacement vectors. This value reflects... The degree of deviation between the two vector segments before and after the point; the denominator is the product of the moduli of the three vector segments, used to normalize the curvature value and eliminate the scale effect; the calculated local curvature Characterizes the trajectory curve in The degree of curvature at the point A larger value indicates a more pronounced bend near that point; due to the endpoints and Since a complete set of three points cannot be formed, the local curvature is calculated only for the midpoint, forming a local curvature sequence.
[0104] The rate of change of local curvature between adjacent sections is calculated based on the local curvature sequence. The calculation formula is as follows:
[0105]
[0106] In the formula, The spatial trajectory curve represents the first... The section to the first The rate of change of local curvature of this section of the curve. and The first The and the first Local curvature at the centroid of a cross section;
[0107] It should be noted that since the local curvature change rate is calculated from the local curvature at the centroid points of two adjacent cross-sections, and the local curvature itself needs to be determined by three points, the effective calculation range of the local curvature change rate is from the second cross-section to the first cross-section. The section between sections, for the first curve segment (from the first section to the second section) and the last curve segment (from the first section to the second section) The section to the first (For each section), since there is a lack of complete calculation of the local curvature of the adjacent three-point support, the analysis of the rate of change of local curvature is not performed.
[0108] Quantified from the first The section to the first The variation of the degree of curvature within this height range of each cross section. The larger the value, the more drastic the bending morphology of the structure in that section has changed, and there may be significant local torsional or bending deformation. The smaller the value, the more stable the structural morphology within that section becomes. This analysis allows for the precise location of key sections where local deformation occurs, providing a scientific basis for subsequent segmentation and overcoming the shortcomings of traditional methods that focus only on overall tilt while ignoring local deformation characteristics.
[0109] Step 5: Perform weighted spatial straight line fitting on the centroid coordinates of each section based on the fitting weights to determine the first corrected verticality; perform segmented processing on the centroid trajectory point cloud based on the local curvature change rate and calculate the local verticality of each sub-segment to determine the second corrected verticality; and merge the first corrected verticality and the second corrected verticality to generate the structural verticality evaluation result of the target structure.
[0110] In this embodiment, there are a total of The first cross section, the second The centroid coordinates of each cross section are The corresponding fitting weights are And the sum of all fitting weights is 1; the weighted spatial linear fitting calculates the weighted corrected structural axis direction vector by minimizing the sum of squared weighted distances. Then the first correction verticality The calculation formula is as follows:
[0111]
[0112] For the formula for the first correction of perpendicularity, it quantifies the spatial angle between the weighted correction structure axis and the vertical direction through vector operations; in this formula, the denominator... Weighted correction of structural axis direction vector The magnitude of the vector, since the direction vector itself only represents spatial direction and not actual displacement distance, plays a normalizing role in the calculation, eliminating the influence of vector scale on angle calculation; numerator The absolute value of the projection of the direction vector onto the vertical direction reflects the magnitude of the vertical component of the axis. According to the formula for calculating the angle between two spatial vectors, the cosine of the angle between two vectors is equal to the dot product of the two vectors divided by the product of their magnitudes. Since the unit vector in the vertical direction is... The dot product result is ,therefore The actual value represents the cosine of the angle between the weighted modified structural axis and the vertical direction, and the angle value in degrees or radians can be obtained by using the inverse cosine function. .
[0113] A threshold for the rate of change of curvature is set based on the local rate of change of curvature. ,Will The corresponding curve segment is taken as the significantly deformed segment, and the centroid trajectory point cloud is divided into several continuous sub-segments using the cross-sections at both ends of this segment. For the first... The centroid coordinates of each sub-segment are independently fitted to a straight line in space to obtain the local axis direction vector. Then the first Local perpendicularity of each segment The calculation formula is:
[0114]
[0115] The number of cross sections contained in each sub-segment is used as the fusion weight for that sub-segment. A weighted average of the local perpendicularity of all sub-segments is then calculated: first, the local perpendicularity of each sub-segment is multiplied by the number of cross sections it contains, then summed, and finally divided by... The result obtained is the second corrected verticality. .
[0116] The number of cross sections contained in each sub-segment is used as the fusion weight for weighted averaging. The more cross sections a sub-segment contains, the larger the height range it represents, and the wider its influence on the overall structural deformation. Therefore, it is given a greater weight to objectively reflect the contribution of that segment to the entire structure.
[0117] For the formula for local perpendicularity, the same spatial vector angle principle is applied independently to each deformed segment, thereby quantifying the degree of deviation of the local axis of each segment from the vertical direction; in this formula, the denominator... For the first Local axis direction vector of each segment The modulus length serves a normalization function; molecules This is the absolute value of the projection of the local axis direction vector onto the vertical direction; it is calculated... The cosine of the angle between the local axis of the segment and the vertical direction is obtained, and then the angle value is obtained by using the inverse cosine function. By performing this calculation independently on each deformation segment, the local bending or torsional deformation characteristics of the structure in different height segments can be effectively captured. This avoids the smooth masking of local deformation information by the overall fitting, and provides a scientific basis for subsequent fusion to obtain a verticality evaluation result that fully reflects the true state of the structure.
[0118] The specific process of fusing the first and second corrected verticality to generate the final structural verticality evaluation result is as follows: calculate the variance of the local dispersion of all sections based on the local dispersion of all sections, use the reciprocal of the variance plus 1 as the fusion weight coefficient, use the fusion weight coefficient as the weight of the first corrected verticality, and use 1 minus the fusion weight coefficient as the weight of the second corrected verticality.
[0119] The first and second corrected perpendicularity are weighted and summed according to the following formula to obtain the final structural perpendicularity evaluation result:
[0120]
[0121] In the formula , for Structural verticality evaluation results For fusion weighting coefficients.
[0122] Table 1: Statistical Table of Cross-Section Parameters and Perpendicularity Analysis Results
[0123]
[0124] Please refer to the following: Figure 2 In this embodiment, 10 horizontal sections within the 0-9m elevation range of the target structure were selected. Analysis was conducted from multiple dimensions, including section centroid offset, local dispersion, fitting weights, curvature characteristics, and verticality results. The overall structural verticality met the standard, with only slight local deformation in the upper and middle parts. The X and Y coordinates of the section centroids showed a gradual offset trend with elevation. The centroid offset of sections 1-4 was extremely small, with a maximum X coordinate of 0.007m and a maximum Y coordinate of 0.009m, demonstrating good verticality. The local dispersion in this stage was all within 1.3mm. The centroid extraction quality is high, with the corresponding fitting weight in the relatively high range of 0.077-0.112. The local curvature and rate of curvature change also remain at low levels, indicating a stable structural morphology. Sections 5-7 are the areas of significant deformation, with a sharp increase in centroid offset. The X-coordinate increases from 0.015m to 0.035m, and the Y-coordinate increases from 0.018m to 0.040m. The local dispersion increases significantly to 2.8-4.0mm, and the fitting weight decreases accordingly to 0.025-0.036, with the local curvature peak reaching 0.0035m. - ¹, the highest rate of change of curvature is 0.0023m - ¹, exceeding the deformation threshold, indicating slight local bending in this section; the structural morphology of sections 8-10 has stabilized, the centroid shift rate has slowed, the local dispersion has decreased to 1.8-2.5 mm, the fitting weight has increased to 0.040-0.054, and the local curvature and rate of change have also decreased to 0.0008 m. -¹ and below; based on the calculation of each section index, the local dispersion variance of the structure is 1.78 mm², the fusion weighting coefficient is 0.359, the first correction verticality is 0.20°, the second correction verticality is 0.21°, and the final verticality evaluation result after weighted fusion is 0.206°. Among the local verticality of each sub-segment, the 5-7 sections with significant deformation are 0.28°, and the remaining sections are 0.12° and 0.15°. The overall data shows that the target structure has no obvious overall tilt, only a small range of slight local deformation in the middle and upper part. The overall structure is safe and stable, and the verticality index meets the engineering requirements.
[0125] In step 5, the first and second corrected perpendicularity are determined through weighted spatial linear fitting and piecewise processing, respectively. The aim is to construct a method that considers both overall stability and local sensitivity, overcoming the limitation of traditional single-axis fitting which cannot fully describe the true deformation state of the structure. First, weighted spatial linear fitting is performed based on the fitting weights of each section. The corrected structural axis is solved by minimizing the sum of squared weighted distances. This process fully utilizes the local dispersion index calculated in step 4: the fitting weights are obtained by normalizing the reciprocal of the local dispersion, ensuring that sections with low local dispersion and high centroid extraction quality contribute more to axis fitting, while sections with high local dispersion, potential noise, or missing data automatically have a lower contribution. This effectively suppresses the interference of unreliable sections on the overall verticality calculation, obtaining the first corrected verticality representing the overall tilt trend of the structure. Secondly, the centroid trajectory point cloud is segmented based on the local curvature change rate. By setting a curvature change rate threshold, significant deformation segments are identified, and the point cloud is divided into several continuous sub-segments using the segment endpoints as segmentation points. Straight line fitting is performed independently on each sub-segment to obtain the local axis and calculate the local verticality. This process can capture the local bending or torsional deformation of the structure in different height segments, avoiding the smooth masking of local features by the overall fitting. Finally, the local verticality is weighted and averaged using the number of sections contained in each sub-segment as the fusion weight to obtain the second corrected verticality, which reflects the comprehensive influence of local deformation of the structure.
[0126] This method ensures the overall robustness of the evaluation results through the first correction of verticality, while the second correction enhances the sensitivity to local deformations. It provides a scientific basis for the adaptive fusion of the two, enabling the final verticality evaluation results to accurately reflect the overall tilting trend of the structure and fully reflect the characteristics of local deformations, thus significantly improving the comprehensiveness and reliability of structural safety assessment.
[0127] The above formulas are all dimensionless calculations. The formulas are derived from software simulations based on a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.
[0128] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented in software, the above embodiments can be implemented, in whole or in part, as a computer program product. Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution.
[0129] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0130] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A method for measuring the verticality of a structure based on UAV 3D modeling, characterized in that, The specific steps include: Step 1: Control the drone to perform continuous spiral ascent flight around the target structure and take equidistant photos according to the preset overlap threshold to obtain a sequence of image data covering the entire target structure. Based on the sequence of image data, perform 3D reconstruction and point cloud processing to obtain a structural point cloud model. Step 2: After preprocessing the structural point cloud model by cropping, horizontal slices are made at fixed intervals along the height direction to obtain several layers of cross-sectional point sets. Two-dimensional fitting is performed on each layer of cross-sectional point sets, and the centroid coordinates of the cross-section at the corresponding elevation are extracted. Then, the centroid trajectory point cloud is constructed based on the centroid coordinates of the cross-section at all elevations. Step 3: Perform spatial straight line fitting on the centroid coordinates of all cross sections based on the centroid trajectory point cloud to obtain the structural axis representing the spatial attitude of the structure; Step 4: Calculate the local dispersion of each section based on the distance of the centroid coordinates of the cross section from the structural axis, and determine the fitting weight of the cross section based on the local dispersion; at the same time, construct the spatial trajectory curve of the centroid of the cross section based on the horizontal displacement vector between the centroids of adjacent cross sections, and calculate the local curvature change rate of the curve. Step 5: Perform weighted spatial straight line fitting on the centroid coordinates of each section based on the fitting weights to determine the first corrected verticality; perform segmented processing on the centroid trajectory point cloud based on the local curvature change rate and calculate the local verticality of each sub-segment to determine the second corrected verticality; and merge the first corrected verticality and the second corrected verticality to generate the structural verticality evaluation result of the target structure. Based on the fitting weights of each section, a weighted spatial straight line fitting is performed on the centroid coordinates of all sections. By minimizing the weighted sum of squared distances, the weighted corrected structural axis is calculated, and the angle between the weighted corrected structural axis and the vertical direction is calculated. This angle is used as the first corrected perpendicularity. Based on the local curvature change rate, a curvature change rate threshold is set. The curve segments corresponding to the local curvature change rate exceeding the threshold are regarded as significantly deformed segments. The two endpoints of the segment are used as segmentation points to divide the centroid trajectory point cloud into several continuous sub-segments. The centroid coordinates of the cross-sections in each sub-segment are independently fitted with spatial straight lines to obtain the local axis of each sub-segment. The angle between the local axis of each sub-segment and the vertical direction is calculated as the local verticality of each sub-segment. The number of cross-sections contained in each sub-segment is used as the fusion weight of the sub-segment. The local verticality of all sub-segments is weighted and averaged to obtain the second corrected verticality.
2. The structural verticality measurement method based on UAV 3D modeling according to claim 1, characterized in that: The specific process for acquiring the sequence image data is as follows: Centered on the target structure, a continuous spiral ascent route is generated using flight path planning software. The UAV flies along the route at a constant lateral distance and ascent speed, and takes equidistant shots according to a preset overlap threshold during flight, so that the spatial distance between the exposure center points of adjacent images remains constant, thereby acquiring a sequence of image data covering the entire height of the target structure from bottom to top. The lateral distance refers to the spatial relative distance between the UAV and the surface of the target structure; The overlap threshold includes forward overlap and lateral overlap. Forward overlap refers to the proportion of the overlapping area between two adjacent images to the area of a single image, while lateral overlap refers to the proportion of the overlapping area between two adjacent images whose exposure center points are on the same vertical line to the area of a single image.
3. The structural verticality measurement method based on UAV 3D modeling according to claim 2, characterized in that: The specific execution process of step 2 is as follows: Import the structural point cloud model into the point cloud processing software. Manually select the main area of the target structure in the visualization interface of the point cloud processing software, and crop out the ground, surrounding attachments and background noise points to obtain the cropped structural point cloud data. Using the bottom surface of the target structure as a reference, the clipped structural point cloud data is horizontally sliced at fixed intervals along the vertical direction to obtain several layers of cross-sectional point sets perpendicular to the vertical direction. For each layer of cross-sectional point set, a corresponding two-dimensional fitting model is selected according to the cross-sectional geometry type of the target structure. The RANSAC random sampling consensus algorithm is used for iterative fitting. In each iteration, the minimum number of non-collinear points required to constitute the two-dimensional fitting model are randomly selected. The model parameter set representing the current candidate geometry is calculated. Points in the cross-sectional point set whose distance to the boundary of the candidate geometry is less than a preset threshold are counted as interior points. After a preset number of iterations, the model parameter set with the most interior points is retained as the optimal fitting result. The interior point set of the optimal fitting result is used for least squares optimization. Finally, the centroid coordinates of the cross-section at the corresponding elevation are output. After performing the above fitting operation on the cross-sectional point set at all elevations, a centroid trajectory point cloud is constructed based on the spatial location of the centroid coordinates of all cross-sections.
4. The structural verticality measurement method based on UAV 3D modeling according to claim 3, characterized in that: The RANSAC random sampling consensus algorithm is used for iterative fitting operations, based on the following logic: The cross-sectional geometry of the target structure includes circular cross-section and rectangular cross-section; When the cross-sectional geometry is circular, the two-dimensional fitting model used is the circle equation. In each iteration, the minimum number of non-collinear points required to form the fitted model are randomly selected. Specifically, three non-collinear points are randomly selected. Based on the coordinates of these three points, the model parameter set representing the current candidate circle is calculated. The model parameter set includes the center coordinates of the circle. and radius ; When the cross-sectional geometry is rectangular, the two-dimensional fitting model used includes the equations of four boundary lines: The equation of the left boundary line is determined by the coordinates of the rectangle's center, the angle of rotation of the rectangle around the center, and the half-width of the rectangle. Specifically, it is the equation of the line corresponding to the left boundary of the rectangle in the rotated coordinate system. The equation of the right boundary line is determined by the coordinates of the rectangle's center, the angle of rotation of the rectangle around the center, and the half-width of the rectangle. Specifically, it is the equation of the line corresponding to the right boundary of the rectangle in the rotated coordinate system. The equation of the upper boundary line is determined by the coordinates of the center of the rectangle, the rotation angle of the rectangle around the center, and the half height of the rectangle. Specifically, it is the equation of the line corresponding to the upper boundary of the rectangle in the rotated coordinate system. The equation of the lower boundary line is determined by the coordinates of the center of the rectangle, the rotation angle of the rectangle around the center, and the half height of the rectangle. Specifically, it is the equation of the line corresponding to the lower boundary of the rectangle in the rotated coordinate system. In each iteration, a minimum number of non-collinear points are randomly selected to form the fitting model. Specifically, four non-collinear points are randomly selected. Based on the coordinates of these four points, the model parameter set representing the current candidate rectangle is calculated. This model parameter set includes the coordinates of the rectangle's center. Angle of rotation of a rectangle around its center Rectangle half-width and the half height of the rectangle .
5. The structural verticality measurement method based on UAV 3D modeling according to claim 1, characterized in that: The specific execution process of step 3 is as follows: Using the centroid coordinates of all elevation points in the centroid trajectory point cloud as the input point set, spatial straight line fitting is performed using the least squares method. The spatial straight line equation is expressed symmetrically as follows: the difference between the coordinates of any point on the straight line and the coordinates of the reference point along each coordinate axis is proportional to the components of the corresponding direction vector; where the reference point (… Let be the coordinates of any point on the line. ) represents the direction vector of the structural axis; By minimizing the sum of the squared distances from the centroid coordinates of all cross sections to the spatial line, the optimal line parameters are calculated, thereby obtaining the structural axis characterizing the spatial attitude of the structure, and the direction vector corresponding to this structural axis. This refers to the overall tilt direction of the target structure in three-dimensional space.
6. The structural verticality measurement method based on UAV 3D modeling according to claim 5, characterized in that: Based on the distance of the centroid coordinates of the cross sections from the structural axis, the local dispersion of each cross section is calculated, specifically as follows: Let the coordinates of any point on the structural axis be... ( ), mark it as the reference point, for the first Centroid coordinates of each cross section , To find the index of a section, first calculate the vector pointing from the reference point to the centroid of the section. Then, perform a cross product operation between this vector and the direction vector of the structural axis. Take the modulus of the cross product vector, and finally divide it by the modulus of the direction vector of the structural axis. The resulting value is the index of the section. Spatial distance from the centroid of each section to the structural axis , the spatial distance As the first Local dispersion of a cross section; Calculate the local dispersion of all cross sections, take the reciprocal of the local dispersion of each cross section as the initial weight of that cross section, and normalize the initial weights of all cross sections so that the sum of the fitting weights of all cross sections is 1, thus obtaining the final fitting weights of each cross section.
7. The structural verticality measurement method based on UAV 3D modeling according to claim 1, characterized in that: In step 4, the specific process of constructing the spatial trajectory curve of the centroid of the cross section and calculating the local rate of change of curvature of the curve is as follows: Sort the centroid coordinates of all elevations in ascending order of elevation to obtain an ordered sequence of centroid points. ,in , For the first The elevation of each section, and , The number of cross sections is given; the horizontal displacement vector between the centroids of adjacent cross sections is calculated, that is, the plane coordinates of two adjacent centroids are taken to construct the displacement vector on the horizontal plane, and the centroids of adjacent cross sections are connected in sequence to construct the spatial trajectory curve of the centroids of the cross sections; For any three adjacent centroid points of the cross section, first calculate the vector from the previous point to the current point, the vector from the current point to the next point, and the vector from the previous point to the next point. Then, calculate the magnitude of the cross product of the first two vectors. Multiply this magnitude by 2 and divide it by the product of the magnitudes of the first two vectors and the third vector. The resulting value is the local curvature of the trajectory curve determined by these three points at the current point. For each centroid point of the cross section, the local curvature is calculated to obtain a local curvature sequence. The two endpoints are not included in the calculation; The local curvature change rate between adjacent sections is calculated based on the local curvature sequence, specifically by taking the first... The local curvature at the centroid of the first cross section and the first The difference in local curvature at the centroid of each cross section, and then taking the absolute value of this difference, yields the spatial trajectory curve at the [number]th [section]. The section to the first The rate of change of local curvature of this section of the curve.
8. The structural verticality measurement method based on UAV 3D modeling according to claim 1, characterized in that: The specific process of fusing the first and second corrected verticality to generate the final structural verticality evaluation result is as follows: Calculate the variance of the local dispersion of all sections based on the local dispersion of all sections, use the reciprocal of the variance plus 1 as the fusion weight coefficient, use the fusion weight coefficient as the weight of the first corrected verticality, and use 1 minus the fusion weight coefficient as the weight of the second corrected verticality. The first and second corrected verticality are then weighted and summed to obtain the final structural verticality evaluation result.
Citation Information
Patent Citations
Building structure perpendicularity detection method based on point cloud robust self-adaption
CN113124782A
Verticality non-contact laser radar detection system
CN118009982A
High pier verticality detection method and system
CN118941522A