Photovoltaic system shadow analysis method, device and equipment based on PointNet + + and medium

The shadow-blocking area analysis of the photovoltaic system is carried out by using the PointNet++ model and drone point cloud scanning technology, which solves the problems of long time consumption and insufficient accuracy in existing technologies and realizes efficient and high-precision shadow-blocking area identification.

CN120635442APending Publication Date: 2025-09-12SHENZHEN TECH UNIV +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510694286.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

Existing photovoltaic system shadow analysis methods are time-consuming and cannot guarantee the accuracy of mapping vegetation and buildings in complex terrain or large areas, resulting in insufficient accuracy in identifying shadowed areas.

Method used

The PointNet++ model is used to perform semantic segmentation and triangulation on the target point cloud data. Combined with drone point cloud scanning technology, point cloud data is acquired and optimized in real time to identify shadow-occluded areas.

Benefits of technology

The recognition accuracy of shadow-occluded areas is improved, the analysis time is reduced, the errors caused by manual drawing methods are overcome, and high-precision shadow-occluded area analysis is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120635442A_ABST
    Figure CN120635442A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of photovoltaic power generation. The invention discloses a photovoltaic system shadow analysis method, device and equipment based on PointNet + + and a medium. The accuracy of identifying a shadow shielding area can be improved. The method comprises the following steps: acquiring target point cloud data in real time; inputting the target point cloud data into a PointNet + + model for semantic segmentation processing to obtain a segmentation result; performing triangular meshing processing on the segmentation result and the target point cloud data by adopting a preset algorithm to obtain optimized point cloud data; and analyzing and processing the optimized point cloud data to obtain a high-precision shadow shielding area, so that the installation of the photovoltaic system avoids the shadow shielding area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of photovoltaic power generation technology. More specifically, the present application relates to a photovoltaic system shadow analysis method, device, equipment and medium based on PointNet++. Background Art

[0002] When the photovoltaic system is in operation, it is affected by shadow obstruction factors, which not only causes power loss, but may also cause safety hazards such as fire. In order to improve the power generation of the photovoltaic system and ensure the safety of the photovoltaic system, the existing technology usually adopts the photovoltaic system shadow analysis method to identify the shadow obstruction area so that the photovoltaic system can avoid the shadow obstruction area. The existing photovoltaic system shadow analysis method usually obtains the shadow obstruction area in the environment through manual drawing. However, the manual drawing method is not only time-consuming, but also cannot guarantee the accuracy of drawing vegetation and buildings in complex terrain or large areas, resulting in the final shadow obstruction area being different from the expectation, making it difficult to achieve the accuracy of identifying the shadow obstruction area. Summary of the Invention

[0003] The purpose of the embodiments of the present application is to provide a photovoltaic system shadow analysis method, apparatus, device, and medium based on PointNet++, which can improve the accuracy of identifying shadow-obstructed areas. The embodiments of the present application are mainly achieved through the following technical solutions: A first aspect of an embodiment of the present application provides a photovoltaic system shadow analysis method based on PointNet++, comprising: Acquire target point cloud data in real time; Input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; Performing triangulated meshing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data; The optimized point cloud data is analyzed and processed to obtain a shadow-blocked area, so that the photovoltaic system can be installed away from the shadow-blocked area.

[0004] According to one embodiment of the present application, the step of acquiring target point cloud data in real time includes: Get initial point cloud data; Performing format conversion processing on the initial point cloud data to obtain first point cloud data to be processed; Loading the first point cloud data to be processed into a first point cloud object, and performing translation processing on the coordinate information of the first point cloud object to obtain second point cloud data to be processed; The second to-be-processed point cloud data is cut and scaled to obtain the target point cloud data.

[0005] According to one embodiment of the present application, the photovoltaic system shadow analysis method based on PointNet++ further includes a training step of the PointNet++ model, and the training step of the PointNet++ model includes: Obtaining a training data set and a true label set, wherein each first training data in the training data set has a one-to-one correspondence with one first true label in the true label set; Input the target training data into the original PointNet++ model for semantic segmentation processing to obtain a prediction result, wherein the target training data is any training data in the training dataset; Calculating a loss function based on the prediction result and the true label corresponding to the target training data; Adjust model parameters of the original PointNet++ model based on the loss function to obtain the PointNet++ model.

[0006] According to one embodiment of the present application, the step of performing triangular meshing processing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data includes: Using the density-based spatial clustering algorithm in the preset algorithm to perform aggregation processing according to the segmentation result to obtain multiple clusters; The differential interpolation strategy in the preset algorithm is used to perform geometric feature enhancement processing on the points of each cluster to obtain point cloud data to be optimized; The point cloud data to be optimized is subjected to triangular meshing processing to obtain the optimized point cloud data.

