High-speed rail wheel set oil filler hole burr detection and segmentation method
By building a pointnet++-based glitch detection model, combined with the L2 regularization term and AdamW optimizer, the problem of low burr detection accuracy of high-speed rail wheel oil injection pores is solved, and efficient glitch detection and segmentation is achieved, meeting the inspection requirements of the car manufacturer.
Patent Information
- Application Number
- CN202411624671.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-03-04
AI Technical Summary
The detection of oil-filled pore burrs in the high-speed rail wheels in the prior art has problems of low accuracy and poor consistency, which leads to a reduction in subsequent burr grinding efficiency and accuracy, which cannot meet the inspection requirements of the vehicle manufacturer.
A high-speed rail wheel-to-fluid oil injection pore burr detection segmentation method is used to obtain the burr point cloud data on the inner wall of the wheel for preprocessing, and a glitch detection model is constructed using pointnet++ network architecture, L2 regularization terms, AdamW optimizer and cosine annealing function for training and detection.
High-precision detection and segmentation of burrs around the oil injection hole of high-speed rail wheels has been achieved, with the detection accuracy reaching 96%, which is 2-3% higher than the initial model accuracy, meeting the inspection requirements of the car manufacturer.
Smart Images

Figure CN119559191A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of burr detection, and more particularly to a method for segmenting burr detection of oil filling holes of high-speed railway wheelsets. Background Art
[0002] In industrial production and manufacturing, the main function of the oil filling hole is to provide lubricating oil to bearings or related rotating parts. Burrs may hinder the smooth flow of oil, resulting in uneven distribution of lubricating oil and affecting the lubrication effect. In addition, burrs may scratch bearings or other parts passing through the area around the oil filling hole, accelerate their wear and shorten the service life of the parts. Therefore, for high-speed transportation such as high-speed rail, it is necessary to detect and segment the burrs on the oil filling holes on the inner wall of the wheel to provide effective data set information for subsequent burr grinding and improve the quality of burr grinding.
[0003] However, in actual operation, manual inspection of oil filling hole burrs may be affected by the operator's skills and experience, and may lead to inconsistent inspection results due to factors such as fatigue and subjective judgment. The human eye may not be able to detect extremely small or inconspicuous defects, resulting in reduced inspection accuracy. The depth information of the burr sample obtained has errors, and it is subsequently unable to provide an effective data basis for robot grinding, resulting in reduced efficiency and accuracy of robot grinding burrs, which cannot meet the burr detection requirements and grinding standards of car manufacturers. Summary of the invention
[0004] In view of this, the present invention provides a method for detecting and segmenting burrs on oil filling holes of high-speed railway wheels, which can effectively improve the detection accuracy of burrs around oil filling holes of high-speed railway wheels.
[0005] In order to achieve the above object, the present invention adopts the following technical solution:
[0006] A high-speed railway wheel set oil filling hole burr detection and segmentation method comprises the following steps:
[0007] The burr point cloud data around the oil filling hole on the inner wall surface of the high-speed railway wheel is obtained, and pre-processed to obtain a data set;
[0008] Based on pointnet++ as the basic network architecture, the L2 regularization term is introduced to construct the loss function, and the AdamW optimizer and cosine annealing function are used to build a burr detection model;
[0009] Training the glitch detection model based on the dataset;
[0010] Based on the trained burr detection model, burr detection and segmentation are performed on the point cloud data around the oil filling hole.
[0011] Furthermore, the process of preprocessing the burr point cloud data around the oil filling hole includes:
[0012] Label the point cloud data and mark the burrs detected and segmented separately;
[0013] Simplify the marked point cloud data;
[0014] The simplified point cloud data is normalized.
[0015] Furthermore, the process of streamlining the marked point cloud data includes:
[0016] In the point cloud data, determine a given point pi and calculate the Euclidean straight-line distance between this point and other points;
[0017] Find all points within a radius of r around a given point pi based on the calculated Euclidean distance;
[0018] Mark the points whose distance from the given point pi is less than or equal to r as processed, and keep the current point pi;
[0019] Determine the next given point and gradually perform sparse processing on the point cloud data.
[0020] Furthermore, the process of normalizing the streamlined point cloud data includes:
[0021] For any sample set, determine the centroid of the simplified sample set, and reset the coordinates of the centroid to zero as the origin;
[0022] Subtract the coordinates of the centroid from each of the remaining points to obtain the new coordinates of each point;
[0023] Calculate the Euclidean distance from each point to the origin, and determine the maximum distance m from all points to the origin;
[0024] The new coordinates of each point are divided by the maximum distance m so that the scale of the point cloud is unified into the unit sphere centered at the origin.
[0025] Furthermore, when the burr detection model is trained, the SA module performs feature extraction operations on the point cloud data, including:
[0026] Use the farthest point sampling function to sample npoint points from the preprocessed data set;
[0027] Use the query function to find the respective domain points of npoint sampling points within each radius range, group them, and get the maximum number of sampling points nasmple of each sampled set point under the radius;
[0028] If a point data also contains other dimensional features, the coordinate features and other features are merged to obtain the merged point cloud feature group [B, D, K, S], where B is the batch, D is the point cloud feature dimension, K is nsample, and S is the sampled points npoint;
[0029] Use the predefined MLP layer to extract features from the merged point cloud feature group, and use the ReLU activation function after each MLP layer;
[0030] Use the maximum pooling operation to convert [B, D, K, S] of each MLP layer into [B, D, S], retaining the most significant features of each sampling point;
[0031] The feature dimension vectors of all scales are merged and output.
[0032] Furthermore, npoint points are sampled from the preprocessed data set to keep the number of sample points consistent in each round of training. The sampling rule is: choic = np.random choice (N, npoints, replace = False), where N represents the total number of selectable points, npoints represents the number of points to be randomly selected, and replace = False indicates that replacement is not allowed in the specified sampling process to ensure that each point is selected only once.
[0033] Furthermore, when the burr detection model is trained, the point cloud data features extracted by the SA module are forward propagated through the FP module, including:
[0034] Perform an input operation on the point cloud features extracted by the SA module, accepting the point coordinates of the denser layer, i.e., xyz1 and feature points1, and the point coordinates of the sparser layer, i.e., xyz2 and feature points2;
[0035] The last dimension of all input data is transferred to the middle position to meet the requirements of the PyTorch convolutional layer, that is, the [B, N, C] format, where B is the batch size, N is the total number of selectable points, and C is the number of channels or feature dimensions;
[0036] Interpolate the points of xyz2. If xyz2 contains only one point, repeatedly expand the number of points N in its feature points2 to match the number of points in xyz1. If xyz2 contains multiple points, calculate the distance between xyz1 and xyz2, perform weighted interpolation based on the nearest points, and calculate the interpolation features.
[0037] The interpolated features are merged with points1, and the merged features are gradually transformed through a series of convolution and batch normalization layers; the activation function of each layer adopts ReLU, and finally the features processed by multi-layer MLP are output. These features fuse and process the information from point clouds of different resolutions.
[0038] Furthermore, the process of predicting the features of the FP module output by the glitch detection model includes:
[0039] Perform a one-dimensional convolution on the points returned by the feature propagation layer in the FP module;
[0040] The output of the one-dimensional convolutional layer is subjected to a batch normalization layer to normalize the features of each channel so that it has zero mean and unit variance, and a ReLU activation function is used to introduce nonlinearity, setting all negative values to 0 and retaining positive values;
[0041] The features activated by the ReLU activation function are randomly set to zero using the Dropout layer;
[0042] The features processed by the Dropout layer are passed through the second one-dimensional convolutional layer to reduce the feature dimension to a dimension equal to the number of categories num classes;
[0043] The output of the second convolutional layer is passed through the log softmax function to calculate the logarithmic probability of each point corresponding to each category.
[0044] Furthermore, the loss function is expressed as:
[0045]
[0046] Among them, NLL Loss is the negative log-likelihood loss, λ is the weight attenuation coefficient, is the L2 regularization term.
[0047] It can be seen from the above technical solutions that, compared with the prior art, the present invention has the following beneficial effects:
[0048] The present invention first performs contactless point cloud collection on the burrs of the oil filling holes on the inner wall of the high-speed railway wheel, and then simplifies the original burr point cloud, and divides the simplified burr point cloud data set into data sets. At the same time, by changing the function attenuation in the original network to the attenuation of the cosine annealing function, changing the Adam optimizer to the more effective AdamW optimizer and adding the L2 regularization term loss function, compared with the original model algorithm, the improved model has a detection accuracy of up to 96%, which is 2-3% higher than the initial model accuracy, achieving high-precision detection and segmentation of burrs, and then realizing efficient detection and segmentation of burrs on the inner wall of the high-speed railway wheel oil filling hole, providing reliable data support for subsequent factory inspection and polishing. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0050] Figure 1 A flow chart of the method for detecting and segmenting burrs in oil filling holes of high-speed railway wheels provided by the present invention;
[0051] Figure 2 This is a schematic diagram of the burr point cloud data after being simplified and processed provided by the present invention;
[0052] Figure 3 A flow chart of the burr detection model provided by the present invention for performing burr detection on the point cloud data around the oil filling hole;
[0053] Figure 4 A schematic diagram of the convergence of the loss function of the burr detection model provided by the present invention;
[0054] Figure 5 A schematic diagram showing the comparison of the verification accuracy of 14 randomly selected test set samples before and after the optimization of the burr detection model provided by the present invention.
[0055] Figure 6 This is a simplified actual annotation diagram of a randomly selected test sample provided by the present invention.
[0056] Figure 7 The burr detection model provided by the present invention is Figure 6 Schematic diagram of the segmentation prediction results of randomly selected test samples. DETAILED DESCRIPTION
[0057] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0058] like Figure 1 As shown, an embodiment of the present invention discloses a method for detecting and segmenting burrs in oil filling holes of high-speed railway wheels, comprising the following steps:
[0059] S1, obtaining burr point cloud data around the oil filling hole on the inner wall surface of the high-speed railway wheel, and preprocessing it to obtain a data set;
[0060] S2, based on point net++ as the basic network architecture, introduce L2 regularization term to construct loss function, and use AdamW optimizer and cosine annealing function to build burr detection model;
[0061] S3, training the burr detection model based on the data set;
[0062] S4. Perform burr detection and segmentation on the point cloud data around the oil filling hole based on the trained burr detection model.
[0063] The above steps are further explained below.
[0064] S1. Collect burr point cloud data around the oil filling hole on the inner wall of the high-speed rail wheel. The data type is (x, y, z). Due to the high precision of the burr, the x-axis and z-axis precision of the collected equipment can reach 0.009mm. Therefore, the number of points in the point cloud data is too large, and the model is difficult to load and train. Therefore, it is necessary to preprocess the point cloud data. The process includes:
[0065] S11, annotating the point cloud data, and marking the burrs detected and segmented separately;
[0066] S12, simplify the marked point cloud data, and the simplified result is as follows Figure 2 The specific streamlining process is as follows:
[0067] S121. In the point cloud data, a given point pi is determined, and the Euclidean straight-line distance between the point and other points is calculated; the Euclidean straight-line distance between two points pi(xi, yi, zi) and qj(xj, yj, zj) is calculated, and the formula is:
[0068]
[0069] S122. Use the queryball point function to query and find all points within a radius of r around a given point pi based on the calculated Euclidean distance; here r is the minimum spatial distance between two points, which is 0.017 mm, and the formula is:
[0070] {q|d(p,q)≤r}
[0071] S123. The core logic of downsampling is to efficiently implement the following condition judgment and selection through KD tree, mark the points whose distance to the given point pi is less than or equal to r as processed, and retain the current point pi.
[0072] S124, determining the next given point, and gradually performing sparse processing on the point cloud data.
[0073] S13. Divide the point cloud data set after sparse processing into a training set, a validation set and a test set.
[0074] S14. Normalize the streamlined point cloud data to make the data more suitable for model processing, and randomly extract a fixed number of points from it to keep the number of sample points consistent, and then perform training.
[0075] The specific normalization process includes:
[0076] S141. For any sample set, determine the centroid of the sample set after simplification, and reset the coordinates of the centroid to zero, taking it as the origin. The calculation formula of the centroid is:
[0077]
[0078] Among them, pi = (xi, yi, zi) is a point in the point cloud, and n is the total number of burr point clouds in each sample set.
[0079] S142. Subtract the coordinates of the centroid from each of the remaining points to obtain the new coordinates of each point p′=(px′, py′, pz′), so that the midpoint of the new point cloud is at the origin.
[0080] S143. Calculate the Euclidean distance from each point to the origin:
[0081]
[0082] Determine the maximum distance m from all points to the origin, where m is defined as:
[0083] m = max(distance(p′))
[0084] S144, scaling the point cloud, scaling each coordinate component px′, py′, pz′ of p′, specifically, dividing each coordinate of p by m to obtain the scaled point p″, so that the scale of the point cloud is unified into a unit sphere centered at the origin, and the calculation formula is:
[0085]
[0086] Then the normalization processing of point cloud data can be realized.
[0087] S2. In the present invention, point net++ is used as the basic architecture, L2 regularization term is introduced to construct the loss function, and AdamW optimizer and cosine annealing function are used to build a burr detection model.
[0088] First, replace the function attenuation of the original network with the cosine annealing function attenuation to help the model converge better. The calculation formula is:
[0089]
[0090] Among them, ηt is the learning rate of the tth epoch, ηmin is the minimum value of the learning rate, which is usually set close to 0, ηmax is the maximum value of the learning rate, that is, the learning rate of 0.001 at the beginning of training, Tmax is the length of the half cycle, that is, after how many epochs, the learning rate returns to the minimum value and restarts a new cycle, and π is the pi.
[0091] Secondly, the original Adam was replaced with the better AdamW. The main calculation formula is:
[0092] m t =β1·m t-1 +(1-β1)·g t
[0093]
[0094] Among them, m t is the exponential moving average (momentum) of the gradient. t is the exponential moving average of the square of the gradient (used for adaptive learning rate adjustment). t is the parameter gradient of the tth step. β1 and β2 are attenuation factors, which are 0.9 and 0.999 respectively. Then the first-order and second-order moment estimates are corrected for deviations, and the calculation formula is:
[0095]
[0096]
[0097] Compared with the original Adam optimizer, Adamw weight decay is processed independently from the gradient update step, ensuring that weight decay is decoupled from gradient update, thereby more accurately implementing L2 regularization, which helps improve the generalization ability of the model. The calculation formula is:
[0098] First, update the parameters according to Adam's rule (excluding weight decay terms):
[0099]
[0100] Then apply weight decay:
[0101] θ t+1 =θ t -η t ·λ·θ t-1
[0102] Here ηt is the initial learning rate, which is usually set to 0.01 at the beginning of training, λ is the weight decay coefficient decay_rate = 1e-4, and ∈ is a very small number of 1e -08 ,θ t Parameters at time step t.
[0103] Finally, the L2 regularization term is introduced into the original network loss function to enhance the generalization ability of the model. The expression of the loss function is:
[0104]
[0105] Among them, NLL Loss is the negative log-likelihood loss, λ is the weight decay coefficient, which is set to 0.0001. is the L2 regularization term.
[0106] The calculation formula for negative log-likelihood loss is:
[0107]
[0108] Among them, P i ,y i is the predicted probability distribution of the i-th sample, corresponding to its true category y i The probability value of . Before calculating the loss function, the model has converted the original output into a probability distribution through the activation function softmax. B is the size of the batch. Figure 4 As shown, it is a schematic diagram of the convergence of the training set loss function of the burr detection model provided by the present invention. It can be seen that the optimized model does not overfit during the training process.
[0109] The main purpose of introducing the L2 regularization term in the present invention is to prevent overfitting of the model by selecting an appropriate weight value λ, which helps to improve the generalization ability of the model.
[0110] S3. When training the burr detection model, the process is as follows Figure 3 shown, mainly including:
[0111] S31. Through 3 set abstraction (SA modules) in the model, sample, group, and then extract features from the preprocessed point cloud data. The specific steps include:
[0112] S311. Use the farthest point sample function to sample npoint points from the preprocessed dataset, keeping the number of sample points consistent in each round of training. The sampling rule is: choic = np.random.choice(N, npoints, replace = False), where N represents the total number of selectable points, npoints represents the number of points to be randomly selected, and replace = False indicates that replacement is not allowed during the sampling process to ensure that each point is only selected once. The specific sampling process includes:
[0113] Initialize a maximum distance: distance[b, :] = 1×10 10 (for all batches b), randomly select a starting farthest point farthest[b] for each batch (for all batches b), and then perform npoint iterations. In each iteration, record the farthest point index:
[0114] centroids[b, i] = farthest[b]
[0115] Here b is the index of the batch, and i (i = 0, 1, 2..., i < npoint) is the number of the current iteration. Then select the farthest point and extract the coordinates of the current farthest point:
[0116] centroid[b, :, :] = xyz[b, farthest[b], :]
[0117] centroid is a matrix with a size of [B, 1, 3] for storing the coordinates of the current farthest point in each batch. xyz is the original point cloud data with a size of [B, N, 3], containing the coordinates of all points in each batch. Here, farthest[b] is the index of the current farthest point in batch b. Then calculate the squared distance from all points to the current farthest point:
[0118]
[0119] dist is a matrix of size [B, N], which is used to store the squared distances from all points in each batch to the current farthest point. The sum is performed on the xyz coordinates of each point, and the square of the Euclidean distance between each point and the current farthest point is calculated. c represents the dimension index of the point coordinates, and c iterates from 1 to 3, representing the xyz coordinate dimensions respectively. Update the distance matrix:
[0120] distance[b,n]=min(distance[b,n], dist[b,n])
[0121] Here b is the index of the batch and n is the index of the point. This step is to update the minimum distance from each point to any point in the selected farthest point set. If the currently calculated distance is less than the previously recorded distance, update it. Finally, select the new farthest point:
[0122] farthest[b]=arg max(distance[b,:])
[0123] The arg max function here is used to find the index of the point with the maximum distance value in a given batch. This point will be considered as the new farthest point for calculation in the next round of iterations. By continuously updating the distance and selecting the new farthest point, it is ensured that the sampled points cover the key feature areas of the original point cloud as much as possible.
[0124] S312, using the query function (query ball point) to find the respective area points of the npoint sampling points within each radius range radius, and group them. The specific steps include:
[0125] Calculate the square distance from each query point to all points. The calculation formula is:
[0126] sqrdists=square_distance(new_xyz,xyz)
[0127] Among them, square_distance is a function that calculates the square distance between two points. The set of all points in xyz is [B, N, 3], B is the number of batches, N is the number of points in each batch, and 3 represents the spatial coordinate (xyz). new xyz is a set of query points with a size of [BS 3], S is the number of query points in each batch, and is the set of points sampled by FPS from xyz. The function calculates the square distance between two points. The formula is:
[0128]
[0129] For each batch B and each point N, if the squared distance of the point is greater than radius 2, then the index is marked as invalid (using the sentinel value N), and the calculation formula is:
[0130]
[0131] Then sort the index of each batch B and each query point S, and select the nearest nsample points. The formula is:
[0132] group_idx[b,s,:]=sort(group_idx[b,s,:])[:nsample]
[0133] Then, for invalid values, the first valid index of each query point is copied to replace the invalid index. If an index is invalid (i.e., equal to N), it is replaced by the first valid index of the query point. The formula is:
[0134]
[0135] mask[b,s,n]=(group_idx[b,s,n]==N)
[0136] Mask is a Boolean array used to identify which indexes are invalid. The above calculation steps obtain the nasmple of each sampled set point under the radius, that is, the maximum number of sampling points.
[0137] S313. If a certain point data also contains other dimensional features, the coordinate features are merged with the other features to obtain a merged point cloud feature group [B, D, K, S], where B is the batch, D is the point cloud feature dimension, K is nsample, and S is the sampled points npoint.
[0138] S314, the merged point cloud feature group [B, D, K, S] is traversed through multiple MLP layers defined in the three SA modules for feature extraction, and a ReLU activation function is used after each MLP layer; the main steps are:
[0139] First, perform a two-dimensional convolution operation, the formula is:
[0140] Grouped points (j) =Conv2d (j) (grouped points (j-1) , weight (j) , bias (j) )
[0141] Among them, Conv2d (j) is the convolution operation of the jth layer, weight (j) and bias(j) are the weights and biases of this layer.
[0142] Then the convolution result is batch normalized, the formula is:
[0143] Grouped points (j) =BN2d (j) (grouped points (j) )
[0144] Among them, BN2d (j) is the batch normalization operation of the jth layer.
[0145] Finally, the normalized result is activated with the ReLU activation function, the formula is:
[0146] Grouped points (j) =ReLU(grouped points (j) )
[0147] Then use the max pooling operation to convert [B, D, K, S] of each MLP layer into [B, D, S], retaining the most significant features of each sampling point. The formula is:
[0148] New points=Max Pool(grouped points (last) , dim=2)
[0149] Here, the Max Pool operation is applied on the output of the last convolutional layer, pooling along the second dimension to extract the maximum value in each feature channel.
[0150] Finally, the feature dimension vectors of all scales are merged and output.
[0151] The feature dimension vectors of all scales are merged and output.
[0152] S32, decode the point cloud data, and forward propagate the points extracted from the SA layer through the Feature Propagation (FP module). The specific steps include:
[0153] S321, for each feature extraction layer outputted by the SA3 module (l2_xyz, l3_xyz, l2_points, l3_points), the SA2 module (l1_xyz, l2_xyz, l1_points, l2_points), and the SA1 module (l0_xyz, l1_xyz, l0_points, l1_points), they correspond to the point coordinates xyz1 and feature points1 of the denser level and the point coordinates xyz2 and feature points2 of the sparser level, respectively;
[0154] S322. The last dimension of all input data is transferred to the middle position to meet the requirements of the PyTorch convolution layer, that is, the [B, N, C] format, where B is the batch size, N is the total number of selectable points, and C is the number of channels or feature dimensions;
[0155] S323, interpolate the points of xyz2. If xyz2 contains only one point, repeatedly expand the number of points N in its feature points2 to match the number of points of xyz1.
[0156] If xyz2 contains multiple points, the distance between xyz1 and xyz2 is calculated, and weighted interpolation is performed based on the nearest points to calculate the interpolation features. The specific calculation process is:
[0157] First, calculate the squared Euclidean distance from each point in xyz1 to each point in xyz2 according to the following formula;
[0158] dists=square distance(xyz1,xyz2)
[0159] Then, for each xyz1, find the distance and index of the three closest xyz2 according to the following formula;
[0160] dists, idx=dists.sort(dim=-1)[:3]
[0161] Then calculate the weight of each xyz2 and normalize it. Finally, use the weight interpolation to calculate the new feature point as the interpolation feature.
[0162] S324, merge the interpolated features with points1, traverse a series of MLP layer operations in the three FP modules, and gradually transform the merged features through a series of convolution and batch normalization layers; the activation function of each layer uses ReLU, and finally outputs the features processed by multiple layers of MLP. These features fuse and process information from point clouds of different resolutions. Specifically include:
[0163] First, perform convolution operation on the input features, and the calculation formula is:
[0164] Conv output (i) =Conv1d (i) (new points)
[0165] Among them, Conv1d (i) is the one-dimensional convolution operation of the i-th layer. Then the result after convolution is normalized, and the calculation formula is:
[0166] Bn output (i) =BN1d (i) (conv output (i) )
[0167] Among them, BN1d (i) is the batch normalization operation of the i-th layer.
[0168] Finally, the ReLU function is used for activation, and the calculation formula is:
[0169] Newpoints = ReLU(bn output (i) )
[0170] The final output is the features processed by multi-layer MLP. These features have integrated and processed the information from point clouds of different resolutions for subsequent point cloud segmentation.
[0171] S33, predict the feature l0_points obtained by the previous Feature Propagation (FP module) forward propagation, specifically including:
[0172] Perform a one-dimensional convolution on the points returned by the feature propagation layer in the FP module. The specific calculation formula is: Convoutput = self.conv1(l0_points).
[0173] The output of the one-dimensional convolutional layer is subjected to a batch normalization layer to standardize each channel feature to have zero mean and unit variance, which helps speed up the training process and improve model stability.
[0174] The ReLU activation function is used to introduce nonlinearity, setting all negative values to 0 and retaining positive values, which helps the model learn complex features.
[0175] The features activated by the ReLU activation function are randomly set to zero using the Dropout layer, with a ratio of 50% (0.5) to prevent overfitting during data training.
[0176] The features processed by the Dropout layer are passed through the second one-dimensional convolutional layer to reduce the feature dimension to a dimension equal to the number of categories num classes.
[0177] The output of the second convolutional layer is passed through the log softmax function to calculate the logarithmic probability of each point corresponding to each category, ensuring that the output is a valid probability distribution (the sum of all category probabilities is 1) in preparation for the calculation of the cross entropy loss.
[0178] S4. Based on the trained burr detection model, burr detection and segmentation are performed on the point cloud data around the oil filling hole to test the model.
[0179] During the test, 14 test samples were randomly selected from the burr point cloud data around the oil filling hole based on the burr detection model optimized by the present invention and the original model, and the burr test set accuracy was compared. The comparison results are as follows: Figure 5 As shown in the figure, the original model adopted here is the pointnet++ model without introducing the L2 regularization term to construct the loss function, and is equipped with the AdamW optimizer and the cosine annealing function. From the test results, it can be seen that the optimized mIou can reach a maximum of 0.98105, while the Point net++ model can reach a maximum of 0.95838, which is 2.267% higher
[0180] Based on the optimized burr detection model, burr detection and segmentation are performed on the point cloud data around the oil filling hole. A sample is randomly selected from the test set. The actual annotation results are as follows: Figure 6 As shown, the model segmentation prediction results are as follows Figure 7 shown.
[0181] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0182] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for detecting and segmenting burrs in oil filling holes of high-speed railway wheels, characterized in that: The following steps are involved: The burr point cloud data around the oil filling hole on the inner wall surface of the high-speed railway wheel is obtained, and pre-processed to obtain a data set; Based on pointnet++ as the basic network architecture, the L2 regularization term is introduced to construct the loss function, and the AdamW optimizer and cosine annealing function are used to build a burr detection model; Training the glitch detection model based on the dataset; Based on the trained burr detection model, burr detection and segmentation are performed on the point cloud data around the oil filling hole.
2. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 1 is characterized in that: The process of preprocessing the burr point cloud data around the oil filling hole includes: Label the point cloud data and mark the burrs detected and segmented separately; Simplify the marked point cloud data; The simplified point cloud data is normalized.
3. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 2 is characterized in that: The process of streamlining the labeled point cloud data includes: In the point cloud data, determine a given point pi and calculate the Euclidean straight-line distance between this point and other points; Find all points within a radius of r around a given point pi based on the calculated Euclidean distance; Mark the points whose distance from the given point pi is less than or equal to r as processed, and keep the current point pi; Determine the next given point and gradually perform sparse processing on the point cloud data.
4. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 2 is characterized in that: The process of normalizing the streamlined point cloud data includes: For any sample set, determine the centroid of the simplified sample set, and reset the coordinates of the centroid to zero as the origin; Subtract the coordinates of the centroid from each of the remaining points to obtain the new coordinates of each point; Calculate the Euclidean distance from each point to the origin, and determine the maximum distance m from all points to the origin; The new coordinates of each point are divided by the maximum distance m so that the scale of the point cloud is unified into the unit sphere centered at the origin.
5. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 1 is characterized in that: When training the burr detection model, the SA module performs feature extraction operations on the point cloud data, including: Use the farthest point sampling function to sample npoint points from the preprocessed data set; Use the query function to find the respective domain points of npoint sampling points within each radius range, group them, and get the maximum number of sampling points nasmple of each sampled set point under the radius; If a point data also contains other dimensional features, the coordinate features and other features are merged to obtain the merged point cloud feature group [B, D, K, S], where B is the batch, D is the point cloud feature dimension, K is nsample, and S is the sampled points npoint; Use the predefined MLP layer to extract features from the merged point cloud feature group, and use the ReLU activation function after each MLP layer; Use the maximum pooling operation to convert [B, D, K, S] of each MLP layer into [B, D, S], retaining the most significant features of each sampling point; The feature dimension vectors of all scales are merged and output.
6. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 5 is characterized in that: Sample npoint points from the preprocessed data set to keep the number of sample points consistent in each round of training. The sampling rule is: choic = np.random choice(N, npoints, replace = False), where N represents the total number of selectable points, npoints represents the number of points to be randomly selected, and replace = False indicates that replacement is not allowed in the specified sampling process to ensure that each point is selected only once.
7. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 5 is characterized in that: When training the burr detection model, the point cloud data features extracted by the SA module are forward propagated through the FP module, including: Perform an input operation on the point cloud features extracted by the SA module, accepting the point coordinates of the denser layer, i.e., xyz1 and feature points1, and the point coordinates of the sparser layer, i.e., xyz2 and feature points2; The last dimension of all input data is transferred to the middle position to meet the requirements of the PyTorch convolutional layer, that is, the [B, N, C] format, where B is the batch size, N is the total number of selectable points, and C is the number of channels or feature dimensions; Interpolate the points of xyz2. If xyz2 contains only one point, repeatedly expand the number of points N in its feature points2 to match the number of points in xyz1. If xyz2 contains multiple points, calculate the distance between xyz1 and xyz2, perform weighted interpolation based on the nearest points, and calculate the interpolation features. The interpolated features are merged with points1, and the merged features are gradually transformed through a series of convolution and batch normalization layers; the activation function of each layer adopts ReLU, and finally the features processed by multi-layer MLP are output. These features fuse and process the information from point clouds of different resolutions.
8. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 7 is characterized in that: The process of predicting the features of the FP module output by the glitch detection model includes: Perform a one-dimensional convolution on the points returned by the feature propagation layer in the FP module; The output of the one-dimensional convolutional layer is subjected to a batch normalization layer to normalize the features of each channel so that it has zero mean and unit variance, and a ReLU activation function is used to introduce nonlinearity, setting all negative values to 0 and retaining positive values; The features activated by the ReLU activation function are randomly set to zero using the Dropout layer; The features processed by the Dropout layer are passed through the second one-dimensional convolutional layer to reduce the feature dimension to a dimension equal to the number of categories numclasses; The output of the second convolutional layer is passed through the log softmax function to calculate the logarithmic probability of each point corresponding to each category.
9. The high-speed railway wheelset oil filling hole burr detection and segmentation method according to claim 1, characterized in that: The expression of the loss function is: Among them, NLL Loss is the negative log-likelihood loss, λ is the weight attenuation coefficient, is the L2 regularization term.
Citation Information
Cited By
High-energy electron flux prediction method based on deep learning fusion model
CN120597197A
A high-energy electron flux prediction method based on a deep learning fusion model
CN120597197B