In the oil and gas industry, seismic surveys are conducted over subsurface regions of interest during the search for, and characterization of, hydrocarbon reservoirs. In seismic surveys, a seismic source generates seismic waves that propagate through the subterranean region of interest and are detected by seismic receivers. The seismic receivers detect and store a time-series of samples of earth motion caused by the seismic waves. The collection of time-series of samples recorded at many receiver locations generated by a seismic source at many source locations constitutes a seismic dataset.
To determine the earth structure, including the presence of hydrocarbons, the seismic dataset may be processed. Processing a seismic dataset includes a sequence of steps designed to correct for a number of issues, such as near-surface effects, noise, irregularities in the seismic survey geometry, etc. Another step in processing a seismic dataset may be the mitigation of artifacts introduced by some data processing techniques. A properly processed seismic dataset may aid in decisions as to if and where to drill for hydrocarbons.
This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.
In one aspect, embodiments disclosed herein relate to a method. The method includes obtaining, using a seismic processor, a training seismic dataset, including an input seismic dataset with a first extent and an output seismic dataset with a second extent, wherein the second extent is greater than the first extent. The method also includes training, using the seismic processor and the training seismic dataset, a machine-learning (ML) network to predict the output seismic dataset, at least in part, from the input seismic dataset.
In general, in one aspect, embodiments disclosed herein relate to a system. The system includes a seismic acquisition system configured to record an observed seismic dataset pertaining to a subsurface region of interest. The system also includes a seismic processor, configured to obtain a training seismic dataset, comprising an input seismic dataset with a first extent and an output seismic dataset with a second extent, wherein the second extent is greater than the first extent. The seismic processor is also configured to train, using the training seismic dataset, a machine-learning network to predict the output seismic dataset, at least in part, from the input seismic dataset. The seismic processor is further configured to obtain an observed seismic dataset pertaining to a subsurface region of interest with a third extent. The seismic processor is still further configured to predict, using the trained machine learning network, an extended seismic dataset with a fourth extent, at least in part, from the observed seismic dataset, wherein the fourth extent is greater than the third extent.
It is intended that the subject matter of any of the embodiments described herein may be combined with other embodiments described separately, except where otherwise contradictory.
Other aspects and advantages of the claimed subject matter will be apparent from the following description and the appended claims.
Specific embodiments of the disclosed technology will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
In the following detailed description of embodiments of the disclosure, numerous specific details are set forth in order to provide a more thorough understanding of the disclosure. However, it will be apparent to one of ordinary skill in the art that the disclosure may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as using the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
In the following description of
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a seismic signal” includes reference to one or more of such seismic signals.
Terms such as “approximately,” “substantially,” etc., mean that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
It is to be understood that one or more of the steps shown in the flowcharts may be omitted, repeated, and/or performed in a different order than the order shown. Accordingly, the scope disclosed herein should not be considered limited to the specific arrangement of steps shown in the flowcharts.
In general, disclosed embodiments include systems and methods to extrapolate seismic dataset beyond the spatial or temporal range over which they were recorded to minimize edge artifacts introduced by applying seismic processing techniques to finite-aperture seismic datasets. In particular, in some embodiments extrapolation of the seismic data is performed with a machine-learning (ML) network, trained with synthetic datasets. The synthetic seismic datasets are directly generated as a composition of geometric shapes. Further, the synthetic datasets, when used to train a ML network, develop a ML network that is capable of generalizing to new, unseen, and real seismic datasets.
It is noted that while the methods described herein will be described in the context of a seismic dataset in two dimensions, these methods are not limited to these seismic datasets. In general, embodiments disclosed herein can be applied to any pre-stack and post-stack seismic data. For example, embodiments disclosed herein can be applied to a collection of shot gathers before or after migration and to stacked seismic datasets that are obtained by the application of move-out corrections. In other words, one with ordinary skill in the art will appreciate that the methods disclosed herein are applicable to seismic datasets that have undergone any number of pre-processing (or processing) steps commonly employed in the art.
In seismic data processing, mathematical operations may be applied to seismic data organized in space and time dimensions. One of the common mathematical operations applied to such seismic data is filtering using convolution operators. Another type of operation involves domain transformation, such as, for example, transforming data in a time-space domain to a frequency-wavenumber domain. The presence of non-zero data near the edges of the data domain may result the introduction of “artifacts”, data with no physical meaning, when applying mathematical operations such as those mentioned above.
Tapering the seismic data to zero near the edges of the data domain may be effective in reducing edge effects, but it may also result in significant loss of information. Other techniques may be implemented to reduce edge effects while preserving the seismic data. One such technique involves simulating the artifacts and subtracting them from the processed data. However, modelling assumptions for the artifacts may be difficult to establish. Another technique may include extrapolating the seismic data beyond the edges with a physical model of the medium of propagation, before seismic processing. Edge effect artifacts may be present but affect only the extended data, which after seismic processing may be tapered or removed without incurring in loss of seismic data. Once again, modelling hypothesis for the physical model may be difficult to establish, and numerical simulations of wave propagation in several dimensions may be computational expensive. A method to reduce edge effect artifacts with minimal modelling assumptions and of low computational cost mat assist in improving the accuracy of seismic data used to generate seismic images.
Because a seismic dataset contains spatial and lithology information about a subterranean region of interest, the seismic dataset may be used to construct a seismic image of the subterranean region of interest. The resulting seismic image may then be used for further seismic data interpretation, such as in updating the spatial extension of a hydrocarbon reservoir. The seismic data interpretation may be performed using a seismic interpretation workstation, that may include a computer processor equipped with suitable software, display devices such as screens, projectors, or monitors, and mechanisms for the operator to interact with the seismic images and data, such as computer mice, wands, and touch sensitive screens. Thus, the disclosed methods are integrated into the established practical applications for improving seismic images and searching for an extraction of hydrocarbons from subsurface hydrocarbon reservoirs. The disclosed methods represent an improvement over existing methods for at least the reasons of lower cost and increased efficacy.
Refracted seismic waves (110) and reflected seismic waves (114) may occur, for example, due to geological discontinuities (112) that may be also known as “seismic reflectors”. The geological discontinuities (112) may be, for example, planes or surfaces that mark changes in physical or chemical characteristics in a geological structure. The geological discontinuities (112) may be also boundaries between faults, fractures, or groups of fractures within a rock. The geological discontinuities (112) may delineate a hydrocarbon reservoir (104).
At the surface, refracted seismic waves (110) and reflected seismic waves (114) may be detected by seismic receivers (116). Radiated seismic waves (108) that propagate from the seismic source (106) directly to the seismic receivers (116), known as direct seismic waves (122), may also be detected by the seismic receivers (116).
In some embodiments, a seismic source (106) may be positioned at a location denoted (xs, ys) where x and y represent orthogonal axes on the earth's surface above the subsurface region of interest (102). The seismic receivers (116) may be positioned at a plurality of seismic receiver locations denoted (xr, yr), with the distance between each receiver and the source being termed “the source-receiver offset”, or simply “the offset”. Thus, the direct seismic waves (122), refracted seismic waves (110), and reflected seismic waves (114) generated by a single activation of the seismic source (106) may be represented in the axes (xs, ys, xr, yr, t). The t-axis delimits the time sample at which the seismic acquisition system (100) activated the seismic source (106) and acquired the seismic data by the seismic receivers (116).
Once acquired, seismic data may undergo a myriad of pre-processing steps. These pre-processing steps may include but are not limited to: reducing signal noise; applying move-out corrections; organizing or resampling the traces according to a regular spatial pattern (i.e., regularization); and data visualization. One with ordinary skill in the art will recognize that many pre-processing (or processing) steps exist for dealing with a seismic dataset. As such, one with ordinary skill in the art will appreciate that not all pre-processing (or processing) steps can be enumerated herein and that zero or more pre-processing (or processing) steps may be applied with the methods disclosed herein without imposing a limitation on the instant disclosure.
In some instances, seismic processing may reduce five-dimensional seismic data produced by a seismic acquisition system (100) to three-dimensional (x,y,t) seismic data by, for example, correcting the recorded time for the time of travel from the seismic source (106) to the seismic receiver (116) and summing (“stacking”) samples over two horizontal space dimensions. Stacking of samples over a predetermined time interval may be performed as desired, for example, to reduce noise and improve the quality of the signals.
Seismic data may also refer to data acquired over different time intervals, such as, for example, in cases where seismic surveys are repeated to obtain time-lapse data. Seismic data may also be pre-processed data, e.g., arranged as a “common shot gather” (CSG) domain, in which waveforms are acquired by different receivers but a single source location. Further, seismic data may also refer to datasets generated via numerical simulations by modeling wave propagation phenomena in the subsurface region of interest (102). The noted seismic data is not intended to be limiting, and any other suitable seismic data is intended to fall within the scope of the present disclosure. Seismic data to be processed with the present disclosed methods, whether acquired or simulated, is referred herein to as an “observed seismic dataset”.
In the CSG (204) shown in
The CSG (204) illustrates how the arrivals are detected at later times by the seismic receivers (116) that are farther from the seismic source (106). In some embodiments, arrivals may have distinctive geometric shapes (209). For example direct seismic waves (122) in the CSG (204) may be characterized by a straight line, while arrivals of reflected seismic waves (114) may present a hyperbolic shape, as seen in
In one or more embodiments, an observed seismic dataset (202) acquired by a seismic acquisition system (100) may be arranged in a plurality of CSGs (210) to create a 3D seismic dataset, as illustrated in
An observed seismic dataset (202) may be processed by a seismic processor (220) to generate a seismic velocity model (219) of the subsurface region of interest (102). A seismic velocity model (219) is a representation of seismic velocity at a plurality of locations within a subsurface region of interest (102). Seismic velocity is the speed at which a seismic wave, that may be a pressure-wave or a shear-wave, travel through a medium. Pressures waves are often referred to as “primary-waves” or “P-waves”. Shear waves are often referred to a “secondary waves” or “S-waves”. Seismic velocities in a seismic velocity model (219) may vary in vertical depth, in one or more horizontal directions, or both. Layers of rock may be created from different materials or created under varying conditions. Each layer of rock may have different physical properties from neighboring layers and these different physical properties may include seismic velocity.
In some embodiments, an observed seismic dataset (202) may be processed by a seismic processor (220) to generate a seismic image (230) of the subsurface region of interest (102). For example, a time-domain seismic image (232) may be generated using a process called seismic migration (also referred to as “migration” herein) using a seismic velocity model (219). In seismic migration, events of seismic reflectivity recorded at the surface are relocated in either time or space to the locations the events occurred in the subsurface. In some embodiments, migration may transform pre-processed shot gathers from a time-domain to a depth-domain seismic image (234). In a depth-domain seismic image (234), seismic events in a migrated shot gather may represent geological boundaries (236, 238) in the subsurface. Various types of migration algorithms may be used in seismic imaging. For example, one type of migration algorithm corresponds to reverse time migration.
As illustrated in
A top drive (316) provides clockwise torque via the drive shaft (318) to the drillstring (308) in order to drill the wellbore (118). The drillstring (308) may comprise a plurality of sections of drillpipe attached at the uphole end to the drive shaft (318) and downhole to a bottomhole assembly (“BHA”) (320). The BHA (320) may be composed of a plurality of sections of heavier drillpipe and one or more measurement-while-drilling (“MWD”) tools configured to measure drilling parameters, such as torque, weight-on-bit, drilling direction, temperature, etc., and one or more logging tools configured to measure parameters of the rock surrounding the wellbore (118), such as electrical resistivity, density, sonic propagation velocities, gamma-ray emission, etc. MWD and logging tools may include sensors and hardware to measure downhole drilling parameters, and these measurements may be transmitted to the surface (124) using any suitable telemetry system known in the art. The BHA (320) and the drillstring (308) may include other drilling tools known in the art but not specifically shown.
The wellbore (118) may traverse a plurality of overburden (322) layers and one or more formations (324) to a hydrocarbon reservoir (104) within the subterranean region (328), and specifically to a drilling target (330) within the hydrocarbon reservoir (104). The wellbore trajectory (304) may be a curved or a straight trajectory. All or part of the wellbore trajectory (304) may be vertical, and some parts of the wellbore trajectory (304) may be deviated or have horizontal sections. One or more portions of the wellbore (118) may be cased with casing (332) in accordance with a wellbore plan.
To start drilling, or “spudding in” the well, the hoisting system lowers the drillstring (308) suspended from the derrick (314) towards the planned surface location of the wellbore (118). An engine, such as an electric motor, may be used to supply power to the top drive (316) to rotate the drillstring (308) through the drive shaft (318). The weight of the drillstring (308) combined with the rotational motion enables the drill bit (306) to bore the wellbore (118).
The drilling system (300) may be disposed at and communicate with other systems in the well environment, such as a seismic processor (220) and a wellbore planning system (338). The drilling system (300) may control at least a portion of a drilling operation by providing controls to various components of the drilling operation. In one or more embodiments, the drilling system (300) may receive well-measured data from one or more sensors and/or logging tools arranged to measure controllable parameters of the drilling operation. During operation of the drilling system (300), the well-measured data may include mud properties, flow rates, drill volume and penetration rates, rock physical properties, etc.
In some embodiments, the rock physical properties may be used by a seismic interpretation workstation (340) to help determine a location of a hydrocarbon reservoir (104). In some implementations, the rock physical properties and other subterranean features may be represented in a seismic image (230) that may be transferred from the seismic processor (220) to the seismic interpretation workstation (340). Knowledge of the existence and location of the hydrocarbon reservoir (104) and the seismic image (230) may be transferred from the seismic interpretation workstation (340) to a wellbore planning system (338). The wellbore planning system (338) may use information regarding the hydrocarbon reservoir (104) location to plan a well, including a wellbore trajectory (304) from the surface (124) of the earth to penetrate the hydrocarbon reservoir (104). In addition, to the depth and geographic location of the hydrocarbon reservoir (104), the planned wellbore trajectory (304) may be constrained by surface limitations, such as suitable locations for the surface position of the wellhead, i.e., the location of potential or preexisting drilling rigs, drilling ships or from a natural or man-made island.
Typically, the wellbore plan is generated based on best available information at the time of planning from a geophysical model, geomechanical models encapsulating subterranean stress conditions, the trajectory of any existing wellbores (which it may be desirable to avoid), and the existence of other drilling hazards, such as shallow gas pockets, over-pressure zones, and active fault planes. Information regarding the planned wellbore trajectory (304) may be transferred to the drilling system (300) described in
From the above discussion, it is apparent that the accuracy of a seismic image (230) has important implications in the planning of hydrocarbon search and production. A seismic image (230) of high resolution may be obtained if densely-recorded data is acquired by using closely-spaced seismic sources (106) and seismic receivers (116). For example, seismic waves with a bandwidth extending up to 100 Hz or more may resolve thin features of a subsurface region of interest (102). However, some processing techniques may introduce errors that degrade the accuracy of the seismic image (230). For example, an observed seismic dataset (202) may be transformed into different domains of representation more suitable to characterize seismic energy. Time-space data may be transformed to and from a frequency-wavenumber domain by application of forward and inverse Fourier Transforms. Because the discrete Fourier Transform is not exact for data that are finite and aperiodic like seismic data are, its application to an observed seismic dataset (202) may introduce artifacts beyond the finite ranges of time or frequency of seismic energy. The generation of such artifacts is sometimes termed “edge effects”.
An example of edge effects introduced by processing a CSG with a multiple-removal filter is illustrated in
The CSG (406) is processed with a filtering algorithm known as Robust Estimation of Primaries by Sparse Inversion (R-EPSI), to remove waves reflected at the free-surface (also referred to as “multiples”). The R-EPSI algorithm, which estimates the free-surface Green's function of the subterranean region to simulate the multiples and subtract them from the CSG, involves performing forward and inverse Fourier Transforms. Therefore, an observed seismic dataset (202) processed with the R-EPSI algorithm may contain artifacts related to edge effects. CSG (412) shows the wavefield obtained after filtering CSG (406) with the R-EPSI algorithm. As seen in the dashed ellipses (414), edge effect artifacts contaminate the filtered CSG (412). The edge effect artifacts are better visualized in CSG (416) that shows the difference between the simulated CSG (406) and the filtered CSG (412). Thus, CSG (416) contains the removed multiples (418) besides the edge effect artifacts.
In some embodiments, applying mathematical operations to the observed seismic dataset (202) such as the R-EPSI algorithm may be preceded by tapering the wavefield to reduce edge effects.
According to some embodiments, an observed seismic dataset (502) may be extrapolated to a domain that extends beyond its domain, to avoid data loss from tapering. The domain of the observed seismic dataset (510) is indicated by the dashed rectangle in
Furthermore, modelling assumptions may be avoided by extrapolating the observed seismic dataset (502) with a ML network (550). The ML network (550) may be trained with a training seismic dataset (560) that in some embodiments may include at least an input seismic dataset (570) and an output seismic dataset (580). The input seismic dataset (570) may be associated to a domain of first extent, and the output seismic dataset (580) may be associated to a domain of second extent that may be larger than the domain of first extent. In some embodiments, the extent (“range”, or “aperture”) may be a spatial distance over which the input seismic dataset is recorded or observed, while in other embodiments the extent may be a temporal window over which the input seismic dataset may be recorded. Typically, the seismic dataset may be recorded (in the case of the input seismic dataset) or predicted (in the case of the output seismic dataset at uniform intervals within the extent, although unequal, variable, or random intervals should be understood as falling within the scope of the invention. The domain of second extent may be obtained by extending the domain of first extent along one or more dimensions. According to some embodiments, the extended seismic dataset (508) may be generated by extending the domain of the observed seismic dataset (510) in the same one or more dimensions used to obtain the domain of second extent.
Machine learning (ML), broadly defined, is the extraction of patterns and insights from data. The phrases “artificial intelligence”, “machine learning”, “deep learning”, and “pattern recognition” are often convoluted, interchanged, and used synonymously throughout the literature. This ambiguity arises because the field of “extracting patterns and insights from data” was developed simultaneously and disjointedly among a number of classical arts like mathematics, statistics, and computer science. The term machine learning will be adopted herein. However, one skilled in the art will recognize that the concepts and methods detailed hereafter are not limited by this choice of nomenclature.
Machine-learning networks types may include, but are not limited to, generalized linear models, Bayesian regression, random forests, and deep models such as neural networks, convolutional neural networks, and recurrent neural networks. ML network types, whether they are considered deep or not, are usually associated with additional “hyperparameters” which further describe the model. For example, hyperparameters providing further detail about a neural network may include, but are not limited to, the number of layers in the neural network, choice of activation functions, inclusion of batch normalization layers, and regularization strength. It is noted that in the context of machine learning (ML), the regularization of a ML network (550) refers to a penalty applied to the loss function of the ML network (550) and should not be confused with the regularization of a seismic dataset. Commonly, in the literature, the selection of hyperparameters surrounding a ML network (550) is referred to as selecting the model “architecture”.
In some embodiments, once a ML network (550) type and hyperparameters have been selected, the ML network (550) is “trained” to perform a task. In some implementations, the ML network (550) is trained using supervised learning. A training seismic dataset (560) for supervised learning consists of pairs of input and output seismic datasets. The output seismic datasets (580) represent desired outputs, upon processing the input seismic datasets (570). During training, the ML network (550) processes at least one input seismic dataset (570) from the training seismic dataset (560) and produces at least one predicted dataset. Each predicted dataset is compared to the output seismic dataset (580) associated to the input seismic dataset (570). The comparison of the predicted dataset to the output seismic dataset (580) may be performed in an iterative manner until a termination criterion is satisfied, and the ML network (550) may be said to be trained.
Turning to
In Block 600, a training seismic dataset is obtained, in accordance with one or more embodiments. The training seismic dataset (560) includes an input seismic dataset (570) with a first extent and an output seismic dataset (580) with a second extent. The second extent is greater than the first extent. The first extent and the second extent may relate to the time-space dimensions of the training seismic dataset (560). In some embodiments the first extent and the second extent may relate only to a spatial extent.
The training seismic dataset (560) may be acquired with a seismic acquisition system (100) and/or obtained from numerical simulations of wave propagation. The training seismic dataset (560) may further include a synthetic seismic dataset generated with statistical techniques to mimic features of seismic data observed in acquired or simulated seismic datasets. Further, other schemes can be implemented to generate the synthetic seismic dataset without departing from the scope of this disclosure.
In some embodiments, synthetic events of seismic reflectivity (hereinafter “synthetic events”) may be generated to produce a training seismic dataset (560). The synthetic events are generated to be similar to events of seismic reflectivity (207) of observed seismic datasets (202). Generating a training seismic dataset (560) to correctly mimic events of seismic reflectivity (207) in observed seismic datasets (202) may include using a high number of synthetic events, since the physical laws governing seismic wave propagation may not be explicitly used in training. The quantity and diversity of a training seismic dataset (560) appears to be more effective for training than the selection of a particular ML network (550) used for extrapolation. However, using observed seismic datasets (202) to form a training seismic dataset (560) may be costly in time and resources because it may involve numerous data acquisition campaigns. On the other hand, generating a comprehensive training seismic dataset (560) via numerical simulations may be also difficult due to (i) a high demand of computational resources, (ii) inaccuracies and instabilities related to numerical techniques, and (iii) not enough information available to build the physical model of the subsurface.
In one or more embodiments of the instant disclosure, the synthetic events may be generated using randomly generated geometric shapes. Synthetic seismic datasets generated in this manner can cover a broad range of events of seismic reflectivity (207) and can mimic real seismic datasets without minimal modeling assumptions and computational cost. The synthetic events may include geometric shapes (209) representative of a geometrical trajectory in space-time present in the observed seismic dataset (202). In some embodiments, synthetic events may be generated for training data arranged in the form of a common shot gather. One of ordinary skill in the art will appreciate that synthetic events may be identified and generated in other possible arrangements of seismic data, for example, in the form of stacked seismic data. In a common shot gather synthetic events may present specific geometric shapes (209), for example, hyperbolic shapes and piecewise linear shapes, as illustrated by events
As seen in
In accordance with one or more embodiments, the generation parameters (716) may be defined, by a user, as ranges or sets. For example, a user may prescribe a lower and an upper bound for the number of geometric shapes in a synthetic dataset. The lower and upper bound for the number of geometric shapes may be denoted by as Nl and Nu, respectively. In the case of a linear line the generation parameters (716) may include a range for acceptable linear slopes (lower bound ml and upper bound mu). Other non-limiting examples of generation parameters (716) for the geometric shapes (712) may include, for example, location in the data domain, amplitude distortion, polarization and curvature of hyperbola.
In accordance with one or more embodiments, the generation parameters (716) also include a set of seismic wavelets (714) and one or more methods for injecting noise into the synthetic seismic dataset (700). Examples of seismic wavelets (714) that may be used are the Ricker wavelet, the Gaussian wavelet, Ormsby wavelet, Klauder wavelet, the first derivative of the Gaussian wavelet, or any other wavelet known in the art. Generation parameters (716) for the seismic wavelets (714) may include dominant frequency, frequency range, amplitude and type of wavelet, among others. In one or more embodiments, the amplitude and/or frequency range of the seismic wavelet (714) may be a function of time or depth. For example, the amplitude may be defined to decrease at a given rate according to time or depth to mimic attenuation phenomena. Changing the frequency range of the seismic wavelet (714) as a function of time or depth mimics observed seismic datasets (202) where the temporal frequency bandwidth is not stationary or constant for all events of seismic reflectivity (207). The functional relationship between time or depth and the seismic wavelet (714) parameters may be defined by the user.
In some embodiments, generation parameters (716) include noise parameters. Various types of noise may be added to the synthetic seismic dataset (700). For example, random noise may be superimposed to each of the waveforms in the synthetic events. The strength of the noise may be described by a variance. In one or more embodiments, the generation parameters (716) include the range of available noise variances. In one or more embodiments, static noise may also be applied to the synthetic events (710). Static noise may be applied by shifting in time or depth, by a prescribed amount (e.g., random), the traces in the seismic dataset. Further, in one or more embodiments, the amplitudes of various waveforms may be altered (e.g., multiplied by a random factor). Such an alteration injects noise into the synthetic events (710) and is intended to mimic variation in seismic receiver (116) sensitivities or couplings. One with ordinary skill in the art will appreciate that noise can be added to the synthetic events (710) in variety of ways and that not all noise injection schemes can be enumerated herein. Further, any noise injection scheme can be applied to the synthetic events (710) without departing from the scope of this disclosure.
In some embodiments, the synthetic events (710) may be generated by applying random perturbations to the plurality of generation parameters (716), as indicated in Block 820. For example, a range of probable values for a particular generation parameter may specified with a lower and an upper bound denoted by Pl and Pu, respectively, where 0<Pl≤Pu. The value of the particular generation parameter may be determined by randomly selecting a value Pi greater than or equal to Pl and less than or equal to Pu. In one or more embodiments, the probability of selecting a value Pi within a user-provided range need not be uniform across the range. In this case, the user also specifies the probability distribution for the available number of synthetic events (710) that can be selected as part of the generation parameters (716). However, one with ordinary skill in the art will recognize that many alterations to the generation of the synthetic events (710) can be made without departing from the scope of this disclosure and that these alterations may necessitate fewer or additional generation parameters (716).
Returning to
By repeating the synthetic data generation process described in Blocks (810)-(830) of
Returning to
A diagram of a neural network is shown in
Nodes (902) and edges (904) carry additional associations. Namely, every edge is associated with a numerical value. The edge numerical values, or even the edges (904) themselves, are often referred to as “weights” or “parameters”. While training a neural network (900), numerical values are assigned to each edge (904). Additionally, every node (902) is associated with a numerical variable and an activation function. Activation functions are not limited to any functional class, but traditionally follow the form:
where i is an index that spans the set of “incoming” nodes (902) and edges (904) and ƒ is a user-defined function. Incoming nodes (902) are those that, when viewed as a graph (as in
When the neural network (900) receives an input, the input is propagated through the network according to the activation functions and incoming node (902) values and edge (904) values to compute a value for each node (902). That is, the numerical value for each node (902) may change for each received input. Occasionally, nodes (902) are assigned fixed numerical values, such as the value of 1, that are not affected by the input or altered according to edge (904) values and activation functions. Fixed nodes (902) are often referred to as “biases” or “bias nodes” (906), displayed in
In some implementations, the neural network (900) may contain specialized layers (905), such as a normalization layer, or additional connection procedures, like concatenation. One skilled in the art will appreciate that these alterations do not exceed the scope of this disclosure.
As noted, the training procedure for the neural network (900) comprises assigning values to the edges (904). To begin training, the edges (904) are assigned initial values. These values may be assigned randomly, assigned according to a prescribed distribution, assigned manually, or by some other assignment mechanism. Once edge (904) values have been initialized, the neural network (900) may act as a function, such that it may receive inputs and produce an output. As such, at least one input is propagated through the neural network (900) to produce an output.
A training seismic dataset (560) is provided to the neural network (900). A training seismic dataset (560) consists of pairs consisting of an input seismic dataset (570) and an output seismic dataset (580). Each neural network (900) predicted dataset is compared to the associated output seismic dataset (580). The comparison of the neural network (900) predicted dataset to the output seismic dataset (580) is typically performed by a so-called “loss function”; although other names for this comparison function such as “error function”, “misfit function”, and “cost function” are commonly employed. Many types of loss functions are available, such as the mean-squared-error function, the Huber loss function, however, the general characteristic of a loss function is that the loss function provides a numerical evaluation of the similarity between the neural network (900) output and the associated target. The loss function may also be constructed to impose additional constraints on the values assumed by the edges (904), for example, by adding a penalty term, which may be physics-based, or a regularization term (not be confused with regularization of seismic data).
Generally, the goal of a training procedure is to alter the edge (904) values to promote similarity between the neural network (900) output and associated target over the training seismic dataset (560). Thus, the loss function is used to guide changes made to the edge (904) values, typically through a process called “backpropagation”. While a full review of the backpropagation process exceeds the scope of this disclosure, a brief summary is provided. Backpropagation consists of computing the gradient of the loss function over the edge (904) values. The gradient indicates the direction of change in the edge (904) values that results in the greatest change to the loss function. Because the gradient is local to the current edge (904) values, the edge (904) values are typically updated by a “step” in the direction indicated by the gradient. The step size is often referred to as the “learning rate” and need not remain fixed during the training process. Additionally, the step size and direction may be informed by previously seen edge (904) values or previously computed gradients. Such methods for determining the step direction are usually referred to as “momentum” based methods.
Once the edge (904) values have been updated, or altered from their initial values, through a backpropagation step, the neural network (900) will likely produce different outputs. Thus, the procedure of propagating at least one input through the neural network (900), comparing the neural network (900) output with the associated target with a loss function, computing the gradient of the loss function with respect to the edge (904) values, and updating the edge (904) values with a step guided by the gradient, is repeated until a termination criterion is reached. Common termination criteria are: reaching a fixed number of edge (904) updates, otherwise known as an iteration counter; a diminishing learning rate; noting no appreciable change in the loss function between iterations; reaching a specified performance metric as evaluated on the data or a separate hold-out dataset. Once the termination criterion is satisfied, and the edge (904) values are no longer intended to be altered, the neural network (900) is said to be “trained.”
A CNN is similar to a neural network (900) in that it can technically be graphically represented by a series of edges (904) and nodes (902) grouped to form layers. However, it is more informative to view a CNN as structural groupings of weights; where here the term structural indicates that the weights within a group have a relationship. CNNs are widely applied when the data inputs also have a structural relationship, for example, a spatial relationship where one input is always considered “to the left” of another input. Images have such a structural relationship. A seismic dataset may be organized and visualized as an image. Consequently, a CNN is an intuitive choice for processing a seismic dataset.
A structural grouping, or group, of weights is herein referred to as a “filter”. The number of weights in a filter is typically much less than the number of inputs, where here the number of inputs refers to the number of pixels in an image or the number of trace-time (or trace-depth) values in a seismic dataset. In a CNN, the filters can be thought as “sliding” over, or convolving with, the inputs to form an intermediate output or intermediate representation of the inputs which still possesses a structural relationship. Like unto the neural network (900), the intermediate outputs are often further processed with an activation function. Many filters may be applied to the inputs to form many intermediate representations. Additional filters may be formed to operate on the intermediate representations creating more intermediate representations. This process may be repeated as prescribed by a user. There is a “final” group of intermediate representations, wherein no more filters act on these intermediate representations. In some instances, the structural relationship of the final intermediate representations is ablated; a process known as “flattening”. The flattened representation may be passed to a neural network (900) to produce a final output. Note, that in this context, the neural network (900) is still considered part of the CNN. Like unto a neural network (900), a CNN is trained, after initialization of the filter weights, and the edge (904) values of the internal neural network, if present, with the backpropagation process in accordance with a loss function.
In accordance with one or more embodiments, the architecture of the CNN (1000) is depicted in
In accordance with one or more embodiments,
Additionally,
While an embodiment using a CNN (1000) for the ML network type has been suggested, one skilled in the art will appreciate that the instant disclosure is not limited to this ML network type. ML networks such as a random forest, visual transformers (ViTs), or non-parametric methods such as K-nearest neighbors or a Gaussian process may be readily inserted into this framework and do not depart from the scope of this disclosure.
In some embodiments, with a ML network type and associated architecture selected, the ML network (550) is trained using at least the plurality of input seismic datasets (570) and the plurality of output seismic datasets (580), as shown in Block 840 of
Once the ML network (550) is trained, one or more input seismic datasets (570) may form a validation set and may be processed by the trained ML network (550) for validation. The predicted dataset is then compared to the associated output seismic datasets (580) of the validation set. Thus, the performance of the trained ML network (550) may be evaluated. An indication of the performance of the ML network (550) may be acquired by estimating the generalization error of the trained ML network (550). The generalization error is estimated by evaluating the performance of the trained ML network (550), after a suitable model has been found on the test set. One with ordinary skill in the art will recognize that the training procedure described herein is general and that many adaptions can be made without departing from the scope of the present disclosure. For example, common training techniques, such as early stopping, adaptive or scheduled learning rates, and cross-validation may be used during training without departing from the scope of this disclosure.
According to one or more embodiments, the trained ML network (550) may be retrained using transfer learning to process observed seismic datasets (202) of different type, domain, or number of dimensions. Transfer learning may be performed, for example, by using the values of the edges (904) of the trained ML network (550) as initial values of the ML network (550) to be trained with different observed seismic data. Training time may be significantly reduced by making use of transfer learning.
Returning to the method described in
The observed seismic dataset (202) may be processed to attenuate noise and may be organized in one or more spatial dimensions (216, 218) and a time axis (214) to form a plurality of time-space waveforms. In some embodiments, one or more CSGs (210) may be generated with the source position corresponding to the middle of the offset, as illustrated in
The observed seismic dataset (202) may include a plurality of events of seismic reflectivity (207) containing, among others, reflected (114) and refracted (110) seismic waves. The domain of observed seismic dataset (510) is with a third extent and may relate to the time range and the space range in which the observed seismic dataset (202) is acquired or simulated. In some embodiments each event of seismic reflectivity (207) may have a bandlimited frequency range due to a limited source bandwidth, and to filtering phenomena occurring as seismic energy propagates through the subsurface region of interest (102). Events of seismic reflectivity (408, 410) with a narrow frequency range are illustrated in
In Block 630, the extended seismic dataset (508) with a fourth extent is predicted from the observed seismic dataset (502) using the trained ML network (550). The fourth extent is greater than the third extent that is related to the observed seismic dataset (202). The trained ML network (550) is configured to receive the observed seismic dataset (502) and output an extended seismic dataset (508). The ML network (550) may extrapolate the observed seismic dataset (502) providing continuity in one or more data dimensions to the one or more events of seismic reflectivity (207) present in the observed seismic dataset (202).
In Block 640, a seismic image of the subsurface region of interest is determined based on the extended seismic dataset (508), in accordance with one or more embodiments. In some embodiments, the observed seismic dataset (202) may include a plurality of CSGs (210) and each CSG (204) may include a plurality of time-space waveforms, as illustrated in
Processing to extract seismic data of interest may be performed for each CSG (204) of an extended seismic dataset (508), and the plurality of processed CSGs may then be used by the seismic processor (220) to generate a seismic image (230). For example, a partial seismic image may be generated for each of the plurality of filtered CSGs obtaining a plurality of partial seismic images. A stacked seismic image may then be constructed, for example, by summing all the partial seismic images.
In Block 650, a drilling target in the subsurface region may be determined based on the seismic image (230), in accordance with one or more embodiments. The seismic image (230) may be transferred to a seismic interpretation workstation (340). The seismic interpretation workstation (340) may use the seismic image (230) to determine the location of a drilling target (330). The location of the drilling target (330) in a wellbore (118) may be based on, for example, an expected presence of gas or another hydrocarbon within a seismic image (230). Locations in a seismic image (230) may indicate an elevated probability of the presence of a hydrocarbon and may be targeted by well designers. On the other hand, locations in a seismic image (230) indicating a low probability of the presence of a hydrocarbon may be avoided by well designers.
In Block 660, a wellbore trajectory (304) to intersect the drilling target (330) is planned, in accordance with one or more embodiments. Knowledge of the location of the drilling target (330) and the seismic image (230) may be transferred to a wellbore planning system (338). Instructions associated with the wellbore planning system (338) may be stored, for example, in the memory (1809) within the computer system (1800) described in
In Block 670, a wellbore is drilled guided by the planned wellbore trajectory, in accordance with one or more embodiments. The wellbore planning system (338) may transfer the planned wellbore trajectory (304) to the drilling system (300) described in
As a concrete example of the methods, processes, models, and techniques described herein, a plurality of synthetic datasets was generated, a ML network (550) was trained, and the results of the ML network (550) were evaluated on both simulated and real seismic datasets. These results will be shown in
It is emphasized that no forward modelling process is used to generate the training seismic datasets (560). Rather, each training seismic dataset (560) is generated using a large number of geometric shapes as in the example of
The extended seismic dataset (1104) is obtained after a single application of the ML network (550) to the observed seismic dataset (1102). Panels (1110) and (1112) in
The capabilities of the proposed method of extrapolation are further illustrated in
The ML network (550) was also used to process the simulated CSG illustrated in
A second example of extrapolating a CSG generated with acquired seismic data is shown in
A final example with acquired seismic data is shown in
With the methods disclosed herein, the ML network (550) can be applied to any kind of observed seismic datasets (202) (e.g., pre-stacked or stacked seismic data), in any kind of domain (e.g., common shot, receiver or midpoint domains) and number of dimensions (1D, 2D and higher). The ML network (550) can extrapolate observed seismic datasets (202) beyond the edges of the domain with a low computational cost and minimal user interaction. By training the ML network (550) with training seismic datasets (560) based on simple geometric shapes, expensive physical modelling and related simplifying assumptions may be avoided. In addition, by applying a high number of random perturbations to the generation parameters (716), the resulting training seismic dataset (560) may have a desired level of diversity to efficiently extrapolate observed seismic datasets (202) that were not used during training. The method allows performing mathematical operations on the extended seismic dataset (508) with minimal or no edge effects, and without incurring in loss of information due to tapering operations.
In some embodiments the wellbore planning system (338), the seismic interpretation workstation (340), and the seismic processor (220) may each be implemented within the context of a computer system.
The computer (1800) can serve in a role as a client, network component, a server, a database or other persistency, or any other component (or a combination of roles) of a computer system for performing the subject matter described in the instant disclosure. The illustrated computer (1800) is communicably coupled with a network (1802). In some implementations, one or more components of the computer (1800) may be configured to operate within environments, including cloud-computing-based, local, global, or other environment (or a combination of environments).
At a high level, the computer (1800) is an electronic computing device operable to receive, transmit, process, store, or manage data and information associated with the described subject matter. According to some implementations, the computer (1800) may also include or be communicably coupled with an application server, e-mail server, web server, caching server, streaming data server, business intelligence (BI) server, or other server (or a combination of servers).
The computer (1800) can receive requests over network (1802) from a client application (for example, executing on another computer (1800)) and responding to the received requests by processing the said requests in an appropriate software application. In addition, requests may also be sent to the computer (1800) from internal users (for example, from a command console or by other appropriate access method), external or third-parties, other automated applications, as well as any other appropriate entities, individuals, systems, or computers.
Each of the components of the computer (1800) can communicate using a system bus (1803). In some implementations, any or all of the components of the computer (1800), both hardware or software (or a combination of hardware and software), may interface with each other or the interface (1804) (or a combination of both) over the system bus (1803) using an application programming interface (API) (1807) or a service layer (1808) (or a combination of the API (1807) and service layer (1808). The API (1807) may include specifications for routines, data structures, and object classes. The API (1807) may be either computer-language independent or dependent and refer to a complete interface, a single function, or even a set of APIs. The service layer (1808) provides software services to the computer (1800) or other components (whether or not illustrated) that are communicably coupled to the computer (1800). The functionality of the computer (1800) may be accessible for all service consumers using this service layer (1808). Software services, such as those provided by the service layer (1808), provide reusable, defined business functionalities through a defined interface. For example, the interface may be software written in JAVA, C++, or other suitable language providing data in extensible markup language (XML) format or other suitable format. While illustrated as an integrated component of the computer (1800), alternative implementations may illustrate the API (1807) or the service layer (1808) as stand-alone components in relation to other components of the computer (1800) or other components (whether or not illustrated) that are communicably coupled to the computer (1800). Moreover, any or all parts of the API (1807) or the service layer (1808) may be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of this disclosure.
The computer (1800) includes an interface (1804). Although illustrated as a single interface (1804) in
The computer (1800) includes at least one computer processor (1805). Although illustrated as a single computer processor (1805) in
The computer (1800) also includes a memory (1809) that holds data for the computer (1800) or other components (or a combination of both) that may be connected to the network (1802). For example, memory (1809) may be a database storing data consistent with this disclosure. Although illustrated as a single memory (1809) in
The application (1806) is an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer (1800), particularly with respect to functionality described in this disclosure. For example, application (1806) can serve as one or more components, modules, applications, etc. Further, although illustrated as a single application (1806), the application (1806) may be implemented as multiple applications (1806) on the computer (1800). In addition, although illustrated as integral to the computer (1800), in alternative implementations, the application (1806) may be external to the computer (1800).
There may be any number of computers (1800) associated with, or external to, a computer system containing computer (1800), each computer (1800) communicating over network (1802). Further, the term “client,” “user,” and other appropriate terminology may be used interchangeably as appropriate without departing from the scope of this disclosure. Moreover, this disclosure contemplates that many users may use one computer (1800), or that one user may use multiple computers (1800).
In some embodiments, the computer (1800) is implemented as part of a cloud computing system. For example, a cloud computing system may include one or more remote servers along with various other cloud components, such as cloud storage units and edge servers. In particular, a cloud computing system may perform one or more computing operations without direct active management by a user device or local computer system. As such, a cloud computing system may have different functions distributed over multiple locations from a central server, which may be performed using one or more Internet connections. More specifically, cloud computing system may operate according to one or more service models, such as infrastructure as a service (IaaS), platform as a service (PaaS), software as a service (SaaS), mobile “backend” as a service (MBaaS), serverless computing, artificial intelligence (AI) as a service (AIaaS), and/or function as a service (FaaS).
Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from this invention. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims.