Научная статья на тему 'Разработка автоматизированной программной системы для работы с результатами лазерного сканирования'

Разработка автоматизированной программной системы для работы с результатами лазерного сканирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
251
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛАЗЕРНОЕ СКАНИРОВАНИЕ / ОБЛАКО ТОЧЕК / ЦИФРОВАЯ МОДЕЛЬ РЕЛЬЕФА / ТРИАНГУЛЯЦИЯ / АНАЛИЗ ПОВЕРХНОСТЕЙ / LASER SCANNING / CLOUD OF POINTS / DIGITAL TERRAIN MODEL / TRIANGULATION / SURFACE ANALYSIS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бугаков Пётр Юрьевич, Гринев Александр Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бугаков Пётр Юрьевич, Гринев Александр Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF AUTOMATED SOFTWARE SYSTEM FOR WORKING WITH LASER SCANNING RESULTS

A software system, that allows user to work with a cloud of points obtained as a result of laser scanning. The functional provides the ability to build a digital terrain model, create planes and auxiliary surfaces to calculate the volume of excavation, import 3D scenes for demonstation, and perform basic manipulations with objects at the level of vertices and polygons.

Текст научной работы на тему «Разработка автоматизированной программной системы для работы с результатами лазерного сканирования»

УДК 004.9

РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ ПРОГРАММНОЙ СИСТЕМЫ ДЛЯ РАБОТЫ С РЕЗУЛЬТАТАМИ ЛАЗЕРНОГО СКАНИРОВАНИЯ

Пётр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (905)946-77-27, e-mail: peter-bugakov@yandex.ru

Александр Сергеевич Гринев

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, студент, тел. (953)866-60-69, e-mail: grinev95@bk.ru

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

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

DEVELOPMENT OF AUTOMATED SOFTWARE SYSTEM FOR WORKING WITH LASER SCANNING RESULTS

Peter Yu. Bugakov

Siberian State University of Geosystems and Technologies, 630108, Russia, Novosibirsk, 10 Plakhotnogo St., Ph. D., associate professor of Department Applied Informatics and Information Systems, tel. (905)946-77-27, e-mail: peter-bugakov@yandex.ru

Alexander S. Grinev

Siberian State University of Geosystems and Technologies, 630108, Russia, Novosibirsk, 10 Plakhotnogo St., student, tel. (953)866-60-69, e-mail: grinev95@bk.ru

A software system, that allows user to work with a cloud of points obtained as a result of laser scanning. The functional provides the ability to build a digital terrain model, create planes and auxiliary surfaces to calculate the volume of excavation, import 3D scenes for demonstation, and perform basic manipulations with objects at the level of vertices and polygons.

Key words: laser scanning, cloud of points, digital terrain model, triangulation, surface analysis.

Технология лазерного сканирования из года в год развивается стремительными темпами. Именно лазерное сканирование применяется тогда, когда необходимо максимально быстро и качественно получить подробную информацию о местности или объектах инфраструктуры и природных процессов, для решения различного рода задач в области проектирования и мониторинга. Сканирование может быть выполнено как с воздуха, так и с автомобиля, катера или пешей бригадой, что подчёркивает универсальность метода измерений. Результат съёмки предоставляет актуальную информацию высочайшей точности в виде

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

Была поставлена цель разработать автоматизированную программную систему, которая позволила бы решать задачи и совершать различные манипуляции при работе с облаком точек. К системе были выдвинуты следующие функциональные требования: реализация импорта облака точек с атрибутами класса и интенсивности отражённого сигнала, а также импорта 3D сцен; алгоритмов создания цифровой модели рельефа с помощью триангуляции Делоне, построения плоскостей по 3-м точкам и формирования вспомогательных поверхностей; алгоритма вычисления объёмов земляных работ; функции классификации точек; функций редактирования объектов на уровне вершин и полигонов. Также, вдобавок к функциональным требованиям, были предъявлены требования к кроссплатформенности (поддержка операционных систем семейства Linux) и высокой производительности.