[0007] According to one embodiment of the present application, the steps of performing geometric feature enhancement processing on the points of each cluster using the differentiated interpolation strategy in the preset algorithm to obtain the point cloud data to be optimized include: In the case where the target cluster belongs to a structural object, a moving average interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain third point cloud data to be processed, wherein the target cluster is any one of the multiple clusters; In the case where the target cluster is a surface object or an open object, a least squares plane fitting algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain fourth point cloud data to be processed; In a case where the target cluster belongs to a furniture object or a vehicle object, a feature-preserving interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain fifth point cloud data to be processed; In the case where the target cluster belongs to natural objects and miscellaneous objects, the elastic interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain sixth point cloud data to be processed; The third point cloud data to be processed, the fourth point cloud data to be processed, the fifth point cloud data to be processed, and the sixth point cloud data to be processed are combined to form the point cloud data to be optimized.

[0008] According to one embodiment of the present application, the step of performing triangular meshing processing on the point cloud data to be optimized to obtain the optimized point cloud data includes: Set the preset value; An alpha shape algorithm is used to perform triangulation meshing on the point cloud data to be optimized based on the preset values ​​to obtain the optimized point cloud data.

[0009] According to one embodiment of the present application, the step of analyzing and processing the optimized point cloud data to obtain the shadow occlusion area includes: Performing format conversion processing on the optimized point cloud data to obtain final point cloud data; Modeling software is called to perform modeling processing on the final point cloud data to obtain the shadow-occluded area.

[0010] A second aspect of an embodiment of the present application provides a photovoltaic system shadow analysis device based on PointNet++, comprising: Target point cloud data acquisition module, used to acquire target point cloud data in real time; A semantic segmentation module is used to input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; A triangular mesh processing module is used to perform triangular mesh processing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data; The analysis module is used to analyze and process the optimized point cloud data to obtain a shadow-blocked area so that the photovoltaic system can be installed away from the shadow-blocked area.

[0011] A third aspect of an embodiment of the present application provides a terminal device, including: a processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory, and executing the steps of the photovoltaic system shadow analysis method based on PointNet++ provided in the first aspect of the embodiment of the present application.

[0012] In a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium is used to store a computer program, and the computer program enables a computer to execute the steps of the photovoltaic system shadow analysis method based on PointNet++ provided in the first aspect of the embodiment of the present application.

[0013] The beneficial effects of the embodiments of the present application include: The embodiment of the present application uses drone point cloud scanning, so that the embodiment of the present application can use point cloud data to perform environmental modeling of the site corresponding to the photovoltaic system, thereby achieving high-precision analysis of the shadow-blocked area. Specifically, the embodiment of the present application obtains target point cloud data in real time; inputs the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; uses a preset algorithm to perform triangulated meshing on the segmentation result and the target point cloud data to obtain optimized point cloud data; analyzes and processes the optimized point cloud data to obtain a shadow-blocked area, so that the installation of the photovoltaic system avoids the shadow-blocked area. Compared with the prior art, the embodiment of the present application uses the method of analyzing point cloud data to replace the traditional manual drawing method, thereby reducing the analysis time of the shadow-blocked area, and the point cloud data objectively obtains the environment of the site corresponding to the photovoltaic system through hardware equipment, which can overcome the errors caused by manual drawing, thereby improving the accuracy of identifying the shadow-blocked area. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the conventional technology, the following briefly introduces the drawings required for use in the embodiments or the conventional technology descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0015] Figure 1 This is a flowchart of a photovoltaic system shadow analysis method based on PointNet++ in some embodiments of the present application; Figure 2 This is a reference diagram for clustering points in this application; Figure 3 This is the reference image of the noise point and the real plane in this application; Figure 4 This is the reference diagram for the projection points and the target fitting plane in this application; Figure 5 This is a principle block diagram of a photovoltaic system shadow analysis device based on PointNet++ in some embodiments of the present application; Figure 6 This is a principle block diagram of the terminal device of the present application in some embodiments. DETAILED DESCRIPTION

[0016] To make the above-mentioned objects, features, and advantages of the present application more clearly understood, the specific embodiments of the present application are described in detail below with reference to the accompanying drawings. The following description sets forth many specific details to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar improvements without violating the scope of the present application. Therefore, the present application is not limited to the specific embodiments disclosed below.

[0017] It should be noted that the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of such features. In the description of this application, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.

[0018] The terms "exemplary" or "for example" are used to indicate an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0019] The terms "comprises," "comprising," or any other variations thereof are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, product, or apparatus.

[0020] Unless otherwise defined, all technical and scientific terms used in the specification of this application have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The term "and / or" used in the specification of this application includes any and all combinations of one or more of the relevant listed items.

[0021] The specific implementation of this application is further described below with reference to the accompanying drawings.

[0022] refer to Figure 1 As shown in FIG, it is a flow chart of a photovoltaic system shadow analysis method based on PointNet++ provided in the first aspect of the embodiment of the present application. Figure 1 In the present invention, the photovoltaic system shadow analysis method based on PointNet++ includes: S1. Obtain target point cloud data in real time.

[0023] Furthermore, step S1 includes: S11. Obtain initial point cloud data.

[0024] In the embodiment of the present application, a drone is used to scan the target site to obtain the initial point cloud data. More specifically, a flight path may be pre-set on the drone's remote controller to ensure the accuracy of the drone's flight path and the integrity of its scanning range, thereby achieving efficient data collection.

[0025] The drone may be a DJI M300 RTK model. Combined with a lidar system, the drone can efficiently collect point cloud data and achieve high-density three-dimensional modeling of the target site through route planning, RTK high-precision positioning, and lidar scanning.

