Cloud Detection Method in Remote Sensing Images Based on Multi-scale Convolutional Neural Network

Through the remote sensing image cloud detection method based on multi-scale convolutional neural network, the problem of insufficient detection accuracy in small-block cloud areas and cloud segmentation edges is solved, and higher cloud detection accuracy and effective utilization of satellite resources are achieved.

CN114022408BActive Publication Date: 2025-02-07CHINA ACADEMY OF SPACE TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111108889.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-22
Publication Date
2025-02-07
Estimated Expiration
2041-09-22

AI Technical Summary

Technical Problem

The existing remote sensing image cloud detection method is insufficient in dealing with small cloud areas and cloud segmentation edges, and cannot effectively improve the utilization rate of resources on satellites.

Method used

Using a remote sensing image cloud detection method based on multi-scale convolutional neural network, the multi-scale U-net neural network is established, combined with the encoder, decoder and SPP U-net network structure, the multi-scale feature information of the image is extracted and cloud detection is performed. .

Benefits of technology

It improves the accuracy of cloud detection, especially in detecting small cloud areas and cloud segmentation edges, and improves the effective utilization rate of satellite resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114022408B_ABST
    Figure CN114022408B_ABST
Patent Text Reader

Abstract

The present invention relates to a remote sensing image cloud detection method based on a multi-scale convolutional neural network, comprising the following steps: step 1, establishing a multi-scale U-net neural network; the multi-scale U-net neural network comprises an encoder, a decoder and an SPP U-net network structure; step 2, collecting a number of remote sensing images containing clouds, performing cropping, channel selection, cloud annotation and data augmentation, and obtaining a training data set and a test data set required for training the multi-scale U-net neural network; step 3, using the training data set, using the BCELoss loss function and the SGD optimizer to train and update the parameters of the multi-scale U-net neural network; step 4, inputting the cloud-containing remote sensing image to be detected into the trained multi-scale U-net neural network for cloud detection, and the output result is a cloud detection binary image. The present invention performs feature multi-scale improvement on the ordinary U-Net network structure, adopts spatial pyramid pooling to improve the cloud detection accuracy, and can greatly improve the detection effect of small cloud areas and cloud segmentation edges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of remote sensing satellite onboard image processing and relates to a remote sensing image cloud detection method based on a multi-scale convolutional neural network. Background Art

[0002] In recent years, remote sensing technology has developed rapidly and can provide high-resolution and high-precision image data, playing an increasingly important role in various fields such as natural resources, environment, agriculture and national defense. However, optical remote sensing images are generally affected by weather. If there is a large amount of thick cloud coverage above the shooting area, the amount of effective information in the image data acquired by the satellite will be significantly reduced. The storage and downlink of this type of data will occupy a large amount of storage, processing and transmission resources on the satellite, resulting in a waste of satellite resources. Using on-orbit real-time cloud judgment technology to eliminate these "invalid areas" can improve the effective utilization of satellite resources, but this puts higher requirements on the accuracy of on-orbit cloud detection.

[0003] Traditional cloud detection methods include physical methods, detection methods based on cloud texture and spatial characteristics, pattern recognition methods, and comprehensive optimization methods. Among them, physical methods and methods based on cloud texture and spatial characteristics belong to threshold methods; pattern recognition methods require the extraction of cloud characteristics and the design of detectors; comprehensive optimization methods are optimization monitoring methods that use multiple algorithms in combination, but they are time-consuming and inefficient. The performance of the threshold method algorithm is closely related to the setting of the threshold. Due to the large amount of data and complexity of remote sensing images themselves, the threshold method is increasingly unable to meet actual needs. In recent years, deep learning methods in pattern recognition methods have performed well in target detection. The U-Net network is an improved model of FCN, which can well extract various internal and external features in remote sensing images. Compared with fully connected neural networks, it can obtain better segmentation effects while using less computing time. However, the ordinary U-Net network needs to be improved for small cloud areas or cloud area segmentation edges. Summary of the invention

