MjolNET-M3 Whitepaper — Neural filtering of tomographic inversion noise

Summary

M3 is a neural filter applied to the result of a SIRT seismic refraction tomography to reduce its inversion noise. It uses two pieces of information that are already available at the end of the inversion: the velocity model and the ray density.

On 600 test cases with a known true model, the root-mean-square velocity error drops from 468 to 258 m/s (−45%), with an improvement in 98% of the cases. On 56 models dedicated to faults and stratigraphic discontinuities it drops from 303 to 225 m/s (−26%), with an improvement in 54 cases.

M3 does not modify the data or the inversion. It returns a velocity model closer to the true subsurface, to be used for interpretation alongside SIRT.

1. The problem: inversion noise

A SIRT refraction tomography returns a velocity model that depends as much on the ray geometry as on the subsurface. Even with correct first-arrival times, the inverted image carries systematic errors that are not geology:

  • smearing along the rays: the anomaly is spread along the paths of the rays that cross it, producing the typical arc-shaped patterns;
  • blurred contacts: the regularization needed for the stability of the inversion turns a sharp contact into a gradient several metres wide;
  • attenuated steps: the throw of a fault is reduced and displaced laterally, especially where the coverage is asymmetric;
  • dependence on coverage: where the ray density drops, the image tends toward the initial model and the error grows.

These effects are repeatable: for the same acquisition geometry and the same subsurface, SIRT produces the same kind of distortion. This repeatability is what makes the error learnable.

In this document we call inversion noise the difference between the SIRT model and the true velocity model, measured only where the rays have actually sampled the subsurface.

2. Training objective

M3 was trained with a single objective: to reduce the inversion noise of a SIRT tomography, using the tomography itself and the ray density as input, on cases for which the true velocity model (ground truth) is known.

M3 does not replace the inversion and does not work on seismograms. It receives the SIRT result and corrects it.

How the training data are built. For each case:

  1. a synthetic velocity model (the ground truth) is generated with stratigraphy, erosional contacts, faults and bedrock;
  2. first-arrival times are computed with an eikonal solver, on the geometry of a real spread;
  3. Gaussian picking noise is added (standard deviation 0.5–2 ms);
  4. the model is inverted with the same non-linear SIRT as the product (5 ray-retracing cycles, anisotropic regularization);
  5. the tomography, the ray density, the coverage envelope and the ground truth are saved.

The data set contains 50,000 cases: about 46,000 for training, 2,000 for validation and 2,000 for testing. The geometries range from 24 to 96 geophones with 2–5 m spacing, plus a share of long spreads (100–500 geophones, 10–20 m) and sparse spreads (12–16 geophones). The grid cell is 1/4 of the geophone spacing, as in production.

What the network learns. The network compares tomography and ground truth only inside the ray-coverage envelope. Outside that area the data do not constrain the subsurface, and asking the network to reconstruct it would push it to invent structure. The ray density tells the network how well constrained each zone of the image is, and therefore what kind of distortion to expect at that point.

The objective function combines the velocity error and a structural similarity term, which rewards the reconstruction of contacts and steps over a smooth average.

3. Network architecture

M3 is a deep convolutional neural network with a multiscale encoder–decoder structure, of about 4.3 million parameters.

ElementDescription
Input2 channels on the inversion grid: SIRT velocity and ray density, normalized on a fixed physical scale
Output1 channel: corrected velocity model (m/s), same grid as the input
ProcessingHierarchical multiscale analysis with direct transfer paths between matching levels, to preserve the detail of the contacts
FormulationResidual correction: the network estimates the offset from the tomography, not the model from scratch
Application domainOverlapping local windows, stitched with continuous weighting; no limit on profile length
ExecutionCPU inference in ONNX format; no GPU required

Three design choices determine the behaviour in production.

  • Fixed physical scale. Velocities are not normalized case by case. The network therefore knows the absolute velocity and not just the shape of the anomaly.
  • Residual correction. Without correction the network returns the starting tomography. The offset from SIRT is always an explicit estimate of the inversion error.
  • Local processing. Each window sees a few tens of cells. The correction depends on the local configuration of rays and velocities, not on the length of the spread.