[0026] The initial point cloud data is a set of three-dimensional coordinates.

[0027] S12: Perform format conversion on the initial point cloud data to obtain first point cloud data to be processed.

[0028] The embodiment of the present application calls DJI Terra software to perform format conversion processing on the initial point cloud data.

[0029] In this embodiment of the present application, the first point cloud data to be processed is stored as a point cloud file in the ply format. In other embodiments, the storage format of the first point cloud data to be processed may also be the LAS format, the PCD format, or the S3MB format. The storage format of the first point cloud data to be processed can be set by those skilled in the art according to actual needs and is not further limited herein.

[0030] The first processed point cloud data can be used for engineering applications such as photovoltaic site modeling, roof recognition and layout analysis, effectively improving modeling efficiency and accuracy.

[0031] The implementation of step S12 enables the combination of the drone and the software to not only ensure the accuracy of the point cloud data, but also simplify the format conversion process of the point cloud data.

[0032] S13: Load the first point cloud data to be processed into a first point cloud object, and perform translation processing on the coordinate information of the first point cloud object to obtain second point cloud data to be processed.

[0033] In this embodiment of the present application, the first point cloud data to be processed is loaded into a first point cloud object (ie, a PointCloud object) by calling the pcread function in the MATLAB software.

[0034] In this embodiment of the application, the coordinate information of the first point cloud object is translated to the positive half-axis area of ​​the X-axis, Y-axis and Z-axis by calling the min function in the MATLAB software to ensure the reasonable positioning of the first point cloud data to be processed.

[0035] Furthermore, after step S13, step S1 further includes: S15: Perform visual display processing on the second point cloud data to be processed.

[0036] The embodiment of the present application performs a visual display process on the second point cloud data to be processed by calling the pcshow function in MATLAB software. More specifically, the embodiment of the present application first converts the second point cloud data to be processed into a point cloud image and then displays the point cloud image.

[0037] S14: Cut and scale the second to-be-processed point cloud data to obtain the target point cloud data.

[0038] Furthermore, step S14 includes: S141: Obtain a first user instruction.

[0039] Specifically, the first user instruction includes two three-dimensional coordinates. One of the three-dimensional coordinates is the minimum value required by the user in the second point cloud data to be processed (which can also be understood as the minimum value of the cutting area), and the other three-dimensional coordinate is the maximum value required by the user in the second point cloud data to be processed (which can also be understood as the maximum value of the cutting area).

[0040] S142. Perform cutting processing on the second to-be-processed point cloud data based on the first user instruction to obtain cut point cloud data.

[0041] S143: Obtain a second user instruction.

[0042] The second user instruction is a zoom-out instruction or a zoom-in instruction. In other implementations, the second user instruction may also be other instructions, which may be specifically set by those skilled in the art according to actual needs.

[0043] S144. Perform scaling processing on the cut point cloud data based on the second user instruction to obtain the target point cloud data.

[0044] When the second user instruction is a reduction instruction, a linear contraction operation is performed on the Z axis of the cut point cloud data to reduce the scale of the Z axis in the cut point cloud data.

[0045] When the second user instruction is a zoom instruction, a linear stretching operation is performed on the Z axis of the cut point cloud data to enlarge the scale of the Z axis in the cut point cloud data.

[0046] The embodiment of the present application calculates the length of the Z-axis after stretching or shrinking in real time and visually displays the length of the Z-axis.

[0047] Furthermore, the embodiment of the present application exports the target point cloud data as a new ply file by calling the pcwrite function in MATLAB software. For all ply files in this article, MATLAB code can be used to read point cloud data from the ply file.

[0048] After implementing the above steps S141 to S144, the user can perform precise coordinate cutting and flexible scale transformation when processing point cloud data, thereby improving the accuracy of the target point cloud data.

[0049] In other implementations, the target point cloud data may also be converted into txt format data for training the PointNet++ model.

[0050] In other implementations, the target point cloud data can also be converted to npy format data. The converted npy format data has seven columns per row and contains X-axis, Y-axis, Z-axis, RGB information, and coordinate labels for each point. After model processing is completed, the coordinate labels are automatically changed to the corresponding point labels (if the point represents a surface, the label number is changed from 0 to the number corresponding to the surface). npy format data can be read using the read_npy.py program.

[0051] Furthermore, after step S14, step S1 further includes: S16: Visualize and display the target point cloud data.

[0052] The embodiment of the present application performs a visual display process on the target point cloud data by calling the pcshow function in MATLAB software. More specifically, the embodiment of the present application first converts the target point cloud data into a point cloud image and then displays the point cloud image.

[0053] S2. Input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result.

[0054] The PointNet++ model can achieve high-precision detection of objects (such as trees, roofs, buildings, etc.) in photovoltaic design scenes.

[0055] Furthermore, the training steps of the PointNet++ model include: S21. Obtain a training data set and a true label set, wherein each training data in the training data set has a one-to-one correspondence with one of the true labels in the true label set.

[0056] The data format and data structure of each training data in the training data set are the same as the data format and data structure of the initial point cloud data.