[0004] The technical problem solved by the present invention is to overcome the deficiencies of the prior art and propose a remote sensing image cloud detection method based on a multi-scale convolutional neural network.

[0005] The solution of the present invention is:

[0006] A remote sensing image cloud detection method based on a multi-scale convolutional neural network, the method comprising the following steps:

[0007] Step 1: Establish a multi-scale U-net neural network; the multi-scale U-net neural network includes an encoder, a decoder and an SPP U-net network structure. The encoder obtains the high-level semantics of the image by downsampling, the decoder obtains the pixel-level classification of the image by upsampling, and the SPP U-net network structure realizes multi-scale transformation of the image and extraction of information;

[0008] Step 2: Collect several cloud-containing remote sensing images, perform cropping, channel selection, cloud annotation and data augmentation, and obtain the training data set and test data set required for multi-scale U-net neural network training;

[0009] Step 3: Using the training data set and the test data set, the multi-scale U-net neural network is trained and parameter updated using the BCELoss loss function and the SGD optimizer;

[0010] Step 4: Input the cloud-containing remote sensing image to be detected into the trained multi-scale U-net neural network for cloud detection, and the output result is a cloud detection binary image.

[0011] The structure of the encoder is an input layer followed by three downsampling layers. Each downsampling layer is a double convolutional layer followed by a maximum pooling layer. The output of the third downsampling layer is used as the input of the subsequent SPP U-Net network.

[0012] The double convolutional layer is described as: Conv1-Bn1-ReLU1-Conv2-Bn2-ReLU2;

[0013] Conv1 represents the first convolutional layer, Bn1 represents the first normalization layer of the batch block, ReLU 1 is the first linear rectification function activation function, Conv2 represents the second convolutional layer, Bn2 represents the second normalization layer of the batch block, and ReLU 2 is the second linear rectification function activation function.

[0014] The input of the decoder is the output of the SPP U-Net network. The structure of the decoder is 3 upsampling layers followed by an output layer; each upsampling layer is an upconvolutional layer followed by a joint layer and a double convolutional layer.

[0015] The output layer of the decoder includes a 1×1 convolution kernel and a Sigmoid activation function. The input is first convolved and then the Sigmoid activation function is used to output the result.

[0016] The SPP U-net network first performs a multi-scale downsampling on the result of the encoder input. The multi-scale downsampling is a double convolutional layer followed by a multi-scale pooling layer, which transforms the image size from a single scale to three different scales, namely 1 / 2, 1 / 4 and 1 / 8 of the original scale, and reduces the number of channels of the pooled output of each scale to 1 / 2 of the input;

[0017] Then resampling is performed, using the nearest neighbor interpolation method to resample the 1 / 4 scale image to 2 times the size, and the 1 / 8 scale image to 4 times the size;

[0018] Then the three images are stacked and input into the upsampling layer, which is an upconvolution layer followed by a joint layer and a double convolution layer;

[0019] The result is used as the input of the subsequent decoder.

[0020] The nearest neighbor interpolation method is to assign the value of the neighboring pixel closest to the pixel to be calculated among the four neighboring pixels of the pixel to be calculated to the pixel to be calculated.

[0021] The output feature values ​​of the double convolution layer of the first downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the third upsampling layer of the decoder; the output feature values ​​of the double convolution layer of the second downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the second upsampling layer of the decoder; the output feature values ​​of the third downsampling layer of the encoder are used as the input of the SPP U-Net; the output of the SPP U-Net is used as the input of the first upsampling layer of the decoder.

[0022] In step 2, the training data set and the test data set are obtained as follows:

[0023] 1) First, collect remote sensing satellite images containing clouds, crop the original images and select channels, crop the remote sensing images to a uniform size of H×W, select the corresponding RGB color channel, and save the obtained images as tif format images. Collect T images in total;

[0024] 2) Use the cloud / cloud shadow automatic detection tool of ENVI5.3 to automatically detect the cloud area from these T images, manually correct the misdetected or missed parts in the cloud area, obtain the correct cloud area, and generate a cloud + cloud shadow mask file as the label data set labels for cloud detection;

[0025] 3) Use OpenCV to perform data augmentation on T images. The data augmentation method is as follows:

[0026] First, each tif format image is mirrored left and right, that is, it is reversed left and right with the central axis in the Y direction as the axis to obtain 2T images;

[0027] Then, the center point of each image is used as the rotation center, and a new image is obtained by rotating every 30 degrees. After a total of one rotation, a total of 24 (2×12)T tif format images are obtained as the input data set;

[0028] 4) Select 70% of the images from the input dataset and the corresponding 70% of the images from the labeled dataset labels as the training dataset, and the remaining input dataset and labeled dataset labels form the test dataset.

[0029] The implementation method of step three is as follows:

[0030] First, the weights of the multi-scale U-net neural network are initialized. The input data in the training data set is forward transmitted through the network structure to obtain the output value. The BCELoss loss function is used to calculate the error between the output value and the corresponding labeled data in the labeled data set labels. The chain rule is then used to backpropagate this error to the multi-scale U-net neural network. The SGD optimizer is used to update the weights and bias parameters of the multi-scale U-net neural network to complete a round of learning.

[0031] After the weights and bias parameters of the multi-scale U-net neural network are updated, they are tested using the test data set. If the test is qualified, proceed to step 4. If the test fails, repeat step 3 until the test is qualified.

[0032] The beneficial effects of the present invention compared with the prior art are:

[0033] The present invention utilizes a multi-scale convolutional neural network and adopts spatial pyramid pooling to extract multi-scale feature information of remote sensing images. It also utilizes the connection between the encoder downsampling layer results and the decoder upsampling results to consider the feature information at each level. It can simultaneously detect clouds of various sizes, has higher detection accuracy than traditional methods, and has better detection results for small cloud areas and cloud segmentation edges. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 It is the main structure of the multi-scale convolutional neural network U-net;

[0035] Figure 2 It is the SPP U-Net structure;

[0036] Figure 3(a) shows remote sensing image data (Landsat);

[0037] Figure 3(b) shows the cloud labeled data;

[0038] Figure 4(a) shows the detected remote sensing image data (Landsat), 1-thin clouds in the remote sensing image, 2-small and broken clouds in the remote sensing image;

[0039] Figure 4(b) shows the cloud detection results, 11-thin cloud detection results, 22-small and broken cloud detection results. DETAILED DESCRIPTION

[0040] The present invention will be further described below in conjunction with the embodiments.

[0041] The present invention solves the shortcomings of existing cloud detection technology and provides a remote sensing image cloud detection method based on a multi-scale convolutional neural network. Aiming at the demand for improving the effect of small cloud areas and cloud segmentation edges, the present invention improves the common U-Net network structure with multi-scale features and adopts spatial pyramid pooling to improve the cloud detection accuracy, especially greatly improving the detection effect of small cloud areas and cloud segmentation edges.

[0042] The multi-scale convolutional neural network remote sensing image cloud detection method of the present invention realizes inputting a remote sensing image and outputting a cloud mask of the remote sensing image. The specific technical solution includes:

[0043] 1) Establish a multi-scale U-net neural network, including an encoder, a decoder, and an SPP U-net network structure. The encoder includes 3 downsampling layers, and the decoder includes 3 upsampling layers;

[0044] The structure of the encoder is an input layer followed by three downsampling layers. Each downsampling layer is a double convolution layer followed by a maximum pooling layer. The output of the third downsampling layer is used as the input of the subsequent SPP U-Net network. The double convolution layer can be described as: Conv1-Bn1-ReLU1-Conv2-Bn2-ReLU2. Conv# represents the convolution layer, ReLU# is the linear rectification function activation function. Bn# represents the normalization layer of the batch block.

