Shore wave parameter extraction method and shore wave height prediction method based on airborne static laser radar
Through the airborne static lidar scanner and KF-LSTM-Attention model, the problem of difficult to obtain the periodic evolution of ocean waves is solved, and low-cost and low-risk wave parameter extraction and accurate prediction are achieved.
Patent Information
- Application Number
- CN202510705509.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2045-05-29
AI Technical Summary
The existing dynamic lidar scanners are costly and difficult to install, and they cannot effectively obtain the periodic evolution of waves in the wave-breaking area. The static lidar scanner cannot export point cloud data frame by frame, resulting in the inability to obtain the periodic evolution of waves.
The onboard static lidar scanner is used to collect data through the drone, set the repeated scanning mode, data slitting, denoising and visualization, and data processing is combined with the DBSCAN algorithm to extract wave parameters, and wave height prediction is performed using the KF-LSTM-Attention model.
Accurately capture the beam state data of the shore waves at custom time intervals, extract the refined shore wave parameters, and predict the wave wave height through the model, reducing the risk and cost of data acquisition and improving prediction accuracy.
Smart Images

Figure CN120259924A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of marine remote sensing, and particularly relates to a method for extracting parameters of breaking waves based on an airborne static lidar and a method for predicting the wave height of breaking waves. Background Art
[0002] At present, the refined capture method for breaking waves is to use a dynamic lidar scanner to observe closely in the wave breaking area, and then export the data frame by frame to obtain the three-dimensional point cloud data of the breaking waves at each frame moment, and further extract parameters such as the maximum wave height, average wave height, significant wave height, number of waves, and wavelength. However, the cost of the dynamic lidar scanner is expensive, the installation on a fixed platform at the wave breaking point is difficult and cumbersome, and the risk coefficient of placing the dynamic lidar scanner on a platform with strong wind and high waves is relatively high. There is an urgent need for a method for obtaining refined data of breaking waves with low cost and low risk.
[0003] The cost of the static lidar scanner is much lower than that of the dynamic scanner, and it can be carried on an unmanned aerial vehicle without being installed on an observation platform in the sea, greatly reducing the risk of data collection. However, due to design reasons, the static lidar scanner currently cannot export point cloud data frame by frame. If it is used to scan dynamic breaking waves, the obtained data will be the point cloud data overlapping together during the entire scanning period, and the periodic evolution form of the sea waves cannot be obtained. Summary of the Invention
[0004] An object of the present invention is to provide a method for extracting parameters of breaking waves based on an airborne static lidar, effectively solving the problem that the periodic evolution form of sea waves cannot be obtained when using a static lidar scanner to scan dynamic breaking waves.
[0005] To solve the above technical problems, the technical solution adopted by the present invention is: a method for extracting surf parameters based on an airborne static lidar, comprising the following steps: S1. Use a drone to carry a static lidar scanner to collect data. Before taking off, set the static lidar scanner to the repeated scanning mode, control the drone to fly to the wave breaking point, and the scanning direction is perpendicular to the coastline direction; S2. Export the data to mapping software, and the export format is las data; S3. Open the las data and export the data to the txt format to obtain the geographical coordinates of the point cloud, the scanning angle between the lidar scanning beam and the vertical ground direction, and the relative time; S4. Data slicing: Delete invalid data, retain the required data, sort the required data according to the relative time, and slice the sorted data into multiple new txt files according to a custom time interval; S5. Data extraction: Design a MATLAB program to extract the wave beam from the txt files sliced in step S4; S6. Data denoising and visualization: Use the DBSCAN algorithm for data denoising; S7. Surf parameter extraction and environmental impact factor acquisition, the surf parameters include wave height, maximum wave height, significant wave height, average wave height and number of waves, and the environmental impact factors include wind stress, water depth and tide level; among them, the method for extracting the wave height is: Select the first 3% of the points in each frame of surf data to calculate the average value of the Z values in their three-dimensional space coordinates (X, Y, Z) as the maximum wave height value of the surf, and at the same time fit the average sea level height. The difference between the maximum wave height value and the average sea level height is the wave height of the surf.
[0006] Further, in step S1, the flight height of the drone is 30 meters above the sea surface; the static lidar scanner uses single-line scanning, the repetition period of the repeated scanning pattern is 0.1 second, and the horizontal FOV of the repeated scanning pattern is 70°.
[0007] Further, in step S5, the design idea of the MATLAB program is: for a single txt data, first, set two detection values, one of which is a positive detection value, initially ; the other is a negative detection value, initially ; Then, start detecting row by row from the column where the scanning angle is located. At this time, there are three situations: S51. If the first positive detection value or the first negative detection value is detected, start detecting downward from the row where the detected value is located. If the first detected value is a positive detection value, stop detecting when the next negative detection value is detected downward; if the first detected value is a negative detection value, stop detecting when the next positive detection value is detected downward, and extract all the rows between the two detection values; S52. If no next detection value is detected after the first positive detection value or the first negative detection value is detected, change the value of the next detection value. The change rule is: if the detection value to be detected is a negative detection value, add 1 to the negative detection value and start detecting again from the row where the first positive detection value is located until a negative detection value is detected; if the detection value to be detected is a positive detection value, subtract 1 from the positive detection value and start detecting again from the row where the first negative detection value is located until a positive detection value is detected, and extract the rows between the two detection values; S53. If no positive detection value or negative detection value is detected in the column where the scanning angle is located, subtract 1 from the positive detection value and add 1 to the negative detection value, and repeat steps S51 and S52; finally, extract the rows between the two detection values.
[0008] Further, in step S6, the DBSCAN algorithm is used for data denoising, including the following steps: S61. Extract point cloud data: Load the las data in step S2 into the data structure; S62. Parameter setting: Set the neighborhood radius to 0.1 meter and the minimum number of points to 5 according to the spatial distribution characteristics and noise level of the data; S63. Core point search: Traverse each point in the dataset and calculate the number of neighbor points of each point within the neighborhood radius. If the number of neighbor points is greater than or equal to the minimum number of points, mark the point as a core point; S64. Cluster generation: Start from an unvisited core point, use the core point as the seed point of a new cluster, recursively expand the cluster, and add all the directly density-reachable points of the seed point to the cluster; if there is a core point among the newly added points in the cluster, continue to recursively expand until no new points are added to the cluster; repeat the above process until all the core points are processed, thereby generating multiple clusters; S65. Noise point identification and data denoising: After cluster generation, the points remaining in the dataset that are not assigned to any cluster are noise points, and the noise points are deleted.
[0009] Further, in step S7, the method for extracting the significant wave height is: Arrange the wave height sequences continuously measured during the observation period from large to small, and take the average value of the first 1 / 3 wave heights; the method for extracting the number of waves is: Traverse the wave height data sorted by time, and compare the size of each wave height with its adjacent previous wave height and next wave height; if the current wave height is greater than the previous and next points or the current wave height is less than the previous and next points, mark it as an extreme point; the number of extreme points is the number of waves.
[0010] Another object of the present invention is to provide a method for predicting the height of breaking waves based on an airborne static lidar, which effectively solves the problem that the periodic evolution form of sea waves cannot be obtained when using a static lidar scanner to scan dynamic breaking waves.
[0011] For the method for predicting the height of breaking waves based on an airborne static lidar, the wave height of the sea wave, the environmental impact factor and the corresponding time extracted by the method for extracting the parameters of breaking waves based on an airborne static lidar described in the above embodiments are used as time series data and input into the KF-LSTM-Attention model. Kalman filtering is used to preprocess the time series data, and LSTM modeling is performed on the processed data. The sequence characteristics of local deep foundation pit monitoring data are mined through the self-attention mechanism, and finally the predicted values are integrated through a fully connected layer to output the predicted values of the wave height data.
[0012] Furthermore, Kalman filtering describes the dynamic evolution law of sea waves through the state space equation, combines prior knowledge with real-time observation values, quantifies the uncertainty of system noise and observation noise with the covariance matrix, and finally outputs the optimal estimated value of the wave height signal.
[0013] The working principle of Kalman filtering is divided into a prediction stage and an update stage: When in the prediction stage, the prior state estimate:
[0014] ;
[0015] In the formula, is the predicted value of the current state, is the state estimate of the previous moment, is the state transition matrix, is the control input matrix, is the control input.
[0016] Error covariance estimate:
[0017] ;
[0018] In the formula, is the covariance, is the predicted error covariance, is the error covariance of the previous moment.
[0019] When in the update stage, the Kalman gain :
[0020] ;
[0021] In the formula, is the observation matrix, is the covariance matrix.
[0022] Posterior state estimation:
[0023] ;
[0024] In the formula, is the updated state estimate, is the time actual observation value of.
[0025] Posterior covariance update:
[0026] ;
[0027] In the formula, is the updated error covariance, is the identity matrix.
[0028] Furthermore, a multi-layer LSTM network is used to process the after Kalman filtering, and the hidden state sequence is output; the LSTM network includes a cell state, a forget gate, an input gate and an output gate, and realizes dynamic modeling of time series features through collaborative work.
[0029] Furthermore, the core of the self-attention mechanism is to establish an interactive dependence map between units of the input sequence by using the orthogonal projection of the query, key and value three vectors, and calculate the correlation strength coefficient between elements; specifically, feature optimization is achieved through the following three stages: A1. Dynamic weight allocation: Under the multi-head attention architecture, the input sequence is mapped to multiple orthogonal subspaces, and the element correlation scores within each subspace are calculated in parallel; A2. Feature fusion mechanism: The normalized attention weights and value vectors are weighted and aggregated to form a new feature representation that fuses global semantics; A3. Selective focusing strategy: The representation strength of key time series nodes is dynamically enhanced through a gating mechanism, while suppressing signal interference in non-critical regions.
[0030] Compared with the prior art, the beneficial technical effects of the present invention are: The present invention combines the characteristics of lidar scanning data to propose a method for extracting breaking wave parameters based on an airborne static lidar scanner, and accurately captures the breaking wave beam state data at a custom time interval from the hybrid and redundant three-dimensional point cloud data of breaking waves scanned by the airborne static lidar scanner, and then effectively extracts refined breaking wave parameters. At the same time, combined with environmental impact factors such as wind stress, water depth, and tide level, a KF-LSTM-Attention model is creatively proposed to predict the breaking wave height. Compared with the traditional LSTM model, the KF-LSTM-Attention model obtains better prediction results. Description of the Drawings
[0031] Figure 1It is the three-dimensional point cloud data (partial) of the original shore-break wave scan in Example 1.
[0032] Figure 2 It is the three-dimensional side view of the visualization of the sea wave before data denoising in Example 1.
[0033] Figure 3 It is the three-dimensional side view of the visualization of the sea wave after data denoising in Example 1.
[0034] Figure 4 It is the prediction effect diagram of the shore-break wave height using the traditional LSTM model.
[0035] Figure 5 It is the prediction effect diagram of the shore-break wave height using the KF-LSTM-Attention model of the present invention. Detailed implementation manners
[0036] Example 1: In this example, place A is selected as the data acquisition location. The weather is fine, and the near-shore shore-break waves are clearly visible by visual observation. The data acquisition device is the airborne high-precision mapping lidar DJI Zenmuse L2, which integrates a frame-type lidar, a high-precision pose system, and a 4 / 3 CMOS visible light mapping camera. The elevation accuracy is 4 cm, the planar accuracy is 5 cm, the operation area per single flight can reach 2.5 square kilometers, the spot area is small, and the energy is more concentrated.
[0037] The payload of DJI Zenmuse L2 supports two scanning modes: non-repetitive scanning and repetitive scanning. (1) Non-repetitive scanning is a unique scanning method of Livox, providing a complete near-circular FOV, and the scanning three-dimensional effect is better. (2) Repetitive scanning is a flat FOV, and its scanning is similar to that of a traditional line-scanning lidar, and can obtain more uniform and higher-precision scanning results.
[0038] The method for extracting shore-break wave parameters based on airborne static lidar provided in this example includes the following steps: S1. Use a drone to carry a static lidar scanner (DJI Zenmuse L2) to collect data. Before taking off, set the static lidar scanner to the repetitive scanning mode, operate the drone to fly to the wave-breaking area, 30 meters above the sea surface, and the scanning direction is perpendicular to the coastline direction (that is, the lidar beam direction is parallel to the advancing direction of the shore-break wave). The drone hovers to collect data for an appropriate time and then returns.
[0039] S2. Export the data to mapping software, and the export format is las data.
[0040] Specifically, remove the memory card from the drone, export the data to DJI mapping software, select the export format as las data in the software, and open the las data using CloudCompare software, as Figure 1As shown, it can be observed that the displayed las data is in a state where all moments are superimposed, and it cannot be exported frame by frame through CloudCompare or other point cloud processing software. When exporting in CloudCompare software according to the default options, the data is exported in txt format, and the obtained text file contains the following content: X, Y, Z, R, G, B, ScanAngleRank, NumberOfReturns, ReturnNumber, Gpstime, Intensity. Among them, X, Y, and Z represent the geographical coordinates of the point cloud; R, G, and B represent the point cloud colors captured by the visible light mapping camera; ScanAngleRank represents the scan angle between the lidar scan beam and the vertical ground direction; NumberOfReturns represents the number of echoes (i.e., representing the total number of reflected signals received after a certain laser pulse is emitted); ReturnNumber represents the number of echoes of the laser return (i.e., representing the number of the nth reflection of a certain laser pulse); Gpstime represents the relative time; Intensity represents the echo intensity.
[0041] S3. Open the las data and export the data in txt format to obtain the geographical coordinates of the point cloud, the scan angle between the lidar scan beam and the vertical ground direction, and the relative time. The unit of the relative time is seconds, and there is a relative time interval of 300 seconds for the scan data within five minutes.
[0042] S4. Data slicing: Delete the invalid data, retain the required data, sort the required data according to the relative time, and slice the sorted data into multiple new txt files at a time interval of 0.2s.
[0043] Since the time interval of the data arrangement is determined by the frequency of the lidar scanner, when the frequency of the lidar scanner is 100 Hz, the time interval of the data arrangement is 0.01s. When extracting data, it needs to be extracted according to specific requirements. In this embodiment, in order to study the sea wave form, only a time interval of 0.2s is required. Therefore, 20 lines of data are selected as a group for slicing.
[0044] Specifically, use MATLAB to write a program to delete the invalid data and retain the required data. The required data is: the geographical coordinates of the point cloud (X, Y, Z), the scan angle between the lidar scan beam and the vertical ground direction (ScanAngleRank), and the relative time (Gpstime).
[0045] The txt file after deletion contains approximately 20 million lines of data, and the data volume is still huge. At this time, code is needed to sort the data in the txt file in ascending order according to Gpstime. Since the intervals of each Gpstime are different, the sorted txt data is sliced into a new txt file every 30,000 lines, and the Gpstime interval of each new txt file is approximately 0.01 seconds.
[0046] S5. Data extraction: Design a MATLAB program to extract the wave beam from the sliced txt files in step S4.
[0047] After being processed in step S4, several txt files containing 30,000 lines are obtained. The difference between the maximum Gpstime and the minimum Gpstime of each txt file is approximately 0.01 seconds. At this time, the Gpstime in each txt file is sorted in ascending order. Next, data extraction is performed according to ScanAngleRank.
[0048] The DJI Zenmuse L2 lidar uses single-line scanning, that is, a single laser beam scans back and forth. The repetition period of the repeated scanning pattern is approximately 0.1 seconds, and the horizontal FOV (field of view, which is the angle formed by the two edges of the maximum range that the object image of the measured target can be seen through the lens with the vertex of the lens of the optical instrument) of the repeated scanning pattern is 70°. The unit of the scanning angle in the exported txt file is in degrees and is represented by an integer. Therefore, theoretically, for a complete lidar scanning beam, after the scanning angles are sorted in ascending order according to Gpstime, its range should be from -35° to +35°, and there should be corresponding point clouds for every 1° scanning angle. The sequence of the scanning angles should be periodically arranged between -35° and +35°. However, due to the influence of splashing water and other situations, the scanning angles of the actual data are discontinuous and locally non-periodic, that is, there may be no point cloud data in the state of -35° scanning angle, but there is a point cloud in the state of -35° scanning angle; or there may be a point cloud in the state of -35° scanning angle, but there is no point cloud data in the state of -35° scanning angle. Therefore, if the wave beam is extracted periodically according to a fixed threshold, errors are very likely to occur. To accurately extract the wave beam information and mine fine data, a MATLAB program is designed to extract the wave beam from the txt file.
[0049] The design idea of the MATLAB program is as follows: For a single txt data, first, set two detection values. One is the positive detection value, initially +35; the other is the negative detection value, initially -35. Then, start detecting row by row from the column where the scanning angle is located. At this time, there are three situations: S51. If the first positive detection value or the first negative detection value is detected (the first row of the scanning angle column in each txt file is not necessarily -35 or +35, but any angle between -35 and 35. Therefore, it is necessary to first detect the maximum value of the scanning angle to find the head and tail ends of the wave beam, and then start extracting data. From the head and tail ends to the end of the extraction of the next head and tail end is a complete wave beam point cloud data), then start detecting downward from the row where the detected value is located. If the first detected value is a positive detection value, stop detecting when the next negative detection value is detected downward; if the first detected value is a negative detection value, stop detecting when the next positive detection value is detected downward, and extract all the rows between the two detection values.
[0050] S52. If after detecting the first positive detection value or the first negative detection value, the next detection value is not detected, then change the value of the next detection value. The change rule is: If the detection value to be detected is a negative detection value, add 1 to the negative detection value and start detecting again from the row where the first positive detection value is located until a negative detection value is detected; if the detection value to be detected is a positive detection value, subtract 1 from the positive detection value and start detecting again from the row where the first negative detection value is located until a positive detection value is detected, and extract the rows between the two detection values.
[0051] S53. If no positive detection value or negative detection value is detected in the column where the scanning angle is located, subtract 1 from the positive detection value and add 1 to the negative detection value, and repeat steps S51 and S52; finally, extract the rows between the two detection values.
[0052] According to the above logic, extend the MATLAB program to batch processing, so as to quickly extract a large number of txt files. The Gpstime interval of the point cloud data in each txt file is about 0.01 seconds, and there are a total of 1067 wave data. The time resolution is quite high, and it can completely describe the morphological evolution process of the breaking wave.
[0053] S6. Data denoising and visualization: Since there are phenomena such as large - area water splashes or water mists splashed during the breaking process when the sea wave advances towards the coastline, the data obtained by the lidar scanner is not the true form of the sea wave during its travel but interference factors such as water splashes. Therefore, it is necessary to denoise the data to eliminate these errors and obtain accurate sea wave form data. According to the characteristics of the sea wave noise data, the DBSCAN algorithm is used for data denoising.
[0054] It includes the following steps: S61. Extract point cloud data: Load the las data in step S2 into a data structure, such as a NumPy array in Python, for convenient subsequent calculation and processing.
[0055] S62. Parameter setting: For lidar data, it is necessary to determine an appropriate value of the neighborhood radius (eps) according to the spatial distribution characteristics and noise level of the data. If eps is set too small, many points may be misjudged as noise; if set too large, different clusters may be merged. For lidar point cloud data with a relatively uniform spatial distribution, the applicant found through multiple experiments that when eps = 0.1 m, different clusters and noise points can be better separated.
[0056] The minimum number of points (minPts) defines the minimum number of neighbor points for a point to become a core point. Generally speaking, if the data point density is large, minPts can be set relatively large; otherwise, it can be set small. For the lidar data of ocean waves, set minPts = 5.
[0057] S63. Core point search: Traverse each point in the dataset and calculate the number of neighbor points of each point within the neighborhood radius. If the number of neighbor points is greater than or equal to the minimum number of points, mark the point as a core point.
[0058] Use data structures such as KD-Tree to accelerate the search process of neighbor points and improve the calculation efficiency. In Python, use the KDTree class in the scikit-learn library to construct a KD-Tree data structure, and then use its query_radius method to quickly query the neighbor points of each point within the neighborhood radius.
[0059] S64. Cluster generation: Start from an unvisited core point, use the core point as the seed point of a new cluster, recursively expand the cluster, and add all directly density-reachable points of the seed point (i.e., points within the neighborhood radius of the seed point) to the cluster; if there are core points among the newly added points in the cluster, continue to recursively expand until no new points are added to the cluster. Repeat the above process until all core points are processed, thus generating multiple clusters.
[0060] S65. Noise point identification and data denoising: After cluster generation, the points remaining in the dataset that are not assigned to any cluster are noise points, and the noise points are deleted. The visualizations of ocean waves before and after denoising are shown respectively as Figure 2 and Figure 3 shown.
[0061] S7. Ocean wave parameter extraction and environmental impact factor acquisition.
[0062] The wave parameters include wave height, maximum wave height, significant wave height, mean wave height, and the number of waves. Among them, the method for extracting the wave height of ocean waves is as follows: Select the first 3% of the points in each frame of wave data, calculate the average value of the Z values in their three-dimensional spatial coordinates (X, Y, Z) as the maximum wave height value of the ocean waves. At the same time, fit the average sea level height, and the difference between the maximum wave height value and the average sea level height is the wave height of the ocean waves.
[0063] In addition to the wave height of ocean waves, more average wave parameters can be extracted from the processed point cloud data, mainly including: (1) Maximum wave height: The maximum value of the wave height of ocean waves within the observation period. (2) Significant wave height: The significant wave height, also known as the 1 / 3 large wave height. Arrange the continuously measured wave height sequence in the observation period from largest to smallest, and take the average value of the first 1 / 3 of the wave heights. (3) Mean wave height: The average value of the wave height of ocean waves within the observation period. (4) Number of waves: A complete wave period is defined as the time elapsed for two successive wave crests (or wave troughs) on the wave profile to pass through a fixed point. Arrange the wave heights of each frame of waves extracted in time sequence. Due to the periodic undulation characteristics of waves, the wave height also shows periodic undulation. Therefore, the number of waves can be obtained by finding the maximum value points in the relationship diagram of wave height and time: Traverse the wave height data sorted by time, and compare the size of each wave height with its adjacent previous and next wave heights; if the current wave height is greater than the adjacent points or the current wave height is less than the adjacent points, it is marked as an extreme value point; the number of extreme value points is the number of waves.
[0064] The environmental impact factors include wind stress , water depth, and tidal level. (1) Wind stress : Represents the momentum flux at the air-sea interface (take the average value within 20 seconds centered on the breaking time):
[0065] ;
[0066] ;
[0067] Among them, is the wind stress, is the air density, is the friction velocity, is the wind speed at a height of 10 m above the mean sea level, is the wind stress drag coefficient.
[0068] For (upper stratosphere):
[0069] , ;
[0070] Among them, is the altitude, is the temperature, is the atmospheric pressure.
[0071] For when it is in the lower stratosphere:
[0072] , .
[0073] For when it is in the troposphere:
[0074] , .
[0075] The wind speed at a height of 10 m above mean sea level :
[0076] ;
[0077] wherein, represents the wind speed at a height of, and the wind speed at the hovering and scanning position of the unmanned aerial vehicle is obtained by the wind speed sensor carried by the unmanned aerial vehicle. represents the power exponent, and there are different values according to different topographies and landforms. According to the "Load Code for Building Structures", in the offshore sea surface, islands, coasts and desert areas, . .
[0078] The wind stress drag coefficient :
[0079] When m / s, ;
[0080] When m / s, .
[0081] (2) Water depth: Obtained by multi-beam acquisition.
[0082] (3) Tide level: Obtain the tide level information of the data acquisition date through the global tide forecast service platform.
[0083] (4) The seabed slope at the breaking wave: Defined as the average seabed slope from the breaking wave position to half a wavelength offshore. Obtained by calculating the slope in Arcagis with the water depth data.
[0084] Example 2: A method for predicting the breaking wave height based on an airborne static lidar. The wave height of the sea, environmental impact factors, and the corresponding time extracted in Example 1 are used as time series data and input into the KF-LSTM-Attention model. Kalman filtering is used to preprocess the time series data, and LSTM is used to model the processed data. The sequence features of the local deep foundation pit monitoring data are mined through the self-attention mechanism. Finally, the predicted values are integrated through a fully connected layer to output the predicted values of the wave height data.
[0085] (1) Kalman filtering (KF) is a recursive optimal estimation algorithm based on a state space model, which iteratively optimizes the estimated value through prediction (state equation) and update (observation equation). Assuming that the noise follows a Gaussian distribution, the confidence in the observed value is dynamically adjusted through the covariance matrix, which is suitable for scenarios with linear systems and controllable noise. It is mainly used to dynamically estimate the system state from noisy observation data. Its core idea is to realize the minimum mean square error of state estimation through a two-step mechanism of prediction-correction, combining the system dynamics model with real-time observation data.
[0086] The preprocessing method of the sea wave height data based on Kalman filtering can effectively suppress the non-stationary characteristics in the data and reduce the interference of random noise. In specific implementation, by constructing a dynamic system model and an observation model, the wave height data is regarded as a state quantity with time-varying characteristics, and the recursive prediction-correction mechanism of KF is used to perform real-time optimal estimation on the noise-polluted signal. The core of this algorithm lies in describing the dynamic evolution law of the sea waves through the state space equation, combining prior knowledge with real-time observation values, and quantifying the uncertainty of system noise and observation noise through the covariance matrix, and finally outputting the optimal estimated value of the wave height signal. The working principle of Kalman filtering can be divided into a prediction stage and an update stage.
[0087] When in the prediction stage, the prior state estimation:
[0088] ;
[0089] In the formula, is the predicted value of the current state, is the state estimation at the previous moment, is the state transition matrix, is the control input matrix, is the control input.
[0090] Error covariance estimation:
[0091] ;
[0092] In the formula, is the covariance, is the predicted error covariance, is the error covariance at the previous moment.
[0093] When in the update stage, the Kalman gain :
[0094] ;
[0095] In the formula, is the observation matrix, is the covariance matrix.
[0096] Posterior state estimation:
[0097] ;
[0098] In the formula, is the updated state estimation, is the time of the actual observation value.
[0099] Posterior covariance update:
[0100] ;
[0101] In the formula, is the updated error covariance, is the identity matrix.
[0102] Finally, taking the optimal result obtained through Kalman filtering as the input value can minimize the mean square error of the estimation error to a certain extent.
[0103] (2) The long short-term memory network (LSTM) is a deep learning model commonly used to process time series data. Compared with the traditional RNN (recurrent neural network), LSTM introduces three gates (input gate, forget gate, output gate), captures long-term dependencies through the gating mechanism, and is suitable for modeling non-linear time series patterns. LSTM can filter information, selectively forget or retain input information, which can effectively avoid the problem of gradient disappearance and significantly improve the model's ability to capture long-term dependencies.
[0104] Using a multi-layer LSTM network to process the processed by Kalman filtering, the output hidden state sequence . The LSTM network includes cell state, forget gate, input gate and output gate, and realizes the dynamic modeling of time series features through collaborative work.
[0105] I. Cell state : The core information channel running through the time series, responsible for the storage and transmission of long-term memory.
[0106] II. Forget gate: Generates weights through the Sigmoid function , controlling the historical cell state retention ratio:
[0107] ;
[0108] In the formula, is the weight matrix; is the bias term; is the previous hidden state; is the current input; represents the Sigmoid activation function, which is used to compress the input value into the range of [0, 1].
[0109] III. Input gate: Input weight is determined by the Sigmoid function for the update ratio:
[0110] ;
[0111] In the formula, is the exclusive parameter matrix of the input gate, which performs a linear transformation on the concatenated input and hidden state; is the bias vector, which is used to increase the flexibility of the model and adjust the output.
[0112] Candidate cell is generated by function to generate the candidate value of the new information:
[0113] ;
[0114] In the formula, represents the weight matrix, which is a learnable parameter matrix used for and the concatenated vector to perform a linear transformation; represents the bias vector, which is a learnable parameter vector, and its role is to translate and adjust the result of the linear transformation to help the model more flexibly fit the non-linear relationship.
[0115] Combining the forget gate and the input gate to update the cell state :
[0116] .
[0117] IV. Output gate: Output weight is controlled by the Sigmoid function for the current hidden state output ratio:
[0118] ;
[0119] In the formula, Denotes the weight matrix, which is the exclusive parameter matrix of the output gate; Denotes the bias vector, which is used to translate and adjust the result after linear transformation. By adjusting the threshold, the model can still flexibly control the activation degree of the output gate when the input is weak.
[0120] Hidden state Generate output based on the updated cell state:
[0121] 。
[0122] (3) The self-attention mechanism is a variant of the attention mechanism, which is generally used to calculate the correlation between each time step in the input sequence. By calculating the attention weights between each time step and other time steps, the model can perform weighted summation on the information of the entire sequence. The core of this mechanism lies in establishing an interactive dependence graph between the units of the input sequence - using queries 、keys 、and values of the orthogonal projection of the three vectors to calculate the correlation strength coefficient between elements. Specifically, the feature optimization is achieved through the following three stages: I. Dynamic weight allocation: Under the multi-head attention architecture, map the input sequence to multiple orthogonal subspaces and calculate the element correlation scores within each subspace in parallel (using dot product similarity metric and dimensionality scaling processing); II. Feature fusion mechanism: Perform weighted aggregation on the normalized attention weights (processed by the Softmax function) and the value vectors to form a new feature representation that fuses global semantics; III. Selective focusing strategy: Dynamically enhance the representation strength of key time sequence nodes through a gating mechanism, while suppressing signal interference in non-critical regions. During the process of sequence data processing, the self-attention mechanism can help the model focus on important time steps in the sequence and ignore the secondary parts.
[0123] Queries 、keys 、and values mapping:
[0124] ;
[0125] ;
[0126] ;
[0127] where is the query weight matrix, is the key weight matrix, is the value weight matrix.
[0128] The wave height of ocean waves, environmental impact factors (wind stress, water depth, tide level) and the corresponding time extracted in Example 1 are respectively input into the KF-LSTM-Attention model and the traditional LSTM model as time series data, and the results are as follows Figure 4 and Figure 5 shown. Compared with the traditional LSTM model, the prediction effect of the KF-LSTM-Attention model provided in this embodiment on the wave height of the breaking wave is greatly improved. The root mean square error (RMSE) is reduced from 0.6720 m to 0.2434 m, and the mean absolute error (MAE) is reduced from 0.5174 m to 0.1899 m, which proves the superiority of the KF-LSTM-Attention model for predicting the wave height of ocean waves.
[0129] Of course, the above description is not a limitation of the present invention, and the present invention is not limited to the above examples. Changes, modifications, additions or substitutions made by those skilled in the art within the substantial scope of the present invention should also fall within the protection scope of the present invention.
Claims
1. A method for extracting surf parameters based on airborne static lidar, characterized in that, It includes the following steps: S1. Use a drone carrying a static lidar scanner to collect data. Before taking off, set the static lidar scanner to the repeated scanning mode, operate the drone to fly to the wave breaking point, and the scanning direction is perpendicular to the coastline direction; S2. Export the data to mapping software, and the export format is las data; S3. Open the las data and export it as a txt format to obtain the geographical coordinates of the point cloud, the scanning angle between the lidar scanning beam and the vertical ground direction, and the relative time; S4. Data slicing: Delete the invalid data, retain the required data, sort the required data according to the relative time, and slice the sorted data into multiple new txt files according to the custom time interval; S5. Data extraction: Design a MATLAB program to extract the wave beam from the txt files sliced in step S4; S6. Data denoising and visualization: Use the DBSCAN algorithm for data denoising; S7. Extract sea wave parameters and obtain environmental impact factors. The sea wave parameters include sea wave height, maximum wave height, significant wave height, average wave height, and the number of waves. The environmental impact factors include wind stress, water depth, and tide level; Among them, the extraction method of the sea wave height is: Select the first 3% of the points in each frame of sea wave data to calculate the average value of the Z values in their three-dimensional space coordinates (X, Y, Z) as the maximum wave height value of the sea wave. At the same time, fit the average sea level height, and the difference between the maximum wave height value and the average sea level height is the sea wave height.
2. The method for extracting surf parameter based on airborne static lidar according to claim 1, characterized in that, In step S1, the flight height of the drone is 30 meters from the sea surface; the static lidar scanner uses single-line scanning, the repetition period of the repeated scanning pattern is 0.1 second, and the horizontal FOV of the repeated scanning pattern is 70°.
3. The method for extracting surf parameter based on airborne static lidar according to claim 2, wherein, In step S5, the design idea of the MATLAB program is as follows: for a single txt data, first, set two detection values, one of which is a positive detection value, initially ; the other is a negative detection value, initially ; then, detect row by row sequentially from the column where the scanning angle is located. At this time, there are three situations: S51. If the first positive detection value or the first negative detection value is detected, start from the row where the detected value is located and continue to detect downward. If the first detected value is a positive detection value, stop detecting when the next negative detection value is detected downward; if the first detected value is a negative detection value, stop detecting when the next positive detection value is detected downward, and extract all the rows between the two detection values; S52. If there is no next detection value after the first positive detection value or the first negative detection value is detected, change the value of the next detection value. The change rule is: If the detection value to be detected is a negative detection value, add 1 to the negative detection value and start detecting from the row where the first positive detection value is located until a negative detection value is detected; if the detection value to be detected is a positive detection value, subtract 1 from the positive detection value and start detecting from the row where the first negative detection value is located until a positive detection value is detected, and extract the rows between the two detection values; S53. If no positive detection value or negative detection value is detected in the column where the scanning angle is located, subtract 1 from the positive detection value and add 1 to the negative detection value, and repeat steps S51 and S52; finally, extract the rows between the two detection values.
4. The method for extracting surf parameter based on airborne static lidar according to claim 3, wherein In step S6, the DBSCAN algorithm is used for data denoising, including the following steps: S61. Extract point cloud data: Load the las data in step S2 into the data structure; S62. Parameter setting: Set the neighborhood radius to 0.1 m and the minimum number of points to 5 according to the spatial distribution characteristics of the data and the noise level. S63. Core point search: Traverse each point in the dataset and calculate the number of neighbor points within the neighborhood radius for each point. If the number of neighbor points is greater than or equal to the minimum number of points, mark the point as a core point. S64. Cluster generation: Start from an unvisited core point, use the core point as the seed point of a new cluster, recursively expand the cluster, and add all directly density-reachable points of the seed point to the cluster. If there are core points among the newly added points in the cluster, continue recursive expansion until no new points are added to the cluster. Repeat the above process until all core points are processed, thus generating multiple clusters. S65. Noise point identification and data denoising: After cluster generation, the points remaining in the dataset that are not assigned to any cluster are noise points, and the noise points are deleted.
5. The method for extracting surf parameter based on airborne static lidar according to claim 4, characterized in that In step S7, the method for extracting the significant wave height is as follows: Arrange the continuously measured wave height sequence in the observation period from large to small, and take the average value of the first 1 / 3 wave heights. The method for extracting the number of waves is as follows: Traverse the wave height data sorted by time, and compare the size of each wave height with its adjacent previous and next wave heights. If the current wave height is greater than the adjacent points or the current wave height is less than the adjacent points, mark it as an extreme point. The number of extreme points is the number of waves.
6. The method for predicting the height of surf waves based on airborne static lidar is characterized in that, Input the wave height of the sea wave, environmental impact factors, and the corresponding time extracted by the method for extracting shore-breaking wave parameters based on airborne static lidar according to any one of claims 1-5 as time series data into the KF-LSTM-Attention model. Use Kalman filtering to preprocess the time series data, perform LSTM modeling on the processed data, mine the sequence features of local deep foundation pit monitoring data through the self-attention mechanism, and finally integrate the predicted values through the fully connected layer to output the predicted values of the wave height data.
7. The method for predicting the breaking wave height based on the airborne static lidar according to claim 6, wherein Kalman filtering describes the dynamic evolution law of sea waves through the state space equation, combines prior knowledge with real-time observation values, quantifies the uncertainty of system noise and observation noise with the covariance matrix, and finally outputs the optimal estimated value of the wave height signal. The working principle of Kalman filtering is divided into a prediction stage and an update stage: When in the prediction stage, prior state estimation: ; In the formula, is the predicted value of the current state, is the state estimate at the previous moment, is the state transition matrix, is the control input matrix, is the control input; Error covariance estimation: ; In the formula, is the covariance, is the predicted error covariance, is the error covariance at the previous moment; When in the update phase, the Kalman gain : ; In the formula, is the observation matrix, is the covariance matrix; Posterior state estimation: ; wherein, is the updated state estimate, is the actual observation value at time ; Posterior covariance update: ; In the formula, is the updated error covariance, is the identity matrix.
8. The method for predicting the breaking wave height based on the airborne static lidar according to claim 7, characterized in that Use a multi-layer LSTM network to process the after Kalman filtering, and output the hidden state sequence ; The LSTM network includes a cell state, a forget gate, an input gate, and an output gate, and realizes the dynamic modeling of time series features through collaborative work.
9. The method for predicting the breaking wave height based on the airborne static lidar according to claim 8, wherein, The core of the self-attention mechanism lies in using the orthogonal projection of the three vectors of query, key, and value to establish an interactive dependence map between the units of the input sequence and calculate the correlation strength coefficient between elements. Specifically, the feature optimization is realized through the following three stages: A1. Dynamic weight allocation: Under the multi-head attention architecture, map the input sequence to multiple orthogonal subspaces and calculate the element correlation scores in each subspace in parallel. A2. Feature fusion mechanism: Perform weighted aggregation on the normalized attention weights and value vectors to form a new feature representation that integrates global semantics. A3. Selective Focusing Strategy: Dynamically enhance the representation strength of key temporal nodes through a gating mechanism while suppressing signal interference in non-critical regions.
Citation Information
Patent Citations
Wave breaking zone wave hydrodynamic monitoring method and system based on three-dimensional laser radar
CN113219481A
Method for inverting water depth by using sea surface point cloud of airborne laser radar
CN116449388A
Method for establishing water consumption estimation model of protective forest belt based on laser radar point cloud data
CN117611730A
Airborne coastal zone sea-land topographic surveying and mapping method
CN118172442A
Method for updating sea wave parameters of single-point red light laser radar in real time
CN118425981A
Cited By
Beach measuring line wave height extraction method and system based on single-point laser radar data
CN121383971A