Разработка AI-системы анализа геологических изысканий для строительства

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-системы анализа геологических изысканий для строительства
Сложная
~2-4 недели
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка AI-системы анализа геологических изысканий для строительства

Инженерные геологические изыскания — дорогостоящий процесс, определяющий фундаментальные решения по проекту. AI анализирует данные изысканий, предсказывает свойства грунтов между скважинами и оценивает геотехнические риски.

Интерпретация данных инженерных изысканий

Обработка данных зондирования (CPT):

Статическое зондирование (CPTU/CPT) — наиболее информативный метод изысканий: конус измеряет сопротивление грунта (qc), трение по боковой поверхности (fs) и порового давления (u2) непрерывно по глубине.

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

class CPTSoilClassifier:
    """Классификация грунтов по данным статического зондирования (СП 47.13330)"""

    # Классификатор Robertson (1990) — международный стандарт
    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):
        """
        Классификация по методу Robertson (1990).
        qc: МПа, fs: кПа
        """
        # Normalization
        Pa = 0.1013  # МПа (атмосферное давление)
        sigma_v = unit_weight * depth_m / 1000  # МПа (вертикальное напряжение)
        qt = qc  # упрощение (без поправки на поровое давление)

        # Normalized tip resistance
        Qtn = (qt - sigma_v) / Pa * (Pa / sigma_v) ** 0.381

        # Normalized friction ratio
        Fr = fs / max(qt - sigma_v, 0.001) * 100  # %

        # Soil Behaviour Type Index (Ic)
        Ic = np.sqrt((3.47 - np.log10(Qtn))**2 + (1.22 + np.log10(Fr))**2)

        # Классификация по Ic
        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)  # угол трения (Kulhawy & Mayne)
            params['relative_density'] = 100 * (qc / 100) ** 0.5  # Dr, %
            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

Пространственная интерполяция свойств грунтов

Кригинг геологических параметров:

Между скважинами данных нет. Геостатистика (кригинг) строит вероятностную модель поля параметра:

from pykrige.ok import OrdinaryKriging
import numpy as np

def interpolate_bearing_capacity(borehole_locations, bearing_capacity_values, grid_resolution_m=5):
    """
    Построение карты несущей способности грунта по данным скважин.
    borehole_locations: (n, 2) координаты xy скважин
    bearing_capacity_values: (n,) несущая способность кПа
    """
    x = borehole_locations[:, 0]
    y = borehole_locations[:, 1]
    z = bearing_capacity_values

    # Ordinary Kriging с автоматическим подбором вариограммы
    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)  # предсказание + неопределённость

Оценка геотехнических рисков

Просадочность грунтов:

Для лёссовых грунтов Центральной России и юга — критический параметр:

  • ML-классификатор по данным лабораторных исследований + CPT: просадочный/непросадочный
  • Прогноз глубины просадочной толщи между скважинами

Риск разжижения при сейсмике:

Японский метод (Ishihara) + ML-коррекция:

  • CRR (Cyclic Resistance Ratio) по CPT
  • CSR (Cyclic Stress Ratio) по сейсмическим условиям
  • Factor of Safety FL = CRR/CSR < 1.0 → разжижение вероятно

Набухающие грунты:

ML-регрессия давления набухания по минералогическому составу и влажности (актуально для юга РФ, Казахстана).

Генерация геологической документации

Автоматизация отчётов:

По данным изысканий + нормативной базе → автогенерация:

  • Таблицы физико-механических характеристик грунтов (по СП 22.13330)
  • Инженерно-геологические колонки (ГОСТ Р 59623)
  • Текстовая часть отчёта: шаблон + ML-заполнение из данных измерений

3D-визуализация геологической модели:

PyVista/VTK + интерполированные данные → трёхмерная инженерно-геологическая модель:

  • Слои грунтов по площадке
  • Уровень грунтовых вод
  • Зоны риска (просадки, разжижение)

Срок разработки: 4–6 месяцев для AI-системы интерпретации изысканий с пространственной интерполяцией и оценкой рисков.