[0045] The decoder has three upsampling layers, each of which is an upconvolution layer followed by a joint layer and a double convolution layer, and the last upsampling layer is followed by an output layer; the output layer uses a 1×1 convolution kernel and then uses Sigmoid as the activation function to output the result.

[0046] In the present invention, each convolution module of the upsampling layer and the downsampling layer uses two convolution layers for deepening processing to further extract deep feature information of the remote sensing image.

[0047] After a downsampling layer, SPP U-net transforms the size from a single-scale pooling to three different scales, and then uses the nearest neighbor interpolation method to resample the feature maps at each scale to the same size, stack them together, and input them into the upsampling layer.

[0048] The SPP U-Net network results can obtain fusion features at multiple spatial scales, which is beneficial to improving the detection accuracy of targets of different sizes.

[0049] The output feature values ​​of the double convolution layer of the first downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the third upsampling layer of the decoder; the output feature values ​​of the double convolution layer of the second downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the second upsampling layer of the decoder; the output feature values ​​of the third downsampling layer of the encoder are used as the input of the SPP U-Net; the output of the SPP U-Net is used as the input of the first upsampling layer of the decoder.

[0050] 2) Collect cloud-containing remote sensing images, perform cropping, channel selection, cloud annotation and data augmentation, and obtain the training and test data sets required for neural network training.

[0051] The means of data augmentation include: left-right mirror processing, that is, reversing left and right with the central axis in the Y direction as the axis; then rotating the center point of the image as the rotation center, rotating every 30 degrees to obtain a new image, and rotating once in total.

[0052] 3) Use the BCELoss loss function and SGD (stochastic gradient descent) optimizer to train and update the parameters of the multi-scale fully convolutional neural network (multi-scale U-net neural network). Use the test data set to verify the detection results. ) Use the trained multi-scale fully convolutional neural network to perform cloud detection on remote sensing images and obtain the detection results.

[0053] Example:

[0054] 1. Establish a multi-scale U-net neural network model

[0055] 1) The basic architecture of the multi-scale U-Net neural network model consists of two parts: the encoder and the decoder. The encoder obtains the high-level semantics of the image through downsampling, and the decoder obtains pixel-level classification through upsampling. The structures of the encoder and the decoder are completely symmetrical. The network architecture is as follows: Figure 1 shown.

[0056] Take 256×256 N-channel input as an example. The gray blocks in the figure represent feature maps. Each feature map is a three-dimensional array of "depth×height×width", where the height and width are the spatial dimensions of the image, marked in the lower left corner of the map. Since the convolution operation used does not change the size of the input map, the spatial dimensions of the feature maps in the same horizontal direction in the structure diagram remain unchanged. The depth is the channel dimension, marked above the corresponding feature map.

[0057] 2) Encoder, i.e. downsampling module, such as Figure 1 In the left half, the module can be seen as an input layer followed by a double convolution layer, and the remaining part is each max pooling layer followed by a double convolution layer. The double convolution part can be described as: Conv1-Bn1-ReLU1-Conv2-Bn2-ReLU2. Conv# represents the convolution layer, Bn# represents the normalization of the batch block, and ReLU# is the linear rectifier activation function. The linear rectifier function (ReLU, Rectified Linear Unit) is used as the activation function after each convolution layer, and a batch normalization layer (Batch Normalization) is added before the activation function to speed up the convergence of training.

[0058] Using Conv**# to represent the above double convolution structure, the entire encoder module can be concisely described as: Input(3×256×256)–Conv**1(64×256×256)–Maxpool–Conv**2(128×128×128)–Maxpool–Conv**3(256×64×64)–Maxpool–SPP U-net, where Maxpool# represents the maximum pooling layer.