The details of topology, sizing and objective function are proprietary and are not part of this document.

4. Validation on known models

On models with known ground truth, M3 reduces the SIRT velocity error by 45% on the test data set and by 26% on a dedicated set of faults and stratigraphic discontinuities. All errors are computed only inside the ray-coverage envelope.

Table 1 — Test data set (600 cases never seen in training)

Geometric regimeCasesVp RMSE SIRT (m/s)Vp RMSE M3 (m/s)ReductionCases improved
Standard (24–96 geophones, 2–5 m)55545724646%98%
Sparse spreads (12–16 geophones)2075744342%95%
Long spreads (100–500 geophones, 10–20 m)2547038119%100%
Total60046825845%98%

Mean RMSE per case. Reduction = 1 − RMSE M3 / RMSE SIRT, on the means.

Table 2 — Dedicated set: stratigraphic discontinuities and faults

The set comprises 56 models built specifically for this document, 8 for each structural family, with random parameters within geologically plausible ranges:

  • 48–96 geophones, 2–5 m spacing, profiles 94–475 m long;
  • picking noise 0.5–2 ms;
  • a succession of 4 units with velocity increasing with depth, from 350–550 m/s in the cover to over 2,800 m/s in the bedrock, beneath an undisplaced cover;
  • throws from about 1.5 to 30 m depending on the scale of the profile, fault-plane dips 40–78°.

None of these models is part of the training data.

Structural familyVp RMSE SIRT (m/s)Vp RMSE M3 (m/s)ReductionRMSE at contacts SIRT → M3 (m/s)Mean relative error SIRT → M3Cases improved
Erosional unconformity and layer pinch-out31624323%301 → 25112.7% → 9.5%8/8
Single normal fault32125421%256 → 22011.8% → 8.9%8/8
Reverse fault36023435%296 → 24111.6% → 7.9%8/8
Graben30420931%309 → 23316.3% → 9.6%8/8
Horst31724623%255 → 21610.6% → 8.5%7/8
Stepped normal faults23618124%215 → 1839.9% → 7.8%8/8
Fault system with cataclastic zone26821121%262 → 23213.3% → 9.3%7/8
Total30322526%271 → 22512.3% → 8.8%54/56

RMSE at contacts: cells within half a geophone spacing of a contact or a fault plane. Mean relative error: mean of |estimated Vp − true Vp| / true Vp.

The reduction on the dedicated set is smaller than on the test data set. Faults concentrate the error in narrow bands, where the first-arrival information is intrinsically scarce. At contacts the reduction is 17%: M3 attenuates the artifacts around the steps, but does not reconstruct a throw that SIRT did not record.

In the 2 cases out of 56 with no improvement (a horst and a fault system) the RMSE increases by 9% and 28%. Both have picking noise in the upper part of the range (1.6–1.8 ms).

Mean error by depth

Computed on the 600 test cases and on the 56 models of Table 2 · cells inside the ray-coverage envelope

The chart shows the mean absolute Vp error as a function of depth. Depth is expressed as a fraction of the maximum depth reached by the rays, so that profiles of different lengths can be compared.

  • Test data set. The SIRT error grows in the first quarter of the section and then levels off at around 370 m/s. M3 reduces it at every depth; the largest gain, about 130 m/s, is between 20% and 40% of the depth.
  • Faults and discontinuities set. The error grows with depth, where the displaced contacts and the fast bedrock are found. The gain from M3 grows with the error and reaches 219 m/s in the last tenth, the zone of the SIRT bottom artifacts.

Mean error by ray density

Same cases as the previous chart · crossings = total ray length in the cell / cell side

Ray density is expressed in crossings per cell: how many times, on average, a ray runs the full length of the cell. Under each class the share of envelope cells that fall in it is shown.

  • Few rays (fewer than 1 crossing). They are 46% of the cells in the test set and 28% in the fault set. Here SIRT depends mostly on the initial model and on regularization, and the error is high. M3 reduces it by about 80–110 m/s.
  • Intermediate coverage (1–100 crossings). The SIRT error is at its minimum and M3 still reduces it by 18–37%.
  • Highly concentrated rays (more than 100 crossings). These are the cells along the refractors, where rays run along the contact. SIRT averages the velocity above and below the contact and the error rises again. In the fault set M3 gives its highest gain here, but on about 1% of the cells.

Ray density is therefore a useful indicator in the field as well: the zones with fewer than one crossing are those where SIRT is least reliable and where M3 intervenes the most.

Case-by-case gain

600 test cases · RMSE per case inside the ray-coverage envelope

The mean in Table 1 does not say how regular the result is. For each of the 600 test cases, the chart shows the RMSE reduction obtained by M3.

The distribution is wide: almost a third of the cases improve by less than 30%, almost 40% by more than 50%. The 11 cases that get worse stay within −12%. There is therefore no single typical result, but the sign of the result is almost always the same: M3 brings the model closer to the truth.

5. Examples

The two cases were chosen at the median of their family in Table 2, not among the best. In each figure the left column shows ground truth, SIRT and M3 on the same velocity scale. The right column shows the ray density and the errors (red: velocity overestimated, blue: underestimated). Outside the ray-coverage envelope the images are masked. Triangles mark the geophones.

Figure 1 — Graben. 96 geophones at 2 m, 190 m profile, picking noise 0.7 ms. RMSE from 456 to 320 m/s (−30%). In SIRT the central downthrow appears as a progressive lowering of velocities, and spurious values appear at the base of the cover. M3 removes the spurious values and reduces the velocity overestimate inside the graben. The error bands along the contacts weaken but remain: the throw is still smoother than the true one.

Figure 2 — Fault system with cataclastic zone. Three stepped normal faults, one antithetic fault and a reduced-velocity zone along the central plane. 96 geophones at 2.5 m, 238 m profile, noise 1.8 ms. RMSE from 255 to 194 m/s (−24%). SIRT shows X-shaped and arc-shaped artifacts where the rays cross, and point anomalies at the bottom. M3 removes them and returns a continuous layered succession. The cataclastic zone remains visible in the error map: it is narrower than the resolution of the first arrivals.

Best-performing cases

Figures 3 and 4 show, for each family in Table 2, the case with the highest error reduction: from 34% to 44%. They represent the behaviour of M3 under favourable conditions, not the average case. The average case is the one in Figures 1 and 2.

Figure 3 — Single faults, stepped faults and graben.

  • a) Reverse fault. SIRT shows the uplifted block only as a blurred anomaly near the surface, and X-shaped artifacts appear at the bottom. M3 returns a sharp, subvertical step in the first 20 m, in the correct position.
  • b) Stepped faults. The downthrow toward the right is almost invisible in SIRT, covered by arcs and ray crossings. M3 reconstructs the main step in the cover and the block geometry of the bedrock.
  • c) Single normal fault. M3 separates the faster footwall block from the downthrown hanging-wall block. The lateral transition is more gradual than the true one but is located at the fault.
  • d) Graben. The error reduction comes mainly from removing the spurious values at the base of the cover and from correcting the velocities inside the graben. The edges of the graben remain poorly defined.

Figure 4 — Horst, fault systems and unconformities.

  • e) Horst. SIRT is dominated by point and X-shaped artifacts below 25 m. M3 removes them and leaves a central structural high with flanks consistent with the faults.
  • f) Fault system. M3 returns the progressive deepening of the layers toward the right, that is, the cumulative effect of the stepped faults, without the SIRT artifacts. The individual faults and the cataclastic zone are not resolved one by one.
  • g) Erosional unconformity. SIRT draws a network of arcs along the rays that cross the contact. M3 returns the morphology of the erosion surface, with the culmination in the correct position. The lateral pinch-out of the intermediate layer is not resolved.

Showcase cases

