
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:
- a synthetic velocity model (the ground truth) is generated with stratigraphy, erosional contacts, faults and bedrock;
- first-arrival times are computed with an eikonal solver, on the geometry of a real spread;
- Gaussian picking noise is added (standard deviation 0.5–2 ms);
- the model is inverted with the same non-linear SIRT as the product (5 ray-retracing cycles, anisotropic regularization);
- 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.
| Element | Description |
|---|---|
| Input | 2 channels on the inversion grid: SIRT velocity and ray density, normalized on a fixed physical scale |
| Output | 1 channel: corrected velocity model (m/s), same grid as the input |
| Processing | Hierarchical multiscale analysis with direct transfer paths between matching levels, to preserve the detail of the contacts |
| Formulation | Residual correction: the network estimates the offset from the tomography, not the model from scratch |
| Application domain | Overlapping local windows, stitched with continuous weighting; no limit on profile length |
| Execution | CPU 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 regime | Cases | Vp RMSE SIRT (m/s) | Vp RMSE M3 (m/s) | Reduction | Cases improved |
|---|---|---|---|---|---|
| Standard (24–96 geophones, 2–5 m) | 555 | 457 | 246 | 46% | 98% |
| Sparse spreads (12–16 geophones) | 20 | 757 | 443 | 42% | 95% |
| Long spreads (100–500 geophones, 10–20 m) | 25 | 470 | 381 | 19% | 100% |
| Total | 600 | 468 | 258 | 45% | 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 family | Vp RMSE SIRT (m/s) | Vp RMSE M3 (m/s) | Reduction | RMSE at contacts SIRT → M3 (m/s) | Mean relative error SIRT → M3 | Cases improved |
|---|---|---|---|---|---|---|
| Erosional unconformity and layer pinch-out | 316 | 243 | 23% | 301 → 251 | 12.7% → 9.5% | 8/8 |
| Single normal fault | 321 | 254 | 21% | 256 → 220 | 11.8% → 8.9% | 8/8 |
| Reverse fault | 360 | 234 | 35% | 296 → 241 | 11.6% → 7.9% | 8/8 |
| Graben | 304 | 209 | 31% | 309 → 233 | 16.3% → 9.6% | 8/8 |
| Horst | 317 | 246 | 23% | 255 → 216 | 10.6% → 8.5% | 7/8 |
| Stepped normal faults | 236 | 181 | 24% | 215 → 183 | 9.9% → 7.8% | 8/8 |
| Fault system with cataclastic zone | 268 | 211 | 21% | 262 → 232 | 13.3% → 9.3% | 7/8 |
| Total | 303 | 225 | 26% | 271 → 225 | 12.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

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

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

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.
- First-arrival picking and SIRT inversion, as usual.
- The software passes the tomography and the ray density of the last cycle to M3.
- M3 returns the filtered model on the same grid.
- 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).















