научная статья по теме Методы формирования трехмерного представления объектов сцены в виде облака точек Биология

Текст научной статьи на тему «Методы формирования трехмерного представления объектов сцены в виде облака точек»

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

1. Опыт и перспективы использования информационных технологий в образовании: монография / Е.Н. Рогановская, Е.В. Жилина, М.В. Кручинин [и др.]; под общ. ред. Н.В. Лалетина; Сиб. федер. ун-т; Краснояр. гос. пед. ун-т им. В.П. Астафьева [и др.]. - Красноярск: ООО «Центр информации», ЦНИ «Монография», 2013. 236 с.

методы формирования трехмерного представления объектов сцены в виде облака точек

разакова А.н., Салимгереев А.М., Шамин А.М., лугуев т.С.

Дагестанский государственный университет, Махачкала, Россия

methods of 3-d scene objects representation using point clouds

Razakova A.N., salimgereev A.M., shamin A.m., Luguev T.s.

Dagestan State University, Makhachkala, Russia

Исследованы методы трехмерной реконструкции объектов сцены внутри помещений с помощью RGB-D камер. На основе анализа карт глубины сцены, поступающих от сенсора Кинект разработан подход формирования облака точек. Рассмотрены методы обработки облака точек для получения 3D модели помещения.

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

Methods of 3-D reconstructions of the objects in indoor environment were investigated using RGB-D cameras. Approach of point clouds formation was developed utilizing Kinect depth maps analysis. Point clouds processing methods were studied for 3D model formation.

Keywords: 3D reconstruction, point clouds, Kinect sensor, augmented reality, computer vision, computer graphics, modeling.

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

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

Существуют различные методы получения данных для построения моделей трехмерных объектов [1, 2, 4]. Общей характеристикой этих методов является необходимость формирования облака точек для получения трехмерной модели. Облако точек позволяет описывать поверхности объектов и их взаимное расположение в пространстве.

В настоящей работе исследуются вопросы формирование трехмерной модели помещения в виде облака точек с использованием недорогих RGB-D камер, в частности сенсора Кинект. Ки-нект - это горизонтально расположенное устройство на небольшом круглом основании. Размеры - примерно 23 см в длину и 4 см в высоту. Устройство состоит из инфракрасного излучателя (ИК-излучатель), цветной видеокамеры (RGB-камера), инфракрасного сенсора глубины (ИК сенсор глубины) и микрофонной решетки. В дополнение к цветовой информации сенсор Кинект позволяет получать карты глубины сцены. Использование карт глубины в дополнение к цветовой информации позволяет добиться лучших результатов для ряда задач обработки изображений [3, 6, 7].

В результате исследования были решены следующие задачи:

1) Реализованы методы получения данных от сенсора Кинект.

2) Выработан подход к формированию облака точек, соответствующих сцене на основе данных о дальности до сцены, получаемых от сенсора Кинект.

3) Разработаны методы обработки облака точек для получения 3D модели помещения.

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

Рис. 1. Исходные карты глубины и полученная трехмерная модель

Информация от сенсора Кинект поступает с помощью трех потоков: ColorStream, DepthStream (в него входит и SkeletonStream) и AudioStream [8]. Также при инициализации слайдеру присваиваем текущий угол наклона Кинекта. Для того, чтобы передать потоки данных в которые мы хотим записать данные с устройства используется метод: _sensor_AllFramesReady [9]. Данные для цветного потока записываются в массив pixels типа byte. Для того чтобы записать данные для потока глубины их нужно сгенерировать. Для этой цели используется метод GenerateColoredBytes [9]. В зависимости от расстояния массиву pixels присваивается определенное значение. Например, если расстояние меньше или равно 900 мм, то массиву pixels с индексом 0 присваивается 255, с индексом 1 - 0, с индексом 2 - 0. То есть если расстояние меньше 900 мм, то изображение становится синим. Точно так же для других случаев (если расстояние больше 900 мм и меньше либо равно 2000 мм - зеленый, если больше 2000 мм - красный).

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