Figures 5 and 6 show two of the sharpest results obtained on faults. They were chosen by eye among 96 models: the 56 of Table 2 and another 40 fault models, generated with the same method, on which M3 reduces the error by 20% on average. They show what M3 can return when geometry and coverage are favourable.

Figure 5 — Reverse fault with uplifted block. RMSE from 344 to 182 m/s (−47%). 96 geophones at 2 m, 190 m profile, picking noise 1.3 ms.

  • Step recovered. In SIRT the uplift of the right-hand block is barely visible. M3 returns a sharp contact about 70 m along the profile in the first 10 m, where the true fault lies.
  • Deep artifacts removed. Below 40 m SIRT overestimates the velocity by more than 500 m/s, along an X-shaped pattern tied to the ray crossings. In the M3 error map the X pattern disappears.
  • Residual error. A moderate overestimate remains at the base of the cover, and a band of error along the fault plane, where the deep throw remains smoother than the true one.

Figure 6 — Stepped normal faults. RMSE from 237 to 160 m/s (−33%). 96 geophones at 2.5 m, 238 m profile, picking noise 1.8 ms, near the top of the tested range.

  • Artifacts removed. SIRT shows X-shaped crossings and a false slow anomaly at the base of the cover, with an error of about −1,000 m/s. M3 eliminates both.
  • Succession reconstructed. M3 returns a continuous layered succession that deepens toward the left, as in the true model, although to a lesser extent.
  • Residual error. It is reduced to thin bands along the contacts. The individual steps are merged into a single slope: their throw, a few metres, is below the resolution of the first arrivals.

6. Use in the workflow and limitations

M3 is applied after the inversion, with no parameters to tune.

  1. First-arrival picking and SIRT inversion, as usual.
  2. The software passes the tomography and the ray density of the last cycle to M3.
  3. M3 returns the filtered model on the same grid.
  4. The filtered model should be interpreted only inside the coverage envelope; outside it, keeping SIRT is recommended.

Limitations.

  • Velocity inversions. A layer slower than the one above it produces no refraction and is not seen by the first arrivals. M3 does not reconstruct it: it was excluded from training because it is not constrained by the data.
  • Outside coverage. Where no rays pass, the network received no constraints in training and the correction is not qualified. These zones should be masked in the output.
  • Long spreads. Above 100 geophones with 10–20 m spacing the gain is smaller (see Table 1).
  • Time residuals. M3 reduces the velocity error, not the first-arrival time residuals. The filtered model may have a time RMS equal to or higher than that of SIRT. Checking consistency with the data remains the job of SIRT.
  • Training domain. M3 is trained on synthetic models of shallow refraction (Vp 300–5,000 m/s). Geologies very different from those described in section 2 should be verified with control data (boreholes, downhole tests).

Seismic refraction processing using the GRM method

In addition to Seismic Refraction Tomography (SRT) processing, SmartTomo also implements the capability to process the survey using the generalized reciprocal method (GRM).
The GRM processing procedure is included in a separate window that is opened by selecting the Refraction (GRM) menu item from the processing menu.
The seismic survey processing window presents four tabs.

Tab for Assigning Dromochrons to Layers. Clicking on the first arrival corresponding to the first and last point of the layer will assign the portion of the dromochrone to corresponding layer

Continue reading “Seismic refraction processing using the GRM method”

Post-processing: mapping seismic velocity at defined depth

This guide presents a procedure for making seismic velocity maps at different depths using seismic tomography data produced by SmartTomo exploiting free and open source tools external to smartTomo.

Example of velocity map at the depth of 5.25 meters. In light blue shows the traces of the seismic profiles while in red shows the convex hull enclosing the significant map area.

Three georeferenced seismic profiles exported as a text grid were used for this tutorial. The processing involved the use of Python with the Pandas, Numpy, Scipy and Matplotlib modules.

Download the full code of this tutorial with dataset from here.

Continue reading “Post-processing: mapping seismic velocity at defined depth”

Geo-referencing a seismic tomographic profile.

