Speed model determination method and device, equipment and medium
By iteratively updating the near-surface velocity model, the problems of over-correction and local velocity anomalies in near-surface tomography are solved, and the robustness and adaptability of the results are improved, which is suitable for actual production needs.
Patent Information
- Application Number
- CN202311673249.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-07
- Publication Date
- 2025-06-10
AI Technical Summary
The prior art has overcorrection phenomena and local velocity abnormalities in near-ground surface tomography, resulting in unstable results and difficult to adapt to actual production needs.
By obtaining the seismic data observation system files and observation system files of the target work area, a near-surface velocity model is constructed, and the speed model is optimized through iteratively updated methods to avoid local extreme values and over-correction.
It effectively solves the problems of over-correction and local velocity abnormalities in traditional methods, improves the robustness and adaptability of near-earth surface tomography results, and enhances its application value in actual production.
Smart Images

Figure CN120122150A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of geophysical exploration, and particularly to a method, device, equipment and medium for determining a velocity model. Background Art
[0002] Tomography was first applied in the medical field, where X-rays are used to study the internal structure of the human body. The successful application of tomography in the medical field has gradually led to its widespread use in other fields, such as seismic exploration. Seismic exploration is an irreplaceable technical means for finding the distribution of underground oil and gas resources and an important basis for making decisions on oil and gas exploration and development deployment. Tomography in the field of seismic exploration studies how to image the underground medium structure using seismic waves. However, tomography in the field of seismic exploration is different from that in the medical field. Its transmitters and receivers can only be distributed on the ground or in wells, and the angular range of the obtained projection data is limited, making it difficult to uniquely recover the image function.
[0003] Seismic exploration is a detection method that uses artificial excitation and reception of seismic waves on the surface, and then analyzes, processes and interprets the seismic waves to obtain information on underground structures and lithologies. The tomography method picks up the travel times of seismic waves on the seismic data volume and uses a series of algorithms to extract the seismic velocity model. Since it does not make too many assumptions and restrictions on the surface elevation difference and the velocity of the low-velocity zone, the tomography method is a powerful technique for studying the near-surface velocity structure under various geological conditions.
[0004] The existing solution methods for the tomography equations in seismic tomography include the back-projection method (BPT), algebraic reconstruction technique (ART), simultaneous iterative reconstruction technique (SIRT), least squares QR factorization method (LSQR), etc. The SIRT technique occupies the mainstream position in the tomography method due to its advantages of balancing computational efficiency and inversion accuracy. Since the simultaneous iterative reconstruction technique is based on the quadratic optimization criterion, it has certain limitations. In the process of iterative inversion, the SIRT method uses a series of iterative linearization steps to solve the ill-posed non-linear inversion problem, which may stay at a local extreme value and cannot jump out of the local extreme value by increasing the number of iterations. Moreover, due to the complex geological conditions near the surface and the relatively drastic changes in the velocity structure, the limitations of the SIRT algorithm are more prominent, and it is prone to over-correction phenomena. It is difficult to obtain ideal results only through smoothing processing and weighting the ray lengths of unit grids. In some work areas, even large-scale velocity anomaly bodies may appear locally, making its results inapplicable to actual production. Summary of the Invention
[0005] In view of the above technical problems, the present invention provides a method, apparatus, device and medium for determining a velocity model. This application obtains a seismic data acquisition system file and an acquisition system file formed by multiple shots in a target work area; constructs a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; iteratively updates the near-surface velocity model according to the observed travel-time file and the acquisition system file; determines whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition; when it is determined to stop the iterative update, determines the near-surface velocity model as the velocity model of the target work area. It can effectively solve the overcorrection phenomenon of the traditional joint algebraic reconstruction method in near-surface tomography, thereby avoiding the occurrence of local velocity anomalies, making the near-surface velocity model obtained from the near-surface tomography results more robust, and improving its adaptability to actual production data.
[0006] To solve the above technical problems, the technical solution adopted by the present invention includes four aspects.
[0007] In a first aspect, a method for determining a velocity model is provided, including: obtaining a seismic data acquisition system file and an acquisition system file formed by multiple shots in a target work area; constructing a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; iteratively updating the near-surface velocity model according to the observed travel-time file and the acquisition system file; determining whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition; when it is determined to stop the iterative update, determines the near-surface velocity model as the velocity model of the target work area.
[0008] In some embodiments, the iterative updating of the near-surface velocity model according to the observed travel-time file and the acquisition system file includes: when updating the near-surface velocity model each time, performing the following operations: in the near-surface velocity model, ray tracing is performed on each ray generated by multiple shots according to the acquisition system file to obtain a ray tracing result; determining the ray length of each ray according to the ray tracing result; determining the travel-time residual of each ray according to the ray tracing result and the observed travel-time file; updating the near-surface velocity model according to the travel-time residuals of all rays and the ray lengths.
[0009] In some embodiments, determining the ray length of each ray according to the ray tracing result includes: performing the following operations for each ray: determining the ray path of the target ray in the near-surface velocity model according to the ray tracing result; determining a plurality of velocity units passed by the target ray in the near-surface velocity model according to the ray path, and the line segment length of the target ray in each velocity unit; determining the ray length of the target ray according to each line segment length.
[0010] In some embodiments, determining the travel-time residual of each ray according to the ray tracing result and the observed travel-time file includes: obtaining the current iteration number; determining the current slowness of each velocity unit according to the current iteration number; determining the observed travel time of the target ray according to the observed travel-time file; determining the theoretical travel time of the line segment of the target ray in each velocity unit according to each current slowness and the line segment length; determining the theoretical travel time of the ray of the target ray according to all the theoretical travel times of the line segments; determining the travel-time residual of the target ray according to the observed travel time and the theoretical travel time of the ray.
[0011] In some embodiments, updating the near-surface velocity model according to the travel-time residuals and the ray lengths of all rays includes: determining the unit correction amount of each ray according to the ray length and the travel-time residual of each ray; determining the unit correction amount of each ray to each velocity unit according to the unit correction amount of each ray and each line segment length; determining the slowness correction amount of the velocity unit according to the unit correction amounts of all rays in the velocity unit; updating each velocity unit in the near-surface velocity model according to each slowness correction amount, so that the near-surface velocity model is updated.
[0012] In some embodiments, determining whether to stop iterative update according to the near-surface velocity model updated each time and a preset condition includes: obtaining the preset total iteration number and the completed iteration number of the near-surface velocity model; when the completed iteration number is equal to the total iteration number, stopping the iterative update of the near-surface velocity model.
[0013] In some embodiments, determining whether to stop iterative update according to the near-surface velocity model updated each time and a preset condition further includes: after each iterative update, obtaining the total travel-time residual of all rays in the near-surface velocity model and a preset residual threshold; when the total travel-time residual is less than or equal to the residual threshold, determining to stop the iterative update of the near-surface velocity model.
[0014] In some embodiments, the method further includes: obtaining a preset total number of iterations and a current number of iterations; determining an iteration progress according to the total number of iterations and the current number of iterations, where the iteration progress includes passing the halfway point of the iteration; when the iteration progress is passing the halfway point of the iteration, updating the observation system file and the observed travel time file according to the travel time residuals of each ray.
[0015] In some embodiments, the updating the observation system file and the observed travel time file according to the travel time residuals of each ray includes: determining the absolute value of the residual of each ray according to the travel time residuals of each ray; arranging all the rays in a ray queue from largest to smallest according to the absolute value of the residual; according to the normal distribution 2sigma criterion, removing the rays at positions greater than the (M * 0.9544)-th ray in the ray queue from the observation system file and the observed travel time file.
[0016] In a second aspect, the present application provides an apparatus for determining a velocity model, including: a first obtaining module, configured to obtain an observed travel time file and an observation system file of seismic data formed by multiple shots in a target work area; a first execution module, configured to construct a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; a second execution module, configured to iteratively update the near-surface velocity model according to the observed travel time file and the observation system file; a first determination module, configured to determine whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition; a second determination module, configured to, when it is determined to stop the iterative update, determine the near-surface velocity model as the near-surface velocity model of the target work area.
[0017] In a third aspect, the present application proposes an electronic device, including: a memory and a processor, where a computer program is stored on the memory, and when the computer program is executed by the processor, the method described in any one of the first aspects is executed.
[0018] In a fourth aspect, the present application provides a storage medium, where a computer program stored on the storage medium can be executed by one or more processors, and the computer program can be used to implement the method described in any one of the first aspects.
[0019] Advantages of the present invention: This application obtains the seismic data acquisition system file and the acquisition system file formed by multiple blasts in the target work area; constructs a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; iteratively updates the near-surface velocity model according to the observed travel time file and the acquisition system file; determines whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition; when it is determined to stop the iterative update, determines the near-surface velocity model as the velocity model of the target work area. It can effectively solve the overcorrection phenomenon of the traditional joint algebraic reconstruction method in near-surface tomography, thereby avoiding the occurrence of local velocity anomalies, making the near-surface velocity model obtained from the result of near-surface tomography more robust, and improving its adaptability to actual production data. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The scope of the present disclosure can be better understood by reading the detailed description of the exemplary embodiments below in conjunction with the accompanying drawings. The accompanying drawings included are:
[0021] Figure 1 It is an overall flowchart of a method for determining a velocity model provided by an embodiment of the present application;
[0022] Figure 2 It is a structural block diagram of a device for determining a velocity model provided by an embodiment of the present application. DETAILED DESCRIPTION
[0023] In order to make the objectives, technical solutions, and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limitations of the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.
[0024] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0025] If similar descriptions such as "first / second / third" appear in the application documents, the following explanation is added. In the following description, the terms "first / second / third" only distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0026] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are for the purpose of describing embodiments of this application only and are not intended to limit this application.
[0027] Embodiment 1:
[0028] In the process of iterative inversion, the SIRT method uses a series of iterative linearization steps to solve an ill-posed non-linear inversion problem, which may stay at a local extremum and cannot jump out of the local extremum by increasing the number of iterations. Moreover, due to the complex geological conditions near the surface and the relatively drastic change in the velocity structure, the limitations of the SIRT algorithm are more prominent, and the phenomenon of overcorrection is likely to occur. It is difficult to obtain ideal results only through smoothing processing and weighting the ray lengths of unit grids. In some work areas, there will even be a large-scale velocity anomaly body locally, making its results inapplicable to actual production.
[0029] Aiming at the problems existing in the prior art, such as Figure 1 As shown, this application provides a method for determining a velocity model. The method is applied to an electronic device, and the electronic device can be a server, a mobile terminal, a computer, a cloud platform, etc. The functions realized by the device data processing in the embodiments of this application can be implemented by a processor of the electronic device calling program code. Among them, the program code can be stored in a computer storage medium. The method for determining the velocity model includes:
[0030] Step S1: Obtain a seismic data acquisition system file and an acquisition system file formed by multiple shots in the target work area.
[0031] During the process of seismic exploration, multiple shots need to be carried out in the target work area, and the seismic wave data generated by each shot is collected by seismic detectors. These seismic wave data will be stored in the acquisition system file and the acquisition travel time file, and the acquisition travel time file includes the observed travel times of each ray generated during the shot.
[0032] Step S2: Construct a near-surface velocity model, where the near-surface velocity model includes multiple velocity units.
[0033] Through the near-surface velocity model, an image function of the target work area can be obtained based on the seismic data. However, to form an image function, a relatively appropriate near-surface velocity model needs to be obtained. Therefore, in this application, an initial near-surface velocity model is first constructed, and then the initial near-surface velocity model is updated according to the acquisition system file and the acquisition travel time file, so that the initial near-surface velocity model becomes the most suitable near-surface velocity model of the target work area.
[0034] Step S3: Iteratively update the near-surface velocity model according to the observed travel-time file and the observation system file.
[0035] Since the near-surface velocity model needs to be iteratively updated multiple times, for the sake of clear and convenient description, the following steps in this application are all operations in one iteration process.
[0036] In some embodiments, step S3, "Iteratively update the near-surface velocity model according to the observed travel-time file and the observation system file", includes:
[0037] Step S31: In the near-surface velocity model, perform ray tracing on each ray generated by multiple shots according to the observation system file to obtain the ray tracing result.
[0038] As a seismic wave field forward simulation technique, seismic wave ray tracing is based on some basic kinematic theories that seismic waves satisfy, and fully combines various numerical calculation methods and computer technologies to simulate the propagation of seismic waves in a medium with known velocity parameters. Therefore, in this application, ray tracing needs to be performed on each ray generated by multiple shots in the near-surface velocity model to obtain the ray tracing result.
[0039] Step S32: Determine the ray length of each ray according to the ray tracing result.
[0040] The tracing result includes various information of multiple rays, and the information in the tracing result needs to be processed according to the rays. Therefore, in the following steps, the processing process of a certain ray is described.
[0041] In some embodiments, step S32, "Determine the ray length of each ray according to the ray tracing result", includes:
[0042] Step S321: Determine the ray path of the target ray in the near-surface velocity model according to the ray tracing result.
[0043] Step S322: Determine multiple velocity units that the target ray passes through in the near-surface velocity model, and the line segment length of the target ray in each velocity unit.
[0044] Step S323: Determine the ray length of the target ray according to each line segment length.
[0045] A ray will pass through multiple velocity units in the near-surface velocity model, so it can be considered that the ray is truncated by multiple velocity units. Then, the ray length of the ray can be determined according to the line segment length of the ray in each velocity unit.
[0046] Step S33: Determine the travel - time residual of each ray according to the ray - tracing result and the observed travel - time file.
[0047] The travel - time residual represents the difference between the ray - theoretical travel - time and the observed travel - time. Among them, the observed travel - time can be directly recorded by a geophone, while the theoretical travel - time needs to be obtained by dividing the length by the velocity. Therefore, in some embodiments, step S33, "determine the travel - time residual of each ray according to the ray - tracing result and the observed travel - time file", includes:
[0048] Step S331: Obtain the current iteration number.
[0049] Step S332: Determine the current slowness of each velocity unit in the current near - surface velocity model according to the current iteration number.
[0050] Step S333: Determine the observed travel - time of the target ray according to the observed travel - time file.
[0051] Step S334: Determine the segment - theoretical travel - time of the target ray in each velocity unit according to each current slowness and the segment length.
[0052] Step S335: Determine the ray - theoretical travel - time of the target ray according to all the segment - theoretical travel - times.
[0053] Step S336: Determine the travel - time residual of the target ray according to the observed travel - time and the ray - theoretical travel - time.
[0054] Since the travel - time residual is obtained from the observed travel - time and the theoretical travel - time of the ray, and the observed travel - time is stored in the observed travel - time file, the observed travel - time of the target ray can be directly obtained from the observed travel - time file. The theoretical travel - time is obtained by dividing the total length of the ray by the average velocity of the ray. Since the ray passes through multiple velocity units, and the segment lengths in each velocity unit are different, and the velocities of the ray in each velocity unit are different, we can obtain the ray - theoretical travel - time by obtaining the segment - theoretical travel - times in each velocity unit. And the segment - theoretical travel - time is also obtained by dividing the distance by the velocity. For better representation, the reciprocal of the velocity, that is, the slowness, is used as the attribute of each velocity unit in this application. Each iterative update of the near - surface velocity model is to update and correct the slowness of each velocity unit. Therefore, the slowness of each velocity unit is different during each iterative update.
[0055] Therefore, it is necessary to first obtain the current iteration number, then determine the current slowness of each velocity unit in the current near-surface velocity model according to the current iteration number, and then the theoretical travel time of the ray segment in the velocity unit can be obtained based on the current slowness and the segment length in a velocity unit. Then, by adding up the theoretical travel times of the ray segments in all the velocity units passed by the ray, the theoretical travel time of the ray can be obtained. After determining the theoretical travel time of the ray, the travel time residual of the ray can be determined based on the theoretical travel time of the ray and the observed travel time.
[0056] Step S34: Update the near-surface velocity model according to the travel time residuals and the ray lengths of all the rays.
[0057] The travel time residual represents the error between the theoretical travel time generated by the ray passing through the simulated trajectory in the near-surface velocity model and the observed travel time. And ultimately, we need to infer the underground medium conditions through the near-surface velocity model. Therefore, we need to update the near-surface velocity model according to the travel time residuals of all the rays, so that the slowness of each velocity unit in the near-surface velocity model is closer to the actual traversing process of the ray underground.
[0058] Therefore, in some embodiments, step S34 "update the near-surface velocity model according to the travel time residuals and the ray lengths of all the rays" includes:
[0059] Step S341: Determine the unit correction amount of each ray according to the ray length and the travel time residual of each ray.
[0060] After obtaining the travel time residual of a ray, if we divide the travel time residual by the total length of the ray, we can obtain the unit travel time residual per unit length of the ray. Similarly, the unit travel time residual is also the slowness correction amount per unit length in each velocity unit passed by the ray, that is, the unit correction amount.
[0061] Therefore, in some embodiments, step S341 can be expressed by the following formula:
[0062] After the k-th seismic ray of the j-th shot in the i-th iteration passes through q velocity units, and the m-th unit is also among the passed velocity units, the expression of the unit correction at this time is as follows:
[0063] In the formula, k represents the k-th ray, t k is the observed travel time of the k-th ray, L km represents the segment length of the k-th ray in the m-th velocity unit, represents the slowness determined at the (i - 1)-th iteration of the m-th velocity unit, that is, the current slowness, L kIndicates the ray length of the k-th ray.
[0064] Step S342: Determine the unit correction amount of each ray to each velocity unit according to the unit correction amount of each ray and each line segment length.
[0065] For each velocity unit, after determining the unit correction amount of the ray, the unit correction amount of the ray in the velocity unit can be determined according to the line segment length of the ray in the velocity unit.
[0066] Step S343: Determine the slowness correction amount of the velocity unit according to the unit correction amounts of all rays in the velocity unit.
[0067] Since the slowness correction of a velocity unit is not only through one ray, but multiple rays are needed to correct the slowness of a velocity unit together, it is necessary to accumulate the unit correction amounts of all rays in the velocity unit and then divide by the number of all rays to obtain the slowness correction amount of the velocity unit.
[0068] Therefore, in some embodiments, at the i-th iteration, the slowness correction amounts of all guns to the m-th velocity unit are as follows:
[0069] In the formula, J is the total number of guns through which rays pass through this unit, is the slowness correction amount of the j-th gun at the i-th iteration for the m-th velocity unit, expressed as:
[0070] r is the number of rays generated by the j-th gun and passing through the m-th unit.
[0071] Step S344: Update each velocity unit in the near-surface velocity model according to each slowness correction amount, so that the near-surface velocity model is updated.
[0072] Since the near-surface velocity model is composed of multiple velocity units, and the update of the near-surface velocity model is mainly to update the slowness of each velocity unit. Therefore, after obtaining the slowness correction amount of each velocity unit, the slowness of each velocity unit can be updated, so that the near-surface velocity model is updated.
[0073] Step S4: Determine whether to stop iterative update according to the near-surface velocity model updated each time and the preset conditions.
[0074] The purpose of this application is to iteratively update the near-surface velocity model so that the finally obtained near-surface velocity model can be used to represent the underground situation of the target work area. Therefore, the iterative process cannot be carried out infinitely, and it is necessary to stop the iterative update at an appropriate time.
[0075] Therefore, in some embodiments, step S4, "determine whether to stop iterative update according to the near-surface velocity model updated each time and preset conditions", includes:
[0076] Step S41: Obtain the preset total number of iterations and the number of completed iterations of the near-surface velocity model.
[0077] Step S42: When the number of completed iterations is equal to the total number of iterations, stop the iterative update of the near-surface velocity model.
[0078] Here, it is a very simple way to set the preset total number of iterations as the stop condition for iterative update. As long as the number of completed iterations is equal to the preset total number of iterations, stop the iterative update of the near-surface velocity model.
[0079] In addition, in some embodiments, step S4, "determine whether to stop iterative update according to the near-surface velocity model updated each time and preset conditions", further includes:
[0080] Step S43: After each iterative update, obtain the total travel-time residual of all rays in the near-surface velocity model and the preset residual threshold.
[0081] Step S44: When the total travel-time residual is less than or equal to the residual threshold, determine to stop the iterative update of the near-surface velocity model.
[0082] Since the purpose is to let the near-surface velocity model simulate the underground situation of the target work area, it is difficult to reach the moment when the near-surface velocity model is exactly the same as the underground situation. Therefore, after each iterative update, we can obtain the total travel-time residual of the near-surface velocity model, which refers to the sum of the travel-time residuals of each ray, to determine whether the near-surface velocity model meets the requirements. Therefore, a residual threshold is also preset in this application. When it is determined that the total travel-time residual is less than or equal to the residual threshold, it means that the near-surface velocity model at this time has met the requirements and does not need to continue iterative update, so stop the iterative update of the near-surface velocity model.
[0083] Step S5: When it is determined to stop iterative update, determine the near-surface velocity model as the velocity model of the target work area.
[0084] Therefore, when it is determined to stop iterative update, it means that the near-surface velocity model has completed the update. Therefore, the near-surface velocity model at this time can be used as the velocity model of the target work area.
[0085] During the iterative update process, when the iteration reaches a certain degree, there will be a situation where the travel-time residuals of some rays have little effect on the overall update. Continuing to add these rays to the iterative update at this time will waste a lot of computing resources and also affect the overall computing time.
[0086] Therefore, in some embodiments, the method further includes:
[0087] Step S6: Obtain the preset total number of iterations and the current number of iterations.
[0088] Step S7: Determine the iteration progress according to the total number of iterations and the current number of iterations, where the iteration progress includes passing the halfway point of the iteration.
[0089] Step S8: When the iteration progress is passing the halfway point of the iteration, update the observation system file and the observed travel-time file according to the travel-time residuals of each ray.
[0090] Therefore, in this application, it is necessary to obtain the current number of iterations and the preset total number of iterations. The iteration progress is judged according to the current number of iterations and the total number of iterations. When the iteration progress passes the halfway point, that is, when the current number of iterations is greater than half of the total number of iterations, the travel-time observation file and the observation system file are updated.
[0091] Therefore, in some embodiments, step S8 "When the iteration progress is passing the halfway point of the iteration, update the observation system file and the observed travel-time file according to the travel-time residuals of each ray" includes:
[0092] Step S81: Determine the absolute value of the residual of each ray according to the travel-time residual of each ray.
[0093] Step S82: Arrange all rays in a ray queue from largest to smallest according to the absolute value of the residual.
[0094] Step S83: According to the normal distribution 2sigma criterion, remove the rays in the ray queue whose positions are greater than the (M * 0.9544)-th ray from the observation system file and the observed travel-time file.
[0095] As the iteration progresses, the travel-time residuals of some rays may not converge for a long time, which fails to play a positive role in the overall update and may even have a negative impact. Therefore, in this application, all rays are arranged in descending order according to the absolute value of the residuals, and then a part of the rays with non-converging travel-time residuals is filtered out according to the normal distribution 2sigma criterion, reducing the number of rays participating in the update during the next iteration, thereby reducing the computational cost and time consumed in each iteration. Since the ray data is stored in the travel-time observation file and the observation system file, the rays to be removed need to be removed from the travel-time observation file and the observation system file to update the travel-time observation file and the observation system file.
[0096] Therefore, the method of this application obtains the seismic data observation system file and the observation system file formed by multiple shots in the target work area; constructs a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; iteratively updates the near-surface velocity model according to the observed travel-time file and the observation system file; determines whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition; when it is determined to stop the iterative update, determines the near-surface velocity model as the velocity model of the target work area. It can effectively solve the overcorrection phenomenon of the traditional joint algebraic reconstruction method in near-surface tomography, thus avoiding the occurrence of local velocity anomalies, making the near-surface velocity model obtained from the near-surface tomography results more robust, and improving its adaptability to actual production data.
[0097] Embodiment 2:
[0098] Based on the foregoing embodiments, an embodiment of this application provides a device for determining a velocity model. Each module included in the device and each unit included in each module can be implemented by a processor in a computer device; of course, it can also be implemented by specific logic circuits; during implementation, the processor can be a central processing unit (CPU, Central Processing Unit), a microprocessor (MPU, Microprocessor Unit), a digital signal processor (DSP, Digital Signal Processing), or a field programmable gate array (FPGA, Field Programmable Gate Array), etc.
[0099] As Figure 2 shown, a device for determining a velocity model includes: a first acquisition module 1, a first execution module 2, a second execution module 3, a first determination module 4, and a second determination module 5.
[0100] The first acquisition module 1 is configured to acquire an observation travel time file and an observation system file of seismic data formed by multiple shots in a target work area. The first execution module 2 is configured to construct a near-surface velocity model, where the near-surface velocity model includes multiple velocity units. The second execution module 3 is configured to iteratively update the near-surface velocity model according to the observation travel time file and the observation system file. The first determination module 4 is configured to determine whether to stop the iterative update according to the near-surface velocity model after each iterative update and a preset condition. The second determination module 5 is configured to determine the near-surface velocity model as the near-surface velocity model of the target work area when it is determined to stop the iterative update.
[0101] In some embodiments, the second execution module 3 includes: a third execution module, a third determination module, a fourth determination module, and a fourth execution module.
[0102] The third execution module is configured to perform ray tracing on each ray generated by multiple shots in the near-surface velocity model according to the observation system file to obtain a ray tracing result. The third determination module is configured to determine the ray length of each ray according to the ray tracing result. The fourth determination module is configured to determine the travel time residual of each ray according to the ray tracing result and the observation travel time file. The fourth execution module is configured to update the near-surface velocity model according to the travel time residuals and the ray lengths of all rays.
[0103] In some embodiments, the third determination module includes: a fifth determination module, a sixth determination module, and a seventh determination module.
[0104] The fifth determination module is configured to determine the ray path of a target ray in the near-surface velocity model according to the ray tracing result. The sixth determination module is configured to determine multiple velocity units passed by the target ray in the near-surface velocity model according to the ray path, and the line segment length of the target ray in each velocity unit. The seventh determination module is configured to determine the ray length of the target ray according to each line segment length.
[0105] In some embodiments, the fourth determination module includes: a second acquisition module, an eighth determination module, a ninth determination module, a tenth determination module, an eleventh determination module, and a twelfth determination module.
[0106] The second acquisition module is used to acquire the current iteration number. The eighth determination module is used to determine the current slowness of each of the velocity units according to the current iteration number. The ninth determination module is used to determine the observed travel time of the target ray according to the observed travel time file. The tenth determination module is used to determine the theoretical travel time of the segment of the target ray in each of the velocity units according to each of the current slownesses and the segment length. The eleventh determination module is used to determine the theoretical travel time of the ray of the target ray according to all the theoretical travel times of the segments. The twelfth determination module is used to determine the travel time residual of the target ray according to the observed travel time and the theoretical travel time of the ray.
[0107] In some embodiments, the fourth execution module includes: a thirteenth determination module, a fourteenth determination module, a fifteenth determination module, and a fifth execution module.
[0108] The thirteenth determination module is used to determine the unit correction amount of each ray according to the ray length and the travel time residual of each ray. The fourteenth determination module is used to determine the unit correction amount of each ray for each of the velocity units according to the unit correction amount of each ray and each of the segment lengths. The fifteenth determination module is used to determine the slowness correction amount of the velocity unit according to the unit correction amounts of all the rays in the velocity unit. The fifth execution module is used to update each of the velocity units in the near-surface velocity model according to each of the slowness correction amounts, so that the near-surface velocity model is updated.
[0109] In some embodiments, the first determination module 4 includes: a third acquisition module and a sixth execution module.
[0110] The third acquisition module is used to acquire the preset total number of iterations and the number of completed iterations of the near-surface velocity model. The sixth execution module is used to stop the iterative update of the near-surface velocity model when the number of completed iterations is equal to the total number of iterations.
[0111] In some embodiments, the first determination module 4 further includes: a fourth acquisition module and a seventh execution module.
[0112] The fourth acquisition module is used to acquire the total travel time residual of all the rays in the near-surface velocity model and the preset residual threshold after each iterative update. The seventh execution module is used to determine to stop the iterative update of the near-surface velocity model when the total travel time residual is less than or equal to the residual threshold.
[0113] In some embodiments, the device further includes: a fifth acquisition module, a sixteenth determination module, and an eighth execution module.
[0114] The fifth acquisition module is used to acquire the preset total number of iterations and the current number of iterations. The sixteenth determination module is used to determine the iteration progress according to the total number of iterations and the current number of iterations, where the iteration progress includes passing the midpoint of the iteration. The eighth execution module is used to update the observation system file and the observed travel time file according to the travel time residuals of each ray when the iteration progress is passing the midpoint of the iteration.
[0115] In some embodiments, the eighth execution module includes: a seventeenth determination module, a ninth execution module, and a tenth execution module.
[0116] The seventeenth determination module is used to determine the absolute value of the residual of each ray according to the travel time residual of each ray. The ninth execution module is used to arrange all rays in descending order according to the absolute value of the residual into a ray queue. The tenth execution module is used to remove the rays at positions greater than the (M * 0.9544)-th ray in the ray queue from the observation system file and the observed travel time file according to the normal distribution 2sigma criterion.
[0117] Each module in the above device for determining a velocity model can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor of the device in hardware form or be independent of it, or can be stored in the memory of the processing device in software form, so that the processor can call and execute the operations corresponding to the above respective modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation.
[0118] Embodiment 3:
[0119] A third aspect provides an electronic device, including a storage and a processor, where the storage stores a computer program, and when the processor executes the computer program, it implements the steps of a method for determining a velocity model.
[0120] Embodiment 4:
[0121] A fourth aspect provides a storage medium, where the computer program stored in the storage medium can be executed by one or more processors, and the computer program can be used to implement the steps of the method for determining a velocity model according to any one of the first aspects.
[0122] Those of ordinary skill in the art can understand that all or part of the processes in the above-described embodiment methods can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-described method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in this application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0123] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures, or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the appearances of "in one embodiment" or "in an embodiment" throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the magnitudes of the sequence numbers of the above processes do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The sequence numbers of the embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.
[0124] It should be noted that in this article, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, article or device including that element.
[0125] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed with each other can be through some interfaces. The indirect coupling or communication connection of devices or units can be electrical, mechanical, or other forms.
[0126] The units described above as separate components may or may not be physically separated. The components shown as units may or may not be physical units. They can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0127] In addition, each functional unit in the embodiments of the present application can be all integrated in a processing unit, or each unit can be separately used as a unit, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware, or in the form of hardware plus software functional units.
[0128] Those of ordinary skill in the art can understand that all or part of the steps to implement the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments. The foregoing storage medium includes various media that can store program codes, such as removable storage devices, read-only memory (ROM), magnetic disks, or optical discs.
[0129] Alternatively, if the above integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application essentially or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable a controller to execute all or part of the methods described in the embodiments of the present application. The foregoing storage medium includes various media that can store program codes, such as removable storage devices, ROM, magnetic disks, or optical discs.
[0130] As described above, it is only the implementation mode of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed by this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the said claims.
Claims
1. A method for determining a velocity model, characterized in that, it includes: Obtain the seismic data acquisition system file and the observed travel time file collected from the blasting seismic exploration construction in the target work area; Construct a near-surface velocity model, where the near-surface velocity model includes multiple velocity units; Iteratively update the near-surface velocity model according to the observed travel time file and the observation system file; Determine whether to stop the iterative update according to the near-surface velocity model after each iterative update and the preset conditions; When it is determined to stop the iterative update, determine the near-surface velocity model as the near-surface velocity model of the target work area.
2. The method according to claim 1, characterized in that, The iterative update of the near-surface velocity model according to the observed travel time file and the observation system file includes: When updating the near-surface velocity model each time, perform the following operations: In the near-surface velocity model, perform ray tracing on each ray generated by multiple blasts according to the observation system file to obtain the ray tracing result; Determine the ray length of each ray according to the ray tracing result; Determine the travel time residual of each ray according to the ray tracing result and the observed travel time file; Update the near-surface velocity model according to the travel time residuals and the ray lengths of all rays.
3. The method according to claim 2, characterized in that, The determination of the ray length of each ray according to the ray tracing result includes: Perform the following operations for each ray: Determine the ray path of the target ray in the near-surface velocity model according to the ray tracing result; Determine the multiple velocity units passed by the target ray in the near-surface velocity model according to the ray path, and the line segment length of the target ray in each velocity unit; Determine the ray length of the target ray according to each line segment length.
4. The method according to claim 3, characterized in that, The determination of the travel time residual of each ray according to the ray tracing result and the observed travel time file includes: Obtain the current iteration number; Determine the current slowness of each velocity unit according to the current iteration number; Determine the observed travel time of the target ray according to the observed travel time file; Determine the theoretical travel time of the line segment of the target ray in each velocity unit according to each current slowness and the line segment length; Determine the theoretical travel time of the ray of the target ray according to all the theoretical travel times of the line segments; Determine the travel time residual of the target ray according to the observed travel time and the theoretical travel time of the ray.
5. The method according to claim 3, characterized in that, The update of the near-surface velocity model according to the travel time residuals and the ray lengths of all rays includes: Determine the unit correction amount of each ray according to the ray length and the travel time residual of each ray; Determine the single-line correction amount of each ray to each velocity unit according to the unit correction amount of each ray and each line segment length; Determine the slowness correction amount of the velocity unit according to the single-line correction amounts of all rays in the velocity unit; Updating each of the velocity units in the near-surface velocity model according to each of the slowness correction amounts, such that the near-surface velocity model is updated.
6. The method according to claim 1, wherein, determining whether to stop iterative update according to the near-surface velocity model after each iterative update and a preset condition includes: obtaining a preset total number of iterations and the number of completed iterations of the near-surface velocity model; when the number of completed iterations is equal to the total number of iterations, stopping the iterative update of the near-surface velocity model.
7. The method according to claim 2, wherein, determining whether to stop iterative update according to the near-surface velocity model after each iterative update and a preset condition further includes: after each iterative update, obtaining the total travel-time residual of all rays in the near-surface velocity model and a preset residual threshold; when the total travel-time residual is less than or equal to the residual threshold, determining to stop the iterative update of the near-surface velocity model.
8. The method according to claim 2, wherein, the method further includes: obtaining a preset total number of iterations and the current iteration number; determining an iteration progress according to the total number of iterations and the current iteration number, wherein the iteration progress includes passing half of the iterations; when the iteration progress is passing half of the iterations, updating the acquisition system file and the observed travel-time file according to the travel-time residual of each ray.
9. The method according to claim 8, wherein, updating the acquisition system file and the observed travel-time file according to the travel-time residual of each ray includes: determining the absolute value of the residual of each ray according to the travel-time residual of each ray; sorting all rays from largest to smallest according to the absolute value of the residual into a ray queue; removing rays at positions greater than the (M * 0.9544)-th ray in the ray queue from the acquisition system file and the observed travel-time file according to the normal distribution 2sigma criterion, where M is the total number of all rays.
10. An apparatus for determining a velocity model, wherein, comprising: a first acquisition module, configured to acquire an acquisition system file and an observed travel-time file of seismic data collected by a seismic exploration construction with blasting in a target work area; a first execution module, configured to construct a near-surface velocity model, where the near-surface velocity model includes a plurality of velocity units; a second execution module, configured to iteratively update the near-surface velocity model according to the observed travel-time file and the acquisition system file; a first determination module, configured to determine whether to stop iterative update according to the near-surface velocity model after each iterative update and a preset condition; a second determination module, configured to, when determining to stop iterative update, determine the near-surface velocity model as the near-surface velocity model of the target work area.
11. An electronic device, wherein, comprising: a memory and a processor, where a computer program is stored on the memory, and when the computer program is executed by the processor, the method according to any one of claims 1-9 is executed.
12. A storage medium, wherein, The computer program stored in the storage medium can be executed by one or more processors, and the computer program can be used to implement the method according to any one of claims 1-9.