[0057] The training dataset is selected from an optimized dataset of the Semantic3D dataset and the S3DIS dataset. The S3DIS dataset is mainly aimed at processing point cloud data inside buildings, providing high-quality semantic annotation of building internal structures (such as walls, windows, columns, etc.), which is very suitable for identifying internal building elements; the Semantic3D dataset focuses on outdoor point cloud data in large-scale urban environments, especially building facades, roofs and streets, and covers obstructions such as trees and street lights. The embodiment of the present application uses a hybrid training of the optimized datasets of these two datasets, so that the model can not only accurately identify the internal and external structures of the building, but also effectively identify obstructions such as trees, and realize a comprehensive analysis of the building facade and the surrounding environment. This training method helps to improve the recognition accuracy of building facades, windows and roofs, and provides strong support for the shadow analysis and optimization design of photovoltaic systems, thereby improving the overall accuracy of BIPV (also known as photovoltaic building integration) system design and enhancing its adaptability in different environmental scenarios.

[0058] The original labels of the S3DIS dataset include: 0 for ceiling, 1 for floor, 2 for wall, 3 for beam, 4 for column, 5 for window, 6 for door, 7 for table, 8 for chair, 9 for sofa, 10 for bookcase, 11 for board (such as a whiteboard), and 12 for clutter (unclassified small objects).

[0059] The original labels of the Semantic3D dataset include: 1 for man-made terrain, 2 for natural terrain, 3 for high vegetation, 4 for low vegetation, 5 for buildings, 6 for hard scape, 7 for scanning artifacts, and 8 for cars.

[0060] In order to enable the two datasets to be used uniformly for training and testing, the embodiment of the present application redefines a new label system based on the features of the original labels of the S3DIS dataset and the Semantic3D dataset, namely the optimized dataset. Specifically, the original labels of the S3DIS dataset and the Semantic3D dataset are fused and mapped. For the S3DIS dataset, the original labels such as ceilings, floors and walls are mapped to "structure" or "surface", furniture objects such as chairs and tables are classified as "furniture", windows and doors are classified as "openings", and sundries are classified as "miscellaneous". For the Semantic3D dataset, artificial terrain and natural terrain are uniformly classified as "surface", high vegetation and low vegetation are classified as "natural", buildings are classified as "structure", cars are classified as "vehicles", and unknown points with a label of 0 are classified as "miscellaneous".

[0061] This optimized dataset label mapping method ensures consistent labeling across different datasets, facilitating unified classification training across them. Furthermore, in the restoration of design scenarios, interpolation algorithms can better handle labels in mixed datasets, improving data availability and accuracy.

[0062] The training dataset may also be selected from the SemanticKITTI dataset, the ShapeNet dataset, and the PartNet dataset. In other embodiments, those skilled in the art may also select a corresponding dataset according to actual needs.

[0063] S22. Input the target training data into the original PointNet++ model for semantic segmentation processing to obtain a prediction result, wherein the target training data is any training data in the training data set.

[0064] The original PointNet++ model is the PointNet2_sem_seg_msg model.

[0065] S23. Calculate a loss function based on the prediction result and the true label corresponding to the target training data.

[0066] Furthermore, the calculation formula of the loss function is: ; in, is the loss function; is the total number of the training data sets; is the true label corresponding to the target training data, that is, The true labels corresponding to the training data; is the probability that the predicted result is a positive class, that is, the probability that the predicted result is a tree class.

[0067] In other implementations, the loss function may also be other loss functions, which may be specifically set by those skilled in the art according to actual needs.

[0068] S24. Adjust the model parameters of the original PointNet++ model based on the loss function to obtain the PointNet++ model.

[0069] Furthermore, the training steps of the PointNet++ model also include: The model parameters are stored in a model file.

[0070] The model file is the best_models.pth file. The pth file is a standard file format used by the PyTorch framework to save model weights.

[0071] S3. Using a preset algorithm to perform triangulation meshing on the segmentation result and the target point cloud data to obtain optimized point cloud data.

[0072] Furthermore, step S3 includes: S31 , using a density-based spatial clustering algorithm in the preset algorithm to perform aggregation processing according to the segmentation result to obtain multiple clusters.

[0073] The density-based spatial clustering algorithm is the DBSCAN (Density-Based Spatial Clustering of Applications with Noise) clustering algorithm, which can find clusters of any shape and effectively identify noise points.

[0074] Unlike traditional distance-based clustering algorithms (such as K-means), the DBSCAN clustering algorithm does not require the number of clusters to be specified in advance, but automatically determines the number of clusters based on the density of the data. This makes the DBSCAN clustering algorithm particularly suitable for processing point cloud data containing noise or with irregular shapes. The DBSCAN clustering algorithm is widely used in point cloud processing, geographic information systems (GIS), image analysis and other fields. Using the DBSCAN clustering algorithm, points with the same label are clustered into a cluster (region) (refer to Figure 2 As shown in Figure 3), different point cloud interpolation methods are then used to perform geometric feature enhancement according to clusters with different labels.

[0075] It should be understood that each cluster is a group of point cloud data.

