Статья:

О ФИЛЬТРАЦИИ ДАННЫХ ЛАЗЕРНОГО 3D СКАНИРОВАНИЯ

Конференция: VII Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»

Секция: 3. Информационные технологии

Выходные данные
Султанов Л.З. О ФИЛЬТРАЦИИ ДАННЫХ ЛАЗЕРНОГО 3D СКАНИРОВАНИЯ // Молодежный научный форум: Технические и математические науки: электр. сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7(7). URL: https://nauchforum.ru/archive/MNF_social/7(7).pdf (дата обращения: 20.08.2018)
Лауреаты определены. Конференция завершена
Эта статья набрала 2 голоса
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

О ФИЛЬТРАЦИИ ДАННЫХ ЛАЗЕРНОГО 3D СКАНИРОВАНИЯ

Султанов Линар Закиевич
студент Башкирского государственного университета, РФ, г. Стерлитамак
Мустафина Светлана Анатольевна
научный руководитель, научный руководитель - д.ф.-м.н., профессор Башкирского государственного университета, РФ, г. Стерлитамак

 

 

 

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

Технология 3D сканирования применяется в архитектуре для 3D моделирования зданий, улиц и кварталов, составления подробных планов и 2D чертежей, создания и восстановления исполнительной документации и создания рабочих чертежей. При помощи 3D сканирования происходит корректировка проекта и контроль точности выполнения строительных норм в процессе строительства, мониторинг состояния объекта при эксплуатации и восстановление утраченных чертежей. В нефтегазовой промышленности она упрощает 3D моделирование месторождений, продуктопроводов, создание высокоточных цифровых моделей сложных технологических объектов и узлов, геометрический контроль резервуаров, проектирование объектов обустройства месторождений [3].

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

Контактный 3D-сканер — это устройство, имеющее специальный щуп, который изучает контуры объекта и на основе этого выстраивает его 3D-копию.

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

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

В текущей работе используется лазерный 3D сканер компании Faro, который относится к категории активных сканеров.

 

http://faro.by/images/Faro_Focus3D/Faro%20Focus%203D_01.jpg

Рисунок 1. Лазерный 3D сканер Faro Focus 3D

 

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

Такое облако точек представляет собой набор вершин в трёхмерной системе координат, которые определяются координатами X, Y и Z, а так же данными об их цвете в формате RGB.

Стоит отметить, что в получаемом облаке точек содержится, как правило, довольно большое количество точек, которые относятся либо к шумовой составляющей, либо к избыточным данным (рис. 2), что значительным образом усложняет процесс автоматизации обработки данных 3D сканирования и восприятия объектов проектировщиками на предприятиях.

 

Рисунок 2. Скриншот облака с избыточными точками

 

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

Процедуру фильтрации избыточных точек облака условно можно разделить на следующие итерации:

1.  Считывание данных из файлов в массивы соответствующих типов.

2.  Определение принадлежности точки одного облака достаточно малой окрестности точки другого облака (для определенности назовем его базовым).

3.  В случае если точка не принадлежит ни одной из окрестностей точек базового облака — сохраняем её в выходной массив.

4.  Вывод данных выходного массива в файл.

Таким образом, можно добиться уменьшения занимаемого пространства на диске от 5 до 50 процентов, в зависимости от шага сканирования. Как следствие, это позволяет значительно снизить нагрузку на текущее оборудование проектировщиков и увеличить их производительность труда, а так же сэкономить предприятию деньги на хранилищах данных.

 

Рисунок 3. Скриншот облака после выполнения программы

 

Дальнейшим этапом развития работы планируется избавление от шумовой составляющей и распараллеливание данной задачи на графических процессорах с применением технологии Nvidia CUDA, поскольку результаты показали недостаточную скорость выполнения последовательных алгоритмов для промышленного применения в связи с огромным количеством данных в облаках точек (порядка 3*10^7 точек с одной точки съёма).

CUDA (Compute Unified Device Architecture) — это программно-аппаратная платформа для параллельных вычислений, которая использует ресурсы графического процессора Nvidia для неграфических вычислений [2].

CUDA позволяет программисту ускорять выполнение участков кода, хорошо укладывающихся на модель исполнения SIMD, с привлечением ресурсов графического процессора [1]. Не требуется модификация уже используемых средств разработки, нужно только настроить связь с препроцессором и компилятором от Nvidia. Негативными сторонами являются необходимость наличия графического процессора именно от Nvidia и необходимость в копировании данных между адресными пространствами, а также сложность модели памяти на графическом ядре [4]. Первое не влияет существенной роли применительно к текущей работе, т. к. предполагается однократная обработка данных на специально отведенном оборудовании.

Учитывая, что текущая задача является задачей с высокой степенью параллелизма и для хранения данных облака точек используется тип данных float, то можно добиться значительного прироста производительности данного приложения даже на игровых видеокартах Nvidia [5].

 

Список литературы:

  1. Боресков А.В., Харламов А.А. Основы работы с технологией CUDA. — М.: ДМК Пресс, 2010.
  2. Официальный сайт компании NVIDIA — [Электронный ресурс] — Режим доступа. — URL: http://www.nvidia.ru/object/cuda-parallel-computing-ru.html (дата обращения 12.12.2013)
  3. Официальный сайт авторизованного партнера FARO — [Электронный ресурс] — Режим доступа. — URL: http://faro.by/katalog/skaner-faro-focus-3d (дата обращения 12.12.2013)
  4. Сандерс Д., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров. Пер. с англ. — ДМК Пресс, 2011.
  5. Султанов Л.З. Сравнительный анализ использования OpenMP и Nvidia CUDA // сборник Всероссийской научно-практической конференции с международным участием «Математическое моделирование процессов и систем», СФ БашГУ. 2013. — С. 260—262