Bashkov Evgen Alexandrovich - Donetsk National Technical University; e-mail:
bashkov@pmi.dgtu.donetdk.ua; 58, Artyoma, Donetsk, 83000, Ukraine; phone:
810380622901027; dr. of eng. sc.; professor; head the department of applied mathematics & computer science.
Zori Sergey Anatol’evich - e-mail: zori@pmi/dgtu.donetsk.ua; cand. of eng. sc.; associate professor the department of applied mathematics & computer science.
УДК 004.946
Е.А. Башков, В.С. Бабков
СРЕДСТВА ИНТЕРАКТИВНОГО ВЗАИМОДЕЙСТВИЯ РЕАЛЬНОГО И ВИРТУАЛЬНОГО ПРОСТРАНСТВ НА ОСНОВЕ ТРЕХМЕРНОГО СКАНИРОВАНИЯ ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ ПЛАТФОРМЫ
MICROSOFT KINECT
Описана параллельная реализация итерационного метода поиска ближайших точек. Данный метод применяется для сопоставления моделей, представляющих собой результат трехмерного сканирования с использованием платформы Microsoft Kinect. Сопоставление моделей - это один из этапов при объединении объектов виртуальной и дополненной реальностей. Практическое применение данной технологии - создание интерактивных, реалистичных тренажерных систем. Предложенная параллельная реализация метода отличается от существующих использованием в качестве платформы для реализации - графического процессора и распараллеливанием расчета корреляционной матрицы с целью минимизации объема данных, передаваемых между вычислительными процессами. Для предложенной реализации выполнена экспериментальная проверка на типовых тестовых моделях и получено ускорение порядка 40 % по сравнению с последовательной реализацией.
Дополненная реальность; 3d-сканирование; Microsoft kinect; метод ближайших точек; CUDA.
Y.A. Bashkov, V.S. Babkov
TOOLS FOR INTERACTION OF REAL AND VIRTUAL SPACES ON THE BASIS OF THREE-DIMENSIONAL OBJECTS USING MICROSOFT KINECT AS A SCANNING PLATFORM
The article describes the parallel implementation of the iterative method for nearest points. This method is used to compare the models, which are the result of three-dimensional scanning using the platform Microsoft Kinect. Comparison of models — it is one of the stages combine objects virtual and augmented realities. The practical application of this technology - the creation of interactive, realistic training systems. Parallel implementation of the proposed method is different from the existing use as a platform for the implementation — the GPU and parallelizing the calculation of the correlation matrix in order to minimize the amount of data transmitted between computing processes. For the implementation of the proposed experimental test performed on standard test models, and has accelerated about 40 % compared to the sequential implementation.
Augmented reality; 3d-scanning; microsoft kinect; closest points approach; CUDA.
Введение. Технологии виртуальной и дополненной реальности с каждым днем все сильнее интегрируются в современную жизнь человека. Для представления объектов в виртуальной и дополненной реальности используется трехмерное сканирование - наиболее совершенный метод получения образа объекта реального мира на сегодняшний день.
Дополненная реальность (augmented reality) - это технологии, которые дополняют изображение реальных объектов объектами компьютерной графики, а также объединяют изображения, полученные от разных источников. Дополненная реальность, в отличие от виртуальной, лишь вносит отдельные искусственные элементы в восприятие реального мира [1].
Существует довольно широкий спектр областей науки и техники, в которых может применяться дополненная реальность. Однако, в первую очередь, можно выделить такое важное направление, как тренажерные системы. Актуальными являются тренажерные учебные системы, которые позволяют не только ускорить подготовку персонала, но и помогают в моделировании и отработке разных аварийных ситуаций. При этом интерактивность и реалистичность тренажеров будут гарантировать правильность действий сотрудников при нахождении в шахте.
Существует большое количество методов получения проекционных данных для построения моделей трехмерных объектов. Общая черта этих методов - выдача результатов поиска в виде облака точек, которые описывают поверхность объекта или системы взаимосвязанных объектов. Существует много открытых проектов и библиотек для обработки облаков точек. Одной из наиболее распространенных является библиотека PCL (Point Cloud Library) [2]. Фреймворк PCL содержит многочисленный набор алгоритмов, включая фильтрацию, функции оценки, реконструкции поверхности, регистрации, а также инструменты для проведения отображения и распознавание объектов.
На сегодняшний день основной проблемой при построении систем виртуальной реальности является создания интерфейса интерактивного взаимодействия человека и виртуальной среды. До появления платформы Microsoft Kinect [3] данная проблема решалась путем облачения пользователя в сенсоры (специальные костюмы, очки, перчатки и т.п.). Избавление от необходимости использовать подобное оборудование и стало главной особенностью Kinect [4].
Таким образом, исследование методов и алгоритмов, обеспечивающих реконструкцию и объединение объектов виртуальной и дополненной реальностей, является актуальной задачей при построении разнообразных тренажерных систем.
Анализ алгоритмов получения объектов дополненной реальности. Процесс регистрации или сопоставления является одним из важнейших этапов создания модели реального трехмерного объекта в виртуальном пространстве. Источником поступления данных, а именно облаков точек объекта, которые были захвачены с разных углов, выступает контроллер Microsoft Kinect.
Процесс регистрации является процессом приведения двух облаков точек с перекрытием областей путем определения систем координат для преобразования между ними. Для регистрации облаков точек может быть использован итерационный алгоритм ближайших точек (Iterative Closest Point - ICP) как наиболее распространенный.
Итерационный алгоритм ближайших точек является доминирующим методом для сопоставления трехмерных геометрических моделей. Впервые описан в [5]. Алгоритм широко используется для регистрации исходных данных 3D-сканерами.
Алгоритм итерационно применяет преобразование (вращение и перенос), которые необходимы для сведения к минимуму расстояния между точками из двух необработанных фреймов сканирования.
Целью алгоритмов регистрации является нахождения матрицы вращения R и вектора переноса t, которые выравнивают два облака точек X={xb x2,. . . , хп} и Y={yb y2,. . . , yn} и для которых ошибки (например, по методу наименьших квадратов) между преобразованным облаком точек первого объекта и ближайшими точками облака второго объекта являются минимальными.
Входными данными алгоритма являются точки из двух необработанных фреймов сканирования, первичная оценка трансформации и критерии для остановки итераций.
Выходными данными алгоритма является матрица поворота R и вектор переноса t.
Временная сложность алгоритма зависит от времени определения ближайших точек и времени нахождения параметров преобразования. В худшем случае сложность алгоритма составляет O(n2) для 3D-сканирования n точек.
Преимуществом алгоритма ICP является простота его реализации, однако алгоритму присущи некоторые недостатки:
♦ нужны значения начальных приближений R и t для первой итерации;
♦ на каждой итерации необходимо выполнять трудоемкую операцию поиска ближайшей точки.
Для устранения указанных недостатков можно приближенно оценить ориентацию облаков точек, оптимизировать процедуру поиска соответствий и сократить число итераций алгоритма. Упомянутые выше недостатки определили основные направления в развитии каждого из этапов алгоритма:
♦ получение начальных приближений матрицы поворота и вектора переноса одной модели относительно другой;
♦ выбор характерных точек моделей для дальнейших итераций;
♦ минимизация суммы значений функции расстояния между всеми парами соответствующих точек.
Одной из основных проблем алгоритма является то, что он гарантированно сходится только к локальному минимуму, тогда как нужен глобальный минимум. Некоторые модификации алгоритма включают в себя вероятность ошибочного соотношения и стараются определить его сразу, чтобы начать из другой начальной стадии трансформации. Кроме того, для решения задачи сопоставления объектов в реальном времени необходимо ускорить этапы алгоритма, что возможно, например, за счет распараллеливания его этапов.
Параллельная модификация алгоритма ICP. Общим подходом для ускорения вычислений является распараллеливание. Существует два общих принципа дизайна, которых необходимо придерживаться для достижения максимального ускорения. Первый состоит в уменьшении числа коммуникаций между вычислительными потоками, второй состоит в балансировке вычислительной нагрузки между потоками.
Итерационная структура алгоритма ICP предполагает, что любое распараллеливание должно происходить на каждой итерации. Например, эффективное определение ближайшей точки из множества возможностей является классической задачей вычислительной геометрии и называется проблемой ближайшего соседа. Существуют разные практические методы решения этой проблемы, например k-D дерево или методы воксель-разбивки, которые значительно снижают затраты на определение соответствий. Основная идея распараллеливания заключается в делении набора данных D на части и отправке этих частей вместе с набором модели М в дочерние процессы, которые одновременно реализуют ресурсоемкие операции поиска ближайших точек [6]. Потом эти точки соответствия передаются назад в родительский процесс, который использует их для вычисления преобразования. Процесс итерационно повторяется, пока не будет достигнут минимум ошибки. Предложенная схема распараллеливания требует значительной пропускной способности для коммуникации между процессами. В связи с этим может быть предложено, например, распараллеливание вычисления корреляционной матрицы во избежание ее передачи между процессами. Основной идеей улучшения последова-
тельного алгоритма на практике является разделение вычислений между основным и графическим процессором. Для этого может быть использована библиотека CUDA Basic Linear Algebra Subprograms (CUBLAS) [7], которая является реализацией BLAS на архитектуре CUDA. Базовой моделью, по которой программная реализация использует библиотеку CUBLAS, является создание матриц и векторных объектов в пространстве памяти GPU, заполнение их данными, вызов функций CUBLAS, и загрузка результатов из GPU памяти назад в основную память.
В то время как большинство существующих на сегодня параллельных реализаций ICP распараллеливает поиск ближайших соседей, предложенная реализация распараллеливает затратные операции перемножения матриц для нахождения матрицы, необходимой для метода квантерионов Хорна [5]. Таким образом, поиск ближайших соседей выполняется последовательно, а перед расчетом матрицы данные между процессорами синхронизируются и расчет производится параллельно.
Экспериментальная проверка параллельного алгоритма ICP. Эксперименты выполнялись на операционной системе Microsoft Windows 7 с использованием CUDA Toolkit SDK v 3.0, процессор Intel Core 2 Duo P7550 (2.26GHz, 1066MHz) и графическая карта с поддержкой технологии CUDA Nvidia GeForce GT 240M.
В качестве моделей облаков точек, которые сводятся, использовался стенфордский кролик [8] с разным количеством точек.
Входные данные: два облака точек модели кролика смещенные относительно друг друга, количество точек в каждой туче - 5 000, максимальное количество итераций 50.
Ожидаемые данные на выходе: матрица поворота R и вектор переноса t.
На рис. 1 изображено начальное и конечное положение двух облаков точек.
Начальное положение Результат сведения
Рис. 1. Пример работы алгоритма
Было проведено 10 тестов с разным набором точек в модели. На каждое количество точек по два эксперимента: последовательный с выполнением на СРи и параллельный с выполнением на GPU.
Данные сравнения последовательного и параллельного выполнения алгоритма приведены на рис. 2.
Выводы. Согласно полученным результатам, параллельная реализация, с точки зрения времени, хуже (0...57 %) последовательной при небольшом наборе точек (<500) из-за потерь на копирование данных между процессорами. Тем не менее ускорение работы параллельного алгоритма возрастает прямо пропорционально при увеличении количества точек и улучшает время работы алгоритма в среднем на 40 %.
CPU
GPU
Количество точек
Рис. 2. Сравнение времени выполнения последовательной и параллельной
реализации
Исходя из полученных данных, можно сделать вывод, что предложенную параллельную реализацию ICP можно использовать, когда количество точек для сведения превышает 500, что соответствует реальным результатам сканирования. Поэтому предложенную реализацию можно использовать в составе тренажерной системы [9, 10] для осуществления операции объединения объектов виртуальной и дополненной реальностей.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Ronald T. Azuma A Survey of Augmented Reality In Presence: Teleoperators and Virtual Environments. - 1997. - № 4. - P. 355-385.
2. PCL - Point cloud library - [Электронный ресурс] / Интернет-ресурс. - Режим доступа: http://pointclouds.org/.
3. Kinect for Windows - [Электронный ресурс] / Интернет-ресурс. - Режим доступа: http://www.microsoft.com/en-us/kinectforwindows/.
4. Бабков В.С., Соболев Е.Г. Разработка подсистемы интерактивного взаимодействия в составе тренажерной системы с использованием платформы Microsoft Kinect, ИУС и КМ 2012 // Материалы III Всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых. - Донецк, ДонНТУ, 2012. - C. 685-689.
5. Paul J. Besl, Neil D. McKay. A Method for Registration of 3-D Shapes // ЕЕ Transactions on Pattern Analysis and Machine Intelligence. - 1992. - Vol. 14, № 2. - Р. 239-256.
6. Langis C., Greenspan M. and Godin G. The parallel iterative closestpoint algorithm. In Proc. IEEE 3DIM, Quebec City, Canada, June 2001.
7. CUDA-based implementations of Softassign and EM-ICP Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda, Marcos Slomp (Hiroshima University, Japan) CVPR, 2010.
8. The Stanford Bunny, Stanford University Computer Graphics Laboratory - [Электронний
ресурс] / Интернет-ресурс. - Режим доступа: http://graphics.stanford.edu/ soft-
ware/scanview/models/bunny.html.
9. Bashkov E.A., Babkov V.S. Modeling of the miner workplace environment using virtual reality technique // Материалы международной научной конференции «Моделирование 2012» (16-18 мая 2012, Киев). - Изд-во ИПМЭ им. Пухова НАН Украины. - 2012. - Т. 1. - С. 75-78.
10. Башков Е.А., Бабков В.С. Программная система для построения виртуального рабочего окружения на предприятиях горнодобывающей промышленности // Известия ЮФУ. Технические науки. - 2012. - № 5 (130). - С. 211-214.
Статью рекомендовал к опубликованию д.т.н., профессор А.В. Боженюк.
Башков Евгений Александрович - Донецкий национальный технический университет; e-mail: bashkov@pmi.dgtu.donetsk.ua; Украина, 83000, г. Донецк, Артема, 58; тел.: 810380622901027; д.т.н.; профессор; проректор по научной работе; зав. кафедрой прикладной математики и информатики.
Бабков Виктор Светозарович - e-mail: victor.babkov@gmail.com; к.т.н., доцент кафедры прикладной математики и информатики.
Bashkov Evgen Alexandrovich - Donetsk National Technical University; e-mail: bashkov@pmi.dgtu.donetdk.ua; 58, Artyoma, Donetsk, 83000, Ukraine; phone: 810380622901027; dr. of eng. sc.; professor; head the department of applied mathematics & computer science.
Babkov Victor Svetozarovich - e-mail: victor.babkov@gmail.com; cand. of eng. sc.; associate professor the department of applied mathematics and informatics.
УДК 621.396.933
Е.В. Герман, Е.Р. Муратов, М.Б. Никифоров
ДВА ПОДХОДА К ВЫДЕЛЕНИЮ И ВЕКТОРИЗАЦИИ КОНТУРНЫХ ЛИНИЙ ОБЪЕКТОВ ПОДСТИЛАЮЩЕЙ ПОВЕРХНОСТИ
В данной работе представлена постановка задачи совмещения изображений зака-бинной обстановки летательного аппарата и виртуальной модели местности, полученной по цифровой карте местности, для создания системы комбинированного (улучшенного/синтезированного) видения, представлены специфика и основные особенности данных типов изображений. Дан обзор существующих методов решения подзадачи выделения и векторизации контурных линий, рассмотрены яркостный метод выделения контуров, алгоритм подчеркивания границ и векторизации на основе метода Превитта. Описаны основные этапы реализации предложенных методов, выявлены их достоинства и недостатки. Представлена модификация метода Отсу. Приведен алгоритм скелетизации. Проведено сравнение предложенных методов по 5 параметрам, даны рекомендации по их дальнейшему использованию для решения задачи совмещения разнородных изображений.
Комбинированное видение; виртуальная модель местности; метод Отсу; метод Превитта; скелетизация.
E.V. German, Y.R. Muratov, M.B. Nikiforov
TWO APPROACHES TO THE SELECTION AND VECTORIZATION OF COUNTOR LINES OF OBJECTS OF THE UNDERLYINS SURFACE
This article presents a formulation of the problem of combining images situation of the aircraft cabin and the virtual terrain model obtained on the digital map of the area, to create a combined system (improved / synthesized) vision are specific and the main features of these types of images. A review of existing methods for solving the subproblem selection and vectorization of contour lines, a method considered luminance edge detection algorithm underscore boundaries and tracing on the basis of identified their strengths and weaknesses. Describes the main stages of the proposed methods, identified their strengths and weaknesses. Presented a modified method of Otsu. The algorithm for thin lines. A comparison of the proposed methods on five parameters, recommendations for their further use for solving the problem of combining disparate images.
Combined vision; virtual terrain model; tOtsu’smethod; Prewitt method; skeletonization.
Тенденции развития авиационной техники на сегодняшний день таковы, что одной из приоритетных задач инженерии в этой области становится создание системы комбинированного видения, позволяющей получить обработанное изобра-