[0076] S32: Perform geometric feature enhancement processing on the points of each cluster using the differentiated interpolation strategy in the preset algorithm to obtain point cloud data to be optimized.

[0077] Furthermore, step S32 includes: S321. When the target cluster belongs to a structural object, use the moving average interpolation algorithm in the differentiated interpolation strategy to perform geometric feature enhancement processing on the target cluster to obtain third point cloud data to be processed, where the target cluster is any one of the multiple clusters.

[0078] The moving average interpolation algorithm is essentially a non-parametric low-pass filter, which can effectively reduce the curvature change rate of the point cloud, achieve smoothing processing, and effectively eliminate high-frequency noise.

[0079] Furthermore, step S321 includes: S3211. Using a sliding window mechanism, calculate the geometric center position coordinates of each point in the target cluster among multiple nearest neighboring points.

[0080] The plurality of nearest neighbor points may be k nearest neighbor points.

[0081] The moving average interpolation algorithm uses the KDTree (k-dimensional tree, also known as KD tree, a data structure for efficiently processing k-dimensional spatial data) data structure to accelerate the neighbor search, optimizing the time complexity of the nearest neighbor query to O(logN). Compared with the traditional brute force search O(N), the search efficiency is improved by 10-100 times, especially in The effect is particularly significant.

[0082] The use of the sliding window mechanism can avoid the complexity of global parameter adjustment.

[0083] S3212. Modify the original coordinates corresponding to each point to the geometric center position coordinates corresponding to the point, and obtain the updated coordinates corresponding to each point.

[0084] S3213: Construct the third point cloud data to be processed by using the updated coordinates of all points in the target cluster.

[0085] Furthermore, the moving average interpolation algorithm improves numerical stability through vectorized calculation using NumPy np.mean (the mean value of the NumPy library), and performs a validity check of the k value before calculation to avoid errors in empty neighborhood queries and ensure the robustness of the algorithm.

[0086] S322. When the target cluster belongs to a surface object or an opening object, the least squares plane fitting algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain fourth point cloud data to be processed.

[0087] Furthermore, step S322 includes: S3221 , applying Gaussian noise to the true normal vector direction of each point in the target cluster to obtain a noise point corresponding to each point in the target cluster.

[0088] S3222. Use the residual function to calculate the algebraic distance between all noise points and the true plane, and obtain the residual vector corresponding to each noise point.

[0089] The residual function is residuals(p,xyz), where p=[A, B, C, D], A, B and C are the normal vectors corresponding to each noise point, and D is the offset; x, y and z are the coordinate information of each noise point on the x-axis, y-axis and z-axis respectively.

[0090] S3223: Use the vertical plane of all noise points as an initial guess, and initialize parameters of the initial guess.

[0091] The normal vector of the vertical plane is (0, 0, 1).

[0092] In other implementations, other planes may be used as initial guesses, which may be specifically set by those skilled in the art according to actual needs.

[0093] S3224. Call a preset function to optimize and solve the sum of squares of the residual vectors, minimize the sum of squares of the residual vectors, and obtain the optimal fitting plane.

[0094] The preset function is scipy.optimize.leastsq function. In other implementations, those skilled in the art can set the function according to actual needs.

[0095] The standard form of the plane equation of the optimal fitting plane is: A1x+B1y+C1z+D1=0; Wherein, A1 is the normal vector corresponding to each noise point on the x-axis in the best-fit plane, B1 is the normal vector corresponding to each noise point on the y-axis in the best-fit plane, C1 is the normal vector corresponding to each noise point on the z-axis in the best-fit plane, and D1 is the offset corresponding to each noise point in the best-fit plane.

[0096] S3225. Normalize all normal vectors of the optimal fitting plane, and add a very small amount after normalization to obtain a fitting normal vector corresponding to each of the noise points, and construct a target fitting plane based on the fitting normal vector and the offset corresponding to each of the noise points in the optimal fitting plane.

[0097] The very small amount is , to prevent the zero division problem. In other embodiments, the minimum amount can be set by those skilled in the art according to actual needs.

[0098] S3226. Project each point in the target cluster onto the target fitting plane along the direction of the fitting normal vector to obtain a projection point corresponding to each point in the target cluster.

[0099] S3227. All the projection points constitute the fourth point cloud data to be processed.

[0100] The implementation of the above steps can optimize the data quality of the fourth point cloud data to be processed.

[0101] The least-squares plane fitting algorithm can still accurately recover plane parameters at a noise level of 0.05. Mathematical verification results show that the angular deviation between the true normal vector [0.577, 0.577, 0.577] and the fitted normal vector [0.576, 0.579, 0.577] is less than 0.1°, and the plane offset error is only 0.4%.

[0102] The color depth of each point in the target cluster reflects the noise intensity. Figure 3 As shown, the red points are all noise points, the blue points are all points in the target cluster, and the plane is the real plane; Figure 4 As shown, the orange points are all projection points, and the plane formula is the target fitting plane. Figure 4 In the above steps, all projection points are closely aligned with the target fitting plane to form a regular two-dimensional distribution. The projection operation can effectively eliminate the noise component in the normal direction.