This image has an empty alt attribute; its file name is immagine.png
Dialog box for entering the coordinates of the first geophone, the last geophone and the EPSG code to define the reference system used. The code 3003 corresponds to the Gauss-Boaga West Fuse system valid for western Italy.

SmartTomo allows to geo-reference the profiles of seismic refraction tomography in order to visualize them with external tools overlaying for example the DTM.

Continue reading “Geo-referencing a seismic tomographic profile.”

Tips on using dromochrones applied to seismic tomography

The dromochrone or travel-time curves are plots in which the arrival times of seismic waves are represented as a function of distance from the source. They find their use in localizing the position of earthquakes, in reflection and refraction seismic surveys. In this post we will address their use in refraction seismic and how they are also useful in traveltime-based refraction seismic tomography.

The dromochrone graph is a diagram in which one axis reports the position of the receivers (or the distance from the source) and on the other axis is indicated the time taken to reach the receivers by a given type of seismic wave.

image showing the propagation of seimic waves in a two layer model.
Diagram showing wavefronts propagating from t0 and incident at critical angle ic at the interface between layer 1 and 2; internal refraction occurs and new wavefronts refracted at angle ic towards the surface originate.

The seismic waves when they meet materials characterized by different velocities give origin to refraction and reflection phenomena. When they hit an interface characterized by increasing speed with depth (V2 > V1) with an angle equal to arcsin(V1/V2) called critical angle, the waves travel parallel to the interface and for the principle of Hyugens part of the energy returns to the surface giving rise to the head waves, represented in purple in the diagram above. Measuring the arrival time of the waves at different distances and representing them on a graph we obtain the following plot.

Traveltimes curves from the model above;

In a model with two uniform horizontal layers where the underlying layer has a velocity V2 > V1 the dromochrone graph is represented by two straight segments. The graph is represented on the plane defined by the distance and time axes so the inverse of the slope of the segment represents the apparent velocity of the crossed layers, i.e.:

(1)   \begin{equation*}V = \frac{ \Delta X } { \Delta T}\end{equation*}

Where X is the position between the receivers or between a receiver and the source while time T is the time required to reach the receivers.

For example, in the image below, the first layer identified by the arrivals between an X equal to 3 and an X equal to 9 corresponding to arrival times of about 3 ms and 23 ms. The speed of the first layer will consequently be

(2)   \begin{equation*}V_1 = \frac{ (9-3) m } { (23-3) ms} = 0,3 m/ms = 300 m/s\end{equation*}

After the X = 9 coordinate, the dromochrone changes slope and indicates that the waves generating the first arrivals have encountered a faster layer and have undergone refraction at a critical angle.

For the interpretation of refraction seismic with the intercept time technique it is necessary to determine the slope of the dromochrone, the crossover point and the intercept time. On the contrary, for tomographic processing only the travel time is important but, of course, refraction must be present, i.e. increasing the distance from the energization position must change the dromochrone slope indicating an increase in velocity. The dromochrone, as in the case of the following image, will be more flattened at greater distances.

Dromochrone of a 2 layers model with V2>V1.

Situations in which the dromochrone breakpoint does not occur, i.e., does not contain a refraction, cannot be interpreted with refraction tomography. The break point may occur with a sharp inflection point or in a softer manner, but must be present. A sharp break may indicate a well-defined interface (e.g., the soil cover placed on the bedrock), while a softer dromochrone break will show a progressive increase in velocity with depth.

The following image, represents dromocores that do not show the correct bending (break point), indicating instead an increase in arrival times with increasing distance.
This dromochrone arrangement does not fit the interpretation with the refraction technique. Using SmartTomo the resulting profile would often be just a row of cells whose velocity would try to optimize arrival times through direct waves only.

This situation should be identified already in the field during the survey to understand if it could be due to acquisition problems (e.g., poorly evident first arrivals) or to actual characteristics of the site and therefore the need to perform different type of surveys.

Traveltimes curves that show no refraction and may leads to a wrong tomographic profile

An introduction to seismic refraction tomography (SRT)

