Three-dimensional crack modeling method and device based on double-discriminator generative adversarial network
Patent Information
- Application Number
- CN202611243750.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-17
- Publication Date
- 2026-09-25
AI Technical Summary
[0005]本申请实施例的目的在于提供一种基于双判别器生成对抗网络的三维裂缝建模方法及装置,用以基于历史低分辨率地震属性体与真实裂缝样本集,通过双判别器生成对抗网络的对抗训练,解决了多源数据尺度不匹配及裂缝多尺度自相似性缺失的问题,实现了从低分辨率地震数据直接生成高保真、多尺度统计自相似的三维裂缝网络模型
[0016]本申请实施例提供的基于双判别器生成对抗网络的三维裂缝建模方法及装置,该方法获取目标区域的历史低分辨率地震属性体和真实裂缝样本集,构建包括一个生成器和两个判别器的生成对抗网络;将历史低分辨率地震属性体输入生成器,获取初始裂缝概率体,将其与真实裂缝样本集分别同时输入至两个判别器,得到两个判别器的判别损失和生成器的总损失,以构建总损失函数;
Smart Images

Figure CN122821048A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of CO2 geological utilization and storage technology, and more specifically, to a three-dimensional fracture modeling method and apparatus based on a dual discriminator generative adversarial network. Background Technology
[0002] CO2 geological storage is one of the key technological pathways for addressing global climate change and achieving carbon neutrality. In deep underground CO2 injection projects, natural fractures within the target reservoir and the newly formed fracture network induced by injection constitute the main seepage channels for CO2 migration. The spatial distribution, connectivity, and dynamic evolution characteristics of these fractures under injection pressure directly determine the CO2 injection capacity, storage safety, and leakage risk. Accurately characterizing the dynamic response of the fracture network during CO2 injection is a crucial prerequisite for site safety assessment and injection scheme optimization.
[0003] Currently, existing technologies for 3D fracture modeling of fractured reservoirs mainly rely on static data sources such as seismic data, imaging logging, and core observation. Common methods include: inverting large-scale fault zone distribution based on post-stack seismic attributes, interpreting the attitude and density of small-scale fractures around the well using imaging logging, and then constructing and combining fracture models of different scales separately using discrete fracture network modeling techniques to ultimately form a static fracture network model. Some studies have attempted to incorporate microseismic monitoring data into fracture characterization, but this is usually only used for spatial location and magnitude statistics of microseismic events, or for posterior comparison of focal mechanism solutions with discrete fracture network models to verify the rationality of model predictions.
[0004] However, existing models are all static models, which can only characterize the initial crack state before injection and cannot capture the real-time evolution of crack dynamic opening, expansion and new crack initiation caused by the increase in pore pressure during CO2 injection. Summary of the Invention
[0005] The purpose of this application is to provide a three-dimensional crack modeling method and apparatus based on a dual-discriminator generative adversarial network. Based on historical low-resolution seismic attribute volumes and real crack sample sets, the method uses adversarial training of a dual-discriminator generative adversarial network to solve the problems of scale mismatch of multi-source data and lack of multi-scale self-similarity of cracks. This enables the direct generation of a high-fidelity, multi-scale statistically self-similar three-dimensional crack network model from low-resolution seismic data.
[0006] Firstly, a three-dimensional crack modeling method based on a dual-discriminator generative adversarial network is provided, which may include: Obtain historical low-resolution seismic attribute volumes and real fracture sample sets for the target area, and construct a generative adversarial network consisting of a generator and two discriminators; The historical low-resolution earthquake attribute volume is input into the generator to obtain the initial fracture probability volume. This volume and the actual fracture sample set are then simultaneously input into two discriminators to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function. The generative adversarial network is trained iteratively based on the total loss function; a three-dimensional crack network model is obtained based on the final crack probability volume output by the generator in the trained network.
[0007] In one possible implementation, the historical low-resolution seismic attribute volume is obtained in the following way: The historical 3D post-stack seismic data volume acquired in the target area is preprocessed, including noise suppression, amplitude compensation and migration realignment, to obtain the preprocessed seismic data volume; Seismic attributes are calculated track by track on the preprocessed seismic data volume, and the calculation results of each attribute are formed into an attribute volume with the same grid resolution as the original seismic data volume, so as to obtain a fused attribute volume. The fused attribute volume is mapped from the original seismic mesh to the target modeling mesh to form a low-resolution seismic attribute volume.
[0008] In one possible implementation, the set of real crack samples is constructed in the following way: From the multi-hole imaging logging wellbore images of the target area and its neighborhood, image windows containing clear fracture responses are extracted with a preset sliding window step size. The size of each window is consistent with the fracture probability volume space size output by the generator. Pixel-level semantic annotation is performed on the cracks in each window, with annotation types including crack pixels and non-crack pixels, generating binary label maps; all binary label maps are clustered according to crack direction and density, and a preset number of label maps are randomly selected from each group to form a real crack sample set.
[0009] In one possible implementation, the generator in the generative adversarial network adopts a U-shaped network structure, specifically including: The encoder section contains five downsampling blocks, each consisting of a convolutional layer, a batch normalization layer, and a linear rectified activation function. The feature map size is halved and the number of channels is doubled after each downsampling block. The decoder section contains five upsampling blocks, each consisting of a transposed convolutional layer, a batch normalization layer, and a linear rectified activation function. The feature map size is doubled and the number of channels is halved after each upsampling block. The encoder and decoder are spliced together in the channel dimension by skip connections to connect the outputs of each layer of the encoder with the corresponding layer outputs of the decoder, so as to preserve spatial detail information.
[0010] In one possible implementation, the two discriminators include a first discriminator and a second discriminator; The first discriminator is a fully convolutional network based on a Markov discriminator. Its output is a feature matrix, in which each element corresponds to the discrimination result of a local receptive field region of the input feature map. The final discrimination score is obtained by averaging all local discrimination results. The second discriminator embeds a dilated convolutional pyramid module after its backbone network. This dilated convolutional pyramid module consists of three parallel dilated convolutional layers with dilation rates of 2, 4, and 8, respectively. The output feature maps of the three dilated convolutional layers are concatenated along the channel dimension and then fused by a convolutional layer with a kernel size of 1. Finally, a global average pooling layer outputs a multidimensional discriminant score vector with the same dimension as the number of dilated convolutional layers.
[0011] In one possible implementation, the generative adversarial network is trained iteratively based on the total loss function, including: A generative adversarial network (GAN) is trained using an alternating iterative training method, including: in each training batch, fixing the generator parameters, updating the first discriminator parameters using the discriminant loss of the first discriminator, and updating the second discriminator parameters using the discriminant loss of the second discriminator; fixing the parameters of both discriminators, and updating the generator parameters using the total loss of the generator; the ratio of parameter updates for the discriminators and the generator is the same; during training, at preset intervals, calculating the generator's average content loss on the validation set; when the loss no longer decreases for ten consecutive rounds and the average discrimination scores of the two discriminators for the generated samples on the validation set are both stable within a preset range, it is determined that neither discriminator can distinguish the generated results from the real samples, and training is stopped to obtain the trained GAN.
[0012] In one possible implementation, a three-dimensional crack network model is obtained based on the final crack probability volume output by the generator in the trained network, including: Three-dimensional median filtering is applied to the final crack probability volume to remove isolated noise points; The watershed segmentation algorithm is used to calculate the three-dimensional gradient field of the final crack probability volume. Local minima in the gradient field are used as seed points to perform region growth. Watershed ridges are formed at the intersection of regions, dividing the continuous probability field into multiple independent crack connected regions. After binarizing each crack connected region, a skeletonization algorithm based on 3D topology refinement is used to iteratively remove voxels in the boundary voxels that satisfy the simple point judgment condition, and obtain a 3D skeleton line with a width of one pixel. Branch nodes are detected on the skeleton lines, and the node coordinates, branch length and connection relationship of each branch are recorded. The output graph structure file containing node table and edge table is used as a 3D crack network model.
[0013] Secondly, a three-dimensional crack modeling device based on a dual-discriminator generative adversarial network is provided, the device including: The acquisition unit is used to acquire historical low-resolution seismic attribute volumes and real crack sample sets of the target area, and to construct a generative adversarial network including a generator and two discriminators. The input unit is used to input the historical low-resolution earthquake attribute volume into the generator to obtain the initial crack probability volume, and simultaneously input it and the real crack sample set into two discriminators to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function. The generation unit is used to iteratively train the generative adversarial network based on the total loss function. The acquisition unit is also used to acquire a three-dimensional crack network model based on the final crack probability volume output by the generator in the trained network.
[0014] Thirdly, an electronic device is provided, which includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; When a processor executes a program stored in memory, it implements any of the steps described in the first aspect above.
[0015] Fourthly, a computer-readable storage medium is provided, wherein a computer program is stored therein, and when executed by a processor, the computer program implements the steps of any of the methods described in the first aspect above.
[0016] The present application provides a three-dimensional crack modeling method and apparatus based on a dual-discriminator generative adversarial network. The method obtains historical low-resolution seismic attribute volume and real crack sample set of the target area, and constructs a generative adversarial network including a generator and two discriminators. The historical low-resolution seismic attribute volume is input into the generator to obtain an initial crack probability volume, which is simultaneously input into the two discriminators along with the real crack sample set to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct a total loss function. A generative adversarial network (GAN) is trained iteratively using a total loss function. A 3D fracture network model is then obtained based on the final fracture probability volume output by the generator in the trained network. This method addresses the issues of scale mismatch in multi-source data and the lack of multi-scale self-similarity in fractures, enabling the direct generation of high-fidelity, multi-scale statistically self-similar 3D fracture network models from low-resolution seismic data. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A flowchart illustrating a three-dimensional crack modeling method based on a dual-discriminator generative adversarial network provided in this application embodiment; Figure 2 A schematic diagram of the structure of a three-dimensional crack modeling device based on a dual-discriminator generative adversarial network provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application. Unless otherwise defined, the technical or scientific terms used in this application should have the ordinary meaning understood by those skilled in the art. The terms "first," "second," and similar terms used in this application do not indicate any order, quantity, or importance, but are only used to distinguish different components. The terms "comprising" or "including," etc., mean that the element or object preceding the word covers the element or object listed after the word and its equivalents, but does not exclude other elements or objects. The terms "connection," "coupled," or "linked," etc., are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect.
[0020] The 3D crack modeling method based on a dual-discriminator generative adversarial network provided in this application is implemented collaboratively by the following functional modules: a data preprocessing module, a generative adversarial network construction module, a loss calculation and training module, and a post-processing and crack network extraction module. The core process of the entire method includes: acquiring a low-resolution seismic attribute volume and a real crack sample set; constructing a generative adversarial network containing one generator and two discriminators; inputting the low-resolution seismic attribute volume into the generator to obtain an initial crack probability volume; inputting the initial crack probability volume and the real crack sample set into the two discriminators respectively; calculating the discriminator loss and the generator loss to construct a total loss function; iteratively training alternately until convergence; and finally extracting a 3D crack network model based on the final crack probability volume output by the generator.
[0021] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0022] Figure 1 This is a flowchart illustrating a three-dimensional crack modeling method based on a dual-discriminator generative adversarial network, provided in an embodiment of this application. Figure 1 As shown, the method may include: Step S110: Obtain historical low-resolution seismic attribute volumes and real crack sample sets for the target area, and construct a generative adversarial network including a generator and two discriminators.
[0023] The target area refers to a specific geological block where three-dimensional crack modeling and CO2 underground pipe injection projects need to be carried out.
[0024] (1) The acquisition of low-resolution seismic attribute volumes in this step can be achieved through the following sub-steps: Step A: Preprocess the historical 3D post-stack seismic data volume acquired in the target area, including: using bandpass filtering to suppress low-frequency and high-frequency noise, using the surface uniform amplitude compensation method to correct amplitude distortion caused by differences in excitation and reception conditions, and using finite difference migration or Kirchhoff migration to return the reflected waves to their true spatial locations to obtain the preprocessed seismic data volume.
[0025] Step B: Perform seismic attribute calculations on the preprocessed seismic data volume, calculating at least one or more of the following attributes: Coherence attribute: obtained by calculating the waveform similarity between adjacent seismic traces. Specifically, the C3 coherence algorithm is used. For each spatial location, an analysis window is selected with that point as the center. The covariance matrix between the seismic trace and the neighboring trace within that window is calculated. The ratio of the minimum eigenvalue to the maximum eigenvalue of the matrix is taken as the coherence value, which ranges from 0 to 1. A low value indicates fracture development.
[0026] Variance attribute: obtained by calculating the local variance of earthquake amplitude. For each analysis point, the variance value of the amplitude is statistically analyzed within a three-dimensional analysis window. The larger the variance value, the more drastic the lateral variation of the amplitude, reflecting cracks or faults.
[0027] Curvature attributes: obtained by calculating the maximum positive curvature and minimum negative curvature of the seismic phase axis. First, the seismic data volume is dip-scanned to fit a local surface, then the Gaussian curvature and mean curvature of the surface are calculated, and the maximum positive curvature and minimum negative curvature attributes are extracted.
[0028] The calculation results of each of the above attributes are respectively formed into attribute volumes with the same grid resolution as the original seismic data volume (e.g., grid spacing of 12.5 m × 12.5 m × 2 ms).
[0029] Step C: Merge the generated multiple attribute bodies using one of the following two methods: Principal component analysis fusion: Multiple attribute volumes such as coherence, variance, and curvature are combined into a multidimensional vector according to grid points, and principal component transformation is performed. The first principal component is taken as the comprehensive crack-sensitive attribute volume.
[0030] Weighted Summation and Fusion: Since coherence attributes, variance attributes (amplitude square dimension), and curvature attributes (length inverse dimension) have different physical dimensions, direct weighted summation would lead to dimensional conflicts. Therefore, before performing weighted fusion, each attribute volume is first processed to be dimensionless. This embodiment uses a min-max normalization method to linearly scale each attribute volume to the [0,1] interval. For the... For each attribute, the normalization formula is:
[0031] in: For the first Each attribute body at the grid point The original value at that location; , is the minimum value of this attribute volume across the entire 3D mesh; , which is the maximum value of this attribute body; This is the normalized dimensionless attribute value, with a range of [0,1]. The coordinate vector of a three-dimensional spatial grid point (e.g.) or ). The total number of earthquake attribute types participating in the fusion, for example, take 3 (coherence, variance, curvature).
[0032] After dimensionless transformation, a weighted summation method is used to merge multiple attribute volumes into a single comprehensive fracture sensitivity attribute volume. The weights are determined based on the correlation coefficients between each attribute and known fracture development indices (such as fracture density interpreted from imaging logging). First, using well point data from known fracture development zones, each normalized attribute volume is calculated. With crack density Pearson correlation coefficient between The larger the absolute value of the Pearson correlation coefficient, the higher the sensitivity of that attribute to crack development. Normalizing the Pearson correlation coefficient yields the fusion weights for each attribute: ,in The number of attribute types participating in the fusion, weight satisfy If the correlation coefficient of a certain attribute is negative, it indicates that it is negatively correlated with crack density. In practical applications, its absolute value can be taken or the attribute can be removed. In this embodiment, only positively correlated attributes are selected for fusion. Finally, for each grid point... Calculate the weighted sum to obtain the comprehensive crack sensitivity attribute body:
[0033] Since all input attributes have been dimensionless and the weights are dimensionless coefficients, the output... It is also a dimensionless value, with both sides of the equals sign having the same dimension (both are 1). This fused attribute volume not only retains the comprehensive response of multiple seismic attributes to cracks, but also eliminates the physical inconsistencies caused by dimensional differences.
[0034] Step D: Set the target grid spacing to a preset multiple (usually 5 to 10 times) of the predicted minimum crack length in the modeling area. For example, if the predicted minimum crack length is 5 meters, then the target grid spacing is set to 30 meters. Using 3D inverse distance weighted interpolation or 3D kriging interpolation, the fused attribute volume is mapped from the original seismic grid to the target modeling grid, forming a low-resolution seismic attribute volume.
[0035] The expression for inverse distance weighted interpolation is: ,in, For target grid points The interpolation results, For known grid points The attribute value, For the first The coordinates of a known sample point The Euclidean distance between the two points is... It is the power exponent (usually taken as 2). This represents the number of neighboring points involved in the interpolation.
[0036] (2) The acquisition of the real crack sample set in this step can be achieved through the following sub-steps: Step A: Acquire all well locations with imaging logging data within the target area and its vicinity, and extract the full-section resistivity imaging logging image for each well location. Perform depth correction (aligning with conventional logging depth based on the natural gamma curve), velocity correction (eliminating distortion caused by mud velocity differences), and electrode orientation alignment (stitching multiple electrode images into a complete wellbore unfolded image) on the images to obtain a standardized wellbore unfolded image.
[0037] Step B: On the standardized image, use manual annotation or a semi-automatic tracking algorithm (such as fracture tracking based on region growth) to pick up the trajectory of each fracture at the pixel level, mark the centerline and aperture boundary of the fracture, and generate a binary fracture label map. Fracture pixels are assigned a value of 1, and non-fracture pixels are assigned a value of 0. The resolution of the label map is consistent with that of the original imaging logging image (e.g., 25 pixels per inch).
[0038] Step C: Using a preset sliding window size (e.g., 128×128 pixels or 256×256 pixels, which corresponds to the crack probability volume space size output by the generator), sub-image patches are cropped on the labeled image with no overlap or partial overlap (overlap rate 50%). The sliding step size is set to half of the window size to increase sample diversity.
[0039] Step D: Filter each extracted sub-image patch, removing patches with a crack area ratio below 5% or above 95% (i.e., extreme cases of too few or too many cracks). Calculate the dominant crack direction (by statistically analyzing the gradient direction histogram of crack pixels) and crack density (number of crack pixels / total number of pixels) for each retained patch. Perform K-means clustering (with 5-10 clusters) based on these two parameters to divide the samples into multiple categories, ensuring that the crack patterns within each category are similar.
[0040] Step E: Spatial resampling is performed on each selected sub-image block. The image resolution is resampled to match the crack probability volume grid size output by the generator (e.g., 64×64×64) using bilinear interpolation to ensure that the discriminator input size matches.
[0041] Step F: Randomly select an equal number of resampled sub-image patches from each cluster category (e.g., 200 per category), and merge them to form a real crack sample set. During subsequent training, online data augmentation methods are used to randomly apply rotations (0°, 90°, 180°, 270°), horizontal / vertical flips, and micro-scale scaling (0.9~1.1x) to each patch randomly sampled from the sample set to enhance sample diversity.
[0042] (3) The construction of generative adversarial networks includes: 1) The generator adopts a U-Net structure, with the following specific parameters: The encoder section comprises five downsampling blocks. The first downsampling block takes a low-resolution seismic attribute volume as input (size e.g., 64×64×64×1, i.e., 3D spatial dimensions 64×64×64, 1 channel). This volume is then passed through a convolutional layer (3×3×3 kernel, stride 1, padding 1, output channels 32), a batch normalization layer, a ReLU activation function, and finally max pooling (2×2×2, stride 2) to halve the feature map size. Subsequent downsampling blocks double the number of channels: 64, 128, 256, and 512. Each block contains convolution + batch normalization + ReLU + pooling.
[0043] The decoder consists of five upsampling blocks. Each upsampling block is composed of a transposed convolutional layer (2×2×2 kernel, stride 2, output channels halved), a batch normalization layer, and a ReLU activation function. The feature map size doubles and the number of channels is halved after each upsampling block. The last upsampling block of the decoder outputs 1 channel and outputs a crack probability value (0~1) after passing through a Sigmoid activation function.
[0044] The encoder and decoder are connected via skip connections to concatenate the outputs of each layer of the encoder with the corresponding outputs of the decoder in the channel dimension, in order to preserve spatial detail information. For example, the second layer output feature map of the encoder is 32×32×32×64, which, after upsampling, is concatenated with the second layer feature map of the decoder to obtain a size of 32×32×32×128.
[0045] 2) The first discriminator is a fully convolutional network based on a Markov discriminator (PatchGAN). Its architecture is as follows: the input layer accepts either a crack probability volume or a real crack sample block (size 64×64×64×1); followed by four convolutional blocks, each containing a convolutional layer (4×4×4 kernel, stride 2, padding 1), a batch normalization layer, and a LeakyReLU activation function (slope 0.2). The output layer is a feature matrix with a spatial size of 1 / 16 of the input size (e.g., 4×4×4), where each element corresponds to the discrimination result of a local receptive field region (a 16×16×16 block) of the input feature map. The final discrimination score is obtained by averaging all local discrimination results.
[0046] in, To output the i-th element of the feature matrix, This represents the number of local regions.
[0047] 3) The second discriminator embeds a dilated convolutional pyramid module after its backbone network (similar in structure to the first discriminator, but with a depth of up to 3 convolutional blocks). The dilated convolutional pyramid module consists of three parallel dilated convolutional layers with dilation rates of 2, 4, and 8, respectively. Each dilated convolutional layer has a 3×3×3 kernel and 64 output channels. The output feature maps of the three dilated convolutional layers are concatenated along the channel dimension to obtain a 192-channel feature map. This is then fused using a convolutional layer with a 1×1×1 kernel, reducing the number of output channels to 64. Finally, a global average pooling layer outputs a three-dimensional fractional vector. The three components correspond to scale discriminant scores with dilation rates of 2, 4, and 8, respectively. The vector dimension is the same as the number of dilated convolutional layers.
[0048] Step S120: Input the historical low-resolution earthquake attribute volume into the generator to obtain the initial crack probability volume, and simultaneously input it and the real crack sample set into two discriminators to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function.
[0049] The obtained low-resolution seismic attribute volume (size 64×64×64×1) is input into the generator. The generator performs forward propagation according to the U-Net structure described above: the encoder downsamples step by step to extract deep semantic features, and the decoder upsamples step by step and combines skip connections to restore spatial resolution. The final output is an initial crack probability volume with the same mesh size as the input attribute volume. Each voxel has a probability value between 0 and 1, representing the likelihood of a crack existing at that location.
[0050] The initial crack probability volume is compared with a real crack sample randomly drawn from the real crack sample set. Simultaneously, the inputs are fed into the first discriminator and the second discriminator, respectively.
[0051] (a) For the first discriminator, its training objective is to classify real crack sample blocks as 1 and the initial crack probability volume output by the generator as 0. The loss function is defined as:
[0052] in: To represent the expected value, subscript Specify random variable Follows the true data distribution ; Represents a random variable Follows distribution The mathematical expectation, It is the distribution of the generator's input data. This represents the local discriminant feature matrix output by the first discriminator (each element is 0~1); These are real crack samples extracted from a set of real crack samples; This is the initial crack probability volume output by the generator. For low-resolution seismic attribute volumes; the aim is to approximate them through batch averaging.
[0053] Specific calculation steps: Randomly select a sample from the real crack sample set as the real crack sample; input the real crack sample into the first discriminator to obtain the output feature matrix. Calculate the mean square error between each element in the matrix and 1, and use this as the loss of the true sample; input the initial crack probability volume into the first discriminator to obtain... Calculate the mean square error between each element in the matrix and 0, and use it as the sample generation loss; sum the two to obtain the first discriminator loss. .
[0054] (ii) The second discriminator outputs a multi-dimensional score vector, with each component corresponding to a discrimination result at one scale. The loss function also uses the least squares form, but it needs to be calculated separately for each component:
[0055] in, This represents the k-th fractional component output by the second discriminator.
[0056] Specific calculation steps: Randomly select a sample from the real crack sample set as a real crack sample block; input the real crack sample block into the second discriminator, and obtain a three-dimensional score vector after passing through the dilated convolutional pyramid module and global average pooling. The mean square error between each component and 1 is calculated and summed to obtain the multi-scale loss of the true sample; the initial crack probability volume is input into the second discriminator to obtain... The mean square error between each component and 0 is calculated and summed to obtain the multi-scale loss for generating samples; the sum of the two is the loss of the second discriminator. .
[0057] (iii) The total loss of the generator consists of a weighted sum of three parts: the first adversarial loss term, the second adversarial loss term, and the content loss term, with an additional extended topological connectivity loss.
[0058] The first adversarial loss term enables the generator's output to deceive the first discriminator, i.e., it makes the first discriminator's output for the generated samples approach 1. It uses a least-squares form.
[0059] The second adversarial loss term enables the generator output to deceive the second discriminator, i.e., it makes the scores of the second discriminator at each scale approach 1.
[0060] Content loss term: Pixel-level mean absolute error (L1 loss) between the generator output and the actual crack tag body:
[0061] in, The actual crack label body corresponding to the input seismic attribute body (which needs to be obtained through spatial matching). It is the L1 norm, which is the sum of the absolute values of all voxels in the 3D mesh. This is the initial crack probability volume output by the generator.
[0062] Topological connectivity loss: This embodiment preferably includes this item to enhance the topological rationality of the generated cracks. The specific method for obtaining this value is as follows: The initial crack probability body output by the generator Binarization is performed with a threshold of 0.5 to obtain a binary volume. .
[0063] A 3D thinning algorithm is used to extract skeleton lines and construct a graph structure. .
[0064] Topological characteristics of computational graph structures: number of connected components Number of endpoints (Number of nodes with a skeleton degree of 1); List of branch lengths The length of each side .
[0065] From real cracked label Extracting the same topological features: , , .
[0066] To eliminate the dimension of length To address the impact on the uniformity of the loss function's dimensions, the branch length is made dimensionless. A reference length is defined. The average crack length or mesh element size of the target modeling region (e.g., the average of all actual crack branch lengths, in meters). Then the dimensionless branch length is: Accordingly, the set of dimensionless branch lengths is denoted as... and .
[0067] Calculate the topological connectivity loss:
[0068] in: For the preset weighting coefficients (dimensionless, for example, take...), ); Earth Mover's Distance is used to measure the difference between two dimensionless length distributions.
[0069] The generator's total loss is the weighted sum of the above terms: Among them, the empirical value of the weight can be taken as follows: .
[0070] (iv) The total loss function is used to supervise the entire training process, but in reality, the generator and discriminator each have their own losses. The total loss function usually refers to a joint expression, but it is optimized separately during alternating training. In this embodiment, the training process aims to minimize... For the goal.
[0071] Step S130: Train the generative adversarial network iteratively based on the total loss function; obtain the three-dimensional crack network model based on the final crack probability volume output by the generator in the trained network.
[0072] In each training batch, the following steps are executed sequentially: With fixed generator parameters, respectively utilize and The parameters of the first and second discriminators are updated through backpropagation (using the Adam optimizer, learning rate 0.0002, momentum β1=0.5, β2=0.999).
[0073] With two discriminator parameters fixed, using Update the generator's parameters (using the same optimizer settings). The ratio of parameter updates for the discriminator to those for the generator is 1:1.
[0074] During training, every 20 epochs, the generator's average content loss on the validation set (10% of the samples reserved from the real sample set) is calculated. When the loss stops decreasing for ten consecutive rounds (the decrease is less than 0.001), and the average discrimination scores of the two discriminators for the generated samples on the validation set are stable between 0.45 and 0.55, it is determined that neither discriminator can distinguish between the generated results and the real samples, training is stopped, and the model parameters are saved.
[0075] In some embodiments, to avoid training instability at high resolutions, this embodiment employs a progressive resolution increase: The target resolution is divided into three stages: the first stage output size is 32×32×32, the second stage is 64×64×64, and the third stage is 128×128×128.
[0076] Training begins in the first stage, with both the generator and discriminator having an input / output size of 32³. After training converges, the current network parameters are saved.
[0077] Add an upsampling layer (transposed convolution) and two convolutional layers to the end of the generator's decoder to double its output size to 64³. Simultaneously, add an average pooling layer (downsampling the 64³ input to 32³) to the inputs of the two discriminators and fine-tune the last layer of the discriminators to utilize the low-level features trained in the first stage. Use the parameters from the first stage as initialization and continue training the second stage with a lower learning rate (1 / 10 of the original learning rate).
[0078] Repeat the above process until the preset final resolution (128³) is reached.
[0079] (II) Obtaining a three-dimensional crack network model based on the final crack probability volume After training, the low-resolution seismic attribute volume of the entire 3D mesh area (generated covering the entire target area according to the same data processing flow as step S110) is input into the trained generator to obtain the final fracture probability volume. (i.e., the probability volume of three-dimensional cracks across the entire area). Then, perform the following post-processing steps: Step A: Remove isolated noise points using three-dimensional median filtering (window size 3×3×3): For each voxel, take the median of all voxels in its cubic neighborhood as the new value. The filtered probability volume is denoted as... .
[0080] Step B: Using the watershed algorithm, the continuous probability field is divided into independent fracture connectivity regions: Calculate the three-dimensional gradient field: gradient magnitude The elevation of the terrain that serves as a watershed.
[0081] Finding local minima: The point smaller than all points in the 26-neighborhood is used as the seed point.
[0082] Flood filling: Starting from the seed point, regions are grown along the gradient ascent direction. When the waterlines of two different regions meet, a watershed ridge is constructed at that location. The ridge divides the continuous probability field into multiple independent fracture-connected regions. .
[0083] Step C: Binarize each crack connected region (with a threshold of 0.5) to obtain a binary volume. Use a skeletonization algorithm based on 3D topology refinement (such as the Lee94 algorithm) to iteratively remove voxels from the boundary voxels that satisfy the "simple point" criterion until the remaining voxels form a 3D skeleton line with a single pixel width. The "simple point" criterion requires that removing the voxel does not change the Euler characteristic number and connectivity of the original shape.
[0084] Step D: Branch node detection for the skeleton line: Count the number of skeleton voxels in the 26 neighborhoods of each skeleton voxel. If the number is equal to 1, it is an endpoint; if it is greater than 2, it is a branch point. Record the node coordinates (endpoint or branch point), branch length (cumulative Euclidean distance along the skeleton line), and connectivity of each branch. The final output is a graph structure file (such as VTK or GSLIB format) containing a node table and an edge table, i.e., a 3D crack network model.
[0085] Corresponding to the above method, this application also provides a three-dimensional crack modeling device based on a dual-discriminator generative adversarial network, such as... Figure 2 As shown, the device includes: The acquisition unit 210 is used to acquire historical low-resolution seismic attribute volumes and real crack sample sets of the target area, and to construct a generative adversarial network including a generator and two discriminators. Input unit 220 is used to input the historical low-resolution seismic attribute volume into the generator to obtain the initial crack probability volume, and input it and the real crack sample set into two discriminators at the same time to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function; Generation unit 230 is used to iteratively train a generative adversarial network based on the total loss function; The acquisition unit 210 is also used to acquire a three-dimensional crack network model based on the final crack probability volume output by the generator in the trained network.
[0086] The functions of each unit in the three-dimensional crack modeling device based on dual discriminator generative adversarial network provided in the above embodiments of this application can be implemented through the above method steps. Therefore, the specific working process and beneficial effects of each unit in the three-dimensional crack modeling device based on dual discriminator generative adversarial network provided in the embodiments of this application will not be repeated here.
[0087] This application also provides an electronic device, such as... Figure 3 As shown, it includes a processor 310, a communication interface 320, a memory 330, and a communication bus 340, wherein the processor 310, the communication interface 320, and the memory 330 communicate with each other through the communication bus 340.
[0088] Memory 330 is used to store computer programs; When the processor 310 executes the program stored in the memory 330, it performs the following steps: Historical low-resolution seismic attribute volumes and real fracture sample sets for the target area are obtained, and a generative adversarial network (GAN) consisting of a generator and two discriminators is constructed. The historical low-resolution seismic attribute volumes are input into the generator to obtain an initial fracture probability volume, which, along with the real fracture sample sets, is simultaneously input into the two discriminators to obtain the discriminative losses of the two discriminators and the total loss of the generator, thus constructing a total loss function. The GAN is trained iteratively based on the total loss function. Based on the final fracture probability volume output by the generator in the trained network, a three-dimensional fracture network model is obtained.
[0089] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0090] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0091] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0092] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0093] The implementation methods and beneficial effects of the various components of the electronic device in the above embodiments for solving the problem can be found in [reference needed]. Figure 1 The steps in the illustrated embodiments are used to implement the electronic device. Therefore, the specific working process and beneficial effects of the electronic device provided in this application will not be repeated here.
[0094] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores instructions that, when executed on a computer, cause the computer to perform the three-dimensional crack modeling method based on a dual discriminator generative adversarial network as described in any of the above embodiments.
[0095] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute the three-dimensional crack modeling method based on a dual discriminator generative adversarial network as described in any of the above embodiments.
[0096] Those skilled in the art will understand that the embodiments in this application can be provided as methods, systems, or computer program products. Therefore, the embodiments in this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the embodiments in this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0097] This application describes embodiments of methods, apparatus (systems), and computer program products according to embodiments of this application with reference to flowchart illustrations and / or block diagrams. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0098] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0099] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0100] Although preferred embodiments have been described in this application, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of this application.
[0101] Obviously, those skilled in the art can make various modifications and variations to the embodiments of this application without departing from the spirit and scope of the embodiments of this application. Therefore, if these modifications and variations to the embodiments of this application fall within the scope of the claims in this application and their equivalents, then this application also intends to include these modifications and variations.
Claims
1. A three-dimensional crack modeling method based on a dual-discriminator generative adversarial network, characterized in that, The method includes: Obtain historical low-resolution seismic attribute volumes and real fracture sample sets for the target area, and construct a generative adversarial network consisting of a generator and two discriminators; The historical low-resolution earthquake attribute volume is input into the generator to obtain the initial fracture probability volume. This volume and the actual fracture sample set are then simultaneously input into two discriminators to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function. The generative adversarial network is trained iteratively based on the total loss function; a three-dimensional crack network model is obtained based on the final crack probability volume output by the generator in the trained network.
2. The method as described in claim 1, characterized in that, The historical low-resolution seismic attribute volume was obtained through the following methods: The historical 3D post-stack seismic data volume acquired in the target area is preprocessed, including noise suppression, amplitude compensation and migration realignment, to obtain the preprocessed seismic data volume; Seismic attributes are calculated track by track on the preprocessed seismic data volume, and the calculation results of each attribute are formed into an attribute volume with the same grid resolution as the original seismic data volume, so as to obtain a fused attribute volume. The fused attribute volume is mapped from the original seismic mesh to the target modeling mesh to form a low-resolution seismic attribute volume.
3. The method as described in claim 1, characterized in that, The real crack sample set was constructed in the following way: From the multi-hole imaging logging wellbore images of the target area and its neighborhood, image windows containing clear fracture responses are extracted with a preset sliding window step size. The size of each window is consistent with the fracture probability volume space size output by the generator. Pixel-level semantic annotation is performed on the cracks in each window, with annotation types including crack pixels and non-crack pixels, generating binary label maps; all binary label maps are clustered according to crack direction and density, and a preset number of label maps are randomly selected from each group to form a real crack sample set.
4. The method as described in claim 1, characterized in that, The generator in the generative adversarial network adopts a U-shaped network structure, specifically including: The encoder section contains five downsampling blocks, each consisting of a convolutional layer, a batch normalization layer, and a linear rectified activation function. The feature map size is halved and the number of channels is doubled after each downsampling block. The decoder section contains five upsampling blocks, each consisting of a transposed convolutional layer, a batch normalization layer, and a linear rectified activation function. The feature map size is doubled and the number of channels is halved after each upsampling block. The encoder and decoder are spliced together in the channel dimension by skip connections to connect the outputs of each layer of the encoder with the corresponding layer outputs of the decoder, so as to preserve spatial detail information.
5. The method as described in claim 1, characterized in that, The two discriminators include a first discriminator and a second discriminator; The first discriminator is a fully convolutional network based on a Markov discriminator. Its output is a feature matrix, in which each element corresponds to the discrimination result of a local receptive field region of the input feature map. The final discrimination score is obtained by averaging all local discrimination results. The second discriminator embeds a dilated convolutional pyramid module after its backbone network. This dilated convolutional pyramid module consists of three parallel dilated convolutional layers with dilation rates of 2, 4, and 8, respectively. The output feature maps of the three dilated convolutional layers are concatenated along the channel dimension and then fused by a convolutional layer with a kernel size of 1. Finally, a global average pooling layer outputs a multidimensional discriminant score vector with the same dimension as the number of dilated convolutional layers.
6. The method as described in claim 5, characterized in that, The generative adversarial network is trained iteratively based on the total loss function, including: A generative adversarial network (GAN) is trained using an alternating iterative training method, including: in each training batch, fixing the generator parameters, updating the first discriminator parameters using the discriminant loss of the first discriminator, and updating the second discriminator parameters using the discriminant loss of the second discriminator; fixing the parameters of both discriminators, and updating the generator parameters using the total loss of the generator; the ratio of parameter updates for the discriminators and the generator is the same; during training, at preset intervals, calculating the generator's average content loss on the validation set; when the loss no longer decreases for ten consecutive rounds and the average discrimination scores of the two discriminators for the generated samples on the validation set are both stable within a preset range, it is determined that neither discriminator can distinguish the generated results from the real samples, and training is stopped to obtain the trained GAN.
7. The method as described in claim 1, characterized in that, Based on the final crack probability volume output by the generator in the trained network, a three-dimensional crack network model is obtained, including: Three-dimensional median filtering is applied to the final crack probability volume to remove isolated noise points; The watershed segmentation algorithm is used to calculate the three-dimensional gradient field of the final crack probability volume. Local minima in the gradient field are used as seed points to perform region growth. Watershed ridges are formed at the intersection of regions, dividing the continuous probability field into multiple independent crack connected regions. After binarizing each crack connected region, a skeletonization algorithm based on 3D topology refinement is used to iteratively remove voxels in the boundary voxels that satisfy the simple point judgment condition, and obtain a 3D skeleton line with a width of one pixel. Branch nodes are detected on the skeleton lines, and the node coordinates, branch length and connection relationship of each branch are recorded. The output graph structure file containing node table and edge table is used as a 3D crack network model.
8. A CO2 injection dynamic crack modeling device, characterized in that, The device includes: The acquisition unit is used to acquire historical low-resolution seismic attribute volumes and real crack sample sets of the target area, and to construct a generative adversarial network including a generator and two discriminators. The input unit is used to input the historical low-resolution earthquake attribute volume into the generator to obtain the initial crack probability volume, and simultaneously input it and the real crack sample set into two discriminators to obtain the discrimination loss of the two discriminators and the total loss of the generator, so as to construct the total loss function. The generation unit is used to iteratively train the generative adversarial network based on the total loss function. The acquisition unit is also used to acquire a three-dimensional crack network model based on the final crack probability volume output by the generator in the trained network.
9. An electronic device, characterized in that, The electronic device includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method of any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-7.