Method, medium and equipment for identifying the size of blasting slag based on three-dimensional laser point cloud
Through the identification method based on three-dimensional laser point cloud, the problem that the existing technology is difficult to accurately identify and calculate the three-dimensional size of slag stones after blasting is solved, and high-precision and rapid detection of slag stones is achieved.
Patent Information
- Application Number
- CN202411611979.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-11-13
AI Technical Summary
The prior art is difficult to accurately identify and calculate the three-dimensional dimensions of slag stones after blasting from the three-dimensional level, making it difficult to judge the rationality of blasting construction parameters.
Using the recognition method based on three-dimensional laser point cloud, the initial point cloud model is obtained through a three-dimensional laser scanner, filtering and normal vector calculation are performed, depression and isolated points are eliminated, point cloud clusters are divided by the European clustering algorithm, and point clouds are calculated. The three-dimensional dimensions of the cluster.
It realizes accurate detection of the degree of blasted slag stone, simple operation, fast recognition speed, high recognition accuracy, and can accurately calculate the three-dimensional size of slag stone from the three-dimensional level.
Smart Images

Figure CN119152016B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of tunnel engineering monitoring, and in particular to a method, medium and equipment for identifying the size of blasting slag based on three-dimensional laser point cloud. Background Art
[0002] In view of the complex and changeable geological conditions along the mountain tunnel, the drilling and blasting method with strong applicability and low cost is generally used for construction and excavation. The drilling and blasting method generally includes blasting design, drilling, blasting, slag removal and other processes. The size of the slag produced after blasting directly affects the efficiency of the slag removal process, and to a certain extent reflects the rationality of the blasting construction parameters. Especially when the blasting block is too large, secondary blasting or mechanical rock drilling is required, which seriously lags behind the subsequent process operations, indicating that the spacing between the blasting holes is too large or the charge is unreasonable. Therefore, accurate analysis of the size of the blasting block pile slag can effectively guide the blasting operation.
[0003] The analysis and research methods for the size of slag can be divided into two categories. One is the direct measurement method, where the construction team uses a tape measure to measure one by one on site. This method has high accuracy, but low efficiency and long time consumption, and is extremely difficult to apply to tunnel blasting construction; the other method is the indirect measurement method, which mainly relies on the image processing technology that has been widely used in various industries in recent years, that is, the recognition of blasting size is achieved through image processing algorithms. In the research on the use of images to identify the size of slag, digital image processing algorithms are generally used. Split Desktop, FragScan, and WipFrag are the current mainstream software for processing slag size, which mainly use threshold segmentation such as color information, distance information, and grayscale information to identify slag.
[0004] Manual measurement is time-consuming and inefficient; based on image recognition, the size of slag blocks always remains at a two-dimensional level, and the identified slag size can only be used as the size information of a single plane. As a three-dimensional object, it is difficult to describe its overall scale characteristics using only a single plane size feature. Summary of the invention
[0005] The present invention aims to provide a method for identifying the size of blasting slag based on three-dimensional laser point cloud, which can accurately calculate the three-dimensional size of slag from a three-dimensional level. The specific technical scheme is as follows:
[0006] The present invention provides a method for identifying the size of blasting slag based on three-dimensional laser point cloud, comprising the following steps:
[0007] S1: Use a 3D laser scanner to scan the blasting block pile formed after blasting at a tunnel face to obtain the initial point cloud model of the blasting block pile ;
[0008] S2: Initial point cloud model Filtering is performed to obtain a point cloud model with enhanced edge features , specifically:
[0009] S2.1. Use statistical filtering algorithm to filter out the discrete points in the initial point cloud model to obtain the point cloud model after statistical filtering ;
[0010] S2.2. Use the convolution Gaussian filtering algorithm to enhance the edge features of the point cloud model after statistical filtering to obtain a point cloud model with enhanced edge features. ;
[0011] S3: Calculate the point cloud model using the local surface fitting method Normal vectors of each point in ;
[0012] S4: Eliminate point cloud models based on the angle difference of normal vectors The concave points in the point cloud model are obtained by removing the concave points ;
[0013] S5: Use radius filtering algorithm to eliminate point cloud models The isolated points in the point cloud model are obtained after radius filtering. ;
[0014] S6: Using the normal-constrained Euclidean clustering algorithm to cluster the point cloud model Segment into multiple point cloud clusters;
[0015] S7: The OBB bounding box algorithm is used to calculate the three-dimensional size of each point cloud cluster obtained by the S6 segmentation, and a particle size distribution map that can reflect the size of the blasting slag is drawn according to the maximum three-dimensional size of each point cloud cluster.
[0016] Optionally, the S1 includes:
[0017] S1.1. Blasting is performed on a tunnel face to form a blasting block pile;
[0018] S1.2. Set up a 3D laser scanner after dust reduction at the tunnel face;
[0019] S1.3. Use a 3D laser scanner to obtain the surface information of the blasting block pile, the scanning angle and scanning direction during scanning, and obtain the initial point cloud model , where: Surface information includes: shape, color and scanning intensity of the blasting block pile.
[0020] Optionally, the S2.1 includes:
[0021] S2.1.1. Use KD Tree nearest neighbor search algorithm to retrieve the initial point cloud model midpoint The neighboring points of The distances between all points in and their nearest neighbors form a Gaussian distribution; where: the number of nearest neighbor searches is set to ; Number the point, which is a natural number greater than or equal to 1;
[0022] S2.1.3. Calculate the initial point cloud model separately midpoint The Euclidean distance between all its neighbors ;
[0023] S2.1.4, if point The Euclidean distance between all its neighbors All meet , then keep the point Otherwise Define as outliers and delete them, let , return to S2.1.3 until the initial point cloud model is traversed All points in the point cloud model are statistically filtered. ;in: for The mean of for The standard deviation of To set the threshold coefficient;
[0024] The S2.2 includes:
[0025] S2.2.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint The neighboring points of ;
[0026] S2.2.2. Assign corresponding Gaussian weights to each neighbor point obtained in S2.2.1 and perform weighted average, where: The coordinate value adjustment equation of the neighbor point is as follows:
[0027] ;
[0028] in: For point No. Neighbors The coordinates of The nearest neighbor The corresponding Gaussian weights are, , For point To the nearest point The distance For point With neighboring points The standard deviation of the Gaussian distribution function constructed between ;
[0029] S2.2.3. Traversing and retrieving point cloud model All points in get the point cloud model with enhanced edge features .
[0030] Optionally, the S3 includes:
[0031] S3.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint radius The neighboring points within the range are obtained. The set of neighboring points of ;
[0032] S3.2. Calculation points The covariance matrix of the neighboring point set , the specific formula is as follows:
[0033] ;
[0034] in: Point cloud model The number of points in ; is the number of neighboring points in the neighboring point set; The nearest neighbor The center of mass, ;
[0035] S3.3. Covariance matrix Perform eigenvalue decomposition and obtain three eigenvalues , and its corresponding eigenvector ,in: , ; The smallest eigenvector Point The normal vector ;
[0036] S3.4, Basis point Corresponding scanning angle ,direction Calculate the direction vector when the 3D laser scanner scans the point , the specific formula is as follows:
[0037] ;
[0038] S3.5 Checkpoint The normal vector Its corresponding direction vector If the angle is greater than 90°, the normal vector needs to be adjusted in the opposite direction to obtain the adjusted normal vector. , the specific formula is as follows:
[0039] .
[0040] Optionally, the S4 includes:
[0041] S4.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint radius The neighboring points within the range are recorded as , point The number of concave relationship points among the neighboring points of ;make ;
[0042] S4.2. Calculation points The normal vector Its neighboring points The normal vector Angle , the specific formula is as follows;
[0043] ;
[0044] S4.3. If , then let , and return to S4.2; if , then enter S4.4; where: To set the angle threshold;
[0045] S4.4. Basis point and its neighbors The three-dimensional coordinates of the two points are used to obtain the direction vector of the line connecting the two points. , the specific formula is as follows:
[0046] ;
[0047] in: For point No. Neighbors The coordinates of For point The coordinates of
[0048] S4.5. Calculate points separately The normal vector and direction vector Angle , neighbor points The normal vector and direction vector Angle , the specific formula is as follows:
[0049] ;
[0050] ;
[0051] S4.6, if ,when and Time With point It shows a concave connection relationship, so , , and returns to S4.2; when or When With point There is no concave connection relationship, let , and return to S4.2; if , then enter S4.7; where: To set the angle threshold, For point radius The number of neighboring points within the range;
[0052] S4.7, if ,when Time will be Move to the concave point concentration, when season , and return to S4.1; if , then the concave point set is removed from the point cloud model Delete it and get the point cloud model without the concave points ;in: To set the concave ratio.
[0053] Optionally, the S5 includes:
[0054] S5.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint The search radius is Neighboring points within the range;
[0055] S5.2, set the number threshold Q of neighboring points, and transform the point cloud model Points whose number of neighbors is less than Q All of them are defined as outliers and deleted to obtain the point cloud model after radius filtering. .
[0056] Optionally, the S6 includes:
[0057] S6.1. Constructing point cloud model Point set ,set up ;
[0058] S6.2. Selecting a point set Any point in is used as a seed point ;
[0059] S6.3. Retrieve seed points using KD Tree nearest neighbor search algorithm The neighboring points of ;
[0060] S6.4. Calculate each neighbor point and seed point separately Distance And the angle between the normal vectors of the two points ;
[0061] S6.5, if the seed point All neighboring points of and , then the seed point and all its neighboring points from the point set Clustering into sets In which: To set the distance threshold, To set the normal vector angle threshold;
[0062] S6.6. Selecting a set midpoint Points other than , and return to S6.3; until the collection The points in the game no longer increase, and the game goes to S6.7;
[0063] S6.7, if the point set If is an empty set, then the point cloud model is obtained. Divided point cloud clusters; otherwise, let , and returns to S6.2.
[0064] Optionally, the S7 includes:
[0065] S7.1. Generate point cloud data of a single point cloud cluster by The model to be tested consists of triangle patches. Set the The coordinates of any vertex of a triangle are ,in: Take 1 to The natural number of
[0066] S7.2. Calculate the center point of the model to be tested and the covariance matrix , the specific formula is as follows:
[0067] ;
[0068] ;
[0069] in: Represents a coordinate axis in the point cloud model coordinate system. In the point cloud model coordinate system A coordinate axis other than is the first A vertex of a triangle is on the coordinate axis The coordinate components on , is the first The points of the triangle are on the coordinate axis The coordinate components on .
[0070] S7.3. Decomposing the covariance matrix of the model to be tested Get three mutually orthogonal adjacent vectors of the model to be tested, and then normalize them to get an orthogonal basis as the three main axis directions of the direction bounding box;
[0071] S7.4. Calculate the projection lengths of all vertices of the model to be tested in the three main axis directions of the direction bounding box, so as to obtain the scale of the model to be tested in the three main axis directions of the direction bounding box;
[0072] S7.5. The maximum scale of the model to be tested corresponding to each point cloud cluster in the three main axis directions of the direction bounding box is taken as the particle size of the slag block, and then an Excel table is used to draw a particle size distribution diagram that can reflect the size of the blasting slag block.
[0073] The present invention also provides a readable storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, the method for identifying the size of blasting slag based on three-dimensional laser point cloud as described in any one of the above items is implemented.
[0074] The present invention also provides an electronic device, comprising: at least one processor, at least one memory and computer program instructions stored in the memory. When the computer program instructions are executed by the processor, a method for identifying the size of blasting slag based on three-dimensional laser point cloud as described in any of the above items is implemented.
[0075] By applying the technical solution of the present invention, a convolution Gaussian filtering algorithm is used to enhance the edge features of the point cloud model, and the depression points and discrete points in the point cloud model are eliminated through the difference in normal angles. Then, a normal-constrained Euclidean clustering algorithm is used to segment the point cloud into multiple point cloud clusters. Finally, the three-dimensional size of the point cloud cluster is calculated, thereby realizing the detection of the size of the slag block. Compared with manual recognition technology, this technology is simple to operate, has a fast recognition speed and high recognition accuracy; compared with image recognition technology for identifying blasting residual holes, the three-dimensional size of the slag can be accurately calculated from a three-dimensional level.
[0076] In addition to the above-described purposes, features and advantages, the present invention has other purposes, features and advantages. The present invention will be further described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] The drawings constituting a part of this application are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0078] Figure 1 It is a schematic flow chart of a method for identifying the size of blasting slag based on three-dimensional laser point cloud in an embodiment of the present invention;
[0079] Figure 2 is the initial point cloud model in the embodiment of the present invention Schematic diagram of
[0080] Figure 3 It is the point cloud model in the embodiment of the present invention Schematic diagram of
[0081] Figure 4 It is the point cloud model in the embodiment of the present invention Schematic diagram of
[0082] Figure 5 It is the point cloud model in the embodiment of the present invention Point cloud model Local comparison of point cloud models, Figure 5 (a) is the point cloud model A partial schematic diagram of Figure 5 (b) is the point cloud model A partial schematic diagram of
[0083] Figure 6 Schematic diagram of the normal vector calculation result of S3 in an embodiment of the present invention;
[0084] Figure 7 is a schematic diagram of the calculation result of the concave point of S4 in an embodiment of the present invention;
[0085] Figure 8It is the point cloud model in the embodiment of the present invention Schematic diagram of
[0086] Fig. 9 It is the point cloud model in the embodiment of the present invention Schematic diagram of
[0087] Fig.10 is a schematic diagram of the calculation results of S6 in an embodiment of the present invention;
[0088] Fig.11 is a schematic diagram of the calculation results of S7 in an embodiment of the present invention;
[0089] Fig.12 Graph showing particle size distribution in an embodiment of the present invention. DETAILED DESCRIPTION
[0090] The embodiments of the present invention are described in detail below with reference to the accompanying drawings. However, the present invention can be implemented in many different ways that are defined and covered.
[0091] In one embodiment, if Figure 1 As shown, a method for identifying the size of blasting slag based on three-dimensional laser point cloud, the method specifically includes: obtaining a preliminary point cloud model of blasting slag; eliminating discrete points of the point cloud model according to the domain distance; enhancing the edge features of the point cloud model; calculating the point cloud normal by fitting the local plane; calculating and eliminating the concave points of the point cloud model according to the normal angle; segmenting the slag point cloud model according to the spatial distance and the normal angle threshold; calculating the three-dimensional size of the segmented single slag point cloud model, and statistically analyzing the particle size distribution of the overall slag. The method of the present invention can accurately identify the slag after tunnel blasting, with high recognition accuracy, and calculate the three-dimensional size of all slag block sizes with accurate size accuracy.
[0092] The following steps are involved:
[0093] S1: Use a 3D laser scanner to scan the blasting block pile formed after blasting at a tunnel face to obtain the initial point cloud model of the blasting block pile ; After the tunnel blasting, a pile of slag blocks is formed. After the dust is reduced at the tunnel face, a 3D laser scanner is set up near the pile, and the coordinates of the 3D laser scanner are obtained by the rear measurement method; after ensuring that the scanning range covers all the slag blocks, the surface information of the slag blocks and the scanning angle and direction can be obtained by scanning, thereby forming an initial point cloud model of the blasted block pile. S1 includes:
[0094] S1.1. Blasting is performed on a tunnel face to form a blasting block pile;
[0095] S1.2. Set up a 3D laser scanner after dust reduction at the tunnel face;
[0096] S1.3. Use a 3D laser scanner to obtain the surface information of the blasting block pile, the scanning angle and scanning direction during scanning, and obtain the initial point cloud model , where: Surface information includes: shape, color and scanning intensity of the blasting block pile, see Figure 2 .
[0097] S2: Initial point cloud model Filtering is performed to obtain a point cloud model with enhanced edge features , specifically:
[0098] S2.1. Use statistical filtering algorithm to filter out the discrete points in the initial point cloud model to obtain the point cloud model after statistical filtering; see Figure 3 , the green points are the points removed by statistical filtering.
[0099] S2.1 includes:
[0100] S2.1.1. Use KD Tree nearest neighbor search algorithm to retrieve the initial point cloud model midpoint The neighboring points of The distances between all points in and their nearest neighbors form a Gaussian distribution; where: the number of nearest neighbor searches is set to ; Number the point, which is a natural number greater than or equal to 1;
[0101] S2.1.3. Calculate the initial point cloud model separately midpoint The Euclidean distance between all its neighbors ;
[0102] S2.1.4, if point The Euclidean distance between all its neighbors All meet , then keep the point Otherwise Define as outliers and delete them, let , return to S2.1.3 until the initial point cloud model is traversed All points in the point cloud model are statistically filtered. ;in: for The mean of for The standard deviation of To set the threshold coefficient;
[0103] In this embodiment, The value is set to 4, Set to 100.
[0104] S2.2. Use the convolution Gaussian filtering algorithm to enhance the edge features of the point cloud model after statistical filtering to obtain a point cloud model with enhanced edge features. ; The Gaussian filtering algorithm makes the distances of all points in the specified area form a Gaussian distribution, searches for each neighborhood point around any spatial point in turn and calculates the average Euclidean distance within the search range, and then treats the points with a distance variance greater than the permitted threshold as spikes, thereby smoothing the point cloud data and improving the data quality. Edge features can be enhanced by reducing the neighborhood range, increasing the standard deviation, and using a smaller distance variance threshold.
[0105] S2.2 includes:
[0106] S2.2.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint The neighboring points of ;
[0107] S2.2.2. Assign corresponding Gaussian weights to each neighbor point obtained in S2.2.1 and perform weighted average, where: The coordinate value adjustment equation of the neighbor point is as follows:
[0108] ;
[0109] in: For point No. Neighbors The coordinates of The nearest neighbor The corresponding Gaussian weights are, , For point To the nearest point The distance For point With neighboring points The standard deviation of the Gaussian distribution function constructed between ;
[0110] ;
[0111] in: For point The coordinates of
[0112] S2.2.3. Traversing and retrieving point cloud model All points in get the point cloud model with enhanced edge features .
[0113] In this embodiment, the neighborhood range in the KD Tree nearest neighbor search algorithm is set to 20. Set to 4, the distance variance threshold is set to 0.01, and the point cloud model after Gaussian filtering enhancement is obtained. , see Figure 4 and Figure 5 .
[0114] S3: Calculate the point cloud model using the local surface fitting method Normal vectors for each point in ; see Figure 6 .
[0115] S3 includes:
[0116] S3.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint radius The neighboring points within the range are obtained. The neighbor point set of Set to 0.05.
[0117] S3.2. Calculation points The covariance matrix of the neighboring point set , the specific formula is as follows:
[0118] ;
[0119] in: Point cloud model The number of points in ; is the number of neighboring points in the neighboring point set; The nearest neighbor The center of mass, ; Covariance matrix is a 3×3 matrix.
[0120] S3.3. Covariance matrix Perform eigenvalue decomposition and obtain three eigenvalues , and its corresponding eigenvector ,in: , ; Due to the smallest eigenvalue The corresponding eigenvector , represents the normal direction of the local surface of the point cloud, so the smallest eigenvector Point The normal vector ;
[0121] S3.4, Basis point Corresponding scanning angle ,direction Calculate the direction vector when the 3D laser scanner scans the point , the specific formula is as follows:
[0122] ;
[0123] S3.5 Checkpoint The normal vector Its corresponding direction vector If the angle is greater than 90°, the normal vector needs to be adjusted in the opposite direction to obtain the adjusted normal vector. , the specific formula is as follows:
[0124] .
[0125] S4: Eliminate point cloud models based on the angle difference of normal vectors The concave points in the point cloud model are obtained by removing the concave points ; See Figure 7 and Figure 8 .
[0126] S4 includes:
[0127] S4.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint radius The neighboring points within the range are recorded as , point The number of concave relationship points among the neighboring points of ;make ;
[0128] S4.2. Calculation points The normal vector Its neighboring points The normal vector Angle , the specific formula is as follows;
[0129] ;
[0130] S4.3, if , then let , and return to S4.2; if , then enter S4.4; where: To set the angle threshold;
[0131] S4.4. Basis point and its neighbors The three-dimensional coordinates of the two points are used to obtain the direction vector of the line connecting the two points. , the specific formula is as follows:
[0132] ;
[0133] in: For point No. Neighbors The coordinates of For point The coordinates of
[0134] S4.5. Calculate points separately The normal vector and direction vector Angle , neighbor points The normal vector and direction vector Angle , the specific formula is as follows:
[0135] ;
[0136] ;
[0137] S4.6, if ,when and Time With point It shows a concave connection relationship, so , , and returns to S4.2; when or When With point There is no concave connection relationship, let , and return to S4.2; if , then enter S4.7; where: To set the angle threshold, For point radius The number of neighboring points within the range;
[0138] S4.7, if ,when Time will be Move to the concave point concentration, when season , and return to S4.1; if , then the concave point set is removed from the point cloud model Delete it and get the point cloud model without the concave points ;in: To set the concave ratio.
[0139] In this implementation, the search radius is set to ; The abnormal normal angle threshold is ; The threshold of obvious angle is ; The concave ratio is The slag point cloud model with the sunken points removed is thus obtained. .
[0140] S5: Use radius filtering algorithm to eliminate point cloud models The isolated points in the point cloud model are obtained after radius filtering. ; See Fig. 9 .
[0141] S5 includes:
[0142] S5.1. Retrieve point cloud model using KD Tree nearest neighbor search algorithm midpoint The search radius is Neighboring points within the range;
[0143] S5.2, set the number threshold Q of neighboring points, and transform the point cloud model Points whose number of neighbors is less than Q All of them are defined as outliers and deleted to obtain the point cloud model after radius filtering. .
[0144] In this embodiment, the neighbor radius of the radius filtering algorithm , the threshold of the number of neighboring points is set to 15; the point cloud model after radius filtering is obtained .
[0145] S6: Using the normal-constrained Euclidean clustering algorithm to cluster the point cloud model Segmentation into multiple point cloud clusters; see Fig.10 .
[0146] S6 includes:
[0147] S6.1. Constructing point cloud model Point set ,set up ;
[0148] S6.2. Selecting a point set Any point in is used as a seed point ;
[0149] S6.3. Retrieve seed points using KD Tree nearest neighbor search algorithm The neighboring points of ;
[0150] S6.4. Calculate each neighbor point and seed point separately Distance And the angle between the normal vectors of the two points ;
[0151] S6.5, if the seed point All neighboring points of and , then the seed point and all its neighboring points from the point set Clustering into sets In which: To set the distance threshold, To set the normal vector angle threshold;
[0152] S6.6. Selecting a set midpoint Points other than , and return to S6.3; until the collection The points in the game no longer increase, and the game goes to S6.7;
[0153] S6.7, if the point set If is an empty set, then the point cloud model is obtained. Divided point cloud clusters; otherwise, let , and returns to S6.2.
[0154] In this embodiment, the neighbor radius , distance threshold , angle threshold is 5°.
[0155] S7: The OBB bounding box algorithm is used to calculate the three-dimensional size of each point cloud cluster obtained by S6 segmentation, and a particle size distribution diagram that can reflect the size of blasting slag is drawn according to the maximum three-dimensional size of each point cloud cluster, see Fig.11 and Fig.12 .
[0156] S7 includes:
[0157] S7.1. Generate point cloud data of a single point cloud cluster by The model to be tested consists of triangle patches. Set the The coordinates of any vertex of a triangle are ,in: Take 1 to The natural number of
[0158] S7.2. Calculate the center point of the model to be tested and the covariance matrix , the specific formula is as follows:
[0159] ;
[0160] ;
[0161] in: Represents a coordinate axis in the point cloud model coordinate system. In the point cloud model coordinate system A coordinate axis other than is the first A vertex of a triangle is on the coordinate axis The coordinate components on , is the first The points of the triangle are on the coordinate axis The coordinate components on .
[0162] S7.3. Decomposing the covariance matrix of the model to be tested Get three mutually orthogonal adjacent vectors of the model to be tested, and then normalize them to get an orthogonal basis as the three main axis directions of the direction bounding box;
[0163] S7.4. Calculate the projection lengths of all vertices of the model to be tested in the three main axis directions of the direction bounding box, so as to obtain the scale of the model to be tested in the three main axis directions of the direction bounding box;
[0164] S7.5. The maximum scale of the model to be tested corresponding to each point cloud cluster in the three main axis directions of the direction bounding box is taken as the particle size of the slag block, and then an Excel table is used to draw a particle size distribution diagram that can reflect the size of the blasting slag block.
[0165] In this embodiment, The maximum and minimum sizes of some point cloud clusters are shown in Table 1.
[0166] Table 1
[0167]
[0168] This method uses a convolution Gaussian filtering algorithm to enhance the edge features of the point cloud model, and eliminates concave points and discrete points in the point cloud model through the difference in normal angles. The point cloud is then segmented into multiple point cloud clusters using a normal-constrained Euclidean clustering algorithm. Finally, the three-dimensional size of the point cloud cluster is calculated, thereby realizing the detection of the size of the slag. Compared with manual recognition technology, this technology is simple to operate, has a fast recognition speed, and high recognition accuracy; compared with image recognition technology for identifying blasting residual holes, the three-dimensional size of the slag can be accurately calculated from a three-dimensional level.
[0169] This embodiment also includes a readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above-mentioned method for identifying the size of blasting slag based on three-dimensional laser point cloud is implemented.
[0170] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art may understand and implement it without paying any creative effort.
[0171] This embodiment also includes an electronic device, including: at least one processor, at least one memory, and computer program instructions stored in the memory. When the computer program instructions are executed by the processor, the method for identifying the size of blasting slag based on three-dimensional laser point cloud as described above is implemented.
[0172] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of implementing specific functions, which are used to describe the execution process of the computer program in the electronic device.
[0173] The electronic device may be a computing device such as a mobile phone, a desktop computer, a notebook, a PDA, a cloud server, etc. The electronic device may include, but is not limited to, a processor and a memory. For example, the electronic device may also include an input / output device, a network access device, a bus, etc.
[0174] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the electronic device, and various interfaces and lines are used to connect various parts of the entire electronic device.
[0175] The memory can be used to store the computer program and / or module, and the processor implements the computer program by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0176] Wherein, if the module / unit integrated in the electronic device is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0177] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for identifying the size of blasting slag based on three-dimensional laser point cloud, characterized in that: The steps include: S1: Use a 3D laser scanner to scan the blasting block pile formed after the blasting of a tunnel face, and obtain the initial point cloud model O0 of the blasting block pile; S2: Filter the initial point cloud model O0 to obtain the point cloud model O2 with enhanced edge features, specifically: S2.1, using a statistical filtering algorithm to filter out discrete points in the initial point cloud model to obtain a statistically filtered point cloud model O1; The S2.1 includes: S2.1.
1. Use KD Tree nearest neighbor search algorithm to retrieve the midpoint of the initial point cloud model O0 's neighboring points, and assume that the distances between all points in the initial point cloud model O0 and their neighboring points form a Gaussian distribution; where: the number of neighbor searches is set to k0; i is the point number, which is a natural number greater than or equal to 1; S2.1.
3. Calculate the midpoint of the initial point cloud model O0 respectively The Euclidean distance S between all its neighboring points i ; S2.1.4, if point The Euclidean distance S between all its neighboring points i All satisfy μ i -α·σ i ≤S i ≤μ i +α·σ i , then keep the point Otherwise Define as an outlier point and delete it, set i = i + 1, and return to S2.1.3 until all points in the initial point cloud model O0 are traversed to obtain the statistically filtered point cloud model O1; where: μ i For S i The mean value, σ i For S i The standard deviation of , α is the set threshold coefficient; S2.2, using the convolution Gaussian filtering algorithm to enhance the edge features of the point cloud model after statistical filtering to obtain a point cloud model O2 with enhanced edge features; The S2.2 includes: S2.2.
1. Retrieve the midpoint of point cloud model O1 using KD Tree nearest neighbor search algorithm The neighboring points of , where: the number of neighbor searches is set to k1; S2.2.
2. Assign corresponding Gaussian weights to each neighbor point obtained in S2.2.1 and perform weighted average, where: The coordinate value adjustment equation of the neighbor point is as follows: in: For point The jth neighbor of The coordinates of The nearest neighbor The corresponding Gaussian weights are, d is the point To the nearest point The distance between points With neighboring points The standard deviation of the Gaussian distribution function constructed between ; S2.2.3, traverse and retrieve all points in the point cloud model O1 to obtain the point cloud model O2 with enhanced edge features; S3: Calculate the normal vector of each point in the point cloud model O2 using the local surface fitting method; S4: removing the concave points in the point cloud model O2 according to the angle difference of the normal vectors to obtain the point cloud model O3 without the concave points; S5: using the radius filtering algorithm to remove isolated points in the point cloud model O3 to obtain the point cloud model O4 after radius filtering; S6: The point cloud model O4 is divided into multiple point cloud clusters using the normal-constrained Euclidean clustering algorithm; S7: The OBB bounding box algorithm is used to calculate the three-dimensional size of each point cloud cluster obtained by the S6 segmentation, and a particle size distribution map that can reflect the size of the blasting slag is drawn according to the maximum three-dimensional size of each point cloud cluster.
2. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to claim 1 is characterized in that: The S1 includes: S1.
1. Blasting is performed on a tunnel face to form a blasting block pile; S1.
2. Set up a 3D laser scanner after dust reduction at the tunnel face; S1.
3. Use a three-dimensional laser scanner to obtain the surface information of the blasting block pile, the scanning angle and the scanning direction during scanning, and obtain an initial point cloud model O0, wherein: the surface information includes: the shape, color and scanning intensity of the blasting block pile.
3. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to claim 2 is characterized in that: The S3 includes: S3.
1. Use KD Tree nearest neighbor search algorithm to retrieve the midpoint of point cloud model O2 The neighboring points within the radius r1 are obtained. The set of neighboring points of ; S3.
2. Calculation points The covariance matrix M of the neighbor point set is as follows: Where: N is the number of points in the point cloud model O2; k2 is the number of neighboring points in the neighboring point set; The nearest neighbor The center of mass, S3.
3. Perform eigenvalue decomposition on the covariance matrix M to obtain three eigenvalues λ1, λ2, λ3 and their corresponding eigenvectors Among them: λ1≤λ2≤λ3, The smallest eigenvector Point The normal vector S3.4, Basis point The corresponding scanning angle θ i 、Direction φ i Calculate the direction vector when the 3D laser scanner scans the point The specific formula is as follows: S3.5 Checkpoint The normal vector Its corresponding direction vector If the angle is greater than 90°, the normal vector needs to be adjusted in the opposite direction to obtain the adjusted normal vector. The specific formula is as follows:
4. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to claim 3 is characterized in that: The S4 includes: S4.
1. Use K-DTree nearest neighbor search algorithm to retrieve the midpoint of point cloud model O2 The neighboring points within the radius r2 are recorded as Point The number of concave relationship points among the neighboring points of ao ; Let i = 1, j = 1, n ao =0; S4.
2. Calculation points The normal vector Its neighboring points The normal vector The angle β is as follows: S4.
3. If β≥β tresh , then let And return to S4.2; if β<β tresh , then enter S4.4; where: β tresh To set the angle threshold; S4.
4. Basis point and its neighbors The three-dimensional coordinates of the two points are used to obtain the direction vector of the line connecting the two points. The specific formula is as follows: in: For point The jth neighbor of The coordinates of For point The coordinates of S4.
5. Calculate points separately The normal vector and direction vector The angle γ i , neighbor points The normal vector and direction vector The angle γ j , the specific formula is as follows: S4.6, if j<k3, when γ i ≥γ j And β ≥ γ tresh Time With point It shows a concave connection relationship, let n ao =n ao +1, j=j+1, and return to S4.2; when γ i <γ j Or β<γ tresh When With point If there is no concave connection relationship, let j = j + 1 and return to S4.2; if j ≥ k3, go to S4.7; where: γ tresh To set the angle threshold, k3 is the point The number of neighboring points within the radius r2; S4.
7. If i<N, when n ao / k3>h Move to the concave point set, when n ao / k3≤h, let i=i+1 and return to S4.1; if i≥N, delete the concave point set from the point cloud model O2 to obtain the point cloud model O3 without the concave points; where: h is the set concave ratio.
5. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to claim 4 is characterized in that: The S5 includes: S5.
1. Use KD Tree nearest neighbor search algorithm to retrieve the midpoint of point cloud model O3 Retrieve neighboring points within a radius of r3; S5.
2. Set the threshold Q of the number of neighboring points, and remove the points in the point cloud model O3 where the number of neighboring points is less than Q. They are all defined as outliers and deleted, and the point cloud model O4 after radius filtering is obtained.
6. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to any one of claims 1 to 5, characterized in that: The S6 includes: S6.
1. Constructing the point set U of the point cloud model O4 (4) , let x = 1; S6.
2. Select point set U (4) Any point in is taken as the seed point p; S6.3, using the KD Tree nearest neighbor search algorithm to retrieve the nearest neighbor points of the seed point p, where: the number of nearest neighbor searches is set to k4; S6.
4. Calculate the distance d between each neighbor point and the seed point p (4) and the angle ξ between the normal vectors of the two points S6.
5. If all neighboring points of the seed point p satisfy d (4) <d thresh And ξ<ξ tresh , then remove the seed point p and all its neighboring points from the point set U (4) Cluster to set U x In which: d thresh To set the distance threshold, ξ tresh To set the normal vector angle threshold; S6.
6. Selecting the set U x Points other than the midpoint p are taken as new seed points p, and the process returns to S6.3; until the set U x The points in the game no longer increase, and the game goes to S6.7; S6.
7. If the point set U (4) If x is an empty set, the point cloud model O4 is divided into x point cloud clusters; otherwise, set x=x+1 and return to S6.
2.
7. The method for identifying the size of blasting slag based on three-dimensional laser point cloud according to claim 6 is characterized in that: The S7 includes: S7.
1. Generate a model to be tested consisting of n triangular facets from the point cloud data of a single point cloud cluster, and set the coordinates of any vertex of the qth triangle to (A q ,B q ,C q ), where: q is a natural number from 1 to n; S7.
2. Calculate the center point O and covariance matrix C of the model to be tested ef , the specific formula is as follows: Where: e represents a coordinate axis in the point cloud model coordinate system, and f represents a coordinate axis other than e in the point cloud model coordinate system; is the coordinate component of a vertex of the qth triangle in the model point set to be tested on the coordinate axis e, is the coordinate component of the point of the qth triangle in the point set of the model to be tested on the coordinate axis f; S7.
3. Decomposition of the covariance matrix C of the model to be tested ef Get three mutually orthogonal adjacent vectors of the model to be tested, and then normalize them to get an orthogonal basis as the three main axis directions of the direction bounding box; S7.
4. Calculate the projection lengths of all vertices of the model to be tested in the three main axis directions of the direction bounding box, so as to obtain the scale of the model to be tested in the three main axis directions of the direction bounding box; S7.
5. The maximum scale of the model to be tested corresponding to each point cloud cluster in the three main axis directions of the direction bounding box is taken as the particle size of the slag block, and then an Excel table is used to draw a particle size distribution diagram that can reflect the size of the blasting slag block.
8. A readable storage medium, characterized in that: Computer program instructions are stored thereon, and when the computer program instructions are executed by a processor, a method for identifying the size of blasting slag based on three-dimensional laser point cloud as described in any one of claims 1 to 7 is implemented.
9. An electronic device, characterized in that: include: At least one processor, at least one memory and computer program instructions stored in the memory, when the computer program instructions are executed by the processor, a method for identifying the size of blasting slag based on three-dimensional laser point cloud as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Blasting fragmentation rapid identification method and system based on three-dimensional point cloud data
CN115147631A