AUTOMATIC SEISMIC FACIES IDENTIFICATION METHOD BASED ON COMBINATION OF SELF-ATTENTION MECHANISM AND U-SHAPE NETWORK ARCHITECTURE
20230306725 · 2023-09-28
Inventors
- Zhiguo Wang (Xi'an, CN)
- Yumin CHEN (Xi'an, CN)
- Yang Yang (Xi'an, CN)
- Zhaoqi GAO (Xi'an, CN)
- Zhen Li (Xi'an, CN)
- Qiannan WANG (Xi'an, CN)
- Jinghuai Gao (Xi'an, CN)
Cpc classification
G06V10/778
PHYSICS
G01V1/307
PHYSICS
G06V10/7715
PHYSICS
International classification
G06V10/778
PHYSICS
G06V10/77
PHYSICS
G01V1/32
PHYSICS
G01V1/28
PHYSICS
Abstract
An automatic seismic facies identification method based on combination of Self-Attention mechanism and U-shape network architecture, including: obtaining and preprocessing post-stack seismic data to construct a sample training and validation dataset; building an encoder through an overlapped patch merging module with down-sampling function and a self-attention transformer module with global modeling function; building a decoder through a patch expanding module with linear upsampling function, the self-attention transformer module, and a skip connection module with multilayer feature fusion function; building a seismic facies identification model using the encoder, the decoder, and a Hypercolumn module, where the seismic facies identification model includes a Hypercolumns-U-Segformer (HUSeg); and building a hybrid loss function; iteratively training the seismic facies identification model with a training and validation set; and inputting test data into a trained identification model to obtain seismic facies corresponding to the test data.
Claims
1. An automatic seismic facies identification method based on combination of Self-Attention mechanism and U-shape network architecture, comprising: (a) obtaining and preprocessing post-stack seismic data to construct a sample training and validation dataset; (b) building an encoder by using an overlapped patch merging module with a down-sampling function and a self-attention transformer module capable of performing global modeling; (c) building a decoder by using a patch expanding module with linear up-sampling function, the self-attention transformer module, and a skip connection module capable of performing multi-scale feature fusion; (d) building a seismic facies identification model by using the encoder, the decoder, and a Hypercolumn module, wherein the seismic facies identification model comprises a Hypercolumns-U-Segformer (HUSeg); and (e) building a hybrid loss function; iteratively training the seismic facies identification model with a training and validation set in the sample training and validation dataset; and inputting test data into a trained seismic facies identification model to obtain seismic facies corresponding to the test data.
2. The automatic seismic facies identification method of claim 1, wherein the step of “obtaining and preprocessing post-stack seismic data to construct a sample training and validation dataset” comprises: (a1) collecting and preprocessing original seismic data to obtain the post-stack seismic data; and normalizing an amplitude of the post-stack seismic data to [0, 1]; (a2) equally dividing the post-stack seismic data into N section blocks along a crossline direction, wherein each of the N section blocks consists of a first sub-block and a second sub-block; the first sub-block is configured as a training set, and the second sub-block is configured as a validation set; N is a positive integer greater than 2; and the number of the first sub-block is not less than the number of the second sub-block; (a3) adjusting a size of a seismic section image to a multiple of 16 by using a linear interpolation method; and (a4) subjecting the seismic section image to data augmentation by right-and-left flipping and Gaussian noise transformation.
3. The automatic seismic facies identification method of claim 2, wherein the step of “building an encoder by using an overlapped patch merging module and a self-attention transformer module” comprises: for a seismic section image x∈.sup.H×W with an input height of H and an input width of W, building an encoder composite function ƒ.sub.e=ƒ.sub.e.sup.4⋅ƒ.sub.e.sup.3⋅ƒ.sub.e.sup.2⋅ƒ.sub.e.sup.1to satisfy
sAtt(x)=MHSA(LN(x))+x (1); and
FFN(x)=L.sub.2(cv (L.sub.1(LN(x))))+x (2); wherein LN is a layer normalization function; MHSA is a multi-head self-attention calculation function; L.sub.1 and L.sub.2 are two fully-connected layer functions; and cv is a convolutional layer function.
4. The automatic seismic facies identification method of claim 3, wherein the step of “building a decoder by using a patch expanding module, the self-attention transformer module, and a skip connection module” comprises: building a decoder function ƒ.sub.d to satisfy ƒ.sub.d(x.sup.(1), x.sup.(2), x.sup.(3), x.sup.(4))∈.sup.H×W; wherein the decoder function ƒ.sub.d comprises four second subfunctions ƒ.sub.d.sup.i; the four second subfunctions ƒ.sub.d.sup.i constitute four stages of the decoder; for an encoding feature map
.sup.H×W×C; each of the four second subfunctions f.sub.d.sup.i consists of the patch expanding module and the self-attention transformer module, wherein the number of the self-attention transformer module is two; when an input feature map is x, a calculation formula of the patch expanding module is expressed as:
5. The automatic seismic facies identification method of claim 4, wherein the step of “building a seismic facies identification model by using the encoder, the decoder, and a Hypercolumn module” comprises: introducing a Hypercolumn structure to fuse output feature maps {d.sup.(i)}.sub.i=0.sup.4 of the four stages of the decoder to obtain a fused feature map; and performing pixel-level seismic facies classification on the fused feature map through the following formulas:
{circumflex over (d)}.sup.(i)=Linear[C.sub.i,C](d.sup.(i)) (5);
{circumflex over (d)}.sup.(i)=Upsample[2.sup.i×]({circumflex over (d)}.sup.(i)) (6);
d.sub.f=Linear[5C,C](Concat({circumflex over (d)}.sup.(i))) (7); and
M=Linear[C,N.sub.C](d.sub.ƒ) (8); wherein Upsample[2.sup.(i)x] represents a bilinear interpolation for 2.sup.i ×upsampling; concat(⋅) represents a concatenation operation along the channel dimension; Linear[C,N.sub.C] is a linear mapping from a dimension C to a dimension N.sub.C; N.sub.C is the number of seismic facies types; the encoder and the decoder together form the U-shape network architecture; the encoder is located at one side of the U-shape network architecture, and the decoder is located at the other side of the U-shape network architecture; and features of each stage of the decoder are fused by the Hypercolumn structure, and the fully connected layer is configured to transform the channel dimension to the number of seismic facies types for seismic facies classification.
6. The automatic seismic facies identification method of claim 5, wherein step (e) comprises: training the seismic facies identification model by using a hybrid loss of a cross-entropy loss function and Dice Loss, wherein a calculation formula of the hybrid loss is expressed as:
Loss=0.7*CE+0.3*Dice (9); wherein CE(y,p)=Σ.sub.i,jΣ.sub.k=1.sup.Cy.sub.i,j.sup.(k)log p.sub.ij.sup.(k);
7. The automatic seismic facies identification method of claim 6, wherein when training the seismic facies identification model, parameters of the seismic facies identification model are subjected to iterative updating and learning by using a batch stochastic gradient descent (SGD) algorithm; and after training the seismic facies identification model, the size of the seismic section image is adjusted to a multiple of 16 to be input into the trained seismic facies identification model to predict a type of the seismic facies.
8. The automatic seismic facies identification method of claim 7, wherein the iterative updating and learning of the parameters of the seismic facies identification model is performed through steps of: calculating a gradient of the hybrid loss function; and updating the parameters of the seismic facies identification model along a negative direction of the gradient to achieve a continuous descent of the hybrid loss function.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
DETAILED DESCRIPTION OF EMBODIMENTS
[0053] The disclosure will be further described in detail below in conjunction with the embodiments and
[0054] The seismic interpretation of post-stack seismic data can be used as semantic segmentation of a seismic image to divide the seismic image into different areas, thereby reflecting the underground sedimentary environments at different locations, so as to be applicable to the location of oil and gas reservoirs. However, it is difficult to arrive at satisfactory seismic facies classification results by directly using the image segmentation methods since these methods do not involve the correlation modeling between pixels of the seismic image and are less effective in depicting the boundary details of some seismic facies types. Therefore, the attention deep neural network model is used to learn the regional association and continuity of seismic images, so as to describe the boundary details of the seismic facies more accurately. The present disclosure provides an automatic seismic facies identification method based on combination of Self-Attention mechanism and U-shape network architecture for predicting the seismic facies corresponding to seismic data, so as to perform seismic interpretation.
[0055] This application provides an automatic seismic facies identification method based on combination of Self-Attention mechanism and U-shape network architecture, which includes the following steps. [0056] (a) Post-stack seismic data is obtained and preprocessed to construct a sample training and validation dataset. [0057] (b) An encoder is constructed by using an overlapped patch merging module with a down-sampling function and a self-attention transformer module capable of performing global modeling. [0058] (c) A decoder is constructed by using a patch expanding module with a linear up-sampling function, the self-attention transformer module, and a skip connection module capable of performing multi-scale feature fusion. [0059] (d) A seismic facies identification model is constructed by using the encoder, the decoder, and a Hypercolumn module. The seismic facies identification model includes a Hypercolumns-U-Segformer (HUSeg). [0060] (e) A hybrid loss function is constructed. The seismic facies identification model is iteratively trained with training and validation set in the sample training and validation dataset. Test data is input into a trained seismic facies identification model to obtain seismic facies corresponding to the test data.
[0061] In this embodiment, a collection equipment collects seismic waves to obtain the original seismic data. The original seismic data can be superimposed to form a post-stack seismic data V∈.sup.I×C×D. In seismic exploration, for facilitating observation and analysis, the post-stack seismic data will be processed to improve the resolution of the post-stack seismic data. The original seismic data is a type of seismic data received by a source excitation.
[0062] In this embodiment, the self-attention transformer module is a semantic segmentation network.
[0063] In this embodiment, the step of “obtaining and preprocessing post-stack seismic data to construct a sample training and validation dataset” includes the following steps.
[0064] Original seismic data is collected and preprocessed to obtain the post-stack seismic data, which is recorded as V∈.sup.I×C×D, where I,C,D represents the number of Inline, the number of Crossline, and the number of sampling points within a certain period, respectively. The amplitude of the post-stack seismic data is normalized to [0, 1]. The post-stack seismic data is equally divided into ten section blocks along the crossline direction. The first 70% of the sub-blocks of each of the ten section blocks in the crossline direction are configured as a training set, and the last 30% of the sub-blocks are configured as a validation set. The size of the seismic section image inside each sub-block is adjusted, and the height and width (H, W) of the seismic section image are transformed to a multiple of 16 by using the linear interpolation method, that is, the resolution is transformed into
Finally, the seismic section image obtained after right-and-left flipping and Gaussian noise transformation is used as the input sample dataset of the model.
[0065] In this embodiment, the step of “building an encoder by using an overlapped patch merging module and a self-attention transformer module” includes the following steps.
[0066] For a seismic section image x∈.sup.H×W with an input height of H and an input width of W, an encoder composite function ƒ.sub.e=ƒ.sub.e.sup.4∘ƒ.sub.e.sup.3∘ƒ.sub.e.sup.2∘ƒ.sub.e.sup.1 is built to satisfy
[0067] For the feature map
a first subfunction
is built. C.sub.i is the number of channels of a feature map output by an i-th subfunction of the encoder. As shown in
[0068] In each of subcode blocks, the overlapped patch merging module performs matrix multiplication on the input data by means of overlapped sliding windows, thereby realizing the linear embedding of the feature map, which can downsample 2×the spatial resolution dimension of the input data. The self-attention transformer module contains a self-attention submodule and a feedforward neural network (FNN) submodule to learn global features and fusion features between different positions in the seismic section image. For the input feature map x.sup.(i) at the i-th stage, the calculation formula of subcode block is expressed as:
x.sup.(i+1)=ƒ.sub.e.sup.i(x.sup.(i))=(FFN⋅sAtt).sup.2⋅Conv(x.sup.(i)) (10).
[0069] In the formula (10), ⋅ is an operational character of composite function. Conv is the overlapped patch merging module obtained by using convolution operation. sAtt is a calculation function of the self-attention submodule. FFN is a calculation function of the feedforward neural network submodule.
[0070] The calculation formulas of the self-attention submodule and the FNN submodule are respectively expressed as:
sAtt(x)=MHSA(LN(x))+x (1); and
FFN(x)=L.sub.2(cv(L.sub.i(LN(x))))+x (2).
[0071] In the above formulas, LN is a layer normalization function. MHSA is a multi-head self-attention calculation function. L.sub.1 and L.sub.2 are two fully-connected layer functions. cv is a convolutional layer function used for position encoding.
[0072] In this embodiment, the step of “building a decoder by using a patch expanding module, the self-attention transformer module, and a skip connection module” includes the following steps.
[0073] For the multi-stage encoding feature {x.sup.(i)}.sub.i=1.sup.4 encoded by the encoder, a decoder function ƒ.sub.d is built to satisfy ƒ.sub.d(x.sup.(1), x.sup.(2), x.sup.(3), x.sup.(4))∈.sup.H×W. The decoding process is symmetrical with the encoding process, and the decoder function ƒ.sub.d includes four second subfunctions ƒ.sub.d, and the four second subfunctions ƒ.sub.d.sup.i constitute four stages of the decoder. For an encoding feature map and a decoding feature map
and decoding feature map
is obtained. Among them, i={2,3,4}, d.sup.(4)=x.sup.(4); and concat represents a tensor concatenation operation along a channel dimension. A feature map of a last stage of the decoder is expressed as d.sup.(0)=ƒ.sub.d.sup.1([d.sup.(1)])∈.sup.H×W×C.
[0074] Each of the four second subfunctions ƒ.sub.d.sup.i consists of the patch expanding module based on fully-connected layer upsample and two self-attention transformer modules which is called a sub-decoding block. As shown in
[0075] In above formulas, Linear represents a fully-connected layer, and Reshape represents a dimension reshaping operation.
[0076] Stages of the encoder is correspondingly connected to stages of the decoder by the “skip connection” structure to splice the features of the encoder and decoder, so that the decoder receives features of the encoder from corresponding stages of the encoder for fusion, so as to fuse the different semantic features of shallow coarse grain and high-level fine grain.
[0077] In this embodiment, the step of “building a seismic facies identification model by using the encoder, the decoder, and a Hypercolumn module” includes the following steps.
[0078] A Hypercolumn structure is introduced to fuse output feature maps {d.sup.(i)}.sub.i=0.sup.4 of the four stages of the decoder to obtain a fused feature map. Pixel-level seismic facies classification is performed on the fused feature map. In this way, features with multiple levels are comprehensively used to classify to improve the effect of intensive prediction tasks. The calculation formulas are expressed as:
{circumflex over (d)}.sup.(i)=Linear[C.sub.i,C](d.sup.(i)) (5);
{circumflex over (d)}.sup.(i)=Upsample[2.sup.i×]({circumflex over (d)}.sup.(i)) (6);
d.sub.f=Linear[5C,C](Concat({circumflex over (d)}.sup.(i))) (7); and
M=Linear[C,N.sub.C](d.sub.ƒ) (8).
[0079] In above formulas, Upsample[2.sup.ix] represents a bilinear interpolation for 2.sup.i×upsampling. Concat(⋅) represents a concatenation operation along the channel dimension. Linear [C,N.sub.C] Is a linear mapping from a dimension C to a dimension N.sub.C. N.sub.C is the number of seismic facies types. As show in
[0080] In this embodiment, step (e) includes the following steps.
[0081] The pixel-level cross-entropy loss (CE) is selected as the main optimization goal of model training, and Dice loss is used to assist the model to investigate regional correlation. A calculation formula of the hybrid loss is expressed as:
Loss=0.7*CE+0.3*Dice (9).
[0082] In the formula (9), CE(y,p)=Σ.sub.i,jΣ.sub.k=1.sup.Cy.sub.i,j.sup.(k)log p.sub.ij.sup.(k).
y is a real seismic facies label of a seismic image. p is a predicted mask of the seismic image. y.sub.i,j represents a one-hot coding label corresponding to a pixel at i,j of the seismic image. p.sub.ij.sup.(k) indicates a probability that the pixel at the i,j of the seismic image is predicted to be a k.sup.th-type seismic facies. When training the model, the Adam optimizer with a batch size of 8, an initial learning rate of 1e−3 and a weight decay of 1e−4 is used to train and learn the model.
[0083] In this embodiment, regarding the automatic seismic facies identification method, when training the seismic facies identification model, parameters of the seismic facies identification model are subjected to iterative updating and learning by using the batch stochastic gradient descent (SGD) algorithm.
[0084] After training the seismic facies identification model, the size of the seismic section image is adjusted to a multiple of 16 to be input into the trained seismic facies identification model to predict a type of the seismic facies.
[0085] In this embodiment, the iterative updating and learning of the parameters of the seismic facies identification model is performed through steps of: calculating a gradient of the hybrid loss function; and updating the parameters of the seismic facies identification model along a negative direction of the gradient to achieve a continuous descent of the hybrid loss function.
[0086] When the model is trained, for any seismic section, the size of the seismic section image is adjusted to a multiple of 16 by using the linear interpolation method and input into the model for prediction. The size of the output tensor of the model is [H, W, N.sub.C]. The largest probability index is taken as the predicted type of the seismic facies in the third dimension. A seismic facies matrix with [H, W] is finally output. The value of each position represents the type of seismic facies of the corresponding position of the input seismic image.
Numerical Simulation
[0087] First, a public seismic dataset, which is obtained from Block F3 of North Sea in Netherlands labeled by Alaudah and AlRegib (2016), is used to verify the validity of the present disclosure. The parts of Inline 300-700 and Crossline 300-1000 were selected as the training set, and the rest was selected as the test set. Preprocessing was carried out according to step (b) of the method in description, then trained and tested according to step (e), and the trained model was obtained and evaluated.
[0088]
[0089] Finally, a post-stack seismic data obtained from Bohai Bay Basin in China was used to further verify the validity of the disclosure. For the post-stack seismic data with a main frequency of 29 Hz and a frequency band of 6-52 Hz, the HUSeg model was used to identify the seismic facies of all inline sections of the seismic body, and the results were stitched into the seismic facies, and the sedimentary facies were explained by stratigraphic slices.