public bool ProcessFrame(

FusionFloatImageFrame depthFloatFramej int maxAlignlterationCountj int maxIntegrationWeightj Matrix4 worldToCameraTransform) {

if (null == depthFloatFrame)

{

throw new ArgumentNullException("depthFloatFrame");

}

ushort maxlterations = ExceptionHelper,CastAndThrowIfOutOfLPs hort Range (maxAlignlte rat ionCount);

ushort maxWeight = ExceptionHelper,СastAndThrowIfOutOfUshortRange(maxIntegrationWeight);

HRESLPLT hr = volume- Process Frame (

F u sionlmage F rame,ToHa n dle Ref(d e pt h Float F rame),

maxlterations.,

maxWeightj

ref worldToCameraTransform)j

if (hr == HRESULT,E_NUI_FUSION_TRACKING_ERROR)

{

return false;

}

else

{

ExceptionHelper.ThrowIfFailed(hr);

}

return true;

рис. 2. Функция ProcessFrame, оценивающая положение сенсора и добавляющая информацию к облаку точек

Параметром, контролирующим сглаживание является maxIn-tegrationWeight, заданием которого можно находить баланс между уровнем гладкости получаемой модели и устойчивости к более динамичным сценам. Чем больше значение параметра maxIntegrationWeight, тем более гладкой получается выходная сцена, но менее устойчива к быстрым изменениям положения объектов. При небольших значениях параметра maxIntegrationWeight выходная сцена получается менее гладкой, но функция более устойчива к быстрым изменениям положения объектов.

public void IntegrateFrame(

FusionFloatlmageFrame depthFloatFrame, int naxIntegrationWeight, Matrix4 worldToCameraTransform)

{

if (null == depthFloatFrame)

{

throw new ArgumentMullExceptionC'depthFloatFrame1');

}

ushort integrationWeight = ExceptionHelper.CastAndThrowIfOutOfUshortRange(maxIntegrationWeight)

ExceptionHelper.ThrowlfFailed(volume.IntegrateFrame( FusionImageFrame,ToHandleRef(depthFloatFrame), integrationWeightj ref worldToCameraTransform));

}

Рис. 3. Функция IntegrateFrame, добавляющая информацию к облаку точек

Для добавления информации к облаку точек на основе данных от текущей карты глубины выполняется следующая функция IntegrateFrame (рис. 3).

Пример полученной модели приведен на рисунке 4, просмотр которой возможен с помощью, например, утилиты StlView.

Дальнейшая обработка облака точек возможна средствами библиотеки PCL [15], а также 3ds max.

Рис. 4. Просмотр полученной модели с помощью утилиты StlView

Заключение

В результате выполнения работы были выявлены и изучены методы работы с сенсором Кинект и получения карт глубины от него. Был реализован ряд методов анализа карт глубины и рассмотрены особенности их применения к задачам трехмерной реконструкции объектов, обработки облаков точек. Реализовано получение трехмерной модели помещения в виде облака точек с использованием устройства Ктес! Рассмотрены методы обработки облака точек для получения 3D модели помещения.

Создание интерактивных моделей внутренних помещений зданий является актуальной задачей и может быть полезна для

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

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

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

1. Золотухин Д.А., Сафонов И.В., Крыжановский К.А. Реконструкция и фильтрация трехмерной формы микрообъекта по стереопаре изображений с параллельной проекцией // Механика, управление и информатика. 2012. № 9 (9). С. 174-179.

2. Лугуев Т.С. Методы компьютерного анализа выражения человеческого лица // Известия Южного федерального университета. Технические науки. 2013. № 5 (142). С. 251-256.

3. Морозов М.Н., Сморкалов А.Ю., Богданов И.О. Использование Microsoft Kinect и вычислительных возможностей потоковых процессоров для проведения занятий в виртуальном мире VAcademia // Образовательные технологии и общество. 2013. Т. 16. № 3. С. 603-616.

4. Плотникова Е.М. Алгоритмы реконструкции трёхмерной модели сцены по двум цифровым изображениям // Сборник научных трудов Sworld. 2012. Т. 6. № 3. С. 27-36.

5. Розалиев В.Л., Орлова Ю.А., Шпирко А.А., Дорофеев Н.С. Автоматизация построения векторной модели тела человека // Электротехнические и информационные комплексы и системы. 2013. Т. 9. № 2. С. 102-106.

6. Франц В.А., Левина О.М., Воронин В.В., Кожин Р.А. Первичная обработка карты глубины изображения // Успехи совре-

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком