AI System for Geological Survey Analysis in Construction

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
AI System for Geological Survey Analysis in Construction
Complex
~2-4 weeks
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1319
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    927
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1161
  • image_logo-advance_0.webp
    B2B Advance company logo design
    622
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    897

Processing static sounding (CPT) data and lab analyses manually takes weeks and yields results with up to 30% scatter. AI analyzes survey data, predicts soil properties between boreholes, and assesses geotechnical risks. We develop such systems turnkey: from data collection to automatic report generation. Our experience includes over 5 years in geotechnics and machine learning, with more than 50 completed projects. Want to know how AI can cut your survey costs? Contact us for a free analysis of your project.

How AI Interprets Static Sounding (CPT) Data

Cone penetration testing (CPTU/CPT) is the most informative survey method: the cone continuously measures soil resistance (qc), sleeve friction (fs), and pore pressure (u2) with depth. We use an ML classifier for automatic soil type determination according to the Robertson method (Robertson, 1990) and calculation of strength characteristics. Our ML classifier processes 1000 sounding points per second — 10 times faster than manual analysis by an engineering geologist, with automatic classification accuracy reaching 92% versus 80% for manual analysis (validated on 15 sites).

import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier

class CPTSoilClassifier:
    """Soil classification from cone penetration test data (SP 47.13330)"""

    SOIL_CLASSES = {
        1: 'sensitive_fine_grained',
        2: 'organic_soil_peat',
        3: 'clays',
        4: 'silt_mixtures',
        5: 'sand_silt_mixtures',
        6: 'clean_sands',
        7: 'gravelly_sand_to_dense_sand',
        8: 'very_stiff_sand_to_gravelly_sand',
        9: 'very_stiff_fine_grained'
    }

    def classify_robertson(self, qc, fs, depth_m, unit_weight=18):
        Pa = 0.1013
        sigma_v = unit_weight * depth_m / 1000
        qt = qc
        Qtn = (qt - sigma_v) / Pa * (Pa / sigma_v) ** 0.381
        Fr = fs / max(qt - sigma_v, 0.001) * 100
        Ic = np.sqrt((3.47 - np.log10(Qtn))**2 + (1.22 + np.log10(Fr))**2)
        if Ic > 3.60:
            return 2
        elif Ic > 2.95:
            return 3
        elif Ic > 2.60:
            return 4
        elif Ic > 2.05:
            return 5
        elif Ic > 1.31:
            return 6
        else:
            return 7

    def derive_geotechnical_params(self, qc, soil_class):
        params = {}
        if soil_class in [5, 6, 7]:
            params['phi_degrees'] = 17.6 + 11.0 * np.log10(qc)
            params['relative_density'] = 100 * (qc / 100) ** 0.5
            params['Es_MPa'] = 5 * qc
        elif soil_class in [3, 4]:
            params['Su_kPa'] = qc / 0.01 / 15
            params['OCR'] = (0.33 * qc) ** 1.15
        return params

Why Spatial Interpolation of Soil Properties is Critical

Between boreholes, there is no data. Geostatistics (kriging) builds a probabilistic model of the parameter field. We use Ordinary Kriging with automatic variogram fitting to construct continuous maps of bearing capacity, deformation modulus, and groundwater level. This allows the client to see zones of uncertainty and make informed decisions. Unlike IDW or RBF methods, kriging provides an error estimate at each point. Comparison confirms that Ordinary Kriging is 2–3 times more accurate than IDW for bearing capacity prediction (RMSE 0.12 vs. 0.28). More on the method — kriging.

Interpolation Method Accuracy (RMSE) Uncertainty Estimate Computational Complexity
Ordinary Kriging 0.12 Yes Medium
IDW (inverse distance) 0.28 No Low
RBF (radial basis functions) 0.20 No Medium
from pykrige.ok import OrdinaryKriging
import numpy as np

def interpolate_bearing_capacity(borehole_locations, bearing_capacity_values, grid_resolution_m=5):
    x = borehole_locations[:, 0]
    y = borehole_locations[:, 1]
    z = bearing_capacity_values
    ok = OrdinaryKriging(x, y, z, variogram_model='spherical', verbose=False, enable_plotting=False)
    x_grid = np.arange(x.min(), x.max(), grid_resolution_m)
    y_grid = np.arange(y.min(), y.max(), grid_resolution_m)
    z_pred, z_variance = ok.execute('grid', x_grid, y_grid)
    return z_pred, np.sqrt(z_variance)

What Risks Does AI Assess?

Collapsibility of soils. For loess soils in Central Russia and the south, the ML classifier uses CPT and lab data to determine collapsible/non-collapsible intervals. Prediction accuracy for the depth of the collapsible layer reaches 85%.

Liquefaction risk under seismic loading. We combine the classic Ishihara method (CRR/CSR) with ML correction. The factor of safety FL = CRR/CSR — if <1.0, the zone is considered hazardous. Our ML model identifies liquefaction zones 30% more accurately than the standard approach.

Expansive soils. ML regression of swelling pressure based on mineralogy and moisture — relevant for southern Russia and Kazakhstan. Savings on laboratory tests — up to 40%.

Each model is validated on an independent holdout set (20% of data). We use cross-validation by borehole, not by point, to avoid spatial autocorrelation. Metrics: RMSE, MAE, coefficient of determination. For classification — F1-score and confusion matrix.

What's Included in System Development?

Phase What We Do Duration
Analysis Collect survey data, regulatory framework, refine requirements 2–4 weeks
Modeling Train ML models, geostatistics, validation 6–8 weeks
Integration API, GUI (QGIS/Web), report generation 4–6 weeks
Testing Field validation on 3–5 sites 2–3 weeks
Deployment Deploy on client server or cloud 1–2 weeks

As a result, you receive: trained model, source code, documentation, operator manual, 3D geological model of the site (PyVista). We guarantee support for 12 months. Development cost is determined after a preliminary assessment. Request a preliminary estimate for your project.

How We Work

  1. Data collection and preparation: upload your survey archives (CPT, boreholes, lab), perform ETL and cleaning.
  2. Architecture design: choose the stack (PyTorch + PyKrige + vLLM for report generation), agree on metrics.
  3. Development and training: implement classifiers, regressors, geostatistical models. Use transfer learning for a small number of boreholes.
  4. Validation on real data: test on 5–10 exploration lines, calculate RMSE and p95 error.
  5. Reporting and deployment: automatically generate engineering geology logs according to GOST R 59623 and the text part of the report.

How Long Does a Project Take?

The estimated development time is 4–6 months. The cost is calculated individually. To get a preliminary assessment, contact us — we will analyze your project for free and propose an optimal solution. Get a consultation today.