[0103] S323: When the target cluster belongs to a furniture object or a vehicle object, perform geometric feature enhancement processing on the target cluster using the feature-preserving interpolation algorithm in the differentiated interpolation strategy to obtain fifth point cloud data to be processed.

[0104] Furthermore, step S323 includes: S3231. Select every three adjacent points in the target cluster to establish a Delaunay triangle, and the circumscribed circle of each Delaunay triangle does not contain other vertices.

[0105] The circumscribed circle of each Delaunay triangle does not contain other vertices, which can ensure the stability and uniformity of the triangulation.

[0106] S3232. Generate a seed using the centroid of each Delaunay triangle and construct a Voronoi diagram that is dual to the Delaunay triangle.

[0107] The Voronoi diagram, also known as Thiessen polygons or Dirichlet diagram, is a space partitioning method based on a discrete point set.

[0108] S3233: The Voronoi cells in the Voronoi diagram divide the point cloud space in the target cluster into a number of local influence areas, each of which uniquely corresponds to a point in the target cluster (ie, the first original point).

[0109] Step S3233 can accurately describe the local spatial structure and avoid edge distortion during the interpolation process.

[0110] S3234. For each point in the target cluster, perform weighted interpolation calculation according to the vertex set and relative area weight of the Voronoi unit where each point in the target cluster is located, to obtain an interpolation point corresponding to each point in the target cluster.

[0111] S3235. All interpolation points are used to form the fifth point cloud data to be processed.

[0112] The interpolation value comprehensively considers the spatial position of the point, the non-uniformity of the neighborhood distribution and the geometric characteristics.

[0113] In some embodiments, step S323 further includes: S3236. In the process of performing weighted interpolation calculation (ie, interpolation weight function), a curvature-sensitive term is introduced to enhance the adaptability of the feature-preserving interpolation algorithm to changes in the curvature of the object surface.

[0114] In some embodiments, before S3231, step S323 further includes: S3237. Use a Gaussian kernel function to smooth each point in the target cluster.

[0115] After smoothing, a perturbation term is introduced in the process of processing the minimum weight coefficient ( ), to avoid division by zero or overfitting problems.

[0116] For the complex boundaries and local transition areas commonly found on the surfaces of furniture or vehicle-like objects, the feature-preserving interpolation algorithm adaptively adjusts the support domain size of the interpolation kernel function to improve the performance of the feature-preserving interpolation algorithm in terms of edge continuity and geometric restoration.

[0117] S324: When the target cluster belongs to natural objects and miscellaneous objects, perform geometric feature enhancement processing on the target cluster using the elastic interpolation algorithm in the differentiated interpolation strategy to obtain sixth point cloud data to be processed.

[0118] The natural objects may be terrain and plants. The miscellaneous objects may be rocks and scattered objects. In other embodiments, the natural objects and miscellaneous objects may also be other objects, which may be specifically configured by those skilled in the art based on actual needs.

[0119] S3241. Calculate the Euclidean distance between a second original point and its nearest neighbor to obtain a target distance, where the second original point is any point in the target cluster.

[0120] S3242: Construct a weighted interpolation function based on the target distance and the nearest neighbor point of the second original point, and use the weighted interpolation function to estimate the geometric coordinates corresponding to the second original point.

[0121] Furthermore, the calculation formula of the weighted interpolation function is: ,in, ; is the target distance, that is, the second original point The nearest neighbor point to the second original point The Euclidean distance between is a known attribute value of a nearest neighbor point of the second original point, wherein the known attribute value at least includes the three-dimensional coordinates of the nearest neighbor point; The second original point The corresponding geometric coordinates.

[0122] In other implementations, the weighted interpolation function is also used to obtain the semantic label value corresponding to the second original point.

[0123] S3243. Construct the sixth point cloud data to be processed by using the geometric coordinates corresponding to all points in the target cluster.

[0124] The weighted interpolation method of the weighted interpolation function can adaptively enhance the contribution of neighboring points and avoid interpolation deviation caused by local mutations or outliers.

[0125] In some embodiments, in order to improve numerical stability and noise resistance, the elastic interpolation algorithm introduces a smoothing factor ε (usually ε) in the weight calculation. ) to prevent division by zero; Furthermore, a local gradient adjustment coefficient is introduced to address soft boundary regions common in natural objects, preventing geometric discontinuities in the interpolation results. In terms of implementation, the elastic interpolation algorithm uses batch processing to parallelize the interpolation of multiple second origin points, significantly improving processing efficiency.

[0126] The elastic interpolation algorithm of the embodiment of the present application utilizes the spatial distribution relationship of known points in three-dimensional Euclidean space and adopts weighted linear interpolation to estimate the values ​​of missing points or sparse areas. It can maintain high geometric continuity and spatial consistency while ensuring computational efficiency.

[0127] S325 : Combining the third point cloud data to be processed, the fourth point cloud data to be processed, the fifth point cloud data to be processed, and the sixth point cloud data to be processed to form the point cloud data to be optimized.

[0128] S33 , performing triangular meshing processing on the point cloud data to be optimized to obtain the optimized point cloud data.

[0129] Furthermore, step S33 includes: S331. Set a preset value.

