In the previous course, we explained the training of the neural network model by constructing fault label data. But in practical applications, when we get a target work area data, how to automatically perform fault recognition? Today I will give you a full process explanation.
01 Experimental data
This time we use a synthetic three-dimensional data that simulates the degree of real earthquake work area to explain how to obtain real earthquake data to automatically identify faults . The three-dimensional image of the earthquake is shown in the figure.
This is a three-dimensional data body with a size of (141,311,251), with a relatively obvious fault structure, which can better reflect the fault recognition ability of the program.
02 Automatic fault recognition
1. Training model import
We use the UNet neural network model trained earlier. For the specific training method, see the course "Practical Practice of Deep Learning Faults (III) - Establishment of UNet neural network model".
From the above code for importing the model, importing the model requires importing the json file and h5 model file.
2. Predicting seismic data volume
first reads seismic data, as shown in the figure.
Here, the obspy library's _read_segy method is used to read three-dimensional seismic data.
Next is the prediction of seismic data, the main code is shown in the figure. The main principle of the
code is to first divide the entire data body into the size that can be processed by the model (here is 128*128*128), then use the model to predict each data block, and finally reconstruct the model prediction results into the prediction results of the entire work area. The predicted results are saved to disk in the format of binary .
Here you should note:
has a large amount of calculations for data volume prediction. For ordinary computer configurations (such as CPU running models, memory within 8G), it is best to process data volumes below 400*400*400 each time. Otherwise, it is easy to run out of memory resources and cause crashes.
Of course, if you are running the model in GPU, or have large memory resources, you can process larger data bodies at once.
03 Fault results show that after
fault recognition, we need to observe the effect of the processing.
1. The fault effect of two-dimensional profile display
If we want to observe the two-dimensional profile and the corresponding fault comparison diagram. For example, we want to see that the left side is the section and the right side is the effect of the corresponding fault, as shown in the figure.
main program is written like this:
Here the seismic section effect with xiline of 29 is shown. If you assign other positions of the three-dimensional array, you can display the cross-sectional effects of different dimensions such as xline and tline.
We set the fault line to red, making it easier to observe.
If you want to observe the images of the profile and tomographic superposition, as shown in the figure.
can be written in this way:
where the alpha parameter sets transparency, realizing the superposition of seismic profile and faults.
2. The effect of three-dimensional data body faults display
If we want to observe the overall recognition results of faults from a three-dimensional field of view, we can use mayavi to draw the graph, as shown in the figure.
main principles and procedures are explained in detail in the previous course "Practical Practice of Deep Learning Faults (V) - Qualitative Analysis of Prediction Results". You can move to learn.
Judging from the two-dimensional and three-dimensional fault recognition effects above, the UNet model has relatively good results in identifying the more important faults, and large fault structures can be identified.
However, since this seismic data is similar to the actual situation, not all fault structures are very regular, and the identified fault results are worse than the simulation data.
From the figure, we can see that no matter the continuity, accuracy, or fineness of the fault lines, it is not as ideal as identifying simple simulation data.Of course, there is room for further optimization of the model structure and the parameters of the image displayed here, which requires in-depth research and exploration.
Today's course ends here. This class explains very practical content and teaches everyone the entire process of using real data to do fault recognition. I believe that whether it is researching fault algorithms or explaining data, it will be of great help to everyone. If you are interested in the programs and data in the article, please contact me to obtain it. goodbye.
Related reading: How can
How to easily get started with seismic exploration research: Start with earthquake data processing