Список литературы
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 рублей.