Seismic tomography allows the reconstruction of an image of the subsoil distribution of seismic wave velocity and its anomalies with high resolving power. In detail, refraction seismic survey is an indirect, active seismic survey that uses refracted waves generated by contrasts of waves velocity to reconstruct subsurface characteristics. The velocity of seismic waves depends on the density and elastic properties of the material crossed, i.e., properties attributable to the lithological characteristics of the substrate investigated. The direction of propagation of the waves in depth follows Snell’s law and at each interface there are phenomena of refraction, reflection and diffraction. In refraction surveys, as the name implies, only refracted waves will be considered. Refraction seismic tomography allows to obtain a picture of the velocity distribution in the subsurface highlighting the continuous changes in velocity rather than a layered model typical of refraction surveys ( Intercept, delaytime, plus minus, GRM).

Continue reading “An introduction to seismic refraction tomography (SRT)”

Seismic Refraction Tomography: how to gather data

The setting of data acquisition to perform the tomographic processing is similar to the one used for the refraction seismic surveys, for example applying the G.R.M. method (Palmer, 1980).

Esempio di schema per l'acquisizione di una prova sismica tomografica a rifrazione con quattro energizzazioni esterne e tre interne.
Example of a scheme for the recording of a refraction tomographic seismic survey with four external and three internal shots.

The geophones must be placed in line, normally with a constant spacing that depends on the horizontal resolution to be obtained, while the length of the line determines the maximum depth of investigation that can be achieved.

The energizations are placed in line with the geophones line both internally and externally. If to acquire data in a refraction survey can be sufficient, at the limit, only 5 energizations, 4 external (2 per side) and one central, for seismic tomography it is necessary to perform more shots inside the line. We suggest to energize at least every 4-5 geophones.

The signal of a refraction test, performed using a hammer as energization typically has a frequency between 50 and 100Hz. The sampling frequency must therefore be higher than 200Hz. Since you want to have a good time resolution of the signal you can set as acquisition parameter a sampling rate of at least 5000Hz.

Esempio di acquisizione di una prova a rifrazione eccessivamente lunga. Il segnale è schiacciato nella parte alta della vista.
Example of acquisition of a signal that is too long in time. The signal is flattened at the top of the view.
Esempio di acquisizione idonea per la prova a rifrazione. I primi arrivi non risultano schiacciati nella parte alta ed il segnale ha una frequenza di campionamento tale da non generare alias
Example of acquisition suitable for refraction analysis. The first arrivals are not squeezed in the upper part and the signal has a sampling frequency that does not generate alias

Refraction seismic tomography uses the time of first arrivals to calculate the profile in the same way as refraction survey processing using methods such as GRM, time delay, or intercept. The recording of the signal must be long enough to detect the arrivals on all geophones. Usually for 50 meters long seisimic line it is enough to record for a time interval of 500ms. The needed recording time may vary depending on the subsoil conditions we are investigating and the type of wave we are measuring. P waves will be almost twice as fast as S waves in many stratigraphics contexts.
For example, with the average speed of 1000 m/s, the first break takes 50 ms to reach a receiver located 50 meters from the source.

SmartTomo quick start manual

This guide introduces the fundamental steps to process seismic refraction tomography with smartTomo software. The demo version is distributed with a pre-loaded dataset. The characteristics of the dataset are described in this article (Demo version).
At startup the following screen appears reminding you that this is a demo version and it shows the list of files that will be loaded.

Continue reading “SmartTomo quick start manual”

Screenshots

Seismic profile processed using SmartTomo
Tomographic profile computed using SmartTomo software for seismic processing
Filtering signal
SmartTomo dialog to set receivers geometry
Traveltimes plot for a 100 geophones and 101 shots dataset
SmartTomo traveltimes plot

Video tutorial

smartTomo 2025.0

Introduction to demo version and attenuation tomography

Automatic layer assignment in the GRM module for refraction analysis.

Picking first break

Run tomography

Editing results

SmartTomo 2020.0 – Processing seismic refraction using GRM