An automated modeling method and device based on substation cloud data
By improving Euclidean clustering and Hough voting clustering algorithms and combining them with SHOT descriptors, the system automatically identifies substation cloud data and constructs a 3D mesh model, solving the problem of time-consuming and labor-intensive 3D modeling of substations and achieving efficient and accurate automated modeling.
Patent Information
- Application Number
- CN202310175648.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-28
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2043-02-28
AI Technical Summary
In existing technologies, the 3D modeling methods for substations are time-consuming and labor-intensive, cannot effectively reflect the real scene, and manual modeling requires frequent reconstruction, which affects operational efficiency.
By employing an improved Euclidean clustering algorithm and Hough voting clustering, combined with the SHOT descriptor, the location of components in substation cloud data is automatically identified, a three-dimensional mesh model is constructed, and a model library is built using State Grid standard parameter information to achieve automated modeling.
It improves the accuracy and efficiency of modeling, reduces the time spent on manual modeling, and builds models that are closer to real-world scenarios, supporting rapid substation reconstruction.
Smart Images

Figure CN116168178B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an automated modeling method and apparatus based on substation cloud data, belonging to the field of substation cloud data technology. Background Technology
[0002] As a crucial intermediate link in power generation, transmission, and distribution, substations play a vital role in the normal and stable operation of the power grid. Currently, the development of information management levels among substations is uneven. Some substations are still operating and managing their operations based on traditional manual management of engineering drawings and documents. Others have established distribution network production management systems, which can reflect the basic conditions of lines and equipment through digital drawings and documents. However, due to the use of two-dimensional display management methods, these systems cannot fully and accurately reflect the complex environment of the substation site, the crossing of lines and equipment, and the three-dimensional spatial attributes of the equipment.
[0003] To reproduce real-world scenes, manual modeling involves creating models by manually referencing point cloud data. Later, when the substation needs maintenance, it requires remodeling, which consumes significant manpower and time, hindering future substation reconstruction. The trend is towards automated modeling, as current methods of automatically constructing triangular meshes from point cloud data often yield less than ideal results. Summary of the Invention
[0004] The purpose of this invention is to overcome the shortcomings of the prior art and provide an automated modeling method and device based on substation site cloud data. This method identifies the location information of components to the substation scene point cloud and ultimately realizes the automatic conversion from substation site cloud data to a three-dimensional mesh model. It overcomes the time-consuming, labor-intensive, and maintenance-inefficient nature of manual modeling and provides an automated modeling method that does not require human reference point cloud modeling.
[0005] To achieve the above objectives, the present invention is implemented using the following technical solution:
[0006] In a first aspect, the present invention provides an automated modeling method based on substation cloud data, comprising the following steps:
[0007] Obtain and generate 3D point cloud data and 3D network models of the corresponding components based on the parameter information files of each equipment component in the substation, and form a model library;
[0008] Obtain and extract ground point cloud data based on scene point cloud, remove the ground point cloud data from the scene point cloud, and then filter out the remaining sparse points to obtain non-ground point cloud data.
[0009] By improving the Euclidean clustering algorithm, the non-ground point cloud data is segmented and clustered to separate the unconnected point cloud data in the scene.
[0010] Based on the disconnected point cloud data in the scene, SHOT descriptors of key points of the scene point cloud and the model library point cloud are calculated according to the point cloud normal vectors. Corresponding point pairs between the two are calculated according to the SHOT descriptors. Hough voting is used to cluster each component and its position in the scene, and the corresponding transformation matrix is obtained. The 3D network model is moved to the corresponding position according to the transformation matrix to obtain the final output model.
[0011] Furthermore, based on the parameter information files of each equipment component in the substation, the corresponding 3D point cloud data and its 3D network model are generated, including:
[0012] The entire substation site cloud data consists of several components, and each component consists of several basic graphic elements. The point cloud data of each basic graphic element is generated based on the point cloud generation algorithm by acquiring and according to the standard parameter information file of the State Grid, and finally constructing a complete component point cloud.
[0013] Furthermore, the point cloud generation algorithm includes:
[0014] Step a. Analyze the parameter information of each basic graphic element, simulate the three-dimensional model of the basic graphic element, and divide the surface of the model into several triangular and quadrilateral planes. The quadrilateral is divided into two triangular planes.
[0015] Step b. Randomly generate point clouds within each triangular plane to generate basic primitive point clouds.
[0016] For the 3D mesh model of the component, the coordinates of the three vertices of each triangle of each basic primitive are used to form a triangular plane, which constitutes the 3D mesh model of each basic primitive. Then, according to the rotation and translation matrix of the TransformMatrix node, each basic primitive is moved to the corresponding position to form a complete component mesh model.
[0017] Based on the rotation and translation matrix, the point cloud data of the basic primitives are composed of components, and finally a point cloud model library of all components is constructed.
[0018] Furthermore, based on the scene point cloud, ground point cloud data is acquired and extracted. This ground point cloud data is then removed from the scene point cloud, and residual sparse points are filtered out to obtain non-ground point cloud data, including:
[0019] Based on the x and y range values of each point in the scene point cloud, a window is divided with a certain point as the center and a certain distance. Based on the opening operation, the point cloud in the window is first subjected to the erosion operation.
[0020] Perform a reverse operation on the erosion result, a dilution operation, to obtain the z-axis value corresponding to each point;
[0021] Traverse each point cloud, compare the original z-axis value with the z-axis value obtained by the opening operation, and if their difference is within a certain range, classify them as ground points and add them to the index;
[0022] Non-terrestrial point cloud data is obtained by extracting point cloud indexes (ExtractIndices) and then outliers are filtered out by statistical filtering to obtain the non-terrestrial point cloud data.
[0023] Furthermore, by improving the Euclidean clustering algorithm to segment and cluster the non-terrestrial point cloud data, disconnected point cloud data in the scene are separated, including:
[0024] 1) Read the substation point cloud data and save the x, y, and z coordinates of this point cloud data in the 3D scene. Define a Kd-Tree and add the above point cloud data into the Kd-Tree.
[0025] 2) Find a point in the point cloud data, let's say it's the first point cloud.
[0026] 3) Define a seed queue P and a partial seed queue Q. Add the points to be searched to both queues and mark the points as visited.
[0027] 4) Process each point in part of queue Q;
[0028] 5) Determine whether the number of point clouds in the seed queue P is within the set minimum and maximum number of points. If the number of points meets the condition, add the point cloud set corresponding to the seed queue P to the point cloud index.
[0029] 6) Repeat steps 3)-5) until all point clouds in the entire scene have been visited, and save the results of each visit to the point cloud index. Finally, the index contains several point cloud sets that meet the point count limit.
[0030] Furthermore, each point in the partial queue Q is processed, and the process includes:
[0031] a. Let the traversal reach a point p. i We use Kd-Tree for nearest neighbor search, specifically the RadiusSearch method, which searches for point cloud data within a sphere centered at the given point and with radius r.
[0032] b. Traverse each point inside the sphere and determine whether the point has been visited. If it has been visited, skip it without processing; otherwise, add the point to the seed queue P and mark it as processed.
[0033] c.Kd-Tree searches for surrounding points and returns the distance of each point to the center point, sorted in ascending order of distance. Therefore, as long as the last k unvisited points are found in the array, i.e., the k furthest unvisited points are found, they can be added to the partial queue Q.
[0034] d. When the partial queue Q stops increasing and all points in Q have been visited, the point cloud in P is a cluster.
[0035] Furthermore, based on the disconnected point cloud data in the scene, SHOT descriptors are calculated for key points in the scene point cloud and the model library point cloud according to the point cloud normal vectors. Corresponding point pairs between the two are calculated based on the SHOT descriptors, and Hough voting is used to cluster each component and its position in the scene, obtaining the corresponding transformation matrix. Based on the transformation matrix, the 3D network model is moved to the corresponding position to obtain the final output model, including:
[0036] 1) When the distance between the model point cloud and the scene point cloud is too far, it will affect the final matching result. First, move the scene point cloud to the origin of the coordinate system and record the translation matrix.
[0037] 2) Use Kd-Tree's RadiusSearch function to calculate the normal vectors of each point in the model and scene point cloud by setting the search radius.
[0038] 3) Dynamically set the sampling leaf size based on the number of point clouds, uniformly sample the point clouds of the model and scene, and extract key points.
[0039] 4) Calculate the corresponding SHOT descriptors for the key points of the scene and the model respectively.
[0040] 5) Use Kdtree to find Model-Scene matching points. For each scene's key point descriptor, find the matching key point descriptors in the template and add them to the corresponding matching vector;
[0041] 6) Use the Hough3D algorithm to find matching points. First, calculate the corresponding local reference coordinate system based on the key points of the scene and the model. Set the sampling interval of the Hough space, the minimum number of votes threshold to determine whether an instance exists in the Hough space, their respective local coordinate systems, and the corresponding point pairs. Calculate all matching instances and the transformation matrix from the model point cloud to the instance point cloud.
[0042] 7) First, move the point cloud of the component model and the corresponding 3D model to the corresponding position in the scene using the transformation matrix obtained in step 6). Then, move them in reverse to the final position using the translation matrix recorded in step 1). After all component models and each segmented result are identified and registered, the 3D model of the entire scene can be obtained.
[0043] Furthermore, Kdtree is used to find Model-Scene matching points. For each scene's keypoint descriptor, matching keypoint descriptors in the template are found and added to the corresponding matching vector, including:
[0044] a. Traverse the keypoint descriptors of the scene, use the k-nearest neighbor search of the Kd-Tree to find the nearest neighbor of the current scene keypoint descriptor in the model keypoint descriptor, and record the index of the point and the squared distance between them.
[0045] b. Determine if the squared distance between the descriptor and its neighboring points is less than 0.25; only add a match if the distance is less than 0.25. This ultimately yields matching point pairs between the scene point cloud and the model point cloud.
[0046] Furthermore, this method uses multithreading to process each clustering result obtained by the improved Euclidean clustering algorithm concurrently.
[0047] Secondly, the present invention provides an automated modeling device based on substation cloud data, comprising:
[0048] Model Library Module: Used to generate 3D point cloud data and 3D network models of corresponding components based on the parameter information of each equipment component in the substation, forming a model library.
[0049] Preprocessing module: Used to extract ground point cloud data based on the characteristic that the ground is at the lowest point, and then filter out the residual sparse points;
[0050] Segmentation module: Used to segment and cluster non-ground point cloud data using an improved Euclidean clustering algorithm, separating unconnected point cloud data in the scene;
[0051] Model generation module: It is used to calculate the SHOT descriptors of key points of scene point cloud and model library point cloud based on point cloud normal vectors, calculate the corresponding point pairs between them based on the SHOT descriptors, use Hough voting to cluster each component and its position in the scene, and obtain the corresponding transformation matrix; and move the 3D network model to the corresponding position based on the transformation matrix.
[0052] Compared with the prior art, the beneficial effects achieved by the present invention are as follows:
[0053] 1. This invention uses an improved Euclidean clustering algorithm to segment and cluster the non-ground point cloud data, and uses Hough voting to cluster each component and its position in the scene, identify the position information of the component to the substation scene point cloud, and finally realize the automatic conversion from substation point cloud data to a three-dimensional mesh model, effectively improving the accuracy of modeling.
[0054] 2. This invention utilizes the parameter information of standard substation components of the State Grid to construct a point cloud of standard components and its 3D mesh model library. It uses traditional object recognition algorithms to identify the position information of components to the substation scene point cloud, and finally realizes the automatic conversion from substation point cloud data to 3D mesh model. It provides an automated modeling method that does not require human reference point cloud modeling, overcoming the time-consuming, labor-intensive and maintenance-inefficient nature of manual modeling.
[0055] 3. This invention addresses the modeling of substation cloud data. Based on pre-existing basic data of various components of the substation, it first segments and clusters the disconnected point cloud data in the substation cloud data. These point cloud clustering results are then compared with a pre-prepared substation model library to identify similar models that can directly replace the point cloud data, achieving rapid and automatic modeling. This avoids the time spent on manual modeling, greatly improving the efficiency of substation reconstruction. Furthermore, the final effect is composed of models from the standard model library, making it closer to the real scene. Attached Figure Description
[0056] Figure 1 This is a diagram analyzing the coordinates of the vertices of the triangular plane of a sphere model.
[0057] Figure 2 Analysis diagram of the coordinates of the vertices of the triangular plane of the elliptical ring model;
[0058] Figure 3 This is a diagram showing the random sampling analysis of a triangle.
[0059] Figure 4 This is a flowchart of a non-terrestrial point cloud extraction method;
[0060] Figure 5 A flowchart for improving the Euclidean clustering method. Detailed Implementation
[0061] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the scope of protection of the present invention.
[0062] Example 1:
[0063] This embodiment provides an automated modeling method based on substation cloud data. It utilizes the parameter information of standard substation components of the State Grid to construct a standard component point cloud and its 3D mesh model library. It uses traditional object recognition algorithms to identify the position information of the components from the substation scene point cloud, and finally realizes the automatic conversion from substation cloud data to 3D mesh model.
[0064] Specifically, the following steps are included:
[0065] 1) Based on the parameter information of each basic graphic element and the position information of each basic graphic element of the component, generate complete point cloud data of the component, and finally generate the component model library.
[0066] 2) A progressive morphological filter was used to identify the point cloud at the lowest point of the substation, and a statistical filter was used to remove the sparse and anomalous point cloud remaining on the ground, finally obtaining non-ground point cloud data.
[0067] 3) Use an improved Euclidean clustering segmentation method to segment and cluster unconnected point cloud data.
[0068] 4) Object 3D recognition: Calculate the corresponding point pairs between the scene point cloud and the model library point cloud based on the SHOT descriptor; use Hough voting to cluster each component and obtain its position information in the scene.
[0069] The method specifically includes:
[0070] Step a. Analyze the parameter information of each basic graphic element, simulate the three-dimensional model of the basic graphic element, and divide the surface of the model into several triangular and quadrilateral planes. The quadrilateral is divided into two triangular planes.
[0071] Step b. Randomly generate point clouds within each triangular plane to create basic primitive point clouds. Using rotation and translation matrices, assemble the basic primitives into component point cloud data, ultimately constructing a point cloud model library for all components.
[0072] Step c. Based on the x and y ranges of each point in the scene point cloud, select a point as the center and divide the window at a certain distance. Using the opening operation, first perform an erosion operation on the point cloud within the window, then perform a dilution operation on the erosion result to obtain the z-axis value for each point. Iterate through each point cloud, comparing the original z-axis value with the z-axis value obtained from the opening operation. If their difference is within a certain range, classify them as ground points and add them to the index. Obtain non-ground point cloud data through the point cloud index (Extract Indices), and then filter out outliers using statistical filtering.
[0073] Step d. Save the point cloud data (excluding ground and power lines) using a Kd-Tree. Randomly select a point p. Using the Kd-Tree nearest neighbor search, search for surrounding points with a certain radius centered on p and save them to set P. Select a portion of the point cloud within this sphere and add these points to set Q. Repeat the above operation for every point in Q except p until set Q no longer needs to be added. At this point, set P is a clustering result. Then, determine whether to save the data in this set based on the upper and lower limits of the number of cluster points set by yourself, and write it to a local file. If there are still unconsidered points in the scene, continue to select a point, reset sets P and Q, and repeat the above operation until the point cloud of the entire scene has been considered.
[0074] Step e. Calculate the normal vectors of the scene point cloud and the model library point cloud. Calculate the SHOT descriptors of the key points of both based on the point cloud normal vectors. Calculate the corresponding point pairs between the two based on the SHOT descriptors. Use Hough voting to cluster each component and its position in the scene, and obtain the corresponding transformation matrix. Move the 3D network model to the corresponding position based on the transformation matrix.
[0075] In the interactive specification for the 3D design model of power transmission and transformation projects, a mod file represents a component. A component consists of several basic primitives, and an Entity node contains the parameter information of a basic primitive. The point cloud of all basic primitives is first obtained through calculation, and then the point cloud data of the entire component is obtained based on the rotation and translation matrices.
[0076] The specification contains over twenty basic primitives, each with a unique node name. Here, we illustrate the point generation methods for the sphere and elliptical ring models. The node name for the sphere model is "Sphere". Figure 1 (a) in the diagram is the mesh model of this basic primitive, which consists of several triangles and quadrilateral planes. Figure 1 (b) in the diagram represents the cross-section of the model. Figure 1 In (b), the circle is divided into several equal parts, and the angle of each part is denoted as θ1. The coordinates of each point can be calculated from the radius, A(R,0,0) and B(R cosθ1,Rsinθ1,0). Now, find points C and D.
[0077] The longitudinal section passing through point A is as follows Figure 1 As shown in (c), similarly, the circle of the longitudinal section is divided into several equal parts, and the angle of each part is denoted as θ2. Let E be the projection point of C onto the line OA. It is easy to obtain h = R sinθ2 and d = R cosθ2, where h is the z-axis coordinate of C; after projection, the XOY plane is as follows. Figure 1 As shown in (d) in the figure, the equation of line OA can be expressed as: Let the coordinates of point E be... Depend on have to:
[0078] Where d = R cosθ2, the three-dimensional coordinates of point C can be obtained as (X E ,Y E =R sinθ2); Similarly, the coordinates of point D can be obtained from the coordinates of point B. ABCD forms a four-corner grid. The four points of each four-corner grid can be obtained from the above steps. Then it can be divided into triangular grids. Finally, the coordinates of the three vertices of all triangular grids of the sphere model can be obtained.
[0079] The nodes of the elliptic ring model are named EllipticRing. Figure 2-(a) is the mesh model of this basic primitive, which consists of several triangles and quadrilateral planes. Figure 2 -(b) is the projection of the top view of the model onto the XOY plane.
[0080] set up Figure 2 -(b) The equation of the internal ellipse is: Where a = L - DR and b = W - DR, it is easy to obtain A(L - DR, 0, 0); Figure 2 The ellipse in (b) is divided into several equal parts, each intersecting the inner ellipse at point B. Let angle AOB be θ. From angle AOB and the equation of the inner ellipse, we can obtain: When and Sometimes: Summarized as follows:
[0081] when When, it is easy to obtain B(0,b); when When we have B, we can easily obtain B(0,-b).
[0082] Each cross-section of the elliptical annulus is a circle, and the circle of the cross-section passing through point A is as follows: Figure 2 As shown in (c), the circle is divided into several equal parts, and the angle of each part is denoted as θ2. Let E be the projection point of C onto the line OA. It is easy to obtain h = DR sinθ2. Based on the coordinates of point A, it is easy to obtain... but h is the z-axis coordinate of C; after projection, the XOY plane is as follows: Figure 2 As shown in (d), the equation of line OA can be expressed as: Let the coordinates of point E be... Depend on have to:
[0083] in Therefore, the three-dimensional coordinates of point C are (X... E ,Y E ,DR sinθ2); In this way, the coordinates of each point on the circle can be obtained. Similarly, based on point B, the coordinates of all points on the cross-sectional circle passing through point B can be obtained, and finally all the coordinates of all points on the cross-sectional circle can be obtained. Take two adjacent points on two adjacent cross-sectional circles to form a quadrilateral grid, and then divide the quadrilateral grid into two triangular grids. Finally, it can be divided into several triangular grids, and the coordinates of the three vertices corresponding to all triangular grids can be obtained.
[0084] Based on the coordinates of the three vertices of a triangle, points are randomly generated within the triangle. First, the total area of all triangular meshes is calculated. Then, the total number of point clouds is calculated based on the set density and total area. The number of point clouds for each triangle is calculated based on the area ratio of each triangle. Finally, the calculated number of point clouds is uniformly and randomly generated within each triangle. A quadrilateral scheme is used to uniformly and randomly generate points within each triangle. For example... Figure 3 As shown in (a), triangle ABC is flipped around side BC to obtain parallelogram ABCD. A point E is randomly chosen on AB, and another point E is drawn on CD such that EF is parallel to AC. A random point P is then chosen on EF; this is the currently obtained random point. A PG is drawn through point P parallel to AB, and then we have the expression... set up have Finally, the coordinates of point P are obtained as P = (1-uv)·A+v·B+u·C.
[0085] Since point P may fall outside triangle ABC, such as Figure 3 As shown in (b), it is necessary to determine whether point P is inside triangle ABC. If the coefficients u or v are negative, it is equivalent to moving in the opposite direction, i.e., the BA or CA direction. So, what conditions must u and v satisfy to place P inside triangle ABC? There are three conditions: u >= 0, v >= 0, and (u + v) <= 1. Because u and v are randomly generated and both are within the range [0, 1), we only need to determine if u + v is less than or equal to 1. If it is greater than 1, we need to find the corresponding point P' of point P inside triangle ABC. Due to the central symmetry relationship, we have the expression:
[0086] Therefore, P' = B + CP.
[0087] By traversing each triangular mesh and performing the above steps, the point cloud data of the sphere's basic primitives can be obtained. Similar analysis yields the point cloud data for each basic primitive. Based on the TransformMatrix node in each basic primitive node of the mod file, the point cloud of each basic primitive is moved to its corresponding position, ultimately resulting in a complete component point cloud.
[0088] For the 3D mesh model of the component, the coordinates of the three vertices of each triangle of each basic primitive are used to form a triangular plane, which constitutes the 3D mesh model of each basic primitive. Then, according to the rotation and translation matrix of the TransformMatrix node, each basic primitive is moved to the corresponding position to form a complete component mesh model.
[0089] See Figure 4 As shown, the non-ground point cloud extraction of this invention identifies the ground portion of the entire substation point cloud data separately and deletes these point clouds. Specific steps include:
[0090] 1) Read the substation point cloud data and save its x, y, and z coordinates in the 3D scene. Set the algorithm parameters: initial point cloud data, window size (window_size), and output point cloud. First, copy the initial point cloud data to the output point cloud. Then, copy a copy of the initial point cloud and iterate through each point in the copy. For example, for point p0(x0, y0, z0), use this point as the center of a window with a width of window_size. Calculate the coordinates of the four vertices based on the (x, y) coordinates of this point. The point cloud within this window range satisfies Add these point clouds to an index and calculate the point with the smallest z-axis in these point clouds, and replace the z-axis of the point in the output point cloud corresponding to p0 with this minimum value.
[0091] 2) Swap the data of the output point cloud and the point cloud copy, and then iterate through the point cloud copy data again, that is, the output point cloud obtained last time. Perform the same operation as in step 1). Here, calculate the point with the largest z-axis in the point cloud within the window range, and replace the z-axis of the corresponding point in the output point cloud with this maximum value.
[0092] 3) Traverse all points in the initial point cloud, calculate the height difference between each point and the corresponding point in the output point cloud. If the height difference is within the specified height threshold, classify the point as a ground point cloud and ignore other points.
[0093] 4) After the above steps, appropriately increase the window size and raise the height threshold, and repeat the above operations on the ground point cloud obtained in step 3). After repeating several times, the final ground point cloud data is obtained, and the corresponding ground point cloud index is created.
[0094] 5) Using the Extract Indices tool provided by PCL, the ground point cloud index is inverted to obtain non-ground point cloud data. Subsequent processing is then performed, including statistical filtering to remove discrete outliers. Let Pi(Xi,Yi,Zi) be a point, and the distance between this point and point Pj(Xj,Yj,Zj) be: The average distance between this point and its k nearest neighbors is: Calculate the mean of all average distances: The standard deviation is: If the average distance (Di) of a point Pi in the scene to its k nearest neighbors is within the standard range (u-δ·σ, u+δ·σ), then the point Pi is retained; points outside this range are identified as outliers and deleted. Here, δ is a scaling factor. This yields the final non-terrestrial point cloud data.
[0095] See Figure 5 As shown, the improved Euclidean clustering algorithm specifically includes:
[0096] 1) Read the substation point cloud data and save the x, y, and z coordinates of this point cloud data in the 3D scene. Define a Kd-Tree and add the above point cloud data into the Kd-Tree.
[0097] 2) Find a point in the point cloud data, let's say it's the first point cloud.
[0098] 3) Define a seed queue P and a partial seed queue Q. Add the points to be searched to both queues and mark the points as visited.
[0099] 4) Process each point in part of queue Q, the process is as follows:
[0100] a. Let the traversal reach a point p. i We use Kd-Tree for nearest neighbor search, specifically the RadiusSearch method, which searches for point cloud data within a sphere centered at the given point and with radius r.
[0101] b. Traverse each point inside the sphere and determine whether the point has been visited. If it has been visited, skip it without processing; otherwise, add the point to the seed queue P and mark it as processed.
[0102] c.Kd-Tree searches for surrounding points and returns the distance of each point to the center point, sorted in ascending order of distance. Therefore, as long as the last k unvisited points are found in the array, i.e., the k furthest unvisited points are found, they can be added to the partial queue Q.
[0103] d. When the partial queue Q stops increasing and all points in Q have been visited, the point cloud in P is a cluster.
[0104] 5) Determine whether the number of point clouds in the seed queue P is within the set minimum and maximum number of points. If the number of points meets the condition, add the point cloud set corresponding to the seed queue P to the point cloud index.
[0105] 6) After steps 3)-5) above, a small portion of the point cloud in the entire substation site cloud has been visited. However, the substation site cloud is not connected. So continue to find the next unvisited point and repeat steps 3)-5) until the point cloud in the entire scene has been visited. Save the result of each visit to the point cloud index. Finally, there are several point cloud sets in the index that meet the point count limit.
[0106] Object recognition methods specifically include:
[0107] This module uses a Hough voting-based 3D object recognition method to identify the location of the point cloud of components in the model library within the scene, calculates their transformation matrix, and then moves the model into the scene. The specific steps are as follows:
[0108] 1) When the distance between the model point cloud and the scene point cloud is too far, it will affect the final matching result. First, move the scene point cloud to the origin of the coordinate system and record the translation matrix.
[0109] 2) Use Kd-Tree's RadiusSearch function to calculate the normal vectors of each point in the model and scene point cloud by setting the search radius.
[0110] 3) Dynamically set the sampling leaf size based on the number of point clouds, uniformly sample the point clouds of the model and scene, and extract key points.
[0111] 4) Calculate the corresponding SHOT descriptors for the key points of the scene and the model respectively.
[0112] 5) Use Kdtree to find Model-Scene matching points. For each scene's keypoint descriptor, find the matching keypoint descriptors in the template and add them to the corresponding matching vector. Specifically, this includes:
[0113] a. Traverse the keypoint descriptors of the scene, use the k-nearest neighbor search of the Kd-Tree to find the nearest neighbor of the current scene keypoint descriptor in the model keypoint descriptor, and record the index of the point and the squared distance between them.
[0114] b. Determine if the squared distance between the descriptor and its neighboring points is less than 0.25; only add a match if the distance is less than 0.25. This ultimately yields matching point pairs between the scene point cloud and the model point cloud.
[0115] 6) Use the Hough3D algorithm to find matching points. First, calculate the corresponding local reference coordinate system based on the key points of the scene and the model. Set the sampling interval of the Hough space, the minimum number of votes threshold to determine whether an instance exists in the Hough space, their respective local coordinate systems, and the corresponding point pairs. Calculate all matching instances and the transformation matrix from the model point cloud to the instance point cloud.
[0116] 7) First, move the point cloud of the component model and the corresponding 3D model to the corresponding position in the scene using the transformation matrix obtained in step 6). Then, move them in reverse to the final position using the translation matrix recorded in step 1). After all component models and each segmented result are identified and registered, the 3D model of the entire scene can be obtained.
[0117] To improve modeling efficiency, this invention uses multithreading to concurrently process each clustering result obtained by the improved Euclidean clustering algorithm. For each component point cloud in the model library, an object recognition algorithm is used to identify the position of the component in a single cluster point cloud, i.e., the rotation and translation matrix. The mesh model of the component is then moved to the corresponding position through the rotation transformation matrix, forming a 3D mesh model of a single cluster result, and finally forming a 3D mesh model of the entire substation scene.
[0118] Example 2:
[0119] This embodiment provides an automated modeling device based on substation cloud data, including:
[0120] Model Library Module: Used to generate 3D point cloud data and 3D network models of corresponding components based on the parameter information of each equipment component in the substation, forming a model library.
[0121] Preprocessing module: Used to extract ground point cloud data based on the characteristic that the ground is at the lowest point, and then filter out the residual sparse points;
[0122] Segmentation module: Used to segment and cluster non-ground point cloud data using an improved Euclidean clustering algorithm, separating unconnected point cloud data in the scene;
[0123] Model generation module: It is used to calculate the SHOT descriptors of key points of scene point cloud and model library point cloud based on point cloud normal vectors, calculate the corresponding point pairs between them based on the SHOT descriptors, use Hough voting to cluster each component and its position in the scene, and obtain the corresponding transformation matrix; and move the 3D network model to the corresponding position based on the transformation matrix.
[0124] The apparatus in this embodiment can be used to implement the method described in Embodiment 1.
[0125] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0126] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0127] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0128] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0129] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the technical principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. An automated modeling method based on substation point cloud data, characterized in that, The method comprises the following steps: Obtaining and generating three-dimensional point cloud data and three-dimensional network model of corresponding components according to parameter information files of each component of the substation, and forming a model library; Obtaining and extracting ground point cloud data from scene point cloud, removing the ground point cloud data from the scene point cloud, and filtering out residual sparse points to obtain non-ground point cloud data; Segmenting and clustering the non-ground point cloud data by improving the Euclidean clustering algorithm to segment out the non-connected point cloud data in the scene; Based on the non-connected point cloud data in the scene, calculating the SHOT descriptor of the key points of the scene point cloud and the model library point cloud according to the point cloud normal vector, calculating the corresponding point pair between the two according to the SHOT descriptor, clustering each component and its position in the scene by using Hough voting, and obtaining the corresponding transformation matrix; Moving the three-dimensional network model to the corresponding position according to the transformation matrix to obtain the final output model; Segmenting and clustering the non-ground point cloud data by improving the Euclidean clustering algorithm to segment out the non-connected point cloud data in the scene, comprising: Step 3.1: reading the substation point cloud data, saving the x, y, z coordinates of these point cloud data in the three-dimensional scene; defining a Kd-Tree and adding the above point cloud data to the Kd-Tree; Step 3.2: find a point of the point cloud data, assume it is the first point cloud; Step 3.3: define a seed queue P and a partial seed queue Q, add the found point to the two queues, and mark the point as visited; Step 3.4: process each point in the partial queue Q; Step 3.5: judge whether the number of point clouds in the seed queue P is within the set minimum and maximum point number range, if the number of point clouds meets the condition, add the point cloud set corresponding to the seed queue P to the point cloud index; Step 3.6: repeat steps 3.3-3.5 until all point clouds in the scene are visited, and save the result of each time to the point cloud index, and finally there are multiple point cloud sets in the index that meet the point number limit.
2. The method for automation modeling based on substation point cloud data according to claim 1, characterized in that, Obtaining and generating three-dimensional point cloud data and three-dimensional network model of corresponding components according to parameter information files of each component of the substation, comprising: The entire substation point cloud data is composed of multiple components, and a component is composed of multiple basic primitives. Obtain and generate point cloud data of each basic primitive based on a point cloud generation algorithm according to the standard parameter information file of State Grid, and finally build a complete component point cloud.
3. The method for automation modeling based on substation point cloud data according to claim 2, characterized in that, The point cloud generation algorithm comprises: Step a. Analyze the parameter information of each basic primitive, simulate a three-dimensional model of the basic primitive, divide the surface of the model into multiple triangular and quadrilateral planes, and divide the quadrilateral into two triangular planes; Step b. Randomly generate point cloud in each triangular plane to generate basic primitive point cloud; For the three-dimensional grid model of the component, three triangular planes are easily formed from the coordinates of the three vertices of each triangle of each basic primitive, and the three-dimensional grid model of each basic primitive is formed. Then, according to the rotation and translation matrix of the TransformMatrix node, each basic primitive is moved to the corresponding position to form a complete component grid model; According to the rotation translation matrix, the point cloud data of the basic component parts are combined to finally construct the component point cloud model library.
4. The method for automation modeling based on substation point cloud data according to claim 1, characterized in that, According to the scene point cloud, ground point cloud data is extracted, the ground point cloud data is removed from the scene point cloud, and the residual sparse points are filtered to obtain non-ground point cloud data, including: According to the x, y range values of each point of the scene point cloud, a window is divided with a certain point as the center and a pre-set distance, and an erosion operation is first performed on the point cloud in the window according to the opening operation; A dilution operation is performed on the erosion operation result to obtain the z-axis value corresponding to each point; Each point cloud is traversed, and the original z-axis and the z-axis value obtained by the opening operation are compared. If their difference is within a pre-set range, they are classified as ground points and added to the index; Non-ground point cloud data is obtained through point cloud indexing, and then outlier points are filtered through statistical filtering to obtain non-ground point cloud data.
5. The method for automation modeling based on substation point cloud data according to claim 1, characterized in that, Each point in the partial queue Q is processed, and the processing process includes: Step sa. The point is traversed, the Kd-Tree neighbor search is used, and the RadiusSearch radius search method is adopted, that is, the point cloud data within the sphere with the point as the center and r as the radius; Step sb. Each point in the sphere is traversed, and it is judged whether the point has been visited. If it has been visited, it is directly skipped and not processed. Otherwise, the point is added to the seed queue P and marked as having been processed; Step sc. The Kd-Tree search returns the distance of each point to the center point, and the distances are sorted from small to large. Therefore, as long as the last k unvisited points in the array are found, that is, the farthest k unvisited points are found, they are added to the partial queue Q; Step sd. When the partial queue Q no longer increases and all points in Q have been visited, the point cloud in P is a cluster.
6. The method for automation modeling based on substation point cloud data according to claim 1, characterized in that, Based on the unconnected point cloud data in the scene, the SHOT descriptors of the scene point cloud and the model library point cloud key points are calculated according to the point cloud normal vector, the corresponding point pairs between the two are calculated according to the SHOT descriptors, and each component and its position in the scene are clustered by using Hough voting, and the corresponding transformation matrix is obtained. According to the transformation matrix, the three-dimensional network model is moved to the corresponding position to obtain the final output model, including: Step 4.1) When the model point cloud is too far away from the scene point cloud, it will affect the final matching result. First, move the scene point cloud to the coordinate origin and record the translation matrix; Step 4.2) Use the RadiusSearch radius search of Kd-Tree to set the search radius and calculate the normal vector of each point of the model and scene point cloud; Step 4.3) Dynamically set the leaf size of sampling according to the point cloud, uniformly sample the model and scene point cloud, and extract the key points; Step 4.4) Calculate the corresponding SHOT descriptors for the key points of the scene and the model, respectively; Step 4.5) Use Kdtree to find the Model-Scene matching points. Each scene key point descriptor needs to find the matching key point descriptor in the template and add it to the corresponding matching vector. Step 4.6) Find the matching points using Hough3D algorithm; first, according to the key points of the scene and the model, calculate the corresponding local reference coordinate system respectively, set the sampling interval of the hough space, the minimum threshold of the number of votes for determining whether there is an instance in the hough space, the respective local coordinate system and the corresponding point pair of the two, calculate all the matching instances and the transformation matrix from the model point cloud to the instance point cloud; Step 4.7) First, move the component model point cloud and the corresponding three-dimensional model to the corresponding position of the scene through the transformation matrix obtained in step 4.6), and then move it to the final position through the inverse translation matrix recorded in step 4.1); after all the component models and the segmented results are identified and registered, the three-dimensional model of the entire scene can be obtained.
7. The method for automated modeling based on substation point cloud data according to claim 6, characterized in that, Use Kdtree to find Model-Scene matching points, and find the matching key point descriptor in the template for each scene key point descriptor and add it to the corresponding matching vector, including: Step sta. Traverse the key point descriptor of the scene, use the k-nearest neighbor search of Kd-Tree to find the nearest neighbor point of the current scene key point descriptor in the model key point descriptor, record the index and the square distance value of the two; Step stb. Judge whether the square distance of the descriptor and the adjacent point is less than 0.25, and only less than 0.25 can the match be added; finally, the matching point pair of the scene point cloud and the model point cloud is obtained. 8.The method of claim 1, wherein, This method uses multi-threading to process each clustering result obtained by the improved Euclidean clustering algorithm concurrently.
9. A device for performing the method of claim 1 based on substation point cloud data, characterized by Including: Model library module: used to generate three-dimensional point cloud data and three-dimensional network model of corresponding components according to parameter information of each device component of the substation, to form a model library; Preprocessing module: used to extract ground point cloud data according to the characteristics of the ground at the lowest point, and then filter out the remaining sparse points; Segmentation module: used to segment and cluster non-ground point cloud data by improved Euclidean clustering algorithm, and segment out the point cloud data that is not connected in the scene; Model generation module: used to calculate the SHOT descriptor of the key points of the scene point cloud and the model library point cloud according to the point cloud normal vector, and calculate the corresponding point pair between the two according to the SHOT descriptor; use Hough voting to cluster each component and its position in the scene, and obtain the corresponding transformation matrix; Move the three-dimensional network model to the corresponding position according to the transformation matrix.
Citation Information
Patent Citations
Three-dimensional transformer station semi-automatic reconstruction method based on laser point cloud data
CN105844064A
Transformer substation scene segmentation method based on point cloud data
CN112365503A