Roof measurement method and equipment based on 3D scanning
By using three -dimensional scanning actual measurement methods, using drones or three -dimensional laser scanners to collect data, to extract the actual outline characteristics of the roof and calculate the construction deviation of construction, solve the problem of low measurement efficiency and insufficient accuracy in the existing technology. It has achieved efficient and accurate roof data collection and processing.
Patent Information
- Application Number
- CN202411545518.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-01
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-11-01
AI Technical Summary
The existing roof measurement and measurement methods are mainly measured by manual tape measure, with low efficiency and limited accuracy, making it difficult to fully and accurately reflect the actual roof situation.
The actual measurement method based on three -dimensional scanning is used to obtain the status of the roof through the low -altitude drone or the three -dimensional laser scanner, prepare the point cloud data, extract the actual contour characteristics of the roof, and calculate the construction deviation.
Realize the current data of fast, efficient, and accurate collection of roofing status quo, automated processing data, and intelligently generate the actual contour characteristics of the roof structure, and improve the accuracy and efficiency of the actual measurement of the roof.
Smart Images

Figure CN119063705B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a roof actual measurement method and equipment based on three-dimensional scanning. Background Art
[0002] Roofing engineering is an important part of construction engineering, which is related to the functional use and aesthetic requirements of housing buildings. It involves the collaborative work of many subcontracting units such as civil engineering, installation, curtain wall, etc. The communication and coordination of various units are usually based on engineering drawings or construction models. However, during the construction of roof building walls and equipment foundations, due to many factors such as temporary adjustments to equipment placement plans and deviations in building structure construction, there are large differences between the actual built structure and the design and construction model, which increases the time and labor costs of collaborative work among various units. Therefore, after the completion of the roof civil construction, project technicians are often required to quickly and accurately measure the current status of the roof, and adjust the roof design and construction model in a timely manner to lay the foundation for subsequent roof in-depth design, construction briefing, and equipment installation.
[0003] At present, the actual measurement method of roof is still mainly based on manual tape measurement. This method has low efficiency, especially on large or complex roofs. It often takes a lot of time to complete all-round measurement. The measurement accuracy is limited. Due to the operator's experience, tape measure accuracy and environmental conditions, it is often difficult to ensure that the measurement results are completely consistent with the actual size. Key dimensions may be omitted, and the actual situation of the roof cannot be fully and accurately reflected. Summary of the invention
[0004] The purpose of the present invention is to provide a method and equipment for measuring the actual volume of a roof based on three-dimensional scanning.
[0005] In order to solve the above problems, the present invention provides a roof measurement method based on three-dimensional scanning, comprising:
[0006] Step 1: Obtain a sequence of images of the current status of the roof through a low-altitude drone, or obtain the current point cloud of the roof structure at each 3D scanning site through a station-type or mobile 3D laser scanner;
[0007] Step 2: Based on the sequence images of the roof status or the point clouds of the roof structure status at each 3D scanning station, pre-process and obtain the measured point clouds of the roof;
[0008] Step 3: Extract the actual contour features of the roof based on the measured point cloud of the roof;
[0009] Step 4: Calculate the construction deviation of the roof structure based on the actual roof contour characteristics.
[0010] Furthermore, in the above method, step 1: obtaining a sequence of images of the current status of the roof by a low-altitude drone, or obtaining a point cloud of the current status of the roof structure at each 3D scanning site by a station-type or mobile 3D laser scanner, includes:
[0011] Step 1.1: For low-altitude drones, select the preset oblique photography mission flight altitude, heading and lateral overlap parameters according to the roof structure design drawing, and determine the drone oblique photography route; for station-type or mobile 3D laser scanners, determine the 3D scanner station location and scanning path according to the roof structure design drawing and current status;
[0012] Step 1.2: Select the intersection points of the horizontal and vertical axes of the roof layer evenly distributed around the site as the roof control points, use a level or total station to calculate the elevation coordinates of the control points, and thus obtain the real three-dimensional coordinates of the control points; if the intersection points of the horizontal and vertical axes of the roof layer are located inside the structural column, use a one-meter line to draw out auxiliary intersection points as control points, and then calculate the three-dimensional coordinates of the auxiliary intersection points;
[0013] Step 1.3: Place scanning targets at the control points described in step 1.2; for low-altitude drones, follow the drone tilt photography route described in step 1.1 to perform aerial photography tasks to collect sequence images of the roof status; for station-type or mobile 3D laser scanners, determine the scanning accuracy of the 3D scanner according to the project measurement accuracy requirements, and determine the scanning accuracy of the 3D scanning site set S according to the 3D scanning site set S. F and scanning path L F The substation collects the current point cloud PC0 of the roof structure at each 3D scanning site.
[0014] Furthermore, in the above method, step 1.1: for a station-type or mobile 3D laser scanner, determining the station location and scanning path of the 3D scanner according to the roof structure design drawing and the current status includes:
[0015] Step 1.1.1: Obtain the design and construction plan layout of the roof structure, and discretely place a set of candidate measuring station locations S = {S1, S2, …, S i , …, S m}, and discretize the side surfaces of structures such as roof building walls and equipment foundations into a target line segment set T={t1, t2, …, t j , …, t n}, where the target line segment length is 10 cm, and the side surface shorter than the target line segment length is no longer discretized;
[0016] Step 1.1.2: Determine the scanning distance d and scanning angle θ of the scanner according to the scanner model and the required data accuracy, and determine the position S of each candidate measuring station by visibility analysis based on factors such as the scanning distance d, scanning angle θ and spatial occlusion relationship. i The corresponding candidate visible target line segment set T i ⊆ T;
[0017] Step 1.1.3: Traverse the target segment t in the target segment set T j , if t j Appears in the visible target segment set T i In the j Visibility index V ij =1, otherwise V ij =0, and the target line segment t is calculated from this j The weight coefficient w j for:
[0018] ;
[0019] Step 1.1.4: Calculate the station position S according to the target line segment weight coefficient described in step 1.1.3 i The weight coefficient W i for:
[0020] ;
[0021] Step 1.1.5: Select the global weight coefficient W i The maximum optimal measuring station position S i As the starting point, search for the optimal station position within the radius of 0.8d~1.5d of the starting point until 90% of the target line segments are included in the visible target line segment set, and then stop searching. At this time, the 3D scanner station position set S0={S i , …} ⊆ S;
[0022] Step 1.1.6: Based on the ant colony algorithm, optimize the path between each point in the three-dimensional scanner station location set S0 to obtain the shortest three-dimensional scanning path L0;
[0023] Step 1.1.7: Obtain the deviation between the current status of the project and the roof structure design drawing, and fine-tune the 3D scanner station position according to the deviation between the current status of the project and the roof structure design drawing and the actual scanning equipment; based on the fine-tuned 3D scanner station position, determine the final 3D scanning station set S from the 3D scanner station position set S0 and the 3D scanning path L0. F and scanning path L F .
[0024] Furthermore, in the above method, step 2: based on the sequence images of the roof status or the point clouds of the roof structure status at each 3D scanning station, pre-processing to obtain the measured point clouds of the roof includes:
[0025] Step 2.1: For low-altitude drones, use real-scene modeling software to perform aerial triangulation and 3D reconstruction on the sequence of images of the roof status collected in step 1.3, and generate point cloud PC1 of the oblique photography of the roof structure; for station-type or mobile 3D laser scanners, use the sampling consistency initial registration algorithm to extract the fast point feature histogram of the roof structure status point cloud PC0 of each 3D scanning station in step 1.3, and obtain the coordinate transformation matrix between the feature points of the same name to complete the rough registration of the station cloud, and then use the iterative nearest neighbor algorithm to continuously iteratively adjust the rigid transformation parameters between the point clouds to minimize the distance error between the point clouds, complete the precise registration of the station cloud, and output the point cloud PC2 of the roof structure as a whole after the registration is completed;
[0026] Step 2.2: Search the point cloud subset of the scanned target described in step 1.3 in point cloud PC1 or point cloud PC2, and extract the center coordinates of the target point cloud by fitting, and then calculate the transformation matrix from the point cloud coordinate system to the real world coordinate system based on the least squares method and the real three-dimensional coordinates of the control points described in step 1.2, and apply the transformation matrix to point cloud PC1 or point cloud PC2 to obtain the overall point cloud PC3 of the roof structure in the real world coordinate system;
[0027] Step 2.3: For the overall point cloud PC3 of the roof structure obtained in step 2.2, delete the non-object point cloud; and based on the Euclidean clustering algorithm, delete the non-connected point cloud in the object point cloud; based on the statistical filtering method, identify and delete the outliers to obtain the accurately denoised roof measured point cloud PC4.
[0028] Furthermore, in the above method, step 3: extracting the actual contour features of the roof based on the measured point cloud of the roof, includes:
[0029] Step 3.1: Taking the roof slab elevation as a reference, obtain the point cloud slices of the measured point cloud PC4 of the roof between the elevation segment z=h to z=h+Δh in the vertical direction, where h depends on the roof slope and the maximum height difference, and the value of h is 5 cm, and the value of Δh is 2 cm;
[0030] Step 3.2: Set the voxel grid size d v , divide the point cloud space into voxel grids, and select the data point in the non-empty voxel grid that is closest to the centroid of the point set as the representative point of the voxel grid, thereby generating the downsampled point cloud of the point cloud slice described in step 3.1, where d v The value of is 0.05m;
[0031] Step 3.3: Flatten the downsampled point cloud described in step 3.2 to the z=h plane along the elevation direction to generate a two-dimensional point cloud Q;
[0032] Step 3.4: Set the Euclidean clustering distance threshold d0, and divide the two-dimensional point cloud Q into several point cloud subsets Q based on the Euclidean clustering distance threshold d0 i (i = 1, 2, …, t);
[0033] Step 3.5: Fitting point cloud subset Q based on RANSAC i Several best fitting straight line segments in ;
[0034] Step 3.6: Point cloud subset Q i The best fitting straight line segments and their connection relationships in are corrected.
[0035] Furthermore, in the above method, step 3.5: fitting point cloud subset Q based on RANSAC i Several best fitting straight line segments in , including:
[0036] Step 3.5.1: Randomly select a subset of point clouds Q i Two data points within, calculate the corresponding space line expression:
[0037] ,
[0038] Among them, (m, n, 0) is the direction vector of the space line, and (x0, y0, h) is the coordinates of a known point on the space line;
[0039] Step 3.5.2: Set the distance threshold [d P ], calculate the point cloud subset Q i All data points inside P j (x j , y j , h) to the distance d from the spatial straight line described in step 3.5.1 Pj , and compare the distance d Pj With distance threshold [d P ], if d Pj <[d P ], the data point is considered as an interior point; otherwise, the data point is considered as an exterior point, and the number of interior points N of the current spatial straight line is counted; where the distance d Pj The calculation method is:
[0040] ,
[0041] Step 3.5.3: Repeat steps 3.5.1 and 3.5.2 until the number of iterations reaches the set maximum number of iterations N.max ;
[0042] Step 3.5.4: Compare the number of inliers in the spatial line in each iteration process, select the spatial line with the largest number of inliers as the best fitting line, and remove the inliers from the original point cloud subset Q i Eliminate;
[0043] Step 3.5.5: Calculate the intersection point (x S , y S , h) and (x E , y E , h), as the endpoint of the best fitting straight line segment, and record the endpoint and direction vector (x0, y0, h) of the current best fitting straight line segment;
[0044] Step 3.5.6: Update the point cloud subset Q in step 3.5.4 i Repeat steps 3.5.1 to 3.5.5 to continuously extract the remaining spatial lines in the point cloud until the point cloud subset Q i When the ratio of the number of remaining external points in the cloud to the number of original point clouds is less than the set minimum ratio threshold [p], the loop stops.
[0045] Furthermore, in the above method, step 3.6: for the point cloud subset Q i The best fitting straight line segments and their connection relationships in are modified, including:
[0046] Step 3.6.1: Discretize any best-fit straight line segment into several short line segments with lengths equal to the smaller of the specified threshold [d1] and 1 / 10 of the current line segment length, and calculate the number of point clouds within the circular range with the midpoint of the short line segment as the center and 1 / 3 of the short line segment length as the radius. If the number of point clouds is less than the specified threshold [n], discard the short line segment; otherwise, retain the short line segment and reconnect it with the adjacent short line segment;
[0047] Step 3.6.2: Calculate the intersection of any two non-approximately parallel straight line segments. If the distances from the intersection to the endpoints of the two straight lines near the intersection are both less than the specified threshold [d2], the intersection is considered valid and the two existing straight line segments are extended or truncated to the intersection. If only one of the two distances is less than the specified threshold [d2], only the existing straight line segment with a distance less than the threshold is extended or truncated to the intersection, and the other straight line segment is not processed. If both distances are not less than the specified threshold [d2], both straight line segments are not processed.
[0048] Step 3.6.3: Based on the straight line segments processed in step 3.6.2, select an intersection point as the starting growth point for closed-loop detection, and continue to grow along the extension direction of a straight line segment. When encountering the next intersection point, select the growth direction of the next straight line segment according to the "maximum left turn principle". When encountering the end of the straight line segment, try to find the next closest intersection point according to the "nearest extension principle" and continue to grow. If it is finally closed to the starting growth point, it means that the closed-loop detection growth path is closed. Repair the interrupted straight line segments according to the growth path to obtain the actual contour features of the roof; otherwise, it indicates that there is data scanning missing in this cluster of straight line segments, and it is rejected. The interrupted straight line segment is repaired, and the user is prompted to supplement the point cloud data or manually repair the contour features to obtain the actual contour features of the roof; wherein, the "maximum left turn principle" is that if there are multiple straight line segments intersecting at a certain intersection, the straight line segment with the smallest angle with the extension direction of the current straight line segment is selected as the subsequent growth direction; the "nearest extension principle" is to draw a rectangular extension area with the extension line of the interrupted straight line segment as the center line and the specified threshold [d3] as the width along the extension direction of the interrupted straight line segment until there is a straight line segment endpoint in the area, and select the straight line segment endpoint as the next nearest intersection to continue growing.
[0049] Furthermore, in the above method, step 4: calculating the construction deviation of the roof structure based on the actual roof profile features includes:
[0050] Step 4.1: Obtain the design and construction plan or 3D model of the roof structure, and extract the design outline of the structure based on the line type or family;
[0051] Step 4.2: The actual roof contour feature extracted in step 3 is translated to the roof floor elevation along the elevation direction, and based on the key shape features and the parameters of the Euclidean distance of the contour center, the matching relationship between the design contour and the actual roof contour is determined to obtain a matching pair of the design contour and the actual roof contour;
[0052] Step 4.3: For the matching pair of the design contour and the actual roof contour, discretize the actual roof contour into a number of actual contour points according to a preset step length, and calculate the Euclidean distance from the actual contour point to the design contour, which is the construction deviation of the actual roof structure;
[0053] Step 4.4: According to the given construction deviation coloring scheme, the deviation gap between the design contour and the actual roof contour features is colored according to the construction deviation of the actual roof structure, where the specific colored area is defined as the quadrilateral area between the 1 / 2 preset step length before and after the actual roof contour point and the corresponding design contour.
[0054] According to another aspect of the present invention, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein when the computer-executable instructions are executed by a processor, the processor is caused to: adopt any of the methods described above.
[0055] According to another aspect of the present invention, there is provided a computer device, comprising:
[0056] Processor; and
[0057] A memory arranged to store computer executable instructions which, when executed, cause the processor to: a method as described in any one of the above.
[0058] Compared with the prior art, the present invention provides a method and equipment for measuring the roof based on three-dimensional scanning. The present invention efficiently, accurately and comprehensively collects the data of the current status of the roof after the construction is completed, and automatically processes the data, intelligently generates the actual contour features of the roof structure, and provides data support for subsequent roof in-depth design, construction briefing and equipment installation.
[0059] The present invention can not only quickly, efficiently, comprehensively and accurately collect the current point cloud data of the roof after the construction is completed, but also automatically process the point cloud data, extract the actual contour features of the roof structure in the measured point cloud, and compare it with the design and construction drawings or models, calculate the construction deviation of the structure, greatly simplify the existing roof measurement process, improve the accuracy and efficiency of the roof measurement, and provide accurate data support for subsequent engineering applications such as roof in-depth design and construction briefing. In addition, the present invention has strong adaptability, excellent application stability in complex scenes, and can be expanded to many scenes such as in-depth design of computer rooms, verification of indoor space topological relationships, and indoor fine decoration. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Figure 1 It is a structural diagram of equipment for a roof measurement method based on three-dimensional scanning according to an embodiment of the present invention;
[0061] Figure 2 It is a flow chart of a roof measurement method based on three-dimensional scanning according to an embodiment of the present invention;
[0062] Figure 3 It is a flow chart of point cloud contour feature extraction according to an embodiment of the present invention. DETAILED DESCRIPTION
[0063] The present invention is further described in detail below in conjunction with the accompanying drawings.
[0064] In a typical configuration of the present application, the terminal, the device of the service network and the trusted party all include one or more processors (CPU), input / output interfaces, network interfaces and memories.
[0065] Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0066] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory media such as modulated data signals and carrier waves.
[0067] like Figure 2 As shown in the figure, the roof measurement method based on 3D scanning includes:
[0068] Step 1: Data collection of the current status of the roof structure: obtain the current status sequence images of the roof through a low-altitude drone, or obtain the current status point cloud of the roof structure at each 3D scanning site through a station-type or mobile 3D laser scanner;
[0069] Step 1.1: For low-altitude UAVs, select reasonable oblique photography mission flight altitude, heading, lateral overlap and other parameters according to the roof structure design drawing, and determine the oblique photography route of the UAV; for station-type or mobile 3D laser scanners, according to the roof structure design drawing and current situation, follow the steps below to determine the 3D scanner station location and scanning path;
[0070] Step 1.1.1: Obtain the design and construction plan layout of the roof structure, and discretely place a set of candidate measuring station locations S = {S1, S2, …, S i , …, S m}, and discretize the side surfaces of structures such as roof building walls and equipment foundations into a target line segment set T={t1, t2, …, t j , …, t n}, preferably, the target line segment length is 10 cm, and the side surface shorter than the target line segment length is no longer discretized;
[0071] Step 1.1.2: Determine the scanning distance d and scanning angle θ of the scanner according to the scanner model and the required data accuracy, and determine the position S of each candidate measuring station by visibility analysis based on factors such as the scanning distance d, scanning angle θ and spatial occlusion relationship. i The corresponding candidate visible target line segment set T i ⊆ T;
[0072] Step 1.1.3: Traverse the target segment t in the target segment set T j , if t j Appears in the visible target segment set T i In the j Visibility index V ij =1, otherwise V ij =0, and the target line segment t is calculated from this j The weight coefficient w j for:
[0073] ;
[0074] Step 1.1.4: Calculate the station position S according to the target line segment weight coefficient described in step 1.1.3 i The weight coefficient W i for:
[0075] ;
[0076] Step 1.1.5: Select the global weight coefficient W i The maximum optimal measuring station position S i As the starting point, search for the optimal station position within the radius of 0.8d~1.5d until 90% of the target line segments are included in the visible target line segment set, and then stop searching. At this time, the 3D scanner station position set S0={S i , …} ⊆ S;
[0077] Step 1.1.6: Optimize the path between each point in the three-dimensional scanner station location set S0 based on the ant colony algorithm to obtain the shortest three-dimensional scanning path L0;
[0078] Step 1.1.7: Obtain the deviation between the current status of the project and the roof structure design drawing, and fine-tune the 3D scanner station position according to the deviation between the current status of the project and the roof structure design drawing and the actual scanning equipment; based on the fine-tuned 3D scanner station position, determine the final 3D scanning station set S from the 3D scanner station position set S0 and the 3D scanning path L0. F and scanning path LF .
[0079] Step 1.2: Select the intersection points of the horizontal and vertical axis networks of the roof layer evenly distributed around the site as the roof control points, use a level or total station to measure the elevation coordinates of the control points, and thus obtain the true three-dimensional coordinates of the control points; if the intersection points of the horizontal and vertical axis networks of the roof layer are located inside the structural columns, use a one-meter line or other method to lead out auxiliary intersection points as control points, and then calculate the three-dimensional coordinates of the auxiliary intersection points.
[0080] Step 1.3: Place scanning targets at the control points described in step 1.2; for low-altitude drones, follow the drone tilt photography route described in step 1.1 to perform aerial photography tasks to collect sequence images of the roof status; for station-type or mobile 3D laser scanners, determine the scanning accuracy of the 3D scanner according to the project measurement accuracy requirements, and determine the scanning accuracy of the 3D scanning site set S according to the 3D scanning site set S. F and scanning path L F The substation collects the current point cloud PC0 of the roof structure at each 3D scanning site.
[0081] Step 2: Preprocessing of roof structure point cloud data: Based on the sequence images of the roof status or the point clouds of the roof structure status at each 3D scanning station, preprocess the actual measured point cloud of the roof;
[0082] Step 2.1: For low-altitude drones, use real-scene modeling software to perform aerial triangulation and 3D reconstruction on the sequence of images of the roof status collected in step 1.3 to generate point cloud PC1 of the roof structure oblique photography; for station-type or mobile 3D laser scanners, use the sampling consistency initial registration algorithm (SAC-IA) to extract the fast point feature histogram of the roof structure status point cloud PC0 of each 3D scanning station in step 1.3, and obtain the coordinate transformation matrix between the feature points of the same name to complete the rough registration of the station cloud, and then use the iterative nearest neighbor point algorithm (ICP) to continuously iteratively adjust the rigid transformation parameters between the point clouds to minimize the distance error between the point clouds, complete the precise registration of the station cloud, and output the point cloud PC2 of the roof structure as a whole after the registration is completed;
[0083] Step 2.2: Search the point cloud subset of the scanned target described in step 1.3 in point cloud PC1 or point cloud PC2 and extract the center coordinates of the target point cloud by fitting, then calculate the transformation matrix from the point cloud coordinate system to the real world coordinate system based on the least squares method and the real three-dimensional coordinates of the control points described in step 1.2, and apply the transformation matrix to point cloud PC1 or point cloud PC2 to obtain the overall point cloud PC3 of the roof structure in the real world coordinate system;
[0084] Step 2.3: For the overall point cloud PC3 of the roof structure obtained in step 2.2, delete the non-object point cloud, and delete the non-connected point cloud in the object point cloud based on the Euclidean clustering algorithm, identify and delete the outliers based on the statistical filtering method, and obtain the accurately denoised roof measured point cloud PC4.
[0085] like Figure 3 As shown, step 3: extracting the actual contour features of the roof based on the measured point cloud of the roof;
[0086] Step 3.1: Taking the roof slab elevation as the reference, obtain the point cloud slices of the measured point cloud PC4 of the roof between the elevation segments z=h to z=h+Δh in the vertical direction. Preferably, h depends on the roof slope and the maximum height difference, and the general value can be 5 cm, and Δh is 2 cm.
[0087] Step 3.2: Set the voxel grid size d v , divide the point cloud space into voxel grids, and select the data point in the non-empty voxel grid that is closest to the centroid of the point set as the representative point of the voxel grid, thereby generating the downsampled point cloud of the point cloud slice described in step 3.1. Preferably, d v The value of is 0.05m;
[0088] Step 3.3: Flatten the downsampled point cloud described in step 3.2 to the z=h plane along the elevation direction to generate a two-dimensional point cloud Q;
[0089] Step 3.4: Set the Euclidean clustering distance threshold d0, and divide the two-dimensional point cloud Q into several point cloud subsets Q based on the Euclidean clustering distance threshold d0 i (i = 1, 2, …, t);
[0090] Step 3.5: Fitting point cloud subset Q based on RANSAC i Several best fitting straight line segments in ;
[0091] Step 3.5.1: Randomly select a subset of point clouds Q i Two data points within, calculate the corresponding space line expression:
[0092] ,
[0093] Among them, (m, n, 0) is the direction vector of the space line, and (x0, y0, h) is the coordinates of a known point on the space line;
[0094] Step 3.5.2: Set the distance threshold [d P ], calculate the point cloud subset Q i All data points inside P j (x j, y j , h) to the distance d from the spatial straight line described in step 3.5.1 Pj , and compare the distance d Pj With distance threshold [d P ], if d Pj <[d P ], the data point is considered as an interior point, otherwise it is considered as an exterior point, and the number of interior points N of the current spatial straight line is counted; where the distance d Pj The calculation method is:
[0095] ,
[0096] Step 3.5.3: Repeat steps 3.5.1 and 3.5.2 until the number of iterations reaches the set maximum number of iterations N. max ;
[0097] Step 3.5.4: Compare the number of inliers in the spatial line in each iteration process, select the spatial line with the largest number of inliers as the best fitting line, and remove the inliers from the original point cloud subset Q i Eliminate;
[0098] Step 3.5.5: Calculate the intersection point (x S , y S , h) and (x E , y E , h), as the endpoint of the best fitting straight line segment, and record the endpoint and direction vector (x0, y0, h) of the current best fitting straight line segment;
[0099] Step 3.5.6: Update the point cloud subset Q in step 3.5.4 i Repeat steps 3.5.1 to 3.5.5 to continuously extract the remaining spatial lines in the point cloud until the point cloud subset Q i The loop stops when the ratio of the number of remaining external points in the cloud to the number of original point clouds is less than the set minimum ratio threshold [p];
[0100] Step 3.6: Point cloud subset Q i Correction of the best fitting straight line segments and their connection relationships in ;
[0101] Step 3.6.1: Discretize any best-fit straight line segment into several short line segments whose lengths are the smaller of the specified threshold [d1] and 1 / 10 of the current line segment length, and calculate the number of point clouds within the circular range with the midpoint of the short line segment as the center and 1 / 3 of the short line segment length as the radius. If the number of point clouds is less than the specified threshold [n], discard the short line segment. Otherwise, keep the short line segment and reconnect it with the adjacent short line segment. Preferably, the specified threshold [d1] = 4 cm;
[0102] Step 3.6.2: Calculate the intersection of any two non-approximately parallel straight line segments. If the distances from the intersection to the endpoints of the two straight lines near the intersection are both less than the specified threshold [d2], the intersection is considered valid and the two existing straight line segments are extended or truncated to the intersection. If only one of the two distances is less than the specified threshold [d2], only the existing straight line segment with a distance less than the threshold is extended or truncated to the intersection, and the other straight line segment is not processed. If both distances are not less than the specified threshold [d2], both straight line segments are not processed.
[0103] Step 3.6.3: Based on the straight line segments processed in step 3.6.2, select an intersection point as the starting growth point for closed-loop detection, and continue to grow along the extension direction of a straight line segment. When encountering the next intersection point, choose the next straight line segment growth direction according to the "maximum left turn principle". When encountering the end of the straight line segment, try to find the next closest intersection point according to the "nearest extension principle" and continue to grow. If it is finally closed to the starting growth point, it means that the closed-loop detection growth path is closed. Repair the interrupted straight line segment according to the growth path to obtain the actual contour features of the roof; otherwise, it indicates that there is data scanning missing in this cluster of straight line segments. In such case, the interrupted straight line segment is refused to be repaired, and the user is prompted to supplement the point cloud data or manually repair the contour features to obtain the actual contour features of the roof; the "maximum left turn principle" is that if there are multiple straight line segments intersecting at a certain intersection, the straight line segment with the smallest angle with the extension direction of the current straight line segment is selected as the subsequent growth direction; the "nearest extension principle" is to draw a rectangular extension area along the extension direction of the interrupted straight line segment with the extension line of the interrupted straight line segment as the center line and the specified threshold [d3] as the width until there is a straight line segment endpoint in the area, and select the straight line segment endpoint as the next nearest intersection to continue growing.
[0104] Step 4: Calculate the construction deviation of the roof structure based on the actual contour characteristics of the roof;
[0105] Step 4.1: Obtain the design and construction plan or 3D model of the roof structure, and extract the design outlines of the wall buildings and equipment foundations at the roof slab elevation based on the line type or family;
[0106] Step 4.2: The actual roof contour features extracted in step 3 are translated to the roof floor elevation along the elevation direction, and based on key shape features, contour center Euclidean distance and other specific parameters, the matching relationship between the design contour and the actual roof contour is determined to obtain a matching pair of the design contour and the actual roof contour;
[0107] Step 4.3: For the matching pair of the design contour and the actual roof contour, discretize the actual roof contour into a number of actual contour points according to a preset step length, and calculate the Euclidean distance from the actual contour point to the design contour, which is the construction deviation of the actual roof structure. Preferably, the preset step length is 1 cm;
[0108] Step 4.4: According to the given construction deviation coloring scheme, the deviation gap between the design contour and the actual roof contour features is colored according to the construction deviation of the actual roof structure, where the specific colored area is defined as the quadrilateral area between the 1 / 2 preset step before and after the actual contour point and the corresponding design contour.
[0109] like Figure 1 As shown, the roof measurement system based on three-dimensional scanning of the present invention includes:
[0110] Data acquisition module: used to quickly and accurately collect the current point cloud data of the building roof after the concrete structure is completed. The acquisition equipment includes but is not limited to station-type 3D laser scanners, mobile 3D laser scanners and low-altitude drones;
[0111] Data preprocessing module: used to preprocess the current point cloud data of the building roof to construct a complete point cloud model of the building roof, wherein the point cloud model of the building roof includes: a laser point cloud or an oblique photography point cloud model of the building roof, and the preprocessing method includes but is not limited to point cloud generation, station registration, coordinate system conversion and point cloud noise reduction, etc.;
[0112] Data processing module: comprising a contour feature extraction submodule and a construction deviation calculation submodule, which are used to extract the actual contour features of structures such as roof building walls and equipment foundations from the point cloud data of the roof structure of the point cloud model of the building roof, match the actual contour features of the structure with the design construction drawings or models, calculate the construction deviation of the roof structure, and generate a construction deviation chromatogram based on the construction deviation;
[0113] Data display module: used to display the actual contour characteristics of the structure and its construction deviation chromatogram compared with the design construction drawings or models, so that project modelers can adjust the model of the part with excessive deviation in time.
[0114] Specifically, 3D scanners collect precise point clouds of roof structures, ensuring the accuracy and integrity of the data. However, due to the lack of directly available point cloud automated processing tools, the point cloud data is unstructured and highly redundant, and manual picking and measurement of point clouds is inconvenient, resulting in difficulty and low efficiency in construction deviation measurement and model review.
[0115] The present invention provides a method and equipment for measuring the roof based on three-dimensional scanning. The present invention efficiently, accurately and comprehensively collects the data of the current status of the roof after the construction is completed, automatically processes the data, and intelligently generates the actual contour features of the roof structure, providing data support for subsequent roof in-depth design, construction briefing and equipment installation.
[0116] The present invention can not only quickly, efficiently, comprehensively and accurately collect the current point cloud data of the roof after the construction is completed, but also automatically process the point cloud data, extract the actual contour features of the roof structure in the measured point cloud, and compare it with the design and construction drawings or models, calculate the construction deviation of the structure, greatly simplify the existing roof measurement process, improve the accuracy and efficiency of the roof measurement, and provide accurate data support for subsequent engineering applications such as roof in-depth design and construction briefing. In addition, the method and system have strong adaptability, excellent application stability in complex scenarios, and can be expanded to many scenarios such as in-depth design of computer rooms, verification of indoor space topological relationships, and indoor fine decoration.
[0117] According to another aspect of the present invention, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein when the computer-executable instructions are executed by a processor, the processor is caused to: adopt any of the methods described above.
[0118] According to another aspect of the present invention, there is provided a computer device, comprising:
[0119] Processor; and
[0120] A memory arranged to store computer executable instructions which, when executed, cause the processor to: a method as described in any one of the above.
[0121] The detailed contents of the device embodiments of the present invention can be found in the corresponding parts of the method embodiments, which will not be described in detail here.
[0122] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0123] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including related data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and the like. In addition, some steps or functions of the present invention can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform various steps or functions.
[0124] In addition, a part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. The program instruction for calling the method of the present invention may be stored in a fixed or removable recording medium, and / or transmitted through a data stream in a broadcast or other signal-bearing medium, and / or stored in a working memory of a computer device that runs according to the program instruction. Here, according to an embodiment of the present invention, a device is included, the device including a memory for storing computer program instructions and a processor for executing program instructions, wherein, when the computer program instruction is executed by the processor, the device is triggered to run the method and / or technical solution based on the aforementioned multiple embodiments of the present invention.
[0125] It is obvious to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, from any point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any particular order.
Claims
1. A roof measurement method based on three-dimensional scanning, characterized in that: include: Step 1: Obtain a sequence of images of the current status of the roof through a low-altitude drone, or obtain the current point cloud of the roof structure at each 3D scanning site through a station-type or mobile 3D laser scanner; Step 2: Based on the sequence images of the roof status or the point clouds of the roof structure status at each 3D scanning station, pre-process and obtain the measured point clouds of the roof; Step 3: Extract the actual contour features of the roof based on the measured point cloud of the roof; Step 4: Calculate the construction deviation of the roof structure based on the actual contour characteristics of the roof; Step 1: Obtain a sequence of images of the current status of the roof through a low-altitude drone, or obtain the current point cloud of the roof structure at each 3D scanning site through a station-type or mobile 3D laser scanner, including: Step 1.1: For low-altitude drones, select the preset oblique photography mission flight altitude, heading and lateral overlap parameters according to the roof structure design drawing, and determine the drone oblique photography route; for station-type or mobile 3D laser scanners, determine the 3D scanner station location and scanning path according to the roof structure design drawing and current status; Step 1.2: Select the intersection points of the horizontal and vertical axes of the roof layer evenly distributed around the site as the roof control points, use a level or total station to calculate the elevation coordinates of the control points, and thus obtain the real three-dimensional coordinates of the control points; if the intersection points of the horizontal and vertical axes of the roof layer are located inside the structural column, use a one-meter line to draw out auxiliary intersection points as control points, and then calculate the three-dimensional coordinates of the auxiliary intersection points; Step 1.3: Place scanning targets at the control points described in step 1.2; for low-altitude drones, follow the drone tilt photography route described in step 1.1 to perform aerial photography tasks to collect sequence images of the roof status; for station-type or mobile 3D laser scanners, determine the scanning accuracy of the 3D scanner according to the project measurement accuracy requirements, and determine the scanning accuracy of the 3D scanning site set S according to the 3D scanning site set S. F and scanning path L F The substation collects the current point cloud PC0 of the roof structure at each 3D scanning station; Step 1.1: For station-type or mobile 3D laser scanners, determine the 3D scanner station location and scanning path according to the roof structure design and current status, including: Step 1.1.1: Obtain the design and construction plan layout of the roof structure, and discretely place a set of candidate measuring station locations S = {S1, S2, ..., S i ,…,S m }, and discretize the side surfaces of the roof building walls and equipment foundation structures into a target line segment set T = {t1, t2, …, t j ,…,t n }, where the target line segment length is 10 cm, and the side surface shorter than the target line segment length is no longer discretized; Step 1.1.2: Determine the scanning distance d and scanning angle θ of the scanner according to the scanner model and the required data accuracy, and determine the position S of each candidate measuring station by the visibility analysis of the scanning distance d, scanning angle θ and spatial occlusion relationship. i Corresponding candidate visible target line segment set Step 1.1.3: Traverse the target segment t in the target segment set T j , if t j Appears in the visible target segment set T i In the j Visibility index V ij =1, otherwise V ij = 0, and the target line segment t is calculated accordingly j The weight coefficient w j for: Step 1.1.4: Calculate the station position S according to the target line segment weight coefficient described in step 1.1.3 i The weight coefficient W i for: IN i =Σ j In j V ij Step 1.1.5: Select the global weight coefficient W i The maximum optimal measuring station position S i As the starting point, search for the optimal station position within the radius of 0.8d to 1.5d of the starting point until 90% of the target line segments are included in the visible target line segment set, and then stop searching. At this time, the 3D scanner station position set is obtained. Step 1.1.6: Based on the ant colony algorithm, optimize the path between each point in the three-dimensional scanner station location set S0 to obtain the shortest three-dimensional scanning path L0; Step 1.1.7: Obtain the deviation between the current status of the project and the roof structure design drawing, and fine-tune the 3D scanner station position according to the deviation between the current status of the project and the roof structure design drawing and the actual scanning equipment; based on the fine-tuned 3D scanner station position, determine the final 3D scanning station set S from the 3D scanner station position set S0 and the 3D scanning path L0. F and scanning path L F ; Step 3: Based on the measured point cloud of the roof, extract the actual contour features of the roof, including: Step 3.1: Taking the roof slab elevation as a reference, obtain the point cloud slices of the roof measured point cloud PC4 between the elevation segments z=h to z=h+Δh along the vertical direction, where h depends on the roof slope and the maximum height difference; Step 3.2: Set the voxel grid size d v , divide the point cloud space into voxel grids, and select the data point in the non-empty voxel grid that is closest to the centroid of the point set to which it belongs as the representative point of the voxel grid, thereby generating the downsampled point cloud of the point cloud slice described in step 3.1; Step 3.3: Flatten the downsampled point cloud described in step 3.2 to the z=h plane along the elevation direction to generate a two-dimensional point cloud Q; Step 3.4: Set the Euclidean clustering distance threshold d0, and divide the two-dimensional point cloud Q into several point cloud subsets Q based on the Euclidean clustering distance threshold d0 i , i=1,2,…,t; Step 3.5: Fitting point cloud subset Q based on RANSAC i Several best fitting straight line segments in ; Step 3.6: Point cloud subset Q i The best fitting straight line segments and their connection relationships in are corrected.
2. The method for measuring the roof based on three-dimensional scanning according to claim 1, characterized in that: Step 2: Based on the sequence images of the current status of the roof or the point clouds of the current status of the roof structure at each 3D scanning station, pre-process the measured point clouds of the roof, including: Step 2.1: For low-altitude drones, use real-scene modeling software to perform aerial triangulation and 3D reconstruction on the sequence of roof status images collected in step 1.3 to generate point cloud PC1 of oblique photography of the roof structure; for station-type or mobile 3D laser scanners, use the sampling consistency initial registration algorithm to extract the fast point feature histogram of the roof structure status point cloud PC0 of each 3D scanning station described in step 1.3, and obtain the coordinate transformation matrix between the feature points of the same name to complete the rough registration of the station cloud, and then use the iterative nearest neighbor algorithm to continuously iteratively adjust the rigid transformation parameters between the point clouds to minimize the distance error between the point clouds, complete the precise registration of the station cloud, and output the point cloud PC2 of the roof structure as a whole after the registration is completed; Step 2.2: Search the point cloud subset of the scanned target described in step 1.3 in point cloud PC1 or point cloud PC2, and extract the center coordinates of the target point cloud by fitting, and then calculate the transformation matrix from the point cloud coordinate system to the real world coordinate system based on the least squares method and the real three-dimensional coordinates of the control points described in step 1.2, and apply the transformation matrix to point cloud PC1 or point cloud PC2 to obtain the overall point cloud PC3 of the roof structure in the real world coordinate system; Step 2.3: For the overall point cloud PC3 of the roof structure obtained in step 2.2, delete the non-object point cloud; and based on the Euclidean clustering algorithm, delete the non-connected point cloud in the object point cloud; based on the statistical filtering method, identify and delete the outliers to obtain the accurately denoised roof measured point cloud PC4.
3. The method for measuring the roof based on three-dimensional scanning according to claim 1, characterized in that: Step 3.5: Fitting point cloud subset Q based on RANSAC i Several best fitting straight line segments in , including: Step 3.5.1: Randomly select a subset of point clouds Q i Two data points within, calculate the corresponding space line expression: Among them, (m,n,0) is the direction vector of the space line, and (x0,y0,h) is the coordinates of a known point on the space line; Step 3.5.2: Set the distance threshold [d P ], calculate the point cloud subset Q i All data points inside P j (x j ,y j ,h) to the distance d from the spatial straight line described in step 3.5.1 Pj , and compare the distance d Pj With distance threshold [d P ], if d Pj <[d P ], the data point is considered as an interior point; otherwise, the data point is considered as an exterior point, and the number of interior points N of the current spatial straight line is counted; where the distance d Pj The calculation method is: d Pj =|(x j -x0)·n-(y j -y0)·m|, Step 3.5.3: Repeat steps 3.5.1 and 3.5.2 until the number of iterations reaches the set maximum number of iterations N. max ; Step 3.5.4: Compare the number of inliers in the spatial line in each iteration process, select the spatial line with the largest number of inliers as the best fitting line, and remove the inliers from the original point cloud subset Q i Eliminate; Step 3.5.5: Calculate the intersection point (x S ,y S ,h) and (x E ,y E ,h), as the endpoint of the best fitting straight line segment, and record the endpoint and direction vector (x0,y0,h) of the current best fitting straight line segment; Step 3.5.6: Update the point cloud subset Q in step 3.5.4 i Repeat steps 3.5.1 to 3.5.5 to continuously extract the remaining spatial lines in the point cloud until the point cloud subset Q i When the ratio of the number of remaining external points in the cloud to the number of original point clouds is less than the set minimum ratio threshold [p], the loop stops.
4. The method for measuring the roof based on three-dimensional scanning according to claim 3, characterized in that: Step 3.6: Point cloud subset Q i The best fitting straight line segments and their connection relationships in are modified, including: Step 3.6.1: Discretize any best-fit straight line segment into several short line segments with lengths equal to the smaller of the specified threshold [d1] and 1 / 10 of the current line segment length, and calculate the number of point clouds within the circular range with the midpoint of the short line segment as the center and 1 / 3 of the short line segment length as the radius. If the number of point clouds is less than the specified threshold [n], discard the short line segment; otherwise, retain the short line segment and reconnect it with the adjacent short line segment; Step 3.6.2: Calculate the intersection of any two non-approximately parallel straight line segments. If the distances from the intersection to the endpoints of the two straight lines near the intersection are both less than the specified threshold [d2], the intersection is considered valid and the two existing straight line segments are extended or truncated to the intersection. If only one of the two distances is less than the specified threshold [d2], only the existing straight line segment with a distance less than the threshold is extended or truncated to the intersection, and the other straight line segment is not processed. If both distances are not less than the specified threshold [d2], both straight line segments are not processed. Step 3.6.3: Based on the straight line segment processed in step 3.6.2, select an intersection point as the starting growth point of the closed-loop detection, and continue to grow along the extension direction of a straight line segment. When encountering the next intersection point, follow the "maximum left turn principle" to select the next straight line segment growth direction. When encountering the end of the straight line segment, try to find the next closest intersection point according to the "nearest extension principle" and continue to grow. If it is finally closed to the starting growth point, it means that the closed-loop detection growth path is closed. Repair the interrupted straight line segment according to the growth path to obtain the actual contour features of the roof; otherwise, it indicates that there is data scanning missing in the straight line segment, and it is rejected. Repair the interrupted straight line segment and prompt the user to supplement the point cloud data or manually repair the contour features to obtain the actual contour features of the roof; the "maximum left turn principle" is that if there are multiple straight line segments intersecting at a certain intersection, the straight line segment with the smallest angle with the extension direction of the current straight line segment is selected as the subsequent growth direction; the "nearest extension principle" is to draw a rectangular extension area with the interrupted straight line segment extension line as the center line and the specified threshold [d3] as the width along the extension direction of the interrupted straight line segment until there is a straight line segment endpoint in the area, and select the straight line segment endpoint as the next nearest intersection to continue growing.
5. The method for measuring the roof based on three-dimensional scanning according to claim 1, characterized in that: Step 4: Calculate the construction deviation of the roof structure based on the actual roof contour characteristics, including: Step 4.1: Obtain the design and construction plan or 3D model of the roof structure, and extract the design outline of the structure based on the line type or family; Step 4.2: The actual roof contour feature extracted in step 3 is translated to the roof floor elevation along the elevation direction, and based on the key shape features and the parameters of the Euclidean distance of the contour center, the matching relationship between the design contour and the actual roof contour is determined to obtain a matching pair of the design contour and the actual roof contour; Step 4.3: For the matching pair of the design contour and the actual roof contour, discretize the actual roof contour into a number of actual contour points according to a preset step length, and calculate the Euclidean distance from the actual contour point to the design contour, which is the construction deviation of the actual roof structure; Step 4.4: According to the given construction deviation coloring scheme, the deviation gap between the design contour and the actual roof contour features is colored according to the construction deviation of the actual roof structure, where the colored area is defined as the quadrilateral area between the 1 / 2 preset step length before and after the actual roof contour point and the corresponding design contour.
6. A computer-readable storage medium having computer-executable instructions stored thereon, wherein: When the computer executable instructions are executed by a processor, the processor is caused to: adopt the method according to any one of claims 1 to 5.
7. A computer device, wherein: include: processor; as well as A memory arranged to store computer executable instructions which, when executed, cause the processor to: a method as claimed in any one of claims 1 to 5.
Citation Information
Patent Citations
3D scanning based digital testing system and method for construction deviation of super high-rise building
CN107402001A
Subway station construction quality evaluation method based on laser scanning technology
CN115018249A