Назад в библиотеку

Компьютерная обработка снимков породного отвала для построения его 3D‑модели

Авторы: О. В. Бураков, В. Г. Адамов


Постановка проблемы

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

Для использования любого из предложенных методов необходимо иметь информацию об основных параметрах породного отвала (площадь, форма, угол откоса, высота и другие). Такими данными, как правило, обладает шахта, к которой относится породный отвал, но, как показывает практика, эти данные не точны, либо вообще отсутствуют (как, например, у многих породных отвалов начала ХХ века).

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

Цель статьи – исследование методов обработки снимков породных отвалов и разработка алгоритмов и программ получения исходных данных, необходимых для построения 3D‑модели породного отвала и расчета его основных параметров.

Входные данные

Для построения 3D‑модели породного отвала требуется множество точек, которые будут подвергаться триангуляции и образовывать поверхность породного отвала.

Для получения координат точек предлагается использовать фотоснимки породного отвала сверху и сбоку. Фотоснимок сверху можно получить из картографических сервисов. Примерами таких картографических сервисов являются Google Maps, Яндекс карты и приложение Google Earth [1]. Фотоснимок сбоку можно сделать самостоятельно, используя любую цифровую фотокамеру. Однако необходимо учитывать то, что камера должна находиться на достаточном расстоянии от породного отвала, обеспечивая максимально возможный захват боковой поверхности.

Выделение контуров

Для получения координат точек основания породного отвала необходимо выполнить выделение контуров. В результате проведенного анализа популярных методов выделения контуров было установлено, что не один из рассматриваемых методов (Робертс, Собель, Кэнни, Превитт) не выполняет задачу оконтуривания с необходимой точностью [2]. Это связано с тем, что фотоснимки картографических сервисов, как правило, сделаны в летнее время, когда поверхность породных отвалов покрыта растительностью, наличие которой на снимках негативно сказывается на точности выделения контура основания. В работе предлагается использовать полуавтоматическое выделение контуров породного отвала.

Для решения задачи оконтуривания было разработано приложение на языке C#. Приложение позволяет выделять контур основания породного отвала и позиционировать его вершину.

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

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

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

Внешний вид главной формы разработанного приложения представлен на рисунке 1.

Приложение для полуавтоматического выделения контуров

Рисунок 1 – Приложение для полуавтоматического выделения контуров

Элементы управления обладают следующими функциями:


При помощи мыши можно выполнять следующие операции:

Согласование вида сверху и вида сбоку

После выделения контура основания породного отвала и позиционирования вершины на виде сверху, необходимо также указать точку, с которой был сделан снимок сбоку. Из данной точки провести две прямые. Прямые пересекут контур основания породного отвала в точках P11 и P12. Далее необходимо вычислить расстояние D1 между ними (см. рис. 2) .

Таким образом, расстояние D1 – является расстоянием между крайними точками основания. Данные точки называются крайними, потому что они лежат на границе видимой и невидимой части боковой поверхности породного отвала на снимке сбоку.

Вычисление расстояния между крайними точками основания на виде сверху

Рисунок 2 – Вычисление расстояния между крайними точками основания на виде сверху

Далее вычисляется расстояние D2 на снимке сбоку. Для этого необходимо позиционировать точки P21 и P22. Также необходимо рассчитать высоту H2 для вида сбоку. Для этого необходимо опустить перпендикуляр от вершины к основанию (см. рис. 3).

Зная расстояния D1 и D2, вычисляется коэффициент k по формуле:

Формула 1

Коэффициент k позволяет согласовать снимок породного отвала сбоку со снимком сверху. Таким образом, коэффициент дает возможность использовать в одном выражении данные о размерах породного отвала с разных снимков, предварительно корректируя их.

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

Формула 2

Таким образом, H1 – характеризует высоту породного отвала, в масштабе вида сверху.

Вычисление расстояния между крайними точками основания на виде сбоку

Рисунок 3 – Вычисление расстояния между крайними точками основания на виде сбоку

Получение координат точек

По снимку породного отвала, сделанного сверху, можно определить координаты точек основания, используя выделенный контур, а именно координаты X (ширина) и Z (глубина). Координата Y принимается равной нулю.

По этому же снимку также можно вычислить координаты X и Z вершины, координату Y принимаем равной H1.

Теперь по уравнению прямой проведенной через две точки, а именно через вершину, и одну из точек на основании, можно найти все точки на прямой:

Формула 3

Изменяя Y в интервале (0; H1) по формуле 3 можно найти координаты X и Z для всех точек, лежащих на каждой из прямых. Таким образом, с определенной точностью будут получены координаты множества точек, лежащих на поверхности породного отвала. Выполнив триангуляцию полученных точек можно построить 3D‑модель породного отвала [3]. Однако следует учитывать, что данный метод применим только для одновершинных породных отвалов с приблизительно конической формой.

Выводы

Предложен способ обработки снимков породных отвалов с целью определения входных данных, необходимых для построения 3D‑модели породного отвала. Разработана программа на языке C#, обеспечивающая выделение контура основания породного отвала и позиционирование его вершины.

Литература

  1. Официальный сайт Google Earth [Электронный ресурс]. – Режим доступа: http://www.google.com.ua.
  2. Гонсалес Р. Цифровая обработка изображений в среде MATLAB / Р. Гонсалес, Р. Вудс, С. Эддинс – М.: Техносфера, 2006. – 616 с.
  3. Скворцов А. В. Триангуляция Делоне и её применение. – Томск: Изд‑во Том.ун‑та, 2002. – 128 с.