Разработка программного обеспечения выполняется с помощью средств языка программирования C++ в кроссплатформенной свободной интегрированной среде разработки Qt Creator. В среду разработки встроен фреймворк Qt 5.7.0, который позволяет создавать программное обеспечение с графическим пользовательским интерфейсом быстро и эффективно. В качестве графической библиотеки была выбрана OpenGL версии 4.5, т.к. она удовлетворяет требованию кроссплатформенности и используется во многих системах автоматизированного проектирования. В комплекте с графической библиотекой использовался OpenGL Shading Language - язык высокого уровня для программирования шейдеров, который также является кроссплатформенным. Разработка временно ведётся с использованием компилятора Microsoft Visual C++ Compiler 2013, который в скором будущем будет заменён на MinGW по соображениям поддержки программного изделия на Unix-подобных системах. Для работы с 3D моделями используется особенность графической библиотеки - Vertex Buffer Object. Она позволяет выгружать на графический процессор индексы координат вершин, что делает возможным избежание хранения одинаковых координат для смежных полигонов с общими вершинами. Это в свою очередь способствует ускорению обработки данных.

Интерфейс программы представляет собой набор классических компонентов, а именно: основное меню с перечнем функционала программной системы, дополнительное меню с перечнем основных функций, область рендеринга, статус панель и дополнительные поля для ввода/вывода (рисунок). Некоторые из функций имеют специальные модальные окна для более детальной настройки параметров. Управление сценой и перемещение по ней осуществляется с помощью клавиатуры и мыши. Это реализовано посредством последовательного перемножения матриц перемещения, вращения, масштабирования и вектора с координатами вершин. Для манипулирования объектами была реализована

функция picking'a. Для этого от указателя мыши в 3D пространство сцены посылается импровизированный луч, реализованный с помощью методичного перемножения матриц модели, вида, проекции и параметров перспективы. Также, благодаря данной функции, есть возможность изменения центра вращения сцены, что позволяет более эффективно перемещаться по 3-х мерному пространству.

Vertices count: 1844674

Рис. Интерфейс программной системы

Импорт данных осуществляется с помощью специального модального диалога. Во время загрузки исходных данных, пользователь сам определяет их структуру (будь то производные файлы облака точек от *.xyz, или файлы 3D сцен формата *.obj). Если в файле облака точек имеется параметр интенсивности отражённого сигнала сканнера, то он будет учтён при рендеринге. При желании, пользователь может отключить данную функцию. Во время работы с облаком точек пользователь имеет возможность построить плоскость по трём выбранным вершинам. В будущем, планируется добавить функциональные возможности для создания большего набора различных примитивов. Функция выбора нескольких точек позволяет выполнять классификацию в ручном режиме. После создания ЦМР с помощью триангуляции Делоне пользователю становится доступным инструмент создания вспомогательных плоскостей и поверхностей для вычисления объёмов земляных масс. Впоследствии, ЦМР может быть использовано для проектирования новых или реконструкции существующих объектов, или для мониторинга состояния местности и объектов. Как и с 3D объектами, появляется возможность осуществление манипуляций на уровне вершин и на уровне полигонов.

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Скворцов А. В. Триангуляция Делоне и её применение / Под ред. А. В. Скворцов. -Томск: Издательство Томского университета, 2002.-128 с.

2. Hello GL2 Example | Qt Documentation [Electronic resource] / The Qt Company Ltd. -Англ. - Режим доступа: http://doc.qt.io/qt-5/qtopengl-hellogl2-example.html.

3. OpenGL Step by Step - OpenGL Development [Electronic resource] / Etay Meiri -Англ. - Режим доступа: http://ogldev.atspace.co.uk.

4. Комиссаров Д. В., Дементьева О. А., Миллер Е. В. Особенности обработки результатов наземного лазерного сканирования в программном продукте Cyclone // ГЕО-Сибирь-2005. Науч. конгр. : сб. материалов в 7 т. (Новосибирск, 25-29 апреля 2005 г.). - Новосибирск : СГГА, 2005. Т. 1, ч. 1. - С. 210-212.

5. Гринев А. С. Разработка 3D движка с использованием средств графической библиотеки OpenGL // LXIV Студенческая научная конференция : сб. тезисов докладов., 4-9 апр. 2016 г. - Новосибирск : СГУГиТ, 2016. - С. 163-164.

© П. Ю. Бугаков, А. С. Гринев, 2017

i Надоели баннеры? Вы всегда можете отключить рекламу.