# A Unified Denoising Framework for Restoring the LiDAR Point Cloud Geometry of Reflective Targets
## 2 Materials and Methods
### Methods
#### 2.2.3 Blooming Effect Denoising  
The workflow of the blooming effect denoising algorithm is illustrated in Figure 5, and the detailed procedure is outlined in Algorithm 2. For the point cloud projected onto the YOZ plane after correcting range anomalies, the denoising process involves the following steps:  
1. Boundary extraction: Use the alpha shape algorithm to extract the boundary of the point cloud, obtaining boundary segments and boundary points. 2. Error ellipse construction: Construct an error ellipse centered at each boundary point. The length of the semi-major and semi-minor axes of the ellipse (Equation (3)) are  
Figure 5: Illustration of blooming effect denoising: (**a**) boundary extraction of the original point cloud using alpha shape; (**b**) error ellipse construction and boundary point correction; (**c**) point-wise correction to obtain the new boundary; (**d**) blooming effect denoising and target points’ extraction based on the original and corrected boundaries. The blue line represents the “Original boundary”, with blue dots marking the corresponding “Original boundary points”. The green line represents the “Corrected boundary”, with green dots marking the “Corrected boundary points”. The red dots represent the “Point cloud before blooming effect removal”. In (**d**), the semi-transparent red dots located between the blue and green lines represent the “Noise points caused by the blooming effect”. O is defined as the origin of the LiDAR coordinate system, consistent with its representation in Figure 4. Additionally, the definition of point O can be found in line (5) of the pseudocode table in Algorithm 1.  
determined based on the LiDAR beam divergence angle (\(\theta_{V}\) and \(\theta_{H}\)), target distance (\(L\)), and blooming factors (\(\lambda_{V}\) and \(\lambda_{H}\)). The blooming factors can be estimated through a simple experiment: collect point cloud data of a target with known dimensions at a specific distance and compare the size of the point cloud with the actual size of the target to estimate the factors. In the equation, the subscripts \(V\) and \(H\) represent vertical and horizontal, respectively. \[ \begin{cases}a=L\cdot\tan(\theta_{V})\cdot\lambda_{V}\\ b=L\cdot\tan(\theta_{H})\cdot\lambda_{H}\end{cases} \] (3)
3. Normal vector calculation: For each boundary point, compute the normal vectors of its adjacent left and right boundary segments. The normalized sum of these two vectors is used as the normal vector (Equation (4)) of the boundary point. \[\overrightarrow{v}=(v_{y},v_{z})\] (4)
4. Boundary point correction: Draw the tangent and the normal vector at each boundary point. Adjust the tangent along the direction of the normal vector until it is tangential to the error ellipse. The point of tangency is regarded as the corrected boundary point \((y_{t},z_{t})\). The gradient unit vector of the ellipse at this point is \(\overrightarrow{G}\) (Equation (5)). Let \(\overrightarrow{v}=\overrightarrow{G}\); then, the absolute value of the slope of the line connecting this point to the center of the ellipse can be obtained (Equation (6)). The absolute value of the boundary point coordinate offset is shown in Equation (7). \[\overrightarrow{G}=(\frac{2y_{t}}{b^{2}},\frac{2z_{t}}{a^{2}})\] (5)
5. Noise removal: Traverse all boundary points of the original point cloud to generate a new refined boundary. Points located between the original boundary and the corrected boundary are identified as noise and are removed. In this study, the alpha shape algorithm [43] was used to extract the boundary of the point cloud. The basic idea of alpha shape is to describe the shape of a point set by adjusting the parameter \(\alpha\), which serves as a generalization of the convex hull. Alpha shape utilizes Delaunay triangulation to construct the geometric structure of the points and uses \(\alpha\) to control the level of detail in the shape. When \(\alpha\) is large, the result approximates the convex hull; when \(\alpha\) is small, it captures more detailed local features.