Deviation correction method of domestic satellite altimeter fusion product based on deep learning
Through deep learning technology and A2A network, combined with CNN and Transformer frameworks, the problem of low accuracy of domestic satellite altimeter fusion products has been solved, and high-precision correction of global absolute power altitude and sea surface altitude abnormal data is achieved, which is suitable for global sea areas.
Patent Information
- Application Number
- CN202411527650.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-10-30
AI Technical Summary
The accuracy of domestic satellite altimeter fusion products is not high and it is difficult to meet the standards of international mainstream products, which affects the high-precision data support of scientific research.
Deep learning technology is adopted, combined with CNN and Transformer frameworks, A2A network is built to integrate global high-precision satellite sea surface observation data, and through the land filtering mechanism and multi-head self-attention mechanism, the deviations of domestic satellite altimeter fusion products are quickly corrected.
It improves the accuracy of domestic satellite altimeter fusion products, outputs higher-precision global absolute power altitude and sea surface altitude abnormal data, simplifies model deployment, improves inference speed, and is suitable for data correction in global sea areas.
Smart Images

Figure CN119475226A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of satellite altimeter data deviation correction, and specifically relates to a domestic satellite altimeter fusion product deviation correction method based on deep learning. Background Art
[0002] Satellite altimeter is an active satellite-borne microwave radar that can accurately measure global dynamic terrain and provide a powerful new tool for in-depth understanding of ocean terrain. In order to overcome the differences in altimeter observations from different satellites, gridded multi-satellite altimeter observation fusion products are often obtained based on appropriate fusion algorithms. For example, the Chinese invention patent "A vertical deviation adaptive fusion system and method based on multi-source satellite altimeter data" (application number 202410884624.8) adopts a method for classification preprocessing of multi-source altimeter data. In 2023, my country's National Satellite Ocean Application Center released the sea surface satellite altimeter fusion product ALT MUL, but with independent measured sea temperature data and drifting buoy data as reference, analysis and evaluation found that compared with the international mainstream satellite altimeter fusion product (DUACS, also known as AVISO product), the domestic altimeter fusion product ALT MUL has reached a certain accuracy and precision standard, but there is still a gap. In order to better provide high-precision data support for scientific research, it is necessary to use the international mainstream high-precision satellite altimeter products as a benchmark to correct the deviation of the domestic ALT MUL. This invention will use deep learning technology to correct the deviation of domestic satellite altimeter fusion products, improve the accuracy of the products, thereby further broadening their application and enhancing the understanding of domestic ocean satellite altimeter fusion products.
[0003] In the field of deep learning image reconstruction (IR), a framework based on CNN or Transformer is used to reconstruct the input image, achieving high-quality reconstruction effects such as image denoising and detail restoration. The present invention proposes a new deep learning CNN combined with Transformer framework, which can capture local and global features and improve the reference information range for deviation correction; at the same time, an innovative land filtering mechanism is proposed to shield the interference of information in the land area in the global attention calculation, and improve the accuracy and efficiency of attention calculation. In addition, the present invention integrates multi-source remote sensing sea surface observation data, all from public channels, based on an open source deep learning framework, to quickly correct the deviation of domestic satellite altimeter fusion products, and output higher-precision global absolute dynamic altitude and sea surface height anomaly data, and the model is easy to deploy and has a fast inference speed, which is conducive to promotion and application, and provides a new and effective way to improve the accuracy of domestic satellite altimeter fusion products. Summary of the invention
[0004] In view of the deficiencies of the prior art, the present invention provides a method for correcting the deviation of a domestic satellite altimeter fusion product based on deep learning. The present invention is based on a domestic satellite altimeter fusion product deviation correction network A2A (Altimeter to Altimeter Network) based on deep learning, which aims to solve the problem of low accuracy of the current domestic satellite altimeter fusion products. A2A can fuse five types of satellite sea surface observation data, including global high-precision satellite sea surface temperature, sea surface wind speed (longitudinal and latitudinal), longitude and latitude, with the absolute dynamic altitude and sea surface height anomaly data of the domestic satellite altimeter fusion product, quickly correct the deviation of the domestic satellite altimeter fusion product, and output higher-precision global absolute dynamic altitude and sea surface height anomaly data, providing a new and effective way to improve the accuracy of domestic satellite altimeter fusion products.
[0005] To achieve the above object, the technical solution adopted by the present invention is:
[0006] A method for correcting the deviation of domestic satellite altimeter fusion products based on deep learning includes the following steps:
[0007] S1. Obtain satellite remote sensing data from open source channels as input and label data, integrate the obtained input and label data sets into a certain organizational structure and divide them into subsets for model training, verification and testing;
[0008] S2. Build a deep learning network A2A. The expression of A2A is as follows:
[0009]
[0010] in, The mapping relationship between the input and output of the deep learning network A2A is shown. The input is the normalized multivariate input batch P. norm-Input The output is the absolute dynamic altitude after deviation correction and the abnormal sea surface height data batch O, θ = {W k ,b k} represents the weight and bias of the kth layer in the A2A model;
[0011] S3, using the data set obtained in step S1 to alternately train and verify the deep learning network A2A obtained in step S2;
[0012] S4. Use the trained deep learning network A2A to correct the domestic satellite altimeter fusion product, that is, to obtain higher-precision domestic satellite altimeter data.
[0013] Preferably, step S1 specifically comprises the following steps:
[0014] S11. Obtain 7 variables as input, namely, satellite sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, global longitude grid field, global latitude grid field, and absolute dynamic altitude and sea surface height anomaly of domestic satellite altimeter fusion products; obtain 2 variables as labels, namely, absolute dynamic altitude and sea surface height anomaly of foreign high-precision satellite altimeter fusion products, and require the time resolution of the above variables to be consistent;
[0015] S12: spatially pair the input data obtained in step S11 with the label data, and use a bilinear interpolation method to unify the spatial resolution of all variables to s. ° ×s ° ;
[0016] S13, the longitude and latitude sequence described in S11 is stretched into a two-dimensional grid field, and the resolution is consistent with the grid field of S12, which is °°
[0017] s×s;
[0018] S14, pair the input obtained by S12 and S13 with the label data in time and space to obtain a data pair matrix X that matches time and space. The data pair matrix X is organized as follows:
[0019]
[0020] In which, each input variable in the data pair matrix X is denoted as x i,j , which is represented by the jth variable of the ith sample, i∈[1,I] represents the 1st to Ith samples, one sample is a row in the matrix X, due to the same time resolution, one moment corresponds to one sample, each row contains 9 variables, of which the input variables are the first 7, which are the first 7 columns of the matrix X: sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, longitude field, latitude field, and the absolute dynamic height and sea surface height anomaly data of the domestic satellite altimeter fusion product, the label variable is the last 2, which are the last 2 columns of the matrix X, that is, the absolute dynamic height and sea surface height anomaly data of the foreign high-precision satellite altimeter fusion product, the label of each sample corresponds to the input variable one by one, and is consistent in time and space range;
[0021] S15, divide the paired data pair matrix X into a training set T, a validation set V, and a test set S according to 8:1:1, that is, the first 80% of the rows of X are used as the training set T, and the remaining 20% of the rows are divided into half as the validation set V and the test set S;
[0022] S16, randomly select p samples from the training set T or the validation set V or the test set S obtained in step S15 to obtain a certain input batch P, and normalize the sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, longitude field, latitude field, absolute dynamic altitude and sea surface height anomaly data to the interval [0,1] to obtain a certain batch of data P after normalization processing norm-Input , the normalized formula expression is as follows:
[0023]
[0024] Among them, P n represents a sample set of a variable n in a batch, is the minimum value of a variable in the training set T, is the maximum value of a variable in the training set T, and the variable after normalization of this batch is recorded as P norm ;
[0025] S17, a batch of data P after normalization norm Converted into a four-dimensional gridded tensor format [number of samples in the batch, number of variables, latitudinal span, longitudinal span], abbreviated as [p,9,lat,lon], lat represents the horizontal latitudinal span of the area for deviation correction, lon represents the horizontal longitudinal span of the area for deviation correction, and then the first 7 variables are used as the input batch P norm-Input , the last two variables are used as label batch P norm-target .
[0026] Preferably, step S2 specifically comprises the following steps:
[0027] S21. Construct the SF (Shallow Feature) shallow feature extraction module to preliminarily extract the input variable features and preliminarily assign the attention weights to different channels, including 1 convolution layer with d 1×1 convolution kernels, 1 relu activation layer, and 1 channel attention weight calculation layer, namely the CA channel attention module, whose output feature map is F SF , the expression is:
[0028] F SF =f SF (P norm-Input ) = f CA (f relu (C 1×1 (P norm-Input )))
[0029] Among them, F SF It represents the output feature map of the SF shallow feature extraction module, with a size of [p,7d,lon,lat], because a convolution layer C contains d 1×1 convolution kernels.1×1 , will map the number of channels to a higher dimension and increase it by a factor of d; f SF represents the mapping function of the SF shallow feature extraction module, f relu Describe the relu activation function, f CA represents the CA channel attention module;
[0030] S22. Construct a LFGA (Land Filtering Global Attention) module for filtering land global ocean attention. The expression of the LFGA module for filtering land global ocean attention is:
[0031] F LFGA =f LFGA (F SF )
[0032] Among them, F LFGA Output feature map of the global ocean attention module representing LFGA filtering of land, f LFGA Represents the mapping function of the global ocean attention module of LFGA filtering land;
[0033] S23. Construct the RF (Reconstructing Feature) reconstruction feature module. The RF module reconstructs the features extracted by the LFGA attention mechanism so that the number of layers of the output feature map is consistent with the number of layers of the label feature. It outputs the high-precision satellite altimeter data after deviation correction, and passes through 5×5, 3×3 and 1×1 convolution kernels in sequence, with relu activation in between. The final output channel number is 2, corresponding to the two variables after deviation correction, namely the absolute dynamic altitude and the sea surface height abnormal data. The expression of the RF output module is as follows:
[0034] F RF =f RF (F LFGA )=C 1 × 1 (f relu (C 3 × 3 (f relu ((C 5 × 5 (F LFGA ))))))
[0035] Among them, F RF represents the output feature map of the RF reconstruction feature module, with a size of [p,2,lon,lat], f RF represents the mapping function of the RF reconstruction feature module, C 3×3 With C 5×5Represents convolutional layers with 3×3 and 5×5 convolution kernel sizes;
[0036] S24, connect the SF shallow feature extraction module obtained in step S21, the LFGA land-filtered global ocean attention module obtained in step S22, and the RF reconstruction feature module obtained in step S23 in sequence to obtain a deep learning network A2A, which is expressed as follows:
[0037]
[0038] Preferably, step S21 specifically includes the following steps:
[0039] The S211 and SF shallow feature extraction modules include 1 convolution layer with d 1×1 convolution kernels, 1 relu activation layer, and 1 CA channel attention module. The CA channel attention module inputs the feature map through 1 global maximum pooling layer and 1 global average pooling layer on the two-dimensional plane formed by the length and width dimensions, and then inputs it into the multi-layer perceptron MLP with 3 fully connected layers. Then, the output results are added to the corresponding grids, and then through the sigmoid activation layer to output the channel attention feature map. The CA channel attention module can be expressed as:
[0040] F CA =f CA (F) = f Sigmoid (f MLP (f AvgPool (F)))+f Sigmoid (f MLP (f MaxPool (F)));
[0041] Among them, F CA represents the output feature map of the CA channel attention module, f MLP Represents the multi-layer perceptron mapping function, f Sigmoid represents the sigmoid activation layer mapping function, F represents the feature map of the input CA channel attention module, and the above channel attention feature map F CA The size of [p,7d,1,1] is multiplied by the corresponding dimension of the shallow feature map of size [p,7d,lon,lat], which is equivalent to giving all grid points on each channel of the input feature map the same weight value;
[0042] f AvgPool Represents the mapping function of the global average pooling layer in the length and width dimensions, which is implemented using the torch.mean function in the Pytorch function library. The expression is as follows:
[0043] F AvgPool=torch.mean(torch.mean(F,2,keepdim=True),3,keepdim=True)
[0044] Among them, F is first averaged along the length dimension, which corresponds to "2" in the torch.mean function, and then averaged along the width dimension, which corresponds to "3" in the torch.mean function, to obtain the feature map F AvgPool , the input feature map size is [p,7d,lat,lon], the size is first changed to [p,7d,1,lon], and then to [p,7d,1,1], keepdim=True means that the size of the other dimensions remains unchanged; similarly, f MaxPool Represents the mapping function of the global maximum pooling layer in length and width dimensions, and the process is the same as f AvgPool Class, change the average to the maximum value, which is implemented by the function torch.max in the Pytorch function library. The expression is:
[0045] F MaxPool =torch.max(torch.max(F,2,keepdim=True),3,keepdim=True)
[0046] The size of the input and output feature maps of the MLP multilayer perceptron remains unchanged. It contains 3 layers, namely a fully connected layer, a relu activation layer, and a fully connected layer. In essence, the fully connected layer is a matrix multiplication operation between the input feature map and the neuron weight matrix, and the expression is:
[0047] F MLP =f MLP (F) = w 2 (f relu (w 1 F+b 1 ))+b 2
[0048] Among them, f MLP is the mapping function of the MLP multi-layer perceptron, w 1 With w 2 is the weight matrix of the two fully connected layers, b 1 With b 2 is the bias matrix of the two fully connected layers; f Sigmoid Represents the sigmoid activation function layer, and the expression is as follows:
[0049]
[0050] Among them, since the sigmoid function activates the input tensor grid by grid, each grid is activated independently, and x represents the value of a certain input grid;
[0051] S212, connect 1 1×1 convolution layer, 1 relu activation layer, and 1 CA channel attention module in sequence to form the SF shallow feature extraction module, which is expressed as:
[0052] F SF =f SF (P norm-Input ) = f CA (f relu (C 1×1 (P norm-Input )))
[0053] Among them, the output shallow extraction feature map F SF The dimensions are [p,7d,lat,lon];
[0054] Preferably, step S22 specifically includes the following steps:
[0055] S221, LFGA global ocean attention module for filtering land, which includes 5 steps: feature map expansion, land filtering, Transformer's multi-head self-attention mechanism to capture global attention, land information restoration, and feature map folding;
[0056] First, perform the Unfold operation to flatten the input feature map to the size that meets the input requirements of the Transformer encoder module. Use a sliding window of size w×w to scan the input feature map F of size [p,7d,lat,lon] according to the step size s. SF , scan the feature maps of size [c, lat, lon] under p samples independently, slide the window on each feature map with c channels, flatten the feature map of size [c, w, w] under the window coverage area after each sliding, that is, flatten the feature map of size w×w of the same channel into a one-dimensional vector, and then concatenate the c w×w feature maps in sequence to get a vector of length w 2 ×c long vector, because the total number of slides is lat×lon / s 2 , we get lat×lon / s 2 The length is w 2 ×c vector, since p samples are scanned independently at the same time, the final feature map F after Unfolding is obtained Unfold , the size is [p,n,l], n = lat × lon / s 2 , l = w 2 ×c;
[0057] S222. Use LFM (Land Filtering Mechanism) to filter land information worldwide. This is because, unlike the atmospheric space, the ocean is divided into discontinuous blocks by continents, islands, etc., and the global land surface area accounts for about 30%. If the grid on the land is directly assigned a fixed value and then the global attention calculation is performed directly, the attention module will be distracted by the land, which is not conducive to improving the accuracy of the deviation correction of the satellite altimeter data in the ocean. Therefore, it is necessary to filter the land information. The specific process is as follows: First, take the absolute dynamic altitude data in a label sample as a template, assign the grid value in the ocean to 1, and the grid value in the land to 0, and then Unfold according to the sliding window of the same size and step size in S221, and you will get a size of [lat×lon / s 2 ,w 2 ], since only one label sample has absolute dynamic altitude data for Unfold operation, so p = 1, c = 1, and the length of each row in Mask is w 2 That is, it corresponds to the size of the area covered by a sliding window in the originally expanded two-dimensional area. Since the land grid value is 0 and the ocean grid value is 1, if the grids covered by the sliding window are all on land, then the grids of this row in the Unfolded Mask are all 0, if they are in the ocean, they are all 1, and if they are at the junction of land and sea, they contain both 0 and 1. Therefore, the land and sea coding information matrix Mask that can distinguish between land and sea is obtained. It is only necessary to mark the rows with all 0 in the Mask to obtain the vector Index that records the index of the row where the land is located, a vector of length n, in which the value of the row where the land is located is 0, and the rest are 1. According to the Index, the feature map F after Unfold is taken out. Unfold The rows corresponding to the index position of , and the remaining rows are retained, that is, the feature map F containing only the information of the ocean and the sea-land boundary area is obtained. Unfold-Ocean , the size is [p,n′,l], n′ represents the number of rows of ocean and sea-land boundary, and there is no need to process the information of land area, which ensures that the attention calculation is focused on the ocean;
[0058] S223, use MHA (Multi-Head Attention) multi-head self-attention mechanism to capture global attention and input the flattened feature map F Unfold-Ocean, after a normalization layer Norm, each row along each dimension l is normalized to improve training stability. Then, the third dimension is enlarged by h times through three identical fully connected layers Linear, and the size is [p,h×n′,l], and the reshape function of pytorch is used to divide it into h segments, and the Q, K, and V matrices of size [p,h,n′,l] are obtained. Then, the SDPA scaling point-by-point multiplication operation is performed. The specific steps are as follows: Q is first matrix multiplied with K, and then scaled to times, and then perform Softmax activation along the dimension of l, perform matrix multiplication of the activation result with V, and finally merge the h segments to restore the size to [p,h×n′,l], then pass through a Linear layer to restore the size to [p,n′,l], and then pass through the normalization layer Norm to obtain the feature map F MHA , the implementation process of the MHA multi-head attention module is expressed as follows:
[0059] F Unfold-Ocean-Norm =Norm(F Unfold-Ocean )
[0060] Q=f Linear (F Unfold-Ocean-Norm )=w Q F Unfold-Ocean-Norm +b Q
[0061] K=f Linear (F Unfold-Ocean-Norm )=w K F Unfold-Ocean-Norm +b K
[0062] V=f Linear (F Unfold-Ocean-Norm )=w V F Unfold-Ocean-Norm +b V
[0063]
[0064] Among them, Norm represents the normalization layer, f Linear is the fully connected layer activation function, w Q , w K , w V represents the neuron weight matrix of the three fully connected layers, b Q , b K , b V Three fully connected layer bias values, reshape 1 Indicates that Q, K, V are divided into h segments, reshape 2 Indicates restoration to the original size. The specific expression of the Softmax activation function is:
[0065]
[0066] Among them, input represents the input vector of the activation function, input i represents the value of each grid on the vector; finally, in order to reduce information loss and reduce the difficulty of training, F Unfold-Ocean With F MHA Perform residual connection, that is, add the grids at the same position in two feature maps of the same size;
[0067] S224, restore the land information, that is, refer to the vector Index that records the index of the row where the land is located, and convert F MHA Fill the position of the land row originally deleted in the feature map F with a zero vector of length l, and get MHA-Recovery ;
[0068] S225, according to the reverse operation of Unfold operation, Fold operation, the feature map F MHA-Recover Restore the feature map F to size LFGA , with a size of [p,c,lat,lon]. This feature map records the attention relationship weights between different grids, while the attention weight of the land area is 0, thus shielding the interference of land information on attention calculation;
[0069] S226. The above five steps: feature map expansion, land filtering, Transformer's multi-head self-attention mechanism to capture global attention, land information restoration, feature map folding and sequential connection are used to construct a global ocean attention module for LFGA to filter land. The expression of the global ocean attention module for LFGA to filter land is:
[0070] F LFGA =f LFGA (F SF )
[0071] Preferably, step S23 specifically includes the following steps:
[0072] S231, input the multi-channel feature map into c 1 After a 5×5 convolution kernel, the dimension is reduced to c 1 channels;
[0073] S232, the c obtained in step S231 1 The feature maps of each channel are sequentially passed through 1 layer of ReLU activation layer and c 2 3×3 convolution kernels, reduced to c 2 channels;
[0074] S233, the c obtained in step S232 2The feature map of each channel passes through one ReLU activation layer and two 1×1 convolution kernels in turn, and the feature map is reduced to the output of two channels with a size of [p,2,lat,lon], which respectively corresponds to the two variables of absolute dynamic altitude and sea surface height abnormal data after deviation correction. The expression of the RF reconstruction feature module is as follows:
[0075] F RF =f RF (F LFGA )=C 1 × 1 (f relu (C 3 × 3 (f relu ((C 5 × 5 (F LFGA ))))))
[0076] Preferably, step S24 specifically includes the following steps:
[0077] S241, connect the SF shallow feature extraction module obtained in step S21, the LFGA land filtering global ocean attention module obtained in step S22, and the RF reconstruction feature module obtained in step S23 in sequence, and obtain a deep learning network A2A, which is expressed as follows:
[0078]
[0079] Where O is the output non-denormalized bias-corrected satellite altimeter data, with a size of [p,2,lat,lon];
[0080] Preferably, step 3 specifically comprises the following steps:
[0081] S31. Select Charbonnier loss as the loss function of the deep learning network A2A obtained in the training step S2. The expression of Charbonnier loss is as follows:
[0082]
[0083] Among them, O i , Represents each grid in the output feature map and the label feature map, ∈ is a very small constant to make the value stable;
[0084] S32, based on step S31, the training set T and the validation set V obtained in step S13 are input into the deep learning network A2A obtained in step S2 in batches for training, and fitting The parameters of each layer in θ={W k ,b k};
[0085] Preferably, step S32 specifically includes the following steps:
[0086] S321, set the basic hyperparameters of the deep learning network A2A to be trained under the open source deep learning framework, then based on step S31, input the data in the training set T into the deep learning network A2A obtained in step S2 in batches for training. Since there are I data samples in total, the training set T contains 0.8I samples, so it can be divided into 0.8I / p batches, and the output results of each batch will calculate the loss L in turn. Charbonnier , and uses the back propagation optimizer in the open source deep learning framework to back propagate the gradient of the loss and optimize the parameter θ = {W k ,b k}, when all batches have completed one round of training, it is called an epoch, and a total of E epochs are trained. At the end of each epoch, the data of the validation set V is input to calculate the loss of a validation set, but no backpropagation is performed. The purpose is to observe the difference between the loss of the validation set and the training set, and to judge the model parameter fitting effect and generalization performance;
[0087] S322. After the training is completed, the parameter θ is saved, which covers all trainable parameters of the deep learning network A2A, and the trained deep learning network A2A is obtained.
[0088] Preferably, step S4 specifically comprises the following steps:
[0089] S41, normalize the test set S data obtained in step S15 to the interval [0,1] using the MinMax normalization method;
[0090] S42, the normalized test set data obtained in step S41 is input into the trained deep learning network A2A obtained in step S3 in batches, and each batch of output data is denormalized to obtain domestic satellite altimeter data with higher accuracy after deviation correction. The denormalization formula is:
[0091]
[0092] Among them, O S ′ represents the undenormalized test set output, O S represents the test set output after denormalization, is the minimum value of the fusion product of foreign satellite altimeters as labels in the training set T, v targetmax It is the maximum value of the fusion product of foreign satellite altimeters used as labels in the training set T.
[0093] Compared with the prior art, the present invention has the following beneficial effects:
[0094] (1) The present invention provides a new means for correcting the deviation of domestic satellite altimeter fusion products. It is based on open source data and deep learning framework, and is easy and fast to operate. The trained model has low computing load requirements, can be deployed in a lightweight manner, and has a faster inference speed than traditional methods.
[0095] (2) The LFM land filtering mechanism proposed in the present invention can effectively shield the interference of land information on ocean attention calculation. On the one hand, the land filtering mechanism filters the land information accounting for 30% of the global surface area, effectively reducing the amount of calculation required for the attention mechanism to operate; on the other hand, it enables the attention calculation to focus on the land area, reduces the interference of irrelevant land information, and improves the accuracy of attention calculation.
[0096] (3) The A2A network framework of the present invention takes into account both CNN convolution and Transformer architecture, and effectively integrates the two, so that both global and local features can be captured, so that the deviation correction has a wider range of surrounding information reference, thereby improving the accuracy of correction;
[0097] (4) The present invention realizes the deviation correction of data of domestic satellite altimeter fusion products in global sea areas, and has global applicability and global generalization; BRIEF DESCRIPTION OF THE DRAWINGS
[0098] Figure 1 It is the overall flow chart of the present invention.
[0099] Figure 2 This is the structural diagram of the RF shallow feature extraction module.
[0100] Figure 3 This is the flowchart of the Unfold operation, taking a 2×2 window with a step size of 1 as an example.
[0101] Figure 4 It is a flow chart of the LFM land filtering mechanism to obtain the sea and land coding information matrix.
[0102] Figure 5 This is the structure diagram of the global ocean attention module for LFGA filtering land. DETAILED DESCRIPTION
[0103] In order to enable those skilled in the art to better understand and implement the technical solution of the present invention, the present invention is further described below in conjunction with specific embodiments, but the embodiments are not intended to limit the present invention.
[0104] like Figure 1As shown, the embodiment of the present invention provides a method for correcting the deviation of a domestic satellite altimeter fusion product based on deep learning, which specifically includes the following steps:
[0105] S1. Obtain satellite remote sensing data from open source channels as input and label data, integrate the obtained input and label data sets into a certain organizational structure and divide them into subsets for model training, verification and testing; specifically includes the following steps:
[0106] S11. Obtain 7 variables as input, namely satellite sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, global longitude grid field, global latitude grid field, and absolute dynamic altitude and sea surface height anomaly of domestic satellite altimeter fusion products; obtain 2 variables as labels, namely absolute dynamic altitude and sea surface height anomaly data of foreign high-precision satellite altimeter fusion products; the time resolution of the above variables is consistent, all of which are daily average data downloaded from 2021 to 2023, a total of 1905 days, that is, each variable has 1095 samples, and the coverage range is consistent, covering the global sea area; the specific description and source of the above data are as follows: the sea surface temperature data comes from the L4 OISST satellite sea surface temperature optimal interpolation product provided by Remote Sensing Systems (reference URL: https: / / www.remss.com / measurements / sea- surface-temperature / oisst-description / ), with a spatial resolution of about 0.05°×0.05° and a temporal resolution of the sky average; the sea surface wind speed (longitudinal and latitudinal) data also comes from the L4 CCMP satellite wind vector analysis product provided by Remote Sensing Systems (reference website: https: / / www.remss.com / measurements / sea-surface- temperature / oisst-description / ), the 10m longitude and zonal wind speed data of the sea surface are selected, the spatial resolution is about 0.25°×0.25°, and the temporal resolution is 6 hours average. Therefore, in order to unify the temporal resolution, the data of 4 moments every day are averaged to obtain the daily average longitude and zonal wind speed data; the absolute dynamic height and sea surface height anomaly data of the domestic satellite altimeter fusion product are from the sea surface height fusion product ALTMUL developed by the National Satellite Ocean Application Center of my country (reference website: https: / / osdds.nsoas.org.cn / OceanDynamics ), the global data are selected, the spatial resolution is about 0.25°×0.25°, and the temporal resolution is the sky average; the absolute dynamic altitude and sea surface height anomaly data of foreign satellite altimeter fusion products come from the fusion products provided by France AVISO, which integrates altimeter data from multiple satellites (reference website: https: / / marine.copernicus.eu / ), the spatial resolution is about 0.25°×0.25°, and the temporal resolution is the average of the sky;
[0107] S12, spatially pairing the input data obtained in step S11 with the label data, using a bilinear interpolation method to unify the spatial resolution of all variables to 0.25°×0.25°;
[0108] S13, the longitude and latitude sequence described in S11 is stretched into a two-dimensional grid field, and the resolution is consistent with the grid field of S12, which is 0.25°×0.25°;
[0109] S14, pair the input obtained by S12 and S13 with the label data in time and space to obtain a data pair matrix X that matches time and space. The data pair matrix X is organized as follows:
[0110]
[0111] In which, each input variable in the data pair matrix X is denoted as x i,j , which is represented by the jth variable of the ith sample, i∈[1,I] represents the 1st to Ith samples, one sample is a row in the matrix X, due to the same time resolution, one moment corresponds to one sample, each row contains 9 variables, of which the input variables are the first 7, which are the first 7 columns of the matrix X: sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, longitude field, latitude field, and the absolute dynamic height and sea surface height anomaly data of the domestic satellite altimeter fusion product, the label variable is the last 2, which are the last 2 columns of the matrix X, that is, the absolute dynamic height and sea surface height anomaly data of the foreign high-precision satellite altimeter fusion product, the label of each sample corresponds to the input variable one by one, and is consistent in time and space range;
[0112] S15, divide the paired data pair matrix X into a training set T, a validation set V, and a test set S according to 8:1:1, that is, the first 80% of the rows of X are used as the training set T, and the remaining 20% of the rows are divided into half as the validation set V and the test set S;
[0113] S16, randomly select 8 (p=8) samples from the training set T or the validation set V or the test set S obtained in step S15 to obtain an input batch P, and normalize the sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, longitude field, latitude field, absolute dynamic altitude and sea surface height anomaly data to the interval [0,1] to obtain a normalized batch of data P norm-Input , the normalized formula expression is as follows:
[0114]
[0115] Among them, P n represents a sample set of a variable n in a batch, is the minimum value of a variable in the training set T, is the maximum value of a variable in the training set T, and the variable after normalization of this batch is recorded as P norm ;
[0116] S17, a batch of data P after normalization norm Converted into a four-dimensional gridded tensor in the format of [number of samples in a batch, number of variables, latitudinal span, longitudinal span], abbreviated as [8,9,lat,lon], lat represents the horizontal latitudinal span of the area for deviation correction, lon represents the horizontal longitudinal span of the area for deviation correction. Since the spatial resolution is 0.25°×0.25°, the longitudinal and latitudinal spans are converted into the number of grids, so the size is [8,9,720,1440], Then take the first 7 variables as input batch P norm-Input , with a size of [8,7,720,1440], and the last two variables as the label batch P norm-target , with dimensions of [8,2,720,1440].
[0117] S2. Build a deep learning network A2A. The expression of A2A is as follows:
[0118]
[0119] in, The mapping relationship between the input and output of the deep learning network A2A is shown. The input is the normalized multivariate input batch P. norm-Input The output is the absolute dynamic altitude after deviation correction and the abnormal sea surface height data batch O, θ = {W k ,b k} represents the weight and bias of the kth layer in the A2A model, which specifically includes the following steps:
[0120] S21, build SF (Shallow Feature) shallow feature extraction module, such as Figure 2 As shown in Figure 1, it is used to preliminarily extract the input variable features and preliminarily allocate the attention weights to different channels, including 1 convolution layer with 3 (d = 3) 1×1 convolution kernels, 1 relu activation layer, and 1 channel attention weight calculation layer, namely the CA channel attention module, whose output feature map is F SF , the expression is:
[0121] F SF =f SF (P norm-Input ) = f CA (f relu (C 1×1 (P norm-Input )))
[0122] Among them, FSF represents the output feature map of the SF shallow feature extraction module, with a size of [8, 21, 720, 1440]. This is because a convolution layer with three 1×1 convolution kernels will map the number of channels to a higher dimension, increasing it by 3 times; f SF represents the mapping function of the SF shallow feature extraction module, f relu Describe the relu activation function, f CA represents the CA channel attention module;
[0123] The specific steps of step S21 are as follows:
[0124] The S211 and SF shallow feature extraction modules include 1 convolution layer with 3 1×1 convolution kernels, 1 relu activation layer, and 1 CA channel attention module. The CA channel attention module inputs the feature map through 1 global maximum pooling layer and 1 global average pooling layer on the two-dimensional plane composed of length and width dimensions, and then inputs it into the multi-layer perceptron MLP with 3 fully connected layers. Then, the output results are added to the corresponding grids, and then through the sigmoid activation layer to output the channel attention feature map. The CA channel attention module can be expressed as:
[0125] F CA =f CA (F) = f Sigmoid (f MLP (f AvgPool (F)))+f Sigmoid (f MLP (f MaxPool (F)));
[0126] Among them, F CA represents the output feature map of the CA channel attention module, f MLP Represents the multi-layer perceptron mapping function, f Sigmoid represents the sigmoid activation layer mapping function, F represents the feature map of the input CA channel attention module, and the above channel attention feature map F CA The size of [8,21,1,1] is multiplied by the corresponding dimension of the shallow feature map of size [8,21,720,1440], which is equivalent to giving all grid points on each channel of the input feature map the same weight value;
[0127] f AvgPool Represents the mapping function of the global average pooling layer in the length and width dimensions, which is implemented using the torch.mean function in the Pytroch function library. The expression is as follows:
[0128] F AvgPool=torch.mean(torch.mean(F,2,keepdim=True),3,keepdim=True)
[0129] Among them, F is first averaged along the length dimension, which corresponds to "2" in the torch.mean function, and then averaged along the width dimension, which corresponds to "3" in the torch.mean function, to obtain the feature map F AvgPool , the input feature map size is [8,21,720,1440], the size is first changed to [8,21,1,1440], and then to [8,21,1,1]. keepdim=True means that the size of the other dimensions remains unchanged; similarly, f MaxPool Represents the mapping function of the global maximum pooling layer in length and width dimensions, and the process is the same as f AvgPool Class, change the average to the maximum value, which is implemented by the function torch.max in the Pytroch function library. The expression is:
[0130] F MaxPool =torch.max(torch.max(F,2,keepdim=True),3,keepdim=True)
[0131] The size of the input and output feature maps of the MLP multilayer perceptron remains unchanged. It contains 3 layers, namely a fully connected layer, a relu activation layer, and a fully connected layer. In essence, the fully connected layer is a matrix multiplication operation between the input feature map and the neuron weight matrix, and the expression is:
[0132] F MLP =f MLP (F) = w 2 (f relu (w 1 F+b 1 ))+b 2
[0133] Among them, f MLP is the mapping function of the MLP multi-layer perceptron, w 1 With w 2 is the weight matrix of the two fully connected layers, b 1 With b 2 is the bias matrix of the two fully connected layers; f Sigmoid Represents the sigmoid activation function layer, and the expression is as follows:
[0134]
[0135] Among them, since the sigmoid function activates the input tensor grid by grid, each grid is activated independently, and x represents the value of a certain input grid;
[0136] S212, connect 1 1×1 convolution layer, 1 relu activation layer, and 1 CA channel attention module in sequence to form the SF shallow feature extraction module, which is expressed as:
[0137] F SF =f SF (P norm-Input ) = f CA (f relu (C 1×1 (P norm-Input )))
[0138] Among them, the output shallow extraction feature map F SF The size is [8,21,720,1440];
[0139] S22. Construct a LFGA (Land Filtering Global Attention) module for filtering land global ocean attention. The expression of the LFGA module for filtering land global ocean attention is:
[0140] F LFGA =f LFGA (F SF )
[0141] Among them, F LFGA Output feature map of the global ocean attention module representing LFGA filtering of land, f LFGA Represents the mapping function of the global ocean attention module of LFGA filtering land;
[0142] The specific steps of step S22 are as follows:
[0143] S221, LFGA filter land global ocean attention module, such as Figure 5 As shown in the figure, it includes 5 steps: feature map expansion, land filtering, Transformer's multi-head self-attention mechanism to capture global attention, land information restoration, and feature map folding;
[0144] First, perform the Unfold operation, such as Figure 3 As shown in the figure (the figure takes a 2×2 window with a step size of 1 as an example), the input feature map is flattened to a size that meets the input requirements of the Transformer encoder module, and a sliding window of size 4×4 (w=4) is used. According to the step size s=4, the input feature map F of size [8, 21, 720, 1440] is scanned respectively. SF, independently scan the feature maps of size [21,720,1440] under 8 samples, and slide the window on the feature map with 21 channels. Flatten the feature map of size [21,4,4] under the window coverage area after each slide, that is, the feature map of size 4×4 of the same channel is flattened into a one-dimensional vector 1×16, and then concatenate the 21 4×4 feature maps in sequence to obtain a long vector of length 16×21=366. We will get 64800 vectors of length 366. Since 8 samples are scanned independently at the same time, we will get the feature map F after Unfolding. Unfold , the size is [8,64800,366], l = 16 × 21 = 366;
[0145] S222, using LFM (Land Filtering Mechanism) land filtering mechanism to filter global land information, such as Figure 4 As shown in the figure, this is because, unlike the atmospheric space, the ocean is divided into discontinuous blocks by continents, islands, etc., and the global land surface area accounts for about 30%. If the grid on land is directly assigned a fixed value and the global attention calculation is performed directly, the attention module will be distracted by the land, which is not conducive to improving the accuracy of the deviation correction of the satellite altimeter data in the ocean. Therefore, it is necessary to filter the land information. The specific process is as follows: First, the absolute dynamic altitude data in a labeled sample is used as a template, and the grid value in the ocean is assigned to 1 and the grid value in the land is assigned to 0. Then, the sliding window of the same size and step size in S221 is Unfolded to obtain a sea and land coding information matrix Mask with a size of [64800,16]. Since there is only one absolute dynamic altitude data in a labeled sample, The height data is Unfolded, so p=1, c=1, and the length of each row in Mask is 16, which corresponds to the size of the area covered by a sliding window in the originally expanded two-dimensional area. Since the land grid value is 0 and the ocean grid value is 1, if the grids covered by the sliding window are all on land, then the grids of this row in the Unfolded Mask are all 0, if they are in the ocean, they are all 1, and if they are at the junction of land and sea, they contain both 0 and 1. Therefore, the sea and land coding information matrix Mask that can distinguish between the ocean and land is obtained. It is only necessary to mark the rows in Mask that are all 0 to obtain the vector Index that records the index of the row where the land is located, a vector with a length of 64800, in which the value of the row where the land is located is 0, and the rest are 1. According to Index, the feature map F after Unfolding is taken out. Unfold The rows corresponding to the index position of , and the remaining rows are retained, that is, the feature map F containing only the information of the ocean and the sea-land boundary area is obtained.Unfold-Ocean , the size is [8,46656,336], n ′ =46656 represents the number of rows of oceans and the sea-land boundary, and no longer needs to process the information of land areas, ensuring that the calculation of attention is focused on the ocean;
[0146] S223, use MHA (Multi-Head Attention) multi-head self-attention mechanism to capture global attention and input the flattened feature map F Unfold-Ocean , after a normalization layer Norm, each row along each dimension of l is normalized to improve training stability. Then, the third dimension is enlarged by h=8 times through three identical fully connected layers Linear, and the size is [8,373248,336]. The reshape function of pytorch is used to divide it into 8 segments, and the Q, K, and V matrices with sizes of [8,8,46656,336] are obtained. Then, the SDPA scaling point-by-point multiplication operation is performed. The specific steps are as follows: Q is first matrix multiplied with K, and then scaled to times, and then perform Softmax activation along the dimension of l, perform matrix multiplication on the activation result and V, and finally merge the 8 segments to restore the size to [8,373248,336], and then pass through a Linear layer to restore the size to [8,46656,336], and then pass through the normalization layer Norm to obtain the feature map F MHA , the implementation process of the MHA multi-head attention module is expressed as follows:
[0147] F Unfold-Ocean-Norm =Norm(F Unfold-Ocean )
[0148] Q=f Linear (F Unfold-Ocean-Norm )=w Q F Unfold-Ocean-Norm +b Q
[0149] K=f Linear (F Unfold-Ocean-Norm )=w K F Unfold-Ocean-Norm +b K
[0150] V=f Linear (F Unfold-Ocean-Norm )=w V F Unfold-Ocean-Norm +b V
[0151]
[0152] Among them, Norm represents the normalization layer, f Linearis the fully connected layer activation function, w Q , w K , w V represents the neuron weight matrix of the three fully connected layers, b Q , b K , b V Three fully connected layer bias values, reshape 1 Indicates that Q, K, and V are divided into 8 segments, reshape 2 Indicates restoration to the original size. The specific expression of the Softmax activation function is:
[0153]
[0154] Among them, input represents the input vector of the activation function, input i represents the value of each grid on the vector; finally, in order to reduce information loss and reduce the difficulty of training, F Unfold-Ocean With F MHA Perform residual connection, that is, add the grids at the same position in two feature maps of the same size;
[0155] S224, restore the land information, that is, refer to the vector Index that records the index of the row where the land is located, and convert F MHA Fill the position of the land row originally deleted in the feature map F with a zero vector of length l, and get MHA-Recovery ;
[0156] S225, according to the reverse operation of Unfold operation, Fold operation, the feature map F MHA-Recover Restore the feature map F to size LFGA , the size is [8,21,720,1440]. This feature map records the attention relationship weights between different grids, while the attention weight of the land area is 0, thus shielding the interference of land information on attention calculation;
[0157] S226. The above five steps: feature map expansion, land filtering, Transformer's multi-head self-attention mechanism to capture global attention, land information restoration, feature map folding and sequential connection are used to construct a global ocean attention module for LFGA to filter land. The expression of the global ocean attention module for LFGA to filter land is:
[0158] F LFGA =f LFGA (F SF )
[0159] S23. Construct the RF (Reconstructing Feature) reconstruction feature module. The RF module reconstructs the features extracted by the LFGA attention mechanism so that the number of layers of the output feature map is consistent with the number of layers of the label feature. It outputs the high-precision satellite altimeter data after deviation correction, and passes through 5×5, 3×3 and 1×1 convolution kernels in sequence, with relu activation in between. The final output channel number is 2, corresponding to the two variables after deviation correction, namely the absolute dynamic altitude and the sea surface height abnormal data. The expression of the RF output module is as follows:
[0160] F RF =f RF (F LFGA )=C 1 × 1 (f relu (C 3 × 3 (f relu ((C 5 × 5 (F LFGA ))))))
[0161] Among them, F RF represents the output feature map of the RF reconstruction feature module, with a size of [p,3,lon,lat], f RF represents the mapping function of the RF reconstruction feature module, C 3×3 With C 5×5 Represents convolutional layers with 3×3 and 5×5 convolution kernel sizes;
[0162] The specific steps of step S23 are as follows:
[0163] S231, input the multi-channel feature map into c 1 = After 14 5×5 convolution kernels, the dimension is reduced to 14 channels;
[0164] S232, the feature maps of the 14 channels obtained in step S231 are sequentially passed through a layer of ReLU activation layer and c 2 = 7 3×3 convolution kernels, reducing the dimension to 7 channels;
[0165] S233, the feature maps of the 7 channels obtained in step S232 are successively passed through a layer of ReLU activation layer and two 1×1 convolution kernels, and the feature maps are reduced to outputs of 2 channels with a size of [8, 2, 720, 1440], which correspond to the two variables of absolute dynamic altitude and sea level height abnormal data after deviation correction, respectively. The expression of the RF reconstruction feature module is as follows:
[0166] F RF =fRF (F LFGA )=C 1 × 1 (f relu (C 3 × 3 (f relu ((C 5 × 5 (F LFGA ))))))
[0167] S24, connect the SF shallow feature extraction module obtained in step S21, the LFGA land-filtered global ocean attention module obtained in step S22, and the RF reconstruction feature module obtained in step S23 in sequence to obtain a deep learning network A2A, which is expressed as follows:
[0168]
[0169] θ is the parameter of each layer, and the expression is θ={W k ,b k}.
[0170] The specific steps of step S24 are as follows:
[0171] S241, connect the SF shallow feature extraction module obtained in step S21, the LFGA land filtering global ocean attention module obtained in step S22, and the RF reconstruction feature module obtained in step S23 in sequence, and obtain a deep learning network A2A, which is expressed as follows:
[0172]
[0173] Where O is the output non-denormalized bias-corrected satellite altimeter data, with a size of [8, 2, 720, 1440];
[0174] S3, using the data set obtained in step S1 to alternately train and verify the deep learning network A2A obtained in step S2;
[0175] The specific steps of step S3 are as follows:
[0176] S31. Select Charbonnier loss as the loss function of the deep learning network A2A obtained in the training step S2. The expression of Charbonnier loss is as follows:
[0177]
[0178] Among them, O i , Represents each grid in the output feature map and the label feature map, ∈ is a very small constant to make the value stable;
[0179] S32, based on step S31, the training set T and the validation set V obtained in step S13 are input into the deep learning network A2A obtained in step S2 in batches for training, and fitting The parameters of each layer in θ={W k ,b k};
[0180] The specific steps of step S32 are as follows:
[0181] S321, set the open source deep learning Pytorch framework, set the initialization iteration number to E = 100, the initialization learning rate to lr = 0.001, the initialization batch size to 8, and use the Kaiming initializer to randomly initialize the weights of each layer of the network. Then, based on step S31, input the data in the training set T in batches into the deep learning network A2A obtained in step S2 for training. Since there are 3652 data samples in total, the training set T contains about 2922 samples, so it can be divided into batches, and the loss L is calculated for each batch of output results Charbonnier The optimizer uses Adam, which has been encapsulated and inherited as the function torch.optim.Adam in the Pytorch framework. It can automatically solve the gradient and back-propagate according to the calculated loss, thereby optimizing the parameters of each layer of the deep learning network A2A θ={W k ,b k}, all batches are trained once and it is called an epoch, and a total of E = 100 epochs are trained. At the end of each epoch, the data of the validation set V is input and the loss of a validation set is calculated, but back propagation is not performed. The purpose is to observe the difference between the loss of the validation set and the training set, and to judge the model parameter fitting effect and generalization performance;
[0182] S322. After the training is completed, the parameter θ is saved, which covers all trainable parameters of the deep learning network A2A, and the trained deep learning network A2A is obtained.
[0183] S4. Use the trained deep learning network A2A to correct the domestic satellite altimeter fusion product, that is, to obtain higher-precision domestic satellite altimeter data.
[0184] The specific steps of step S4 are as follows:
[0185] S41, normalize the test set S data obtained in step S15 to the interval [0,1] using the MinMax normalization method;
[0186] S42, the normalized test set data obtained in step S41 is input into the trained deep learning network A2A obtained in step S3 in batches, and each batch of output data is denormalized to obtain domestic satellite altimeter data with higher accuracy after deviation correction. The denormalization formula is:
[0187]
[0188] Among them, O S ′ represents the undenormalized test set output, O S represents the test set output after denormalization, is the minimum value of the fusion product of foreign satellite altimeters as labels in the training set T, v targetmax It is the maximum value of the fusion product of foreign satellite altimeters used as labels in the training set T.
[0189] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A method for correcting the deviation of domestic satellite altimeter fusion products based on deep learning, characterized by: The following steps are involved: S1. Obtain satellite remote sensing data as input and label data, integrate the obtained input and label data sets into an organizational structure and divide them into subsets for model training, verification and testing; S2. Build a deep learning network A2A. The specific process is as follows: S21, build SF shallow feature extraction module, output feature map F SF ; S22. Constructing a global ocean attention module for filtering land by LFGA, including the following steps: S221, flatten the input feature map to the size that meets the input requirements of the Transformer encoder module, use a sliding window of size w×w, and scan the input feature map F of size [p,7d,lat,lon] according to the step size s. SF , scan the feature maps of size [c, lat, lon] under p samples independently, slide the window on each feature map with c channels, flatten the feature map of size [c, w, w] under the window coverage area after each slide, and then splice the c w×w feature maps in sequence to get a feature map of length w 2 ×c long vector, because the total number of slides is lat×lon / s 2 , we get lat×lon / s 2 The length is w 2 ×c vector, since p samples are scanned independently at the same time, the final feature map F after Unfolding is obtained Unfold , the size is [p,n,l], n = lat × lon / s 2 , l = w 2 ×c; S222, using the LFM land filtering mechanism to filter the land information on a global scale, first, using the absolute dynamic altitude data in a label sample as a template, assigning the grid value in the ocean to 1 and the grid value in the land to 0, then Unfolding the sliding window with the same size and step size in S221 to obtain a [lat×lon / s 2 ,w 2 ] is the sea-land coding information matrix Mask, so p = 1, c = 1, and the length of each row in Mask is w 2 That is, it corresponds to the size of the area covered by a sliding window in the originally expanded two-dimensional area. Since the land grid value is 0 and the ocean grid value is 1, if the grids covered by the sliding window are all on land, then the grids of this row in the Unfolded Mask are all 0, if they are in the ocean, they are all 1, and if they are at the junction of land and sea, they contain both 0 and 1. The land and sea coding information matrix Mask that distinguishes the ocean and land is obtained. It is only necessary to mark the rows with all 0s in the Mask to obtain the vector Index that records the index of the row where the land is located, a vector of length n, in which the value of the row where the land is located is 0, and the rest are 1. According to the Index, the feature map F after Unfolding is taken out. Unfold The rows corresponding to the index position of , and the remaining rows are retained, that is, the feature map F containing only the information of the ocean and the sea-land boundary area is obtained. Unfold-Ocean , the size is [p,n′,l], n′ represents the number of rows of oceans and sea-land boundaries; S223, use MHA multi-head self-attention mechanism to capture global attention and input the flattened feature map F Unfold-Ocean , after a normalization layer Norm, each row along each dimension l is normalized, and then the third dimension is enlarged by h times through three identical fully connected layers Linear, and the reshape function of pytorch is used to divide it into h segments to obtain Q, K, V matrices, and then SDPA scaling point-by-point multiplication operations are performed; S224, restore the land information, that is, refer to the vector Index that records the index of the row where the land is located, and convert F MHA Fill the position of the land row originally deleted in the feature map F with a zero vector of length l, and get MHA-Recovery ; S225, according to the reverse operation of Unfold operation, Fold operation, the feature map F MHA-Recover Restore to feature map F LFGA ; S226. The above five steps: feature map expansion, land filtering, Transformer's multi-head self-attention mechanism to capture global attention, land information restoration, feature map folding and sequential connection, construct the expression of the global ocean attention module for LFGA land filtering: F LFGA =f LFGA (F SF ) Among them, F LFGA Output feature map of the global ocean attention module representing LFGA filtering of land, f LFGA Represents the mapping function of the global ocean attention module of LFGA filtering land; S23, construct the RF reconstruction feature module, and the RF output module expression is as follows: F RF =f RF (F LFGA )=C 1×1 (f relu (C 3×3 (f relu ((C 5×5 (F LFGA )))))) Among them, F RF represents the output feature map of the RF reconstruction feature module, f RF represents the mapping function of the RF reconstruction feature module, C 3×3 With C 5×5 Represents convolutional layers with 3×3 and 5×5 convolution kernel sizes; S24, sequentially connect the SF shallow feature extraction module obtained in step S21, the LFGA land-filtered global ocean attention module obtained in step S22, and the RF reconstruction feature module obtained in step S23 to obtain a deep learning network A2A, which is expressed as follows: in, The mapping relationship between the input and output of the deep learning network A2A is shown. The input is the normalized multivariate input batch P. norm-Input The output is the absolute dynamic altitude after deviation correction and the abnormal sea surface height data batch O, θ = {W k , b k } represents the weight and bias of the kth layer in the A2A model; S3, using the data set obtained in step S1 to alternately train and verify the deep learning network A2A obtained in step S2: S4. Use the trained deep learning network A2A to correct the domestic satellite altimeter fusion product.
2. The method for correcting the deviation of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step S21, constructing a SF shallow feature extraction module, including the following sub-steps; S211, CA channel attention module is expressed as: F CA =f CA (F)=f Sigmoid (f MLP (f AvgPool (F)))+f Sigmoid (f MLP (f MaxPool (F))); Among them, F CA represents the output feature map of the CA channel attention module, f MLP Represents the multi-layer perceptron mapping function, f Sigmoid represents the sigmoid activation layer mapping function, and F represents the feature map of the input CA channel attention module; The mapping function f of the global average pooling layer in length and width dimensions AvgPool The expression is: F AvgPool =torch.mean(torch.mean(F,2,keepdim=True),3,keepdim=True) Among them, F is first averaged along the length dimension, which corresponds to "2" in the torch.mean function, and then averaged along the width dimension, which corresponds to "3" in the torch.mean function, to obtain the feature map F AvgPool , f MaxPool Represents the mapping function of the global maximum pooling layer in length and width dimensions, expressed as: F MaxPool =torch.max(torch.max(F,2,keepdim=True),3,keepdim=True); The mapping function expression of the MLP multi-layer perceptron is: F MLP =f MLP (F)=w2(f relu (w1F+b1))+b2 Among them, f MLP is the mapping function of the MLP multi-layer perceptron, w1 and w2 are the weight matrices of the two fully connected layers, b1 and b2 are the bias matrices of the two fully connected layers; f Sigmoid Represents the sigmoid activation function layer, and the expression is as follows: Among them, since the sigmoid function activates the input tensor grid by grid, x represents the value of a certain input grid; The expressions of S212 and SF shallow feature extraction modules are: F SF =f SF (P norm-Input )=f CA (f relu (C 1×1 (P norm-Input ))) Among them, F SF represents the output feature map of the SF shallow feature extraction module; f SF represents the mapping function of the SF shallow feature extraction module, f relu Describe the relu activation function, f CA Represents the CA channel attention module.
3. The deviation correction method of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step S223 specifically includes the following steps: Q is first matrix multiplied by K and then scaled to times, and then perform Softmax activation along the dimension of l, perform matrix multiplication of the activation result with V, and finally merge the h segments to restore the size to [p, h×n′, l], and then pass through a Linear layer to restore the size to [p, n′, l], and then pass through the normalization layer Norm to obtain the feature map F MHA , the implementation process of the MHA multi-head attention module is expressed as follows: F Unfold-Ocean-Norm =Norm(F Unfold-Ocean ) Q=f Linear (F Unfold-Ocean-Norm )=w Q F Unfold-Ocean-Norm +b Q K=f Linear (F Unfold-Ocean-Norm )=w K F Unfold - Ocean-Norm +b K V=f Linear (F Unfold-Ocean-Norm )=w V F Unfold-Ocean-Norm +b V Among them, Norm represents the normalization layer, f Linear is the fully connected layer activation function, w Q , w K , w V represents the neuron weight matrix of the three fully connected layers, b Q , b K , b V Three fully connected layer bias values, reshape1 means dividing Q, K, and V into h segments, reshape2 means restoring to the original size, and the specific expression of the Softmax activation function is: Among them, input represents the input vector of the activation function, input i represents the value of each grid on the vector; finally, in order to reduce information loss and reduce the difficulty of training, F Unfold-ocean With F MHA Perform residual connection.
4. The deviation correction method of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step S1 specifically includes the following steps: S11. Obtain 7 variables as input, namely, satellite sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, global longitude grid field, global latitude grid field, and absolute dynamic height and sea surface height anomaly of domestic satellite altimeter fusion products; obtain 2 variables as labels, namely, absolute dynamic height and sea surface height anomaly of foreign high-precision satellite altimeter fusion products, and the time resolution of the variables is consistent; S12, spatially pairing the input data obtained in step S11 with the label data, using a bilinear interpolation method to unify the spatial resolution of all variables to s°×s°; S13, the longitude and latitude sequence described in S11 is stretched into a two-dimensional grid field, and the resolution is consistent with the grid field of S12, which is s°×s°; S14, pair the input obtained by S12 and S13 with the label data in time and space to obtain a data pair matrix X that matches time and space. The data pair matrix X is organized as follows: In which, each input variable in the data pair matrix X is denoted as x i,j , represents the jth variable of the ith sample, i∈[1,I] represents the 1st to,th samples; S15, divide the paired data pair matrix X into a training set T, a validation set V, and a test set S according to 8:1:1; S16, randomly select p samples from the training set T or the validation set V or the test set S obtained in step S15 to obtain a certain input batch P, and normalize the sea surface temperature, sea surface meridional wind speed, sea surface zonal wind speed, longitude field, latitude field, absolute dynamic altitude and sea surface height anomaly data to the interval [0,1] to obtain a certain batch of data P after normalization processing norm-Input , the normalized formula expression is as follows: Among them, P n represents a sample set of a variable n in a batch, is the minimum value of a variable in the training set T, is the maximum value of a variable in the training set T, and the variable after normalization of this batch is recorded as P norm ; S17, a batch of data P after normalization norm Converted into a four-dimensional gridded tensor format [number of samples in the batch, number of variables, latitudinal span, longitudinal span], abbreviated as [p, 9, lat, lon], lat represents the horizontal latitudinal span of the area for deviation correction, lon represents the horizontal longitudinal span of the area for deviation correction, and then the first 7 variables are used as the input batch P norm-Input , the last two variables are used as label batch P norm-target .
5. The method for correcting the deviation of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step S23 specifically includes the following steps: S231, after inputting the multi-channel feature map into c1 5×5 convolution kernels, the dimension is reduced to c1 channels; S232, the feature maps of c1 channels obtained in step S231 are sequentially passed through 1 ReLU activation layer and c2 3×3 convolution kernels to reduce the dimension to c2 channels; S233, the feature map of c2 channels obtained in step S232 is sequentially passed through one ReLU activation layer and two 1×1 convolution kernels, and the feature map is reduced to the output of two channels, which respectively correspond to the two variables of absolute dynamic altitude and sea level height abnormal data after deviation correction. The expression of the RF reconstruction feature module is as follows: F RF =f RF (F LFGA )=C 1×1 (f relu (C 3×3 (f relu ((C 5×5 (F LFGA ))))))。 6. The method for correcting the deviation of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step 3 specifically includes the following steps: S31. Select Charbonnier loss as the loss function of the deep learning network A2A obtained in the training step S2. The expression of Charbonnier loss is as follows: in, Represents each grid in the output feature map and the label feature map, ∈ is a constant; S32: Based on step S31, the training set T and the validation set V are input into the deep learning network A2A obtained in step S2 in batches for training, and the fitting The parameters of each layer in θ={W k , b k }.
7. The method for correcting the deviation of the domestic satellite altimeter fusion product based on deep learning according to claim 6 is characterized in that: Step S32 specifically includes the following steps: S321, set the basic hyper parameters of the deep learning network A2A under the open source deep learning framework, then based on step S31, input the data in the training set T into the deep learning network A2A obtained in step S2 in batches for training, and calculate the loss L of each batch of output results in turn. Charbonnier , using the back propagation optimizer in the open source deep learning framework, back propagates the gradient of the loss and optimizes the parameter θ = {W k , b k }, when all batches have completed one round of training, it is called an epoch, and a total of E epochs are trained. At the end of each epoch, the data of the validation set V is input, and the loss of a validation set is calculated, but backpropagation is not performed. The difference between the loss of the validation set and the training set is observed to judge the model parameter fitting effect and generalization performance; S322. After the training is completed, the parameter θ is saved, which covers all trainable parameters of the deep learning network A2A, and the trained deep learning network A2A is obtained.
8. The method for correcting the deviation of the domestic satellite altimeter fusion product based on deep learning according to claim 1 is characterized in that: Step S4 specifically includes the following steps: S41, normalize the test set S data obtained in step S15 to the interval [0,1] using the MinMax normalization method; S42, the normalized test set data obtained in step S41 is input into the trained deep learning network A2A obtained in step S3 in batches, and each batch of output data is denormalized to obtain the domestic satellite altimeter data after deviation correction. The denormalization formula is: Among them, O′ S represents the undenormalized test set output, O S represents the test set output after denormalization, is the minimum value of the fusion product of foreign satellite altimeters as labels in the training set T, It is the maximum value of the fusion product of foreign satellite altimeters used as labels in the training set T.
Citation Information
Patent Citations
A vertical line deviation adaptive fusion system and method based on multi-source satellite altimeter data
CN118603042B
Sea surface height forecasting method based on multi-model integration
CN112884217A
Sea surface height numerical prediction deviation correction method based on deep learning model
CN114611608A
Sea surface temperature numerical prediction deviation correction method based on attention mechanism
CN114936620A
A lightweight neural network-based remote sensing change detection method with multi-feature aggregation
CN114937204A