Available via license: CC BY 4.0
Content may be subject to copyright.
Citation: Wang, J.; Tian, F.; Li, R.;
Li, Z.; Zhang, B.; Si, X. Position
Normalization of Propellant Grain
Point Clouds. Aerospace 2024,11, 859.
https://doi.org/10.3390/
aerospace11100859
Academic Editor: Jae Hyun Park
Received: 2 August 2024
Revised: 15 October 2024
Accepted: 15 October 2024
Published: 18 October 2024
Copyright: © 2024 by the authors.
Licensee MDPI, Basel, Switzerland.
This article is an open access article
distributed under the terms and
conditions of the Creative Commons
Attribution (CC BY) license (https://
creativecommons.org/licenses/by/
4.0/).
aerospace
Article
Position Normalization of Propellant Grain Point Clouds
Junchao Wang 1, Fengnian Tian 1,*, Renfu Li 1,*, Zhihui Li 2, Bin Zhang 2and Xuelong Si 2
1School of Aerospace Engineering, Huazhong University of Science and Technology, Wuhan 430074, China;
m202371997@hust.edu.cn
2Hubei Key Laboratory of Advanced Aerospace Propulsion Technology, System Design Institute of Hubei
Aerospace Technology Academy, Wuhan 430000, China; zhihui919060@163.com (Z.L.);
zhangbin8110@163.com (B.Z.); sixuelong@126.com (X.S.)
*Correspondence: tianfengnian@hust.edu.cn (F.T.); renfu.li@hust.edu.cn (R.L.)
Abstract: Point cloud data obtained from scanning propellant grains with 3D scanning equipment
exhibit positional uncertainty in space, posing significant challenges for calculating the relevant
parameters of the propellant grains. Therefore, it is essential to normalize the position of each
propellant grain’s point cloud. This paper proposes a normalization algorithm for propellant grain
point clouds, consisting of two stages, coarse normalization and fine normalization, to achieve
high-precision
transformations of the point clouds. In the coarse normalization stage, a
layer-by-layer
feature points detection scheme based on k-dimensional trees
(KD-tree)
and
k-means
clustering
(k-means)
is designed to extract feature points from the propellant grain point cloud. In the fine
normalization stage, a rotation angle compensation scheme is proposed to align the fitted symmetry
axis of the propellant grain point cloud with the coordinate axes. Finally, comparative experiments
with iterative closest point (ICP) and random sample consensus (RANSAC) validate the efficiency of
the proposed normalization algorithm.
Keywords: point cloud; position normalization; propellant; registration; ICP; RANSAC
1. Introduction
For solid missiles and space launch rockets, solid rocket motors remain the primary
propulsion devices [
1
–
3
]. A typical solid rocket motor consists of a combustion chamber
casing, propellant grain, a nozzle, and an igniter. Additionally, between the propellant
grain and the casing, there is an overcoat structure [
4
], primarily composed of an adhesive
that bonds the propellant grain to the inner wall of the casing, along with insulation and a
liner. This structure ensures the integrity of the propellant grain and plays a crucial role in
the reliability and safety of the solid rocket motor. Propellant grain are composite materials
containing various chemical components [
5
]. The common composition of the propellant
grain mainly includes oxidizers, nano-scale metal oxides [
6
], and adhesives mixed in
specific proportions, forming a structurally heterogeneous composite material [
7
–
9
]. For
a typical propellant grain, the surface is rough and granular, with the oxidizer content
comprising 60–80 wt%. The performance of the propellant grain is primarily constrained by
the inherent properties of the oxidizer [
10
]. Based on the formulation of the propellant, the
grain exhibits nonlinear viscoelastic properties [
11
]. Due to the mechanical properties of the
propellant, it undergoes physical and chemical adsorption, resulting in wetting and surface
separation under load [
12
]. This damage leads to a decline in the mechanical properties of
the propellant, thereby affecting the integrity of the propellant grain structure.
The overcoat structure and the solid propellant are two critical weak points in the
structural integrity of solid rocket motors [
13
,
14
], and the compromise of propellant grain
integrity is one of the primary causes of solid rocket motor failure [
15
]. Ensuring the
uniformity of the overcoat structure and the mechanical properties of the propellant grain
presents significant challenges in the loading of the propellant. Currently, most solid
Aerospace 2024,11, 859. https://doi.org/10.3390/aerospace11100859 https://www.mdpi.com/journal/aerospace
Aerospace 2024,11, 859 2 of 25
propellant assemblies utilize the wall pouring method [
16
]. The wall pouring method
involves directly pouring the solid propellant slurry into the combustion chamber shell,
which has already been lined. After the propellant cures, it forms an inseparable unit
with the combustion chamber shell. However, this method makes replacement difficult
and renders the structure irreparable [
17
]. Due to the lower reliability of the wall pouring
assembly method, a free assembly method is adopted. Figure 1illustrates the free assembly
method and the wall pouring method. In the free assembly method, the propellant grain
is formed in a specialized mold. Once cured, the propellant grain is assembled with the
insulated combustion chamber shell to complete the manufacturing of the solid rocket
motor. The propellant grain and the combustion chamber shell are detachable.
Figure 1. The free assembly method and the wall pouring method.
In free assembly mode, the propellant is composed of several propellant grains, and
assembly is completed by loading each grain individually. Unlike the wall pouring as-
sembly method, the free assembly method does not use pouring for assembly. Instead,
the propellant grains are assembled into the casing one by one. Due to production con-
straints, each propellant grain has a different geometric shape. Before being loaded into
the casing, the overall assembly sequence and the assembly position of each propellant
grain can be determined in advance based on the geometric characteristics of each grain.
During the assembly process, the assembly scheme is dynamically adjusted based on the
progress of the assembly and the assessment results of the integrity of the propellant col-
umn within the casing. After the free assembly method is completed, all propellant grains
are arranged neatly and uniformly inside the casing, with uniform gaps between the grains
and stabilized pressure within the gaps, ensuring the integrity of the propellant column
structure [
18
,
19
]. Therefore, this method allows for dynamic adjustment of the loading
process, ensuring the uniformity of the overcoat structure and the integrity of the propellant
grain. However, this assembly method also faces certain challenges: On
one hand,
during
the assembly of propellant grains, the assembly space may undergo changes. The assembly
sequence of the propellant grains might need to be adjusted due to this deformation. On
the other hand, because the propellant grains have different sizes and possess a certain
degree of elasticity, the geometric shapes of the propellant grains are not regular, and each
grain has unique geometric characteristics. In the traditional free assembly model, The
geometric properties of the propellant grain were measured using a manual contact-based
method. Due to the size of the propellant grain and its nonlinear viscoelastic properties,
the measurement results were highly inaccurate, with significant errors, making it difficult
to plan an assembly strategy. In assembly attempts, these inaccuracies may lead to failures.
To address these challenges, this paper introduces point cloud for the free assembly
method. Three-dimensional laser scanning is a non-contact measurement method that
Aerospace 2024,11, 859 3 of 25
maximizes the preservation of the geometric properties of the propellant grain, preventing
damage from human interference or compression. Using 3D laser scanning, the entire
propellant grain is accurately represented by a high-precision point cloud. These data are
then used to predict the variation of assembly space and match the geometric characteristics
between the casing and the propellant grains. Pre-assembly of the propellant grains is
conducted in virtual space, and this virtual assembly is mapped to the real world to achieve
actual free assembly. Due to the physical nature of the scanning mechanism, the top and
bottom surfaces of the propellant grain point clouds are parallel to the XOZ plane, but their
overall positions are arbitrarily distributed in space. Therefore, the prerequisite for this
improved free assembly method is that the point cloud data of all propellant grains must
be normalized to the same position in the coordinate system. Without this normalization,
the rotation and translation of the propellant grains in virtual space would lack a reference
point, making the entire assembly process unfeasible, as illustrated in Figure 2.
Figure 2. Virtual free assembly process.
This study proposes a point cloud position normalization algorithm to address the
issue of inconsistent positions of propellant grain point clouds. Additionally, normalizing
the position of the propellant point cloud involves shifting the center of the curved surface
of the propellant grain point cloud to the calibrated position in virtual space and aligning
the overall axis of the point cloud. Point cloud position normalization is similar to point
cloud registration in that both involve transforming the point cloud to a specific position.
The propellant grain point cloud normalization algorithm proposed in this study establishes
the prerequisites for the free assembly of propellants in a virtual space.
Based on the aforementioned research context, this paper proposes a position normal-
ization algorithm for the point clouds of propellant grains:
(1)
The algorithm first performs down-sampling on the point cloud. The 3D laser scan-
ning generates a large volume of point cloud data for the propellant grain. Without
appropriate down-sampling, the subsequent processing would consume a significant
amount of computational resources.
(2)
The proposed algorithm consists of two stages: coarse normalization and fine normal-
ization. In the coarse normalization stage, the algorithm extracts the feature points
of the point cloud based on clustering segmentation. In the fine normalization stage,
firstly, reduce angular errors through multiple symmetry axis fittings. Finally, it com-
pensates for the axial offset through point correspondence to complete the position
normalization of the point cloud.
(3)
In the experimental section, the accuracy of this algorithm is evaluated by comparing it
with the most representative algorithms in point cloud registration: RANSAC and ICP.
The structure of this paper is as follows. Section 2presents a review of relevant litera-
ture pertaining to this problem. Section 3outlines the algorithms utilized in this research.
Aerospace 2024,11, 859 4 of 25
Section 4presents comparative experiments with algorithms composed of RANSAC and
ICP. Finally, Section 5concludes with remarks and future prospects.
2. Related Work
2.1. Point Cloud Registration
Point cloud registration, as a prerequisite for various tasks in computer vision such
as 3D reconstruction [
20
–
22
], 3D segmentation [
23
,
24
], and pose estimation [
25
], primarily
addresses the challenge of merging and transforming point cloud data obtained from
different perspectives, scenes, and time instances into a reference coordinate system. Point
cloud registration problems can be classified into rigid registration [
26
,
27
] and non-rigid
registration [
28
,
29
]. Rigid registration pertains to problems involving only translation and
rotation transformations, while non-rigid registration involves transformations such as
scaling, deformation, and affine transformations. The registration problem for propellant
grain point clouds falls under the category of rigid registration.
Existing point cloud registration methods can be broadly categorized into two types.
The first type involves registration achieved through learning-based models. Leveraging
the robustness of deep learning in handling large quantities of noisy point cloud data [
30
],
various research efforts have proposed deep learning models to extract point cloud fea-
tures. These models utilize techniques such as singular value decomposition to obtain
transformation matrices for registration. Examples of such models include PointNet [
31
],
PointNet++ [
32
], and others. However, learning-based algorithms are not only complex
but also relatively lacking in interpretability, and they require substantial computational
resources during the training phase. Moreover, learning-based registration models, being
trained models, inherently have accuracy issues, which is especially critical for propellant
assembly where safety requirements are extremely high.
The second category of algorithms consists of traditional non-learning-based methods
based on feature matching, such as ICP and RANSAC. For rigid registration problems, ex-
tracting feature points that reflect the overall geometric properties of the entire point cloud
from vast point cloud data obtained from 3D laser scanning, especially in the presence of
a large number of outliers and missing points, poses a significant challenge. Point cloud
features mainly include edge and corner points, normal vectors, creases, and boundary
points [
33
]. By matching these features, a transformation matrix can be derived to achieve
point cloud registration. However, unlike feature point extraction in 2D images, which
benefits from the connectivity information, algorithms for extracting feature points from
point clouds are not yet mature [
34
]. Existing feature-based registration algorithms often
start with the extraction of point cloud features from neighboring point features and clus-
tering segmentation [
35
,
36
]. For neighboring point features, common methods include
multi-scale covariance matrices of local point neighborhoods, differences between normal
vectors, and eigenvalue decomposition [
37
–
39
]. As for clustering segmentation, it involves
clustering based on certain features of point clouds, such as the angles between neighboring
point normal vectors [
36
], to narrow down the search range for feature point extraction.
Regarding the acquisition of the transformation matrix needed for registration, the majority
of feature point-based registration algorithms require the transformation matrix to be com-
puted via singular value decomposition (SVD), with the registration accuracy constrained
by the quality of the feature point set. Additionally, besides directly extracting features
from point cloud data, some research transforms point clouds into 2D images for feature
extraction, leveraging the powerful feature extraction capabilities in the field of computer
vision for 2D images. Lu et al. [
40
], for example, projected segmented point clouds onto a
2D plane to form images and then processed these images for feature extraction. However,
despite the abundance of points in the three-dimensional space, point distribution is rela-
tively sparse, leading to the discreteness of pixels in 2D images and posing challenges for
feature extraction.
Currently, most non-learning-based registration algorithms are based on improve-
ments to algorithms such as iterative closest point (ICP) and random sample consensus
Aerospace 2024,11, 859 5 of 25
(RANSAC). Therefore, for the comparison of algorithms applied to the point clouds of
propellant grains, this paper compares the proposed method with the most representative
algorithms: RANSAC and ICP.
2.1.1. RANSAC
Random ample consensus (RANSAC) is an iterative algorithm used to estimate mathe-
matical model parameters, such as fitting lines and planes [
41
]. When applied to the field of
point cloud registration, the basic idea is to exhaustively search points in the source point
cloud, match them with corresponding points in the target point cloud based on geometric
features, and calculate the transformation matrix. The transformation matrix is evaluated
and iterated upon.
For extracting geometric features between corresponding points, the fast point feature
histograms (FPFH) algorithm [
42
] is commonly used. Based on this theory, several registra-
tion algorithms have been developed. For instance, Tsai et al. [
43
] proposed a RANSAC
RGB-D mapping algorithm, which utilizes the RANSAC outlier removal algorithm to
eliminate correspondences causing significant errors. Subsequently, the RGB-D mapping
algorithm finds the optimal transformation matrix for registration, thereby improving
registration accuracy and efficiency. Dou et al. [
44
] first use the RANSAC algorithm for
coarse registration and then employ local structural descriptors and Gaussian mixture
models to achieve non-rigid point cloud registration. Peng et al. [
45
] introduced a point
cloud registration strategy combining k-means with RANSAC ICP, where the point cloud
after k-means clustering is registered using both RANSAC and ICP.
While RANSAC is widely used in point cloud registration, it has its limitations: it
lacks a clear limit on the number of iterations, the determination of relevant thresholds
can be challenging, and it can only find one model for problems with multiple possible
model fits.
2.1.2. ICP
The most widely used algorithm in point cloud registration is the iterative closest
point (ICP) algorithm [
46
]. ICP has had a groundbreaking impact on rigid registration,
with many registration algorithms evolving from it. ICP is an iterative algorithm that
minimizes the Euclidean distance function between corresponding points in the source and
target point clouds. However, this algorithm is sensitive to noise, and as the size of the
point cloud data increases, solving the distance function slows down and may even lead to
convergence to local optima.
Several variants of the ICP algorithm have been developed. For example,
Yu et al. [47]
improved the ICP algorithm by introducing second-order filtering based on matched point
pairs, which enhances registration accuracy and reduces registration time.
Chen et al. [48]
first used the Super 4PCS algorithm for coarse registration to achieve initial alignment of point
clouds. Then, they improved the ICP algorithm by adaptively removing boundary points in
overlapping regions, addressing registration problems involving overlapping areas.
However, ICP requires a relatively strict relationship between the target point cloud
and the original point cloud, meaning that there should not be significant deviations in the
initial positions of the target and original point clouds.
3. Method
3.1. Geometric Features
Since the algorithm proposed in this paper is closely related to the geometric fea-
tures of the propellant grain, a dedicated subsection has been included to introduce its
geometric properties.
To accurately replicate the geometric shape of the propellant, the propellant grain is
mapped into virtual space in the form of a point cloud. Depending on the cross-sectional
dimensions of assembly space, each layer of the propellant is divided into several propellant
grains. Each propellant grain has a columnar shape, with a fan-shaped cross-section.
Aerospace 2024,11, 859 6 of 25
The propellant grain point cloud is generally shaped like a sector cylinder, with the
back surface (curved surface) typically referred to as a cylindrical or arc surface. On the arc
surface, densely arrayed convex points are present, with adhesive material filling the gaps
between each convex point for bonding with the casing. There are many corner points on
the propellant grain point cloud, some of which are on the arc surface, while others are
not. In the following text, only the corner points on the arc surface are the ones we aim to
extract. The main reason for using arc corner points as features is the distinct distribution
difference between the neighborhood of corner points and non-arc corner points. As shown
in Figure 3.
Figure 3. Propellant grain point cloud.
3.2. Method Overview
The overall algorithm consists of two stages: coarse normalization and fine normal-
ization as shown in Figure 4. In the coarse normalization stage: The original point cloud
undergoes downsampling. It is then projected layer by layer and processed using tech-
niques such as KD-tree and multiple k-means to extract arc corner points. Based on these arc
corner points, the transformation matrix is computed. In the fine normalization stage: Fine
normalization is performed by fitting a symmetric axis to refine the
transformation matrix.
Figure 4. Overall procedure of the method (the images have been specially processed for
de-identification).
Aerospace 2024,11, 859 7 of 25
3.3. Problem Setting
Let the original point cloud obtained from the 3D laser scanner, which has its upper
and lower surfaces parallel to the
XOZ
plane but randomly distributed in position, be
denoted as
P
. After point cloud downsampling,
P
is represented as
PS
. After undergoing
both coarse and fine normalization stages,
PS
is transformed into
P′
S
and
P′′
S
, respectively.
We refer to Appendix Afor the meaning of the mathematical symbols used in this paper.
3.4. Coarse Position Normalization
3.4.1. Point Cloud Downsampling
Based on the characteristics of the original point cloud data, Poisson disk sampling
is employed to downsample the original point cloud data to ensure uniform point cloud
density as much as possible, given that the original point cloud dataset may contain
hundreds of thousands of points.
Let
P={pi
;
i=
1, 2,
···
,
N}
be the original point cloud dataset with
N
points
pi
. The
sampling conditions for Poisson disk sampling are as follows:
∀pi,pj∈P:∥pi−pj∥ ≥ 2r,i=j(1)
where rdenotes the distribution radius.
After applying Poisson disk downsampling to the original point cloud
P
, we obtain
the point cloud
PS
with
N′
points. In point cloud
PS
, the distance between any two points
is greater than twice the value of
r
, ensuring that the density of each face in the point cloud
PS
tends to be balanced, while preserving its geometric properties. Compared to other
downsampling methods, Poisson disk downsampling offers certain advantages in avoiding
interference caused by excessively dense local point clouds when selecting feature points.
3.4.2. Point Cloud Layer-Wise Projection
After downsampling the original point cloud to obtain
PS
, to reduce the influence of
vertical tilt and convex points on arc corner extraction, the point cloud is projected layer
by layer. Based on the characteristics of the point cloud
PS
, the upper and lower surfaces
of the point cloud are parallel to the
XOZ
plane, and there are convex points arranged
in arrays on the arc surface. The point cloud
PS
is divided into
M
layers, corresponding
to
M
intervals in the
y
-direction. The
i
-th layer contains the point cloud denoted as
Pi={pij (xij
,
yij
,
zij )∈Pi
,
j=
1, 2, 3,
. . .
,
li}
, where
li
is the number of points within this
layer of the point cloud.
(PS=∑M
iPi
H=∑M
i∆hi
i=1, . . . , M(2)
where
H
is the total height of the point cloud
PS
, and
∆hi
be the height of each layer.
Suppose the scattered point set after projecting the point cloud
Pi
onto the XOZ plane is
denoted as
P′
i={p′
ij x′
ij
,
y′
ij
,
z′
ij ∈P′
i
,
j=
1, 2, 3,
. . .
,
li}
. Because
P′
i
is in the
XOZ
plane,
the relationship between the point cloud before and after projection is as follows:
x′
ij =xi j
y′
ij =0
z′
ij =zi j
(3)
The
y
-coordinate of points in
P′
i
is equal to 0. To simplify computation,
y′
ij
can be
omitted in the subsequent steps.
The selections of the height for each layer of projection and the position of each
layer during the layer-by-layer projection process are crucial, as shown in Figure 5b. From
Figure 5a, it can be observed that some of the propellant grains are tilted when viewed from
the side. However, their upper and lower surfaces remain parallel to the XOZ plane. By
projecting the point cloud of each propellant grain layer by layer, the subsequent algorithm
Aerospace 2024,11, 859 8 of 25
can average the calculated results of each layer. This process compensates for the tilt of
the propellant grains and eliminates the need to determine the tilt angle. However, the
height selection for each layer in the layer-by-layer projection method must meet certain
conditions: If the length of interval is too small, it may lead to missing corner points,
while if it is too large, it may be difficult to offset the overall tilt effect during corner point
detection. If the y-intervals selected for the layers do not avoid the convex points on the
arc surface, the projection of the convex points on the projection surface will generate
a large
number of non-arc corner points, causing interference in the subsequent specific
recognition of arc corner points. As shown in Figure 5c,d.
Figure 5. The problems faced by layer-by-layer projection (the images have been specially processed
for de-identification). The height for each layer is selected with certain limitations, considering
the presence of certain tilt in the original point cloud and the abundance of convex points on the
arc surface.
3.4.3. Arc Corner Points Extraction
A KD-tree is constructed and utilized to search for the nearest neighbor point set
Sij
of each point
p′
ij
in
P′
i
using Euclidean distance as the metric, with
n
being the number of
neighboring points. After obtaining the nearest neighbor point set
Sij
of point
p′
ij
in the
scattered point set
P′
i
, k-means clustering (k-means) is applied to cluster
Sij
into two clusters
{C1
,
C2}
(the number of clusters is set to 2), representing the left and right neighborhoods of
point
p′
ij
, respectively, as shown in Figure 6. For details regarding the KD-tree and k-means,
refer to the Appendix B.
With the method described above, for any point in the scattered point set
P′
i
on the
projection plane, it is possible to obtain the
n
nearest points around that point. These points
can then be divided into two subset
C1
and
C2
, defined as follows:
C1={p′
ij x′
ij
,
z′
ij ∈C1
,
j=
1
,
2
,
3,
. . .
,
nc1
and
C2={p′
ij x′
ij
,
z′
ij ∈C2
,
j=
1
,
2
,
3,
. . .
,
nc2
. These two subsets are
located at both ends of the point. Then, a least squares line fitting is performed on these
two subsets:
n=nc2+nc1
km=∑ncmz′
ij x′
ij −ncmz′
ij ·x′
ij
∑ncm(x′
ij )2−ncm·x′
ij
2,m=1, 2, j=1, 2, . . . , ncm
(4)
where kmrepresents the slope of the fitted line.
Aerospace 2024,11, 859 9 of 25
Given the fitted line equations for the two subsets as obtained from the above equa-
tions, the angle θbetween the two lines can be calculated as follows:
θ=180◦
π×arctan|k1−k2|
1+k1·k2(5)
(a)
if
|θ| ≤ |θthr |
,the angle change on both sides of the point is gradual, so the point
is discarded.
(b)
if
|θ|>|θthr |
,the angle change on both sides of the point is significant, so the point is
stored in the corner point set.
where θthr is the angle threshold.
Repeat the above steps iteratively until all points in the projected point set
P′
i
are
traversed, thereby obtaining all corner points in that plane as shown in Figure 6. All
obtained corner points form a set: the corner point set. Additionally, due to the large angle
between the fitted lines on both sides of some noise points, a small number of noise points
will also be stored in the corner point set.
Since
P′
i
is obtained by projecting
Pi
, each corner point of
Pi
is mapped to the
XOZ
plane. In
P′
i
, all corner points form a clustered structure within the
XOZ
plane. Based on
the actual shape of the point cloud, the number of clusters is set to
t
. Through secondary
clustering, as described in Equations
(A2)
–
(A5)
in Appendix B, the corner point set is
clustered by using k-means clustering. The cluster centroids of each cluster are obtained,
resulting in a set of cluster centers
PClusterCenter ={(x1
,
z1)
,
. . .
,
(xt
,
zt)}
. In this process,
noise points have been automatically clustered into the corner point cluster (due to the
performance of the scanning equipment, the distance between noise points and corner
points is relatively small).
The presence of some unnecessary corner points in
PClusterCenter
(those on non-arc
surfaces of the propellant grain), significant interference occurs in the extraction of corner
points on the arc surface. To address this issue, we define the distance matrix
DC
between
any pair of cluster centroids as follows:
DC=
0d1,2 ··· d1,t−1d1,t
0d2,3 . . . d2,t
.......
.
.
...dt−1,t
0
t×t
(6)
where di,jrepresents the distance between any two points:
di,j=q(xi−xj)2+ (zi−zj)2(7)
The
i
-th row of matrix
DC
represents the distance from the
i
-th point in
PClusterCenter
to
all other points.
To avoid the interference mentioned above from affecting the corner point extraction,
PClusterCenter
must be further refined. Corner points in same location may be classified into
two or more clusters after the previous clustering, leading to multiple cluster centroids.
Therefore, the next step is to merge multiple nearby centroids into one (this is related to
the setting of parameter
t
; if
t
is set too small, the desired corner points may be clustered
into other clusters; if
t
is set larger, this situation will occur more frequently. To extract the
desired corner points,
t
should be set slightly larger). For this,
dthr
is defined as a metric to
filter points that are too close. The process is defined as follows:
P′
ClusterCenter =n(x′
i,z′
i) = 1
2xi+xj,zi+zj[i,j|DC(i,j)≤dthr ]o
PClusterCenter =PClusterCenter \ {xj,zj}(8)
Aerospace 2024,11, 859 10 of 25
Repeat the above process in a loop, updating
PClusterCenter
,
DC
, and the values of
P′
ClusterCenter
each time, and iterating step by step until all elements in
DC
are greater than
dthr
.
At this point, the final P′
ClusterCenter is obtained, and its distance matrix is denoted as D′
C.
To extract the final two corner points of
P′
i
,
P′
ClusterCenter
must be further refined. Due
to the unique geometric properties of the propellant grain, the two corner points to be
extracted are significantly farther from the other corner points, while the corner points not
to be extracted have several smaller distances between them. Additionally, based on the
3D laser scan results, noise points are mostly concentrated near the corner points. Using
these two characteristics, the following equation is applied:
(P′′
ClusterCenter ={(xi,zi)∈P′
ClusterCenter |∀i,j=1, . . . , t′,D′
C(i,j)≥d′
thr }
P′
ClusterCenter =P′
ClusterCenter \{(xi,zi)}(9)
Figure 6. KD-tree nearest neighbor search. After performing KD-tree search for the point
p′
ij
in
P′
i
,
the nearest subset for this point is obtained. Using k-means, this subset is divided into two subsets,
denoted as
C1
and
C2
. Line fitting is performed on both subsets, and based on the angle, it is
determined whether to include this point in the candidate corner point set.
By iterating the above equation twice, the corner point set
P′′
ClusterCenter
containing
only the two required corner points can be obtained. The expression for
P′′
ClusterCenter
is
P′′
ClusterCenter ={(xα,zα),(xβ,zβ)}. Finally, through
θi=180
π×arctan zβ−zα
xβ−xα!
∆xi=mean(xα,xβ)
∆zi=mean(zα,zβ)
(10)
Calculate the rotation angle and translation amount for each layer of point cloud
PS
,
and for the entire point cloud, obtain the vector R:
R=
rθ
tx
tz
=mean
θ1··· θM
∆x1. . . ∆xM
∆z1··· ∆zM
(11)
Aerospace 2024,11, 859 11 of 25
3.4.4. Determination of the Height of the Point Cloud
Although the upper and lower surfaces of the propellant grain point cloud are parallel
to the
XOZ
plane, the actual scanning results from the 3D laser scanner show that the
height of each propellant grain point cloud in the
y
-direction is inconsistent. To achieve
coarse position normalization, the point cloud needs to be transformed to a uniform
height. Obviously, using the extreme values directly as the coordinates of the top and
bottom surfaces is not feasible due to the presence of noise. Therefore, projecting
PS
as
a whole onto the
XOY
plane to obtain
Pxoy
, where the points in
Pxoy
can be expressed as
p1
xoy
,
. . .
,
pm
xoy
, with
pi
xoy ∈Pxoy
and
m
being the number of points on the projection plane.
Additionally, the
y
-coordinate of
pi
xoy
is given by
yi
xoy
. Then, the Gaussian kernel density
estimation function can be expressed as follows:
fh(yxoy) = 1
mh2
m
∑
i=1
κyxoy −yi
xoy
h(12)
where
h
is the bandwidth and
K(·)
is the kernel function.
fh(yxoy)
represents the density
distribution of all points in Pxoy along the y-direction. The selected kernel function is:
K(u) = 1
√2πe−u2
2(13)
Based on Gaussian kernel density estimation, the position of maximum density cor-
responds to the upper and lower surfaces of the propellant grain. Thus, the mean of
the
y
-coordinate of the points in the point cloud at this position is taken as the height
corresponding to these surfaces. Finally, by averaging the heights of the upper and lower
surfaces, we obtain the height
ty
of the cross-section located between the upper and lower
surfaces of the propellant grain point cloud PS.
3.4.5. Coarse Normalization Transformation Matrix
Finally, the coarse position normalization of the point cloud is achieved using the
transformation matrix TC, resulting in the coarse registered point cloud P′
S:
TC=
cos(rθ)0 sin(rθ)tx
0 1 0 ty
−sin(rθ)0 cos(rθ)tz
0 0 0 1
(14)
3.5. Fine Position Normalization
After coarse position normalization, the point cloud
P′
S
has been accurately trans-
formed to the reference coordinate system. However, there is still a certain discrepancy
from the calibration position of the reference coordinate system. Through fine position
normalization, we further narrow down this difference. The specific manifestation of this
small difference is that there is a small angular difference between the axis of symmetry of
the propellant grain point cloud and the coordinate axes, along with a certain offset from
the calibrated position in the reference coordinate system.
To determine the symmetry axis of the propellant grain point cloud, two edges of the
point cloud need to be fitted. The symmetry axis is then defined by these two edges to
complete the fine normalization of the position.
3.5.1. Partitioning of Intervals
Firstly, following the layer-wise projection approach described earlier, we obtain
scatter point sets
Wi
,
i=
1, 2,
. . .
,
M
, where the points within each scatter set are denoted as
wi
j
,
j=
1, 2,
. . .
,
N
. After coarse position normalization,
Wi
is approximately symmetrical
with respect to the
x
-axis. Thus, selecting two intervals
Di
1
,
Di
2∈[ai
,
bi]
along the
x
-axis
Aerospace 2024,11, 859 12 of 25
corresponds to the upper and lower sides of the two-dimensional shape(
i
represents the
i-th layer). However, since the data are in the form of scatter points, further discretization
of these intervals is necessary. Let
mi
denote the number of subdivisions for each interval.
The centroid of each discretized interval is considered as the point for linear fitting within
that interval.
Due to the specific scanning frequency of the 3D laser scanner and the large size of
the propellant grain, during the scanning process around the grain, the point cloud is
generated only when the laser reflects back from the grain. Since the scanning mechanism
is rotational, the points on the side edges of the resulting propellant grain point cloud
exhibit a periodic density distribution. As shown in Figure 7, the points on the edges of
Wi
exhibit a periodic density distribution in the two-dimensional plane. To ensure that each
interval contains a higher density of point clouds as much as possible, the values of
mi
should satisfy the following condition according to the sampling theorem:
∆Di
n=bi−ai
mi≥2ηω
σf,n=1, 2 i=1, . . . , M(15)
where
f
represents the scanning frequency of the 3D laser scanner;
ω
denotes the scanning
linear velocity;
σ
is the downsampling factor, defined as the ratio of points in the down-
sampled point cloud to the original point cloud;
η
is the magnification factor, calculated
as follows:
η=1
cos(θmax )(16)
where the parameter
θmax
represents the maximum inclination angle of the two sides of the
standard propellant grain.
Figure 7. Boundary of propellant grain point cloud. The boundary of the cross-sectional point cloud
exhibits a periodic density distribution. The appropriate interval division is shown in figures (a,b). An
excessively large interval is shown in figure (c), while an overly small interval is shown in figure (d).
3.5.2. Multiple Symmetry Axis Fitting
After coarse position normalization,
Wi
is divided into two parts by the
x
-axis . There-
fore, once the length of the subinterval is determined, the set of points in the
k
-th subinterval
of
Di
n
,
n=
1, 2 can be represented as
di
nk
:
di
1k={wi
j(xj
,
zj)∈Wi|ai+ (k−
1
)∆Di
1≤xj≤
Aerospace 2024,11, 859 13 of 25
ai+k∆Di
1
,
zj>
0,
k=
1,
. . .
,
mi}
and
di
2k={wi
j(xj
,
zj)∈Wi|ai+ (k−
1
)∆Di
2≤xj≤
ai+k∆Di
2,zj<0, k=1, . . . , mi}. The centroids of di
1kand di
2kare as follows:
centroidi
x−nk =
∑wi
j∈di
nk xj
Ni
nk
centroidi
z−nk =
∑wi
j∈di
nk zj
Ni
nk
n=1, 2 j=1, . . . , Ni
nk (17)
where Ni
nk is the number of points contained in di
nk.
Based on the scanning mechanism, only the surface of the propellant grain can be
scanned as points in the point cloud. Therefore, finding the centroids of
di
1k
and
di
2k
represents the line fitting points for the boundary in that region. Next, the midpoint
between the corresponding centroids is taken as the fitting point for the symmetry axis.
This process is repeated for all small intervals to obtain all centroids and fitting points
for the symmetry axis. Line fitting is then performed based on Equation
(4)
to obtain the
axis line
li
c
and boundary lines
li
1
and
li
2
for
Wi
, with their line parameters represented as
ki
c,bi
c
,
ki
1,bi
1
and
ki
2,bi
2
,respectively. The slopes
ki
c
,
ki
1
, and
ki
2
correspond to the angles
of inclination θi
c,θi
1, and θi
2.
As shown in Figure 8, two adjacent small intervals of
Wi
are randomly selected, with
fitting points on the boundary denoted as
A1
,
A2
,
B1
and
B2
, and corresponding points on
the axis denoted as
AC
and
BC
(to facilitate presentation, the subintervals in the figure
appear non-adjacent, but the selected subintervals are actually adjacent).
Figure 8. Symmetric axis fitting.
Due to the existence of a slight inclination,
A1
and
A2
and
B1
and
B2
are not symmetric
points geometrically. Let
A′
2
and
B′
2
be the symmetric points of
A1
and
B1
, respectively. The
axis line fitting points between the symmetric points are denoted as A′
Cand B′
C.
According to the triangle median line theorem,
ACA′
C∥A2A′
2
and
|ACA′
C|=
0.5
|A2A′
2|
.
Similarly, we have
BCB′
C∥B2B′
2
and
|BCB′
C|=
0.5
|B2B′
2|
. Since
A2
,
A′
2
,
B2
, and
B′
2
lie on the
same fitted line,
ACA′
C∥BCB′
C
. Due to symmetry,
|A1B′
1|=|A′
2B′
2|=∆Di
n
cosθi
1
, and because
|A2B2|=∆Di
n
cosθi
2
, we finally obtain the following:
|ACA′
C|−|BCB′
C|=2(|A2A′
2|−|B2B′
2|) = 2∆Di
n(1
cosθi
2−1
cosθi
1
)(18)
Aerospace 2024,11, 859 14 of 25
Due to the coarse normalization,
Wi
is already highly symmetrical about the x-axis,
θi
1
and
θi
2
are very close, and
∆Di
n
is very small, it can be assumed that
|ACA′
C|=|BCB′
C|
,
and
ACA′
CB′
CBC
can almost be regarded as a parallelogram. Therefore,
A′
CB′
C∥ACBC
,
indicating that the angle of the fitting axis line equals the actual axis angle. Thus, adjusting
the angle using the fitting axis line angle is reliable.
Then, the inclination angle of P′
Sis as follows:
θd=
M
∑
i
θi
c
M(19)
Repeat Equation
(15)
–
(17)
and
(19)
until
abs(θd)≤mθ
, where
mθ
is a given threshold
and
M
refers to the number of projection layers mentioned above.The entire process is
shown in Figure 9.
Figure 9. The entire process for multiple symmetry axis fitting.
3.5.3. Axial Compensation of Corresponding Points
Then, set
tx=ty=tz=
0 and
rθ=θd
, substitute
rθ
into Equation
(14)
to transform
the point cloud
P′
S
to obtain
P′
θd
. At this point,
P′
θd
is approximately symmetrical with the
coordinate axes of the reference coordinate system, but there are still minor deviations
along the
x
and
z
axes. To achieve fine normalization, axial compensation is performed by
averaging the sum of the intersection coordinates of lines
li
1
and
li
2
for each layer
Wi
. This
part of the process can be described as:
tx=1
M∑M
i
bi
1−bi
2
ki
2−ki
1
tz=tx
M∑M
iki
2+1
M∑M
ibi
2
i=1, . . . , M(20)
In the above expression,
ki
1,bi
1
and
ki
2,bi
2
represent the slopes and intercepts of
lines
li
1
and
li
2
, respectively. By substituting
tx
and
tz
into Equation
(14)
and setting
rθ
and
ty
to 0, a new transformation matrix is obtained. This matrix is then used to transform
P′
θd
into P′′
S, completing the fine normalization.
If there exists a point cloud
PC
at the calibrated position of the reference coordinate
system that is identical to the point cloud
PS
, and the values of
tx
,
ty
, and
tz
can be
further optimized:
(tx,ty,tz) = 1
N′
N′
∑
i
(p′′
si −pci )(21)
where
p′′
si
and
pci
represent the points in
P′′
S
and
PC
, respectively, and
N′
represents the
number of points in the point cloud.
Finally, substitute
tx
,
ty
and
tz
into Equation
(14)
again to obtain the final transforma-
tion matrix of our method.
Aerospace 2024,11, 859 15 of 25
4. Experiments
This section first introduces several propellant grain point clouds used in the experi-
ments, followed by a description of the evaluation criterion employed. The point cloud
down-sampling experiment has subsequently been completed. Two experimental groups
were then established, each comparing the proposed algorithm with the RANSAC and ICP
algorithms, followed by an analysis of the results.
4.1. Experimental Setup
4.1.1. Propellant Grain Point Clouds and Experimental Environment
To validate the effectiveness of the position normalization algorithm, different ex-
periments were designed and conducted. All experiments were performed on hardware
including an Intel(R) Core(TM) i5-12490F CPU and an NVIDIA RTX 4060 Ti GPU.
Four different propellant grain point clouds (FP-1, FP-2, FP-3, FP-4) were used as
the original point clouds for the experiments. Due to the manufacturing process of the
propellant grains, the surface of each grain has varying degrees of indentations and protru-
sions and slight differences in size between grains. After scanning these grains into point
clouds, these differences are reflected in the point cloud of each propellant grain, as shown
in Figure 10.
Figure 10. FP-1, FP-2, FP-3, and FP-4.
4.1.2. Definition of the Target Point Cloud
Based on the symmetry and geometric properties of propellant grains, the propellant
grain point clouds (FP-1, FP-2, FP-3, FP-4) were manually transformed to the calibrated
position in the reference coordinate system the point cloud mentioned above has already
undergone down-sampling processing), resulting in
P1
T
,
P2
T
,
P3
T
, and
P4
T
, which will be
replaced by
Pi
T
in the following text, where
i=
1,
. . .
, 4. For
Pi
T
, there are a total of
N′
i
points, with each point denoted as
pi
T
. These four point clouds are referred to as the
target point clouds. The target point cloud serves as a benchmark, providing a basis
for verifying whether the post-experimental point clouds have been transformed to the
calibrated position.
Once a propellant grain point cloud is manually transformed to the calibrated position,
the processes of position normalization and point cloud registration become identical.
Therefore, algorithms from the field of point cloud registration can be employed to verify
the accuracy of the proposed position normalization algorithm.
4.1.3. Parameter Settings
By applying some perturbations to the position of
Pi
T
, we transform
Pi
T
to a specified
location, resulting in the original point cloud
Pi
O
. Then, we apply the proposed algorithm
and the RANSAC + ICP algorithm to perform the corresponding transformation on Pi
O:
Pi
O
coar se norma lizati on
−−−−−−−−−−−→ Pi
ours−c
f ine n ormal izat ion
−−−−−−−−−−→ Pi
ours−f
Pi
O
RA NS AC
−−−−−→ Pi
RA NS AC
ICP
−−→ Pi
ICP
(22)
Aerospace 2024,11, 859 16 of 25
The definition of perturbation is as follows: In practical situations, the position of
the point cloud obtained from the three-dimensional laser scanner exhibits four degrees
of freedom relative to the calibrated spatial position. These degrees of freedom include
the rotation angle relative to the
y
-axis and the offsets along the
x
-,
y
-, and
z
-axes. These
rotation and translation parameters are encoded in a vector as Vp= [θy,∆x,∆y,∆z].
For single-variable experiments: Based on the statistical analysis of the offset of the
propellant grain point cloud relative to the calibrated position, the parameter ranges are
defined as follows:
θy∈[−
30
◦
, 30
◦]
,
∆x∈[−
500
mm
, 500
mm]
,
∆y∈[−
500
mm
, 0
]
, and
∆z∈[−
500
mm
, 500
mm]
. For each experiment, one of
θy
,
∆x
,
∆y
, or
∆z
is set to a specific
value within the corresponding range as the perturbation, transforming
Pi
T
into
Pi
O
. For
example, when the
θy
between
Pi
O
and
Pi
T
is set to a certain value, the values of
∆x
,
∆y
, and
∆zare all set to zero.
For multivariable experiments: For each experiment, all elements of
θy
,
∆x
,
∆y
, and
∆z
are simultaneously assigned random values to as the perturbation, transforming Pi
Tinto Pi
O.
4.1.4. Evaluation Criterion
Since
Pi
ours−c,Pours−f,Pi
RA NS AC,Pi
ICP
are all derived from the transformation of
Pi
O
,
which in turn is transformed from
Pi
T
, the difference between these point clouds lies in
their positions, while the number of points in each point cloud is the same. This section
describes the evaluation criteria. For the sake of readability, any one of the point clouds
from Pi
ours−c,Pours−f,Pi
RA NS AC,Pi
ICP will be uniformly represented as Pi
T′.
The degree of position normalization for the point cloud is evaluated using two
metrics: root mean square error (RMSE) and transformation matrix error. The computation
formula for RMSE is as follows:
RMSE =v
u
u
t1
N′
i
N′
i
∑
j=1∥pi
Tj ′−pi
Tj ∥2j=1, . . . , N′
ii=1, . . . , 4 (23)
where pi
Tj ′and pi
Tj represent the points in Pi
T′and Pi
T, respectively.
This formula represents the square root of the average squared distance between
corresponding points
Pi
T′
and
Pi
T
reflecting the overall disparity between these two point
clouds. A smaller RMSE value indicates that the processed point cloud
Pi
T′
deviates less
from Pi
Tat the calibrated position, as shown in Figure 11.
Figure 11. RMSE principle diagram.
The definition of the transformation matrix is as follows:
T=
R11 R12 R13 tx
R21 R22 R23 ty
R31 R32 R33 tz
0 0 0 1
(24)
where Ris a 3 ×3 rotation matrix used to describe rotation, defined as follows:
Aerospace 2024,11, 859 17 of 25
R=
R11 R12 R13
R21 R22 R23
R31 R32 R33
=
cos (rθ)0 sin (rθ)
0 1 0
−sin (rθ)0 cos (rθ)
(25)
tis a 1 ×3 translation vector used to describe translation, defined as follows:
t=
tx
ty
tz
(26)
The error of the transformation matrix is defined as follows:
δθ=1
4sqrt[(Ri′
11 −Ri
11)2+ (Ri′
13 −Ri
13)2+
(Ri′
31 −Ri
31)2+ (Ri′
33 −Ri
33)2]
δx,δy,δz=|ti′
T−ti
T|
(27)
where
Ri
11
,
Ri
13
,
Ri
31
and
Ri
33
and
ti
T
represent the elements of rotation matrix and translation
vector from
Pi
O
to
Pi
T
, and
Ri′
11
,
Ri′
13
,
Ri′
31
and
Ri′
33
and
ti
T′
represent the elements of rotation
matrix and translation vector from
Pi
O
to
Pi
T′
, respectively.
sqrt(·)
represents the square
root operation.
Using Equations (25) and (27), δθcan be further simplified:
δθ=1
2sqrt1−cosri′
θ−ri
θ (28)
where
ri′
θ
represents the transformation angle from
Pi
O
to
Pi
T′
and
ri
θ
represents the transfor-
mation angle from Pi
Oto Pi
T.
δθ
represents the difference between the rotation matrix from
Pi
O
to
Pi
T′
and the rotation
matrix from
Pi
O
to
Pi
T
. A smaller value indicates that the angular difference between
Pi
T′
and Pi
Tis smaller.
δx
,
δy
,
δz
represent the differences between the translation vectors from
Pi
O
to
Pi
T′
and
from
Pi
O
to
Pi
T
, respectively. Smaller values indicate smaller positional differences between
Pi
T′and Pi
Talong the x-, y-, and z-axes.
4.2. Downsampling Experiments
Before starting the experiments, it is necessary to determine an appropriate number of
downsampled point cloud points. Based on the three-dimensional laser scanning mechanism,
the propellant grain point cloud consists of five faces. Considering the area of each face and
the downsampling distribution radius of 0.1 mm, the minimum number of points per face
is 10,000, which means the minimum number of points after downsampling the propellant
point cloud is 50,000. Based on this minimum number of points, each experiment incremen-
tally increases the number of downsampled points and measures the processing time of our
method. The experimental results are shown in Table 1. From the results in the table, it can
be observed that the number of points in the point cloud is positively correlated with the
algorithm’s processing time. Therefore, based on the algorithm’s processing time, the number
of downsampled points for the propellant grain point cloud is set to 50,000, as shown in Table 2.
Table 1. Downsampled number of points experiment.
Number of Downsampled Points:
140,000 130,000 120,000 110,000 100,000
90,000 80,000 70,000
600,000 500,000
Processing Time (s): 484.13 457.39 428.39 396.12 352.46 321.16 277.90 254.07 215.04 174.95
Aerospace 2024,11, 859 18 of 25
Table 2. Number of Points.
Point Cloud Number of Points After Down Sampling
FP-1 13,333,095 49,987
FP-2 20,128,476 50,728
FP-3 15,943,085 51,301
FP-4 17,933,175 48,375
4.3. Single-Variable Experiments
In the single-variable experiments, for each
Pi
T
,
i=
1
. . .
4, 12 experiments are con-
ducted with different
θy
values while keeping the other parameters constant. Similarly,
10 experiments are conducted for different
∆x
values, 5 experiments for different
∆y
values,
and 10 experiments for different
∆z
values, while keeping the other parameters constant.
In total, 37 × 4 experiments are performed.
For the 12 experiments with varying
θy
, the mean RMSE and the mean transformation
matrix error across the 12 experiments are recorded as
RMSE(θy)
and
δθ
, respectively. In
each of the 12 experiments, only the angle is changed, and
δx
,
δy
,
δz
in the transformation
matrix errors are all 0. Therefore,
δθ
can be used directly to represent the transformation
matrix error. The same applies below. For the 10 experiments with varying
∆x
, the mean
RMSE and mean transformation matrix error are recorded as
RMSE(∆x)
and
δx
. Similarly,
for the 5 experiments with varying
∆y
, the mean RMSE and mean transformation matrix
error are recorded as
RMSE(∆y)
and
δy
, and for the 10 experiments with varying
∆z
, these
values are recorded as RMSE(∆z)and δz. The experimental results are shown in Table 3.
As for the specific details of each of the 37 experiments on
Pi
T
, they are shown in
Figures 12 and 13.
Table 3. Results of single-variable normalization experiment.
Point Cloud Algorithm Model [δθ,δx,δy,δz] [RMSE(θy), RMSE(∆x), RMSE(∆y), RMSE(∆z)]
FP-1
RANSAC [2.7519 7.72 × 10−871.3267 1.6005 × 10−7][45.6162 2.1546 × 10−5308.2656 2.1381 × 10−5]
ICP [9.4203 2.1082 × 10−5246.8501 2.1093 × 10−5]
Ours Coarse normalization [6.2778 × 10−34.6826 × 10−36.4697 × 10−54.9118 × 10−3][2.7828 1.4542 6.6201 × 10−54.2702]
Fine normalization [1.927 × 10−21.7841 × 10−2- 1.8759 × 10−2]
FP-2
RANSAC [1.7348 1.3558 × 10−467.2147 1.4084 × 10−7][36.8562 2.1464 × 10−5359.3677 3.5136 × 10−5]
ICP [6.3411 4.6483 × 10−4315.9922 2.0999 × 10−5]
Ours Coarse normalization [3.7423 × 10−39.7675 × 10−43.3594 × 10−52.2935 × 10−3][2.959 3.9315 3.5526 × 10−528.1718]
Fine normalization [9.2156 × 10−33.5941 × 10−3- 8.6835 × 10−3]
FP-3
RANSAC [2.593 7.72 × 10−8117.2881 1.6005 × 10−7][45.2615 2.1247 × 10−5793.146 2.124 × 10−5]
ICP [8.6269 2.1082 × 10−5650.5938 2.1093 × 10−5]
Ours Coarse normalization [5.6036 × 10−33.8561 × 10−26.9092 × 10−52.6747 × 10−3][6.5244 2.4333 6.9969 × 10−52.9202]
Fine normalization [1.049 × 10−21.516 × 10−1- 1.0468 × 10−2]
FP-4
RANSAC [1.4392 7.72 × 10−8105.2849 1.6005 × 10−7][42.2502 2.142 × 10−5517.5345 2.1223 × 10−5]
ICP [4.7415 2.1082 × 10−5409.91 2.1093 × 10−5]
Ours Coarse normalization [3.7006 × 10−31.2487 × 10−23.5645 × 10−51.4475 × 10−2][2.7779 7.7289 × 10−13.9265 × 10−57.7043 × 10−1]
Fine normalization [9.6007 × 10−34.7459 × 10−2- 4.5678 × 10−2]
Single-Variable Experiments Results Analysis
The experimental results indicate that when there is an angular deviation between
the original point cloud and the target point cloud, The normalization accuracy of our
method is 1 to 2 orders of magnitude higher than that of the RANSAC + ICP method.
Therefore, compared to RANSAC + ICP, our method has a significant advantage in cases
where there is an angular difference between the target and source point clouds, with
a much
higher accuracy. For cases where only translational differences exist between the
original and target point clouds, RANSAC + ICP performs better due to its point-to-point
registration principle, making it easier to obtain corresponding point differences in the axial
direction. However, as observed in the graphs, when aligning original point clouds with
changes only in the
y
-direction, the performance of RANSAC + ICP is unstable, exhibiting
Aerospace 2024,11, 859 19 of 25
significant fluctuations due to the algorithm getting trapped in local optima. Nevertheless,
the normalization accuracy of our method also meets the standard requirements.
Figure 12. Transformation matrix error. When only
θy
is changed, the
δθ
of our method is smaller
than that of RANSAC + ICP. When only
∆x
or
∆z
is changed, RANSAC + ICP shows higher accuracy.
However, when only
∆y
is changed, the performance of RANSAC + ICP is unstable, while our
method remains stable with a consistently low error.
4.4. Multivariable Experiments
It is evident that cases where there is only translational difference between the point
cloud obtained by the 3D laser scanner and the target point cloud are rare. In the majority
of cases, there are angular differences. Therefore, FP-1 is selected as the target point cloud
(
P1
T
), and
P1
T
is randomly transformed across four degrees of freedom (
θy
,
∆x
,
∆y
, and
∆z
).
Each transformation results in an original point cloud
P1
O
. A total of 10 transformations are
performed, resulting in 10 experiments.
The RMSE between the normalized point cloud and the target point cloud was calcu-
lated as evaluation metrics. The results of all 10 experiments are shown in Figure 14.
Multivariable Experiments Results Analysis
The result of one of the aforementioned ten sets of propellant grain point cloud
position normalization experiments is shown in Figure 15. After position normalization
using our method, the point cloud tends to overlap with the target point cloud, while
with RANSAC + ICP, there are still some distances between corresponding points. The
position normalization experiments on 10 randomly transformed original point clouds
indicate that the
RMSE
is smaller with our method compared to RANSAC + ICP. In
the RANSAC + ICP algorithm, RANSAC is merely a fitting method for a mathematical
model, and its fitting result may not necessarily be optimal. Moreover, if RANSAC does
not provide a good initial transformation for the original point cloud, it directly affects
the accuracy of the ICP algorithm, ultimately resulting in a lower overall normalization
accuracy. Additionally, based on the experimental results in Figures 12 and 13, it can be
Aerospace 2024,11, 859 20 of 25
observed that the ICP algorithm tends to become trapped in local optima. RANSAC + ICP
only focuses on the correspondence between points, while our method utilizes both the
correspondence between points and the structural information of the point cloud. The final
results demonstrate that in practical applications, when dealing with scanned propellant
grain point clouds, our method achieves higher accuracy.
Figure 13.
RMSE
between
Pi
T′
and
Pi
T
. When only
θy
is changed, the two-stage
RMSE
values of our
method are lower. When only
∆x
or
∆z
is changed, the
RMSE
values of RANSAC and ICP tend
to be consistent and are lower than those of our method. However, when only
∆y
is changed, the
RMSE
values of RANSAC and ICP show instability, while our method remains relatively stable and
maintains a lower RMSE value.
Figure 14. Random position point cloud position normalization experiment.
Aerospace 2024,11, 859 21 of 25
Figure 15. Position normalization results. It is evident that after position normalization using our
method, most of the points align well with the target point cloud, with only a few points that are
not completely aligned. In contrast, the results from RANSAC + ICP show that most points are not
well aligned.
5. Conclusions
To solve the problem of transforming the unordered propellant grain point cloud
position to the calibrated position for planning the free assembly scheme in virtual space,
this paper proposes a position normalization method that combines coarse and fine position
normalization stages. In the coarse position normalization stage, arc corner points are
extracted using KD-tree nearest neighbor search and k-means clustering, while in the fine
position normalization stage, angle adjustments are made using axis fitting. Both stages
employ a layer-by-layer projection method to avoid interference, thus eliminating the need
for other complex denoising strategies.
RANSAC + ICP is prone to local optima. Our algorithm, designed based on the
geometric properties of the propellant grain point cloud, shows an average accuracy
improvement of two orders of magnitude over RANSAC + ICP according to experimental
results. This meets the prerequisites for the subsequent task of free assembly of propellant
grains in a virtual space.
Although designed for propellant grain point cloud position normalization, our
method provides a universal handling idea for normalizing point clouds of arbitrarily
shaped objects obtained by rotating three-dimensional laser scanners. Finally, the posi-
tion normalization of point clouds involves complex and variable scenarios, necessitating
an improvement in the algorithm’s generalization ability across different contexts.
Author Contributions: Conceptualization, J.W. and F.T.; methodology, J.W. and F.T.; software, J.W.;
validation, J.W.; investigation, J.W.; resources, J.W., F.T. and X.S.; data curation, J.W.;
writing—original
draft, J.W.; writing—review and editing, J.W., F.T., R.L., Z.L. and B.Z.; visualization, J.W.; supervision,
J.W., F.T., R.L., Z.L., B.Z. and X.S.; project administration, J.W., F.T., R.L. and Z.L.; funding acquisition,
F.T., Z.L., B.Z. and X.S.; formal analysis, J.W. All authors have read and agreed to the published version
of the manuscript.
Funding: This study was funded by the Major Program (JD) of Hubei Province (2023BAA004).
Data Availability Statement: The data presented in this study are available on request from the
corresponding author. The data are not publicly available due to privacy and ethical.
Conflicts of Interest: The authors declare no conflicts of interest.
Aerospace 2024,11, 859 22 of 25
Appendix A
Table A1. Annotations for the main variables and symbols.
Variables or Symbols Annotations
PThe original point cloud
PSDownsampled point cloud
P′
SCoarse normalized point cloud
P′′
SFine normalized point cloud
Pxoy The point set obtained by projecting PSonto the XOY plane.
Pi
TThe i-th target point cloud.
Pi
T′For clarity, the point clouds processed by various algorithms (Pi
ours−c,Pours−f,Pi
RAN SAC ,Pi
ICP )
are collectively referred to as Pi
T′.
PiThe i-th layer contains the point cloud
P′
iThe scatter point set of Piprojected onto the XOZ plane
WiP′
Sis projected layer by layer onto the i-th scatter point set of the XOZ plane.
pij (xij ,yij ,zij )The coordinates of each point in Pi
p′
ij (x′
ij ,z′
ij )The coordinates of each point in P′
i(Since y′
ij =0, y′
ij is omitted.)
wi
j(xi
j,zi
j)The coordinates of each point in Wi
Sij The nearest neighbor point set of p′
ij
∆Di
nThe length of the subinterval.
C1and C2Clusters
DCDistance matrix
PClusterCe nter Set of cluster centers
P′
Clust erCenter Set of cluster centers after removing nearby points
P′′
Clust erCenter Final set of cluster centers(set of corner points)
rθ,tx,ty,tzParameters of the transformation matrix
θy,∆x,∆yand ∆zFour degrees of freedom of the displacement of the propellant grain point cloud
δθand δx,δy,δzThe differences between the rotation matrices and the translation vectors.
\ Difference set operator
Appendix B
Appendix B.1. KD-Tree
The KD-tree construction process is as follows: For the projection of
P′
i
onto the
XOZ
plane, where the coordinates of each point are
(x′
ij
,
z′
ij )
, the next step is to determine the
segmentation dimension of the projection plane:
f(u′
ij ) = ∑li
j(u′
ij −1
li∑li
ju′
ij )2
li,u′
ij =x′
ij or z′
ij ,j=1 . . . li
dim =x−a xis i f max{f(x′
ij ),f(z′
ij )}=f(x′
ij )
dim =z−a xis i f max{f(x′
ij ),f(z′
ij )}=f(z′
ij )
(A1)
where
li
represents the number of points in
P′
i
(as mentioned in Section 3.4.2). The segmen-
tation dimension has been determined through the above steps. Next, all points within
P′
i
are sorted in descending order based on this dimension, and the point corresponding to the
median is selected as the node. Using this node and another dimension perpendicular to it,
the two-dimensional plane is divided into a left subtree and a right subtree. Points with
values less than the node value in this dimension are assigned to the left subtree, and points
with values greater than the node value are assigned to the right subtree. This process of
partitioning the two regions is repeated recursively until each point is assigned as a leaf
node, completing the construction of the KD-tree.
The construction of the KD-tree allows for the rapid querying of each point
p′
ij
in
P′
i
. Assuming the query point is
p′
ij
, the KD-tree can provide a corresponding node and
its surrounding leaf nodes. The Euclidean distances between the query point and the
surrounding leaf nodes are then calculated, and those with distances less than the set
threshold are recorded in the nearest neighbor point set Sij.
Appendix B.2. K-Means
The process of cluster division using k-means is as follows: Since k-means is used
multiple times in this paper, the variables used below will be redefined. Assume that
a set
of points
Pa
in a two-dimensional plane containing
n
points is clustered into
k
clusters,
Aerospace 2024,11, 859 23 of 25
with each point in
Pa
represented as
pi
a
. The mean vector within each cluster is defined
as follows:
µk=1
Mk∑
pi
a∈Pa
pi
a,i=1, 2, 3, . . . , n(A2)
where
Mk
represents the number of samples in the
k
-th cluster. At the beginning of the
algorithm, Mkis initialized to a random value.
Next, we compute the nearest
µj
for the point
pi
a
in the point set
Pa
(where 1
≤j≤k
).
Assuming that
pi
a
is closest to
µj
among all
µk
, we assign the point
pi
a
to the
j
-th cluster.
After assigning all points, we update
Mk
and refresh
µk
to
µ1
k
using Equations
(A2)
. This
process can be described as:
Lj=arg min
1≤j≤k
pi
a−µj
,i=1 . . . n(A3)
Let
µj
in the
i
-th iteration be denoted as
µi
j
, and define the change in cluster center
as follows:
∆µi
j=∥µi
j−µi−1
j∥2
2, 1 ≤j≤k(A4)
By repeating the above steps until the sum of the changes in cluster centers, in the
i
-th
iteration
∆δ
has a minimum mean square error less than the threshold
εµ
; the process is
defined as follows:
∆δ=1
k
k
∑
j=1
∆µi
j≤εµ(A5)
The clustering process described above has divided all the points in
Pa
into
k
clusters.
To obtain the center of the
i
-th cluster (
i=
1, . . . ,
k
), simply calculate the mean of the
coordinates of all points within that cluster.
References
1.
DeLuca, L.T.; Annovazzi, A. Survey of burning rate measurements in small solid rocket motors. FirePhysChem 2024,4, 146–165.
[CrossRef]
2.
Lee, H.S.; Ko, S.C.; Kwon, S.W.; Lee, J.S. Optimization of a Solid Rocket Motor Design through Neural Network-Assisted
Performance Prediction. IEEE Trans. Aerosp. Electron. Syst. 2023,59, 8769–8781. [CrossRef]
3.
Weiqiang Pang, L.T.D. Nano and Micro-Scale Energetic Materials: Propellants and Explosives; John Wiley & Sons: Hoboken, NJ, USA,
2023. Available online: https://onlinelibrary.wiley.com/doi/book/10.1002/9783527835348 (accessed on 14 October 2024).
4.
Fang, C.; Lou, Y.; Wang, J.; Zhao, Y.; Cheng, W.; Yuan, B.; Ma, X. A fast heat transfer calculation and optimization method for
solid rocket motor overcoat structure based on Python. In Proceedings of the 2023 2nd International Symposium on Aerospace
Engineering and Systems (ISAES), Nanjing, China, 19–21 May 2023; pp. 101–105. [CrossRef]
5.
Abdelaziz, A.; Trache, D.; Tarchoun, A.F.; Boukeciat, H.; Kadri, D.E.; Hassam, H.; Ouahioune, S.; Sahnoun, N.; Thakur, S.;
Klapötke, T.M. Application of co-crystallization method for the production of ammonium perchlorate/ammonium nitrate
oxidizer for solid rocket propellants. Chem. Eng. J. 2024,487, 150654. [CrossRef]
6.
Ghedjatti, I.; Shiwei, Y.; Haixing, W. A Review on the Application and Usefulness of Metal Nanosized Particles in Solid Rocket
Propellants. In Proceedings of the 2018 3rd International Conference on Smart and Sustainable Technologies (SpliTech), Split,
Croatia, 26–29 June 2018; pp. 1–6. Available online: https://ieeexplore.ieee.org/document/8448308 (accessed on 14 October 2024).
7.
Xu, F.; Aravas, N.; Sofronis, P. Constitutive modeling of solid propellant materials with evolving microstructural damage. J. Mech.
Phys. Solids 2008,56, 2050–2073. [CrossRef]
8.
Lysien, K.; Stolarczyk, A.; Jarosz, T. Solid Propellant Formulations: A Review of Recent Progress and Utilized Components.
Materials 2021,14, 6657. [CrossRef]
9. Chaturvedi, S.; Dave, P.N. Solid propellants: AP/HTPB composite propellants. Arab. J. Chem. 2019,12, 2061–2068. [CrossRef]
10.
Trache, D.; Klapötke, T.M.; Maiz, L.; Abd-Elghany, M.; DeLuca, L.T. Recent advances in new oxidizers for solid rocket propulsion.
Green Chem. 2017,19, 4711–4736. [CrossRef]
11.
Bills, K.W.; Wiegand, J.H. Relation Of Mechanical Properties To Solid Rocket Motor Failure. AIAA J. 1963,1, 2116–2123. [CrossRef]
12.
Liu, X.; Wang, Z.; Liu, P.; Han, Y.; Jin, B. Dewetting Stress of Solid Propellant under Tensile Loading. In Proceedings of the
2018 9th International Conference on Mechanical and Aerospace Engineering (ICMAE), Budapest, Hungary, 10–13 July 2018;
pp. 570–573. [CrossRef]
Aerospace 2024,11, 859 24 of 25
13.
Simões Hoffmann, L.F.; Parquet Bizarria, F.C.; Parquet Bizarria, J.W. Detection of liner surface defects in solid rocket motors using
multilayer perceptron neural networks. Polym. Test. 2020,88, 106559. [CrossRef]
14. Rao, B. Fracture of solid rocket propellant grains. Eng. Fract. Mech. 1992,43, 455–459. [CrossRef]
15.
Lei, M.; Ren, S.; Chen, E.; Zhang, Z.; Xiao, J.; Wen, L.; Hou, X. Correlation between solid propellant failure and interface
debonding in solid rocket motors. Polym. Test. 2022,115, 107755. [CrossRef]
16.
Wang, G.; Cai, E. Solid Rocket Motor Design; Northwestern Polytechnical University Press: Xi’an, China, 1994. Available online:
https://www.shukui.net/book/861646.html (accessed on 14 October 2024).
17.
Zhang, L. Experimental and Applied Research on Constitutive Model of Composite Solid Propellant under Superimposed
Pressure and Changing Rates. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2020.
18.
Deng, K.; Zhang, L.; Pang, A.; Yu, R.; Yang, L.; Xin, P. Analysis on structural integrity of a free loading solid propellant grains
under ignition loading at low temperature. J. Solid Rocket Technol. 2018,41, 428–434.
19.
Zhang, X.; Zhang, X.; Zhang, H.L.; Zhong, W. Structure Integrity Analysis of Free Loading Solid Rocket Grain under Internal
Pressure. Computer Simulation 2012,29, 13–16.
20.
Guo, Y.; Wang, H.; Hu, Q.; Liu, H.; Liu, L.; Bennamoun, M. Deep Learning for 3D Point Clouds: A Survey. arXiv 2019, arXiv:1912.12033.
[CrossRef]
21.
Dong, Z.; Liang, F.; Yang, B.; Xu, Y.; Zang, Y.; Li, J.; Wang, Y.; Dai, W.; Fan, H.; Hyyppä, J.; et al. Registration of large-scale
terrestrial laser scanner point clouds: A review and benchmark. ISPRS J. Photogramm. Remote Sens. 2020,163, 327–342. Available
online: https://api.semanticscholar.org/CorpusID:216449537 (accessed on 14 October 2024). [CrossRef]
22. Huang, X.; Mei, G.; Zhang, J.; Abbas, R. A comprehensive survey on point cloud registration. arXiv 2021, arXiv:2103.02690.
23.
Landrieu, L.; Simonovsky, M. Large-Scale Point Cloud Semantic Segmentation with Superpoint Graphs. arXiv 2017, arXiv:1711.09869.
24.
Hu, Q.; Yang, B.; Xie, L.; Rosa, S.; Guo, Y.; Wang, Z.; Trigoni, N.; Markham, A. RandLA-Net: Efficient Semantic Segmentation of
Large-Scale Point Clouds. arXiv 2019, arXiv:1911.11236.
25.
Xu, Y.; Jung, C.; Chang, Y. Head pose estimation using deep neural networks and 3D point clouds. Pattern Recognit. 2022,
121, 108210. Available online: https://api.semanticscholar.org/CorpusID:237712154 (accessed on 14 October 2024). [CrossRef]
26.
Yu, J.; Ren, L.; Zhou, W.; Zhang, Y.; Lin, L.; Dai, G. PEAL: Prior-embedded Explicit Attention Learning for Low-overlap Point
Cloud Registration. In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),
Vancouver, BC, Canada, 17–24 June 2023; pp. 17702–17711. [CrossRef]
27.
Wang, H.; Liu, Y.; Dong, Z.; Guo, Y.; Liu, Y.S.; Wang, W.; Yang, B. Robust Multiview Point Cloud Registration with Reliable
Pose Graph Initialization and History Reweighting. In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and
Pattern Recognition (CVPR), Vancouver, BC, Canada, 17–24 June 2023; pp. 9506–9515. [CrossRef]
28.
Qin, Z.; Yu, H.; Wang, C.; Peng, Y.; Xu, K. Deep Graph-based Spatial Consistency for Robust Non-rigid Point Cloud Registration.
In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Vancouver, BC,
Canada, 17–24 June 2023; pp. 5394–5403. Available online: https://api.semanticscholar.org/CorpusID:257622836 (accessed on
14 October 2024).
29.
Yao, Y.; Deng, B.; Xu, W.; Zhang, J. Fast and Robust Non-Rigid Registration Using Accelerated Majorization-Minimization. IEEE
Trans. Pattern Anal. Mach. Intell. 2022,45, 9681–9698. Available online: https://api.semanticscholar.org/CorpusID:249431444
(accessed on 14 October 2024). [CrossRef]
30.
Chen, L.; Feng, C.; Ma, Y.; Zhao, Y.; Wang, C. A review of rigid point cloud registration based on deep learning. Front. Neurorobot.
2024,17, 1281332–1281332. Available online: https://www.frontiersin.org/articles/10.3389/fnbot.2023.1281332/full (accessed on
14 October 2024). [CrossRef] [PubMed]
31.
Charles, R.Q.; Su, H.; Kaichun, M.; Guibas, L.J. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In
Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 21–26 July
2017; pp. 77–85. [CrossRef]
32.
Qi, C.R.; Yi, L.; Su, H.; Guibas, L.J. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. arXiv 2017,
arXiv:1706.02413.
33.
Ni, H.; Lin, X.; Ning, X.; Zhang, J. Edge Detection and Feature Line Tracing in 3D-Point Clouds by Analyzing Geometric
Properties of Neighborhoods. Remote Sens. 2016,8, 710. [CrossRef]
34.
Chen, X.; Zhao, B. An Efficient Global Constraint Approach for Robust Contour Feature Points Extraction of Point Cloud. IEEE
Trans. Geosci. Remote Sens. 2023,61, 1–16. Available online: https://ieeexplore.ieee.org/document/10229227 (accessed on
14 October 2024). [CrossRef]
35.
Gumhold, S.; Wang, X.; Macleod, R. Feature Extraction from Point Clouds. In Proceedings of the International Meshing
Roundtable Conference, Newport Beach, CA, USA, 7–10 October 2001. Available online: https://api.semanticscholar.org/
CorpusID:18343879 (accessed on 14 October 2024).
36.
Demarsin, K.; Vanderstraeten, D.; Volodine, T.; Roose, D. Detection of closed sharp edges in point clouds using normal estimation
and graph theory. Comput.-Aided Des. 2007,39, 276–283. Available online: https://www.sciencedirect.com/science/article/pii/
S0010448506002260 (accessed on 14 October 2024). [CrossRef]
37.
Pauly, M.; Keiser, R.; Gross, M. Multi-Scale Feature Extraction on Point-Sampled Surfaces. Comput. Graph. Forum 2003,22, 281–289.
Available online: https://onlinelibrary.wiley.com/doi/abs/10.1111/1467-8659.00675 (accessed on 14 October 2024). [CrossRef]
38. Liu, X.; Jin, C. Feature line extraction from unorganized noisy point clouds. J. Comput. Inf. Syst. 2014,10, 3503–3510.
Aerospace 2024,11, 859 25 of 25
39.
Hackel, T.; Wegner, J.D.; Schindler, K. Contour Detection in Unstructured 3D Point Clouds. In Proceedings of the 2016 IEEE
Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 27–30 June 2016; pp. 1610–1618. [CrossRef]
40. Lu, X.; Liu, Y.; Li, K. Fast 3D Line Segment Detection From Unorganized Point Cloud. arXiv 2019, arXiv:1901.02532.
41.
Fischler, M.A.; Bolles, R.C. Random sample consensus: A paradigm for model fitting with applications to image analysis and
automated cartography. Commun. ACM 1981,24, 381–395. Available online: https://api.semanticscholar.org/CorpusID:972888
(accessed on 14 October 2024). [CrossRef]
42.
Rusu, R.B.; Blodow, N.; Beetz, M. Fast Point Feature Histograms (FPFH) for 3D registration. In Proceedings of the 2009
IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. Available online:
https://api.semanticscholar.org/CorpusID:15022990 (accessed on 14 October 2024).
43.
Tsai, C.Y.; Wang, C.W.; Wang, W.Y. Design and implementation of a RANSAC RGB-D mapping algorithm for multi-view point
cloud registration. In Proceedings of the 2013 CACS International Automatic Control Conference (CACS), Nantou, Taiwan,
2–4 December 2013; pp. 367–370. [CrossRef]
44.
Dou, J.; Lin, X.; Niu, D.; Zhao, X. Non-rigid point set registration based on DIS&ANG descriptor and RANSAC. In Proceedings
of the 2017 2nd International Conference on Image, Vision and Computing (ICIVC), Chengdu, China, 2–4 June 2017; pp. 693–697.
[CrossRef]
45. Peng, C.C. K-means based RANSAC Algorithm for ICP Registration of 3D Point Cloud with Dense Outliers. In Proceedings of
the 2021 IEEE International Conference on Consumer Electronics-Taiwan (ICCE-TW), Penghu, Taiwan, 15–17 September 2021;
pp. 1–2. [CrossRef]
46.
Besl, P.; McKay, N.D. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992,14, 239–256. [CrossRef]
47.
Yu, J.; Yu, C.; Lin, C.; Wei, F. Improved Iterative Closest Point (ICP) Point Cloud Registration Algorithm based on Matching
Point Pair Quadratic Filtering. In Proceedings of the 2021 International Conference on Computer, Internet of Things and Control
Engineering (CITCE), Guangzhou, China, 12–14 November 2021; pp. 1–5. [CrossRef]
48.
Chen, A.; Zhuang, J.; Han, X. An Improved ICP Algorithm for 3D Point Cloud Registration. In Proceedings of the 2022 3rd
International Conference on Pattern Recognition and Machine Learning (PRML), Chengdu, China, 22–24 July 2022; pp. 205–210.
[CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.