Обнаружение сейсмических разломов

В предыдущих статьях мы рассмотрели несколько задач сейсмической интерпретации: выделение горизонта и сегментация фаций. Еще одним важным этапом интерпретации является обнаружение неисправностей. Подробно опишем задачу, расскажем о существующих подходах к ее решению и коротко осветим наше решение.

Что такое ошибка и почему ошибки важны?

Разломы – это вертикальные смещения горных пород, вызванные движениями массива горных пород. Специалисты используют горизонты (границы слоев) и разломы для разделения сейсмического куба на области со схожими свойствами для последующего анализа коллектора. Такой раздел называется структурной моделью. Приведем пример модели месторождения, построенной на основе горизонтов и разломов:

Структурное моделирование необходимо для понимания путей миграции нефти и поиска потенциальных месторождений: этот шаг необходим для правильного размещения добывающих скважин. Разломы могут нарушать структуру пластов и разрушать существующие резервуары или создавать новые.

Как сейчас специалисты выявляют неисправности?

  • На каждом десятом сейсмическом срезе эксперт отмечает разлом узлами, соединенными ломаной линией. Такие линии называются стержнями ошибок.

  • Далее палочки разломов интерполируются и определяют поверхность в 3D.

Чтобы упростить задачу, эксперты используют геологические атрибуты (подобие, когерентность, наклон, азимут и т. д.) в качестве вспомогательного инструмента для выделения подозрительных областей. Например, темные области атрибута сходства Марфурта соответствуют потенциальным разломам.

Однако ручная маркировка имеет несколько недостатков:

  • это громоздко
  • Сложная структура разломов может затруднить привязку палочек к одной поверхности.
  • Из-за разреженности аннотация приблизительная и грубая
  • Часто в целях экономии времени специалисты обследуют лишь небольшую площадь куба, а не весь объем.
  • Аннотация нескольких экспертов будет субъективной и непоследовательной

Желание максимально автоматизировать эту процедуру очевидно.

Какие подходы существуют?

Как мы отмечали выше, геологические атрибуты помогают выявить возможные разломы. К сожалению, они не могут обеспечить автоматическую процедуру, так как любой признак выделяет не только разломы, но и многие другие аномалии, такие как шум или отклонения от горизонтальной параллельной структуры. (например, Gibson et al., 2003, Hale, 2013, Mechado et al., 2016)

С появлением машинного обучения появилось множество статей и инструментов, которые используют нейронные сети для обозначения ошибок (например, Zheng et al., 2014, Xiong et al., 2018, Cunha et al., 2020, Вэй и др., 2022). Действительно, создание атрибута с вероятностями ошибки в каждой точке как раз и является задачей бинарной семантической сегментации. Если нам достаточно куба вероятности, то нам нужно просто обучить нейросеть. Но каковы проблемы с попиксельной сегментацией ошибок?

  • Набор данных для обучения. Для точной модели требуется обширный и разнообразный набор данных для обучения с подробными аннотациями. Поскольку для составления такого набора данных требуется много времени и ресурсов, часто используются синтетические наборы данных. К сожалению, создание алгоритмов синтеза достоверных синтетических данных — сложная задача, и модели, обученные на таких данных, часто некорректно работают на реальных кубах. Другой вариант — частично разметить куб и обучить модель только на этом кубе, но этот подход не имеет права называться «полностью автоматическим».
  • Огромный размер набора данных: мы не можем поместить весь куб размером в десятки гигабайт в память графического процессора, поэтому нам приходится обучать и делать выводы на 2D/3D-обрезках соответствующего размера. Чтобы привести примеры культур с дефектами и без них, мы должны описать соответствующую процедуру отбора проб.
  • Предварительная обработка и дополнения: их следует выбирать с умом, чтобы сделать нейронную сеть более универсальной. Нейронная сеть без нормализации входных данных может дать сбой на новых примерах с другими распределениями значений. Расширения могут помочь расширить небольшой набор обучающих данных, но некоторые из них могут нарушить физические свойства сейсмических данных.
  • Процедура обучения: типичные проблемы обучения нейронной сети, такие как выбор архитектуры и гиперпараметров, переобучение, процедура нормализации и т. д.
  • Проверка (QC): существует два возможных способа контроля качества полученного решения. Во-первых, сравнить результат с земной истиной. Но надежная наземная правда доступна только для синтетических данных: маркировка экспертов почти всегда зашумлена. Второй способ заключается в проверке того, что прогнозируемые неисправности расположены в нужных местах, но для их измерения нет подходящей метрики проверки. Такая метрика для горизонтов показана здесь.

Тем не менее все эти проблемы, кроме последней, решаемы. В последнее время появляется все больше открытых данных с реальных месторождений, которые либо уже размечены, либо могут быть размечены. Для обучения у нас есть все необходимые инструменты в наших библиотеках с открытым исходным кодом SeismiQB и BatchFlow. Что касается метрики валидации, то она важна не только для моделей ML, но и для любых результатов обнаружения ошибок. Вот почему построение метрики само по себе представляет интересную задачу.

Во многих приложениях куба вероятности недостаточно, и экспертам необходимо извлечь отдельные экземпляры неисправности из прогноза модели. Обнаружение отдельных поверхностей разломов сложнее и не так просто описывается как задача, в которой может применяться машинное обучение. Обычно поверхности строятся на основе размеченного куба, но статей на эту тему мало.

Как работает наше решение?

Многие программные продукты (Petrel, Geoplat, OpendTect) утверждают, что предоставляют инструменты для обнаружения неисправностей. Однако у них все же есть разные недостатки, например:

  • некоторые из них требуют частичной аннотации,
  • другой выходной прогноз в виде куба с вероятностями вместо поверхностей
  • результирующие поверхности часто неточны, плохо интерполированы или самопересекаются.

Мы разрабатываем наше решение для создания поверхностей в течение достаточно долгого времени в результате постоянного взаимодействия с экспертами-геофизиками. Даже такой, казалось бы, простой шаг, как определение задачи, оказался не таким уж и простым.

Подобно горизонту, каждый разлом представляет собой поверхность в трехмерном объеме сейсмического куба. Целью задачи обнаружения неисправностей может быть:

  • помеченный куб того же размера, что и исходный куб с меткой 1 (ошибка) и 0 (неошибка) или с вероятностью ошибки в диапазоне [0,1]. Такой сценарий не предполагает обнаружения объектов, т. е. разделения экземпляров разных поверхностей разлома.

  • отдельные поверхности разломов в виде облаков точек

  • аппроксимированные поверхности разломов в виде палочек разломов (см. ниже) или триангуляции

Выбор цели зависит от способа использования разломов: в нашей практике мы пытаемся получить поверхности в виде разломов из-за удобства работы с ними.

Основное различие между разломами и горизонтами заключается в ориентации: помеченные горизонты всегда являются функцией глубины от продольной и поперечной линии, а разломы представляют собой вертикальные поверхности. На первый взгляд все, что вам нужно, это транспонировать куб и применить инструменты обнаружения горизонта, но есть ключевые отличия:

  • Разломы могут быть вдоль инлайнов, кросслайнов или смешанных, поэтому априори никто не знает, как транспонировать куб
  • Конкретный горизонт может быть аннотирован на большинстве трасс поля, в то время как каждый разлом расположен только в некоторой ограниченной области.
  • Неисправности могут пересекаться друг с другом

Наше решение состоит из следующих этапов:

  • обучите модель в моде Encoder Decoder на 2D-культурах из нескольких реальных кубов с экспертной аннотацией, чтобы получить куб атрибутов вероятности
  • использовать обученную модель для получения куба вероятностей отказов
  • выполнить постобработку: обнулить прогнозируемый объем на границах поля, сгладить и скелетировать прогноз
  • применить итеративную процедуру объединения связанных компонентов на 2D-срезах, чтобы разделить прогнозируемый объем на отдельные поверхности

Модель вместе с процедурой выделения горизонта позволяет получить основу структурной модели.

Более подробное описание готового решения мы предоставим в следующих статьях.

Краткое содержание

Выявление неисправностей не так просто, как может показаться: проблемы возникают на каждом этапе, от формулировки проблемы до оценки результата. В этой статье мы выделили основные проблемы и показали наши результаты. Мы продолжим улучшать наше решение, делясь подробностями о его внутреннем устройстве. Следите за обновлениями!