[0130] The preset value is an alpha value, which can also be understood as an α value. The specific value of the preset value is set by those skilled in the art according to actual needs. The preset value is used to control the fineness of the grid and the degree of surface feature retention.

[0131] The α value defines the maximum size of surface details that the alpha shape algorithm is allowed to preserve. When the α value is small, the alpha shape algorithm can generate a fine mesh that fully captures the object's microscopic features, but it may also introduce noise. As the α value increases, the surface becomes smoother and detailed features are gradually simplified, and the mesh may eventually converge to the object's convex hull. Therefore, the selection of the α value requires a balance between model accuracy and smoothness. It is usually optimized based on the point cloud density and the physical size of the features to be preserved to ensure that the generated mesh accurately represents the geometric features while effectively suppressing noise interference.

[0132] S332 , using an alpha shape algorithm to perform triangulation meshing on the point cloud data to be optimized based on the preset values ​​to obtain the optimized point cloud data.

[0133] The Alpha Shapes algorithm converts the point cloud data to be optimized into a continuous surface mesh composed of triangular facets. Therefore, step S332 reconstructs the object's topological structure, laying the foundation for subsequent 3D modeling.

[0134] The optimized point cloud data contains information of a triangle mesh.

[0135] In some embodiments, step S33 further includes: S333. Use the boundaryFacets function of Matlab software to extract and process the optimized point cloud data to obtain all faces, all vertex information and color information corresponding to all vertex information of the triangular mesh.

[0136] If one or more vertex information does not have a corresponding color, white is used by default.

[0137] S334: Modify the information corresponding to the optimized point cloud data into information of all faces, all vertices, and color information corresponding to all vertex information.

[0138] S4. Analyze and process the optimized point cloud data to obtain a shadow-blocked area, so that the photovoltaic system can be installed away from the shadow-blocked area.

[0139] Furthermore, the step of analyzing and processing the optimized point cloud data to obtain the shadow occlusion area includes: S41 , performing format conversion processing on the optimized point cloud data to obtain final point cloud data.

[0140] The final point cloud data is 3D format data supported by photovoltaic design software (ie, modeling software).

[0141] The optimized point cloud data is in ply format, and the final point cloud data is in dae format.

[0142] The implementation of step S41 can be achieved by calling Blender software.

[0143] S42: Calling modeling software to perform modeling processing on the final point cloud data to obtain the shadow-occluded area.

[0144] The modeling software is Pvsyst software, HOMER software, PVSOL software or RETScreen software.

[0145] Compared with traditional manual surveying and mapping methods, the analysis of shadowed areas by the modeling software not only improves the modeling accuracy, but also significantly improves the accuracy of the performance evaluation of the photovoltaic system.

[0146] The present embodiment utilizes drone point cloud scanning, enabling this embodiment to model the environment of the site corresponding to the photovoltaic system using point cloud data, thereby achieving high-precision analysis of shadowed areas. Compared to the prior art, this embodiment uses point cloud data analysis instead of traditional manual drawing, thereby reducing the time required to analyze shadowed areas. Furthermore, point cloud data objectively captures the environment of the site corresponding to the photovoltaic system through hardware equipment, overcoming errors caused by manual drawing and improving the accuracy of identifying shadowed areas.

[0147] In some embodiments, after step S3, the photovoltaic system shadow analysis method based on PointNet++ further includes: S5. Using the trisurf function of Matlab software, the optimized point cloud data is converted into a three-dimensional graph, and the three-dimensional graph is displayed.

[0148] In some embodiments, after step S5, the photovoltaic system shadow analysis method based on PointNet++ further includes: The optimized point cloud data is stored in a PLY format file. The PLY format file can be directly imported into mainstream modeling software for subsequent analysis.

[0149] refer to Figure 5 As shown in FIG, it is a principle block diagram of a photovoltaic system shadow analysis device based on PointNet++ provided in the second aspect of the embodiment of the present application. Figure 5 In the embodiment of the present invention, the photovoltaic system shadow analysis device 100 based on PointNet++ includes: Target point cloud data acquisition module 101, used to acquire target point cloud data in real time; Semantic segmentation module 102, used to input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; A triangulated mesh processing module 103 is configured to perform triangulated mesh processing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data; The analysis module 104 is configured to analyze and process the optimized point cloud data to obtain a shadow-blocked area so that the photovoltaic system can be installed away from the shadow-blocked area.

[0150] The third aspect of the embodiment of the present application provides a terminal device, the principle block diagram of the terminal device can be as follows: Figure 6As shown. The terminal device includes a processor, a memory, a network interface, a display screen and a temperature sensor connected via a system bus. The processor is used to provide computing and control capabilities. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the terminal device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a photovoltaic system shadow analysis method based on PointNet++ is implemented. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the temperature sensor is pre-set inside the terminal device to detect the operating temperature of the internal device.

[0151] Those skilled in the art will understand that Figure 6 The principle block diagram shown in the figure is only a block diagram of a partial structure related to the solution of the present invention, and does not constitute a limitation on the terminal device to which the solution of the present invention is applied. The specific terminal device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0152] In some embodiments, an embodiment of the present application provides a terminal device, which includes a processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the steps of the photovoltaic system shadow analysis method based on PointNet++ provided in the first aspect of the above-mentioned embodiment of the present application.

[0153] In a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium is used to store a computer program, and the computer program enables a computer to execute the steps of the photovoltaic system shadow analysis method based on PointNet++ provided in the first aspect of the embodiment of the present application.

[0154] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the above-described method embodiments. Any reference to memory, storage, database, or other media used in the various embodiments provided herein may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct RAMbus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM).

[0155] The technical features of the above embodiments can be combined without changing the basic principles of this application. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0156] The above embodiments merely illustrate several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of patent protection for the present application shall be determined by the appended claims.

Claims

1. A photovoltaic system shadow analysis method based on PointNet++, characterized in that: include: Acquire target point cloud data in real time; Input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; Performing triangulated meshing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data; The optimized point cloud data is analyzed and processed to obtain a shadow-blocked area, so that the photovoltaic system can be installed away from the shadow-blocked area.

2. The photovoltaic system shadow analysis method based on PointNet++ according to claim 1, characterized in that: The steps to obtain target point cloud data in real time include: Get initial point cloud data; Performing format conversion processing on the initial point cloud data to obtain first point cloud data to be processed; Loading the first point cloud data to be processed into a first point cloud object, and performing translation processing on the coordinate information of the first point cloud object to obtain second point cloud data to be processed; The second to-be-processed point cloud data is cut and scaled to obtain the target point cloud data.

3. The photovoltaic system shadow analysis method based on PointNet++ according to claim 1, characterized in that: The photovoltaic system shadow analysis method based on PointNet++ further includes a training step of the PointNet++ model, and the training step of the PointNet++ model includes: Obtaining a training data set and a true label set, wherein each first training data in the training data set has a one-to-one correspondence with one first true label in the true label set; Input the target training data into the original PointNet++ model for semantic segmentation processing to obtain a prediction result, wherein the target training data is any training data in the training dataset; Calculating a loss function based on the prediction result and the true label corresponding to the target training data; Adjust model parameters of the original PointNet++ model based on the loss function to obtain the PointNet++ model.

4. The photovoltaic system shadow analysis method based on PointNet++ according to claim 1, characterized in that: The step of performing triangulated meshing processing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data includes: Using the density-based spatial clustering algorithm in the preset algorithm to perform aggregation processing according to the segmentation result to obtain multiple clusters; The differential interpolation strategy in the preset algorithm is used to perform geometric feature enhancement processing on the points of each cluster to obtain point cloud data to be optimized; The point cloud data to be optimized is subjected to triangular meshing processing to obtain the optimized point cloud data.

5. The photovoltaic system shadow analysis method based on PointNet++ according to claim 4 is characterized in that: The steps of performing geometric feature enhancement processing on the points of each cluster using the differentiated interpolation strategy in the preset algorithm to obtain the point cloud data to be optimized include: In the case where the target cluster belongs to a structural object, a moving average interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain third point cloud data to be processed, wherein the target cluster is any one of the multiple clusters; In the case where the target cluster is a surface object or an open object, a least squares plane fitting algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain fourth point cloud data to be processed; In a case where the target cluster belongs to a furniture object or a vehicle object, a feature-preserving interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain fifth point cloud data to be processed; In the case where the target cluster belongs to natural objects and miscellaneous objects, the elastic interpolation algorithm in the differentiated interpolation strategy is used to perform geometric feature enhancement processing on the target cluster to obtain sixth point cloud data to be processed; The third point cloud data to be processed, the fourth point cloud data to be processed, the fifth point cloud data to be processed, and the sixth point cloud data to be processed are combined to form the point cloud data to be optimized.

6. The photovoltaic system shadow analysis method based on PointNet++ according to claim 4, characterized in that: The step of performing triangulation processing on the point cloud data to be optimized to obtain the optimized point cloud data includes: Set the preset value; An alpha shape algorithm is used to perform triangulation meshing on the point cloud data to be optimized based on the preset values ​​to obtain the optimized point cloud data.

7. The photovoltaic system shadow analysis method based on PointNet++ according to claim 1, characterized in that: The step of analyzing and processing the optimized point cloud data to obtain the shadow occlusion area includes: Performing format conversion processing on the optimized point cloud data to obtain final point cloud data; Modeling software is called to perform modeling processing on the final point cloud data to obtain the shadow-occluded area.

8. A photovoltaic system shadow analysis device based on PointNet++, characterized in that: include: Target point cloud data acquisition module, used to acquire target point cloud data in real time; A semantic segmentation module is used to input the target point cloud data into the PointNet++ model for semantic segmentation processing to obtain a segmentation result; A triangular mesh processing module is used to perform triangular mesh processing on the segmentation result and the target point cloud data using a preset algorithm to obtain optimized point cloud data; The analysis module is used to analyze and process the optimized point cloud data to obtain a shadow-blocked area so that the photovoltaic system can be installed away from the shadow-blocked area.

9. A terminal device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory to execute the steps of the photovoltaic system shadow analysis method based on PointNet++ as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that Used to store a computer program, wherein the computer program enables a computer to execute the steps of the photovoltaic system shadow analysis method based on PointNet++ as described in any one of claims 1 to 7.