[0059] 3) Decoder, i.e. upsampling module, such as Figure 1 Right half. This part first upsamples the high-level semantic feature map to twice the size of the feature map, and combines the upsampled feature map with the symmetrical low-level semantic feature map to expand the input channel, obtain twice the depth, and then perform subsequent double convolution deepening. In particular, the output layer uses a 1×1 convolution kernel, represented by Conv_out, and the convolution layer uses Sigmoid as the activation function. Concat# represents the joint layer, Up-Conv# represents the up-convolution layer, and Up-Samping# represents the up-sampling layer. Then Up-Samping# can be expressed as: Up-Conv#–Concat#–Conv**#.

[0060] The decoder module can be described as: SPP U-net–Up-Conv1–Concat1(512×64×64)–Conv**1(256×64×64)–Up-Conv2–Concat2(256×128×128)–Conv**2(128×128×128)–Up-Conv3–Concat3(128×256×256)–Conv**3(64×256×256)–Conv_out(1×256×256)–Sigmoid–Output(1×256×256).

[0061] 4) SPP U-Net is the key to multi-scale. SPP (Spatial Pyramid Pooling) increases the amount of feature information retained after feature fusion. At the same time, due to the different sizes of receptive fields at different levels, it can better maintain invariance. Using the SPP structure, fusion features at multiple spatial scales can be obtained, such as Figure 2 As shown, it is the U-Net structure after SPP superposition.

[0062] The SPP U-net network first performs a multi-scale downsampling on the result of the encoder input. The multi-scale downsampling is a double convolution layer followed by a multi-scale pooling layer, which transforms the image size from a single scale to three different scales. The input 32×32 feature map is pooled to 16×16, 8×8, and 4×4 respectively. In order not to increase the number of channels too much, the number of channels of the pooled output of each scale is reduced from 512 to 256. After the data of the three scales are stacked, the total number of channels is 768. Since the size of the feature maps obtained after pooling at different scales is different, the feature maps need to be resized (Resized) before they can be stacked in the channel dimension. The resizing method is the nearest neighbor interpolation method, which uses the nearest neighbor interpolation method to resize the pooled output at each scale to 16×16 size. The nearest neighbor interpolation does not require calculation. Among the four neighboring pixels of the pixel to be found, the neighboring pixel value closest to the pixel to be found is assigned to the pixel to be found. The resampled data are then stacked together and input into the upsampling layer. The upsampling layer is defined the same as above. The upsampling layer is an upconvolution layer followed by a joint layer and a double convolution layer. The result is used as the input of the subsequent decoder.

[0063] 2. Cloud detection dataset production

[0064] 1) First, collect cloud-containing remote sensing images from Landsat and GF-1 satellites, use ENVI5.3 to crop the original images and select channels, crop the images to a uniform size of 6144×6144, select the corresponding RGB (red, green, and blue) color channels, and save the obtained images as tif format images. A total of 96 images were collected;

[0065] 2) Use the cloud / cloud shadow automatic detection tool (Calculate Cloud Mask Using FmaskAlgorithm) of ENVI5.3 to automatically detect the cloud area from these 96 multispectral images. There are some misdetections or omissions in the obtained cloud area, which are manually corrected to obtain the correct cloud area and generate a cloud + cloud shadow mask file. As a labeled dataset for cloud detection dataset, labels; as shown in Figure 3, one of the Landsat remote sensing image data and its labeled data are given;

[0066] 3) Use OpenCV to augment the data of 96 images by the following means: first, mirror them left and right, that is, reverse them left and right with the central axis in the Y direction as the axis; then rotate the center point of the image every 30 degrees to obtain a new image, for a total of one rotation. In this way, each image is rotated, deformed, enhanced, etc., and the augmented positive sample data is 24 (2×12) times the original, and a total of 2304 remote sensing images and corresponding labeled data are obtained;

[0067] 4) Divide the images dataset and the labels dataset into training set and test set in a ratio of 7:3;

[0068] 3. Training and parameter updating of multi-scale fully convolutional neural network models

[0069] 1) The network is trained using the SGD (stochastic gradient descent) optimizer, with the learning rate set to 0.0001, the momentum set to 0.9, and the weight decay set to 0.0005. To match the Sigmoid activation function of the output layer, the loss function uses the BCELoss function, a cross entropy commonly used for binary classification. The specific expression of this function is:

[0070]

[0071] Where y′ is the predicted output value of the network, and y is the true value of the label. N represents the total number of samples, where the samples are the pixels of the image. i and i′ are the true label value and predicted output value of each sample respectively. If z represents the input of Sigmoid function, where z=w×x+b, w is the weight, x is the input feature value, and b is the bias. Then y′ is the output of Sigmoid activation function:

[0072]

[0073] Taking the derivative of the loss function L with respect to the weight w, we can get the gradient:

[0074]

[0075] Taking the derivative of the bias we get:

[0076]

[0077] It can be seen that after using the BCELoss function, the back propagation of the output layer is no longer related to the inverse of the Sigmoid function, which to a certain extent avoids the decrease in gradient caused by the Sigmoid saturation region.

[0078] 2) First, the weights of the network are initialized, the input data is transmitted forward through the network structure to obtain the output value, the error between the output value and the labeled data is calculated using the loss function, and then the error is back-propagated to the network using the chain rule, and the parameters such as the network weights and biases are updated using the optimizer to complete a round of learning. The example of the present invention uses 2304 pictures as training samples, and one round of training is considered as a cycle. The example of the present invention is trained for 30 cycles.

[0079] 4. Cloud detection implementation

[0080] The trained network model and parameters are used to detect clouds in remote sensing images containing clouds. The remote sensing image to be detected is input into the multi-scale convolutional neural network, and the output result is the cloud detection binary image.

[0081] The detection results of a Landsat multispectral image are shown in Figure 4. In Figure 4(b), the detection results of the detection algorithm for thin clouds and broken clouds are marked with numbers 11 and 22 respectively. It can be seen that the algorithm has a good detection effect on both thin clouds and broken clouds.

[0082] Aiming at the demand for improving the effect of small cloud areas and cloud segmentation edges, the present invention performs multi-scale feature improvement on the ordinary U-Net network structure and adopts spatial pyramid pooling to improve cloud detection accuracy, especially can greatly improve the detection effect of small cloud areas and cloud segmentation edges.

[0083] The contents not described in detail in the specification of the present invention belong to the common knowledge of the professionals in this field.

Claims

1. A remote sensing image cloud detection method based on a multi-scale convolutional neural network, characterized in that The steps of the method include: Step 1: Establish a multi-scale U-net neural network; the multi-scale U-net neural network includes an encoder, a decoder and an SPP U-net network structure. The encoder obtains the high-level semantics of the image by downsampling, the decoder obtains the pixel-level classification of the image by upsampling, and the SPP U-net network structure realizes multi-scale transformation of the image and extraction of information; Step 2: Collect several cloud-containing remote sensing images, perform cropping, channel selection, cloud annotation and data augmentation, and obtain the training data set and test data set required for multi-scale U-net neural network training; Step 3: Using the training data set and the test data set, the multi-scale U-net neural network is trained and parameter updated using the BCELoss loss function and the SGD optimizer; Step 4: Input the cloud-containing remote sensing image to be detected into the trained multi-scale U-net neural network for cloud detection, and the output result is a cloud detection binary image; The structure of the encoder is an input layer followed by three downsampling layers. Each downsampling layer is a double convolutional layer followed by a maximum pooling layer. The output of the third downsampling layer is used as the input of the subsequent SPP U-Net network. The double convolutional layer is described as: Conv1-Bn1-ReLU1-Conv2-Bn2-ReLU2; Conv1 represents the first convolutional layer, Bn1 represents the first normalization layer of the batch block, ReLU 1 is the first linear rectification function activation function, Conv2 represents the second convolutional layer, Bn2 represents the second normalization layer of the batch block, and ReLU 2 is the second linear rectification function activation function; The input of the decoder is the output of the SPP U-Net network. The structure of the decoder is 3 upsampling layers followed by an output layer; each upsampling layer is an upconvolution layer followed by a joint layer and a double convolution layer; In step 2, the training data set and the test data set are obtained as follows: 1) First, collect remote sensing satellite images containing clouds, crop the original images and select channels, crop the remote sensing images to a uniform size of H×W, select the corresponding RGB color channel, and save the obtained images as tif format images. Collect T images in total; 2) Use the cloud / cloud shadow automatic detection tool of ENVI5.3 to automatically detect the cloud area from these T images, manually correct the misdetected or missed parts in the cloud area, obtain the correct cloud area, and generate a cloud + cloud shadow mask file as the label data set labels for cloud detection; 3) Use OpenCV to perform data augmentation on T images. The data augmentation method is as follows: First, each tif format image is mirrored left and right, that is, it is reversed left and right with the central axis in the Y direction as the axis to obtain 2T images; Then, the center point of each image is used as the rotation center, and a new image is obtained by rotating every 30 degrees. After a total of one rotation, a total of 24 (2×12) T tif format images are obtained as the input data set; 4) Select 70% of the images from the input dataset and the corresponding 70% of the images from the labeled dataset labels as the training dataset, and the remaining input dataset and labeled dataset labels form the test dataset.

2. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 1, characterized in that: The output layer of the decoder includes a 1×1 convolution kernel and a Sigmoid activation function. The input is first convolved and then the Sigmoid activation function is used to output the result.

3. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 2, characterized in that: The SPP U-net network first performs a multi-scale downsampling on the result of the encoder input. The multi-scale downsampling is a double convolutional layer followed by a multi-scale pooling layer, which transforms the image size from a single scale to three different scales, namely 1 / 2, 1 / 4 and 1 / 8 of the original scale, and reduces the number of channels of the pooled output of each scale to 1 / 2 of the input; Then resampling is performed, using the nearest neighbor interpolation method to resample the 1 / 4 scale image to 2 times the size, and the 1 / 8 scale image to 4 times the size; Then the three images are stacked and input into the upsampling layer, which is an upconvolution layer followed by a joint layer and a double convolution layer; The result is used as the input of the subsequent decoder.

4. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 3, characterized in that: The nearest neighbor interpolation method is to assign the value of the neighboring pixel closest to the pixel to be calculated among the four neighboring pixels of the pixel to be calculated to the pixel to be calculated.

5. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 4, characterized in that: The output feature values ​​of the double convolution layer of the first downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the third upsampling layer of the decoder; the output feature values ​​of the double convolution layer of the second downsampling layer of the encoder are connected to the output feature values ​​of the upconvolution layer of the second upsampling layer of the decoder; the output feature values ​​of the third downsampling layer of the encoder are used as the input of the SPP U-Net; the output of the SPP U-Net is used as the input of the first upsampling layer of the decoder.

6. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 1, characterized in that: The implementation method of step three is as follows: First, the weights of the multi-scale U-net neural network are initialized. The input data in the training data set is forward transmitted through the network structure to obtain the output value. The BCELoss loss function is used to calculate the error between the output value and the corresponding labeled data in the labeled data set labels. The chain rule is then used to backpropagate this error to the multi-scale U-net neural network. The SGD optimizer is used to update the weights and bias parameters of the multi-scale U-net neural network to complete a round of learning.

7. The remote sensing image cloud detection method based on a multi-scale convolutional neural network according to claim 6, characterized in that: After the weights and bias parameters of the multi-scale U-net neural network are updated, they are tested using the test data set. If the test is qualified, step four is performed. If the test fails, step three is repeated until the test is qualified.

Citation Information

Patent Citations

  • Image Semantic Segmentation Method Based on Deep Full Convolutional Network and Conditional Random Field

    AU2020103901A4

  • Remote sensing image cloud detection method based on UNET neural network

    CN110598600A