Рассмотрение концепции разработки программного обеспечения для захвата и визуализации стереоизображений для мобильных устройств. Изложение подходов к съемке и созданию полной мозаичной сферической панорамы из последовательностей захваченных изображений.
Аннотация к работе
В данной работе производится обзор и анализ существующих решений для создания сферических трехмерных фотопанорам и их отображения мобильным устройством с использованием очков виртуальной реальности (ВР). Предлагается разработка нового приложения, способного выполнять функции съемки и обработки фотопанорам с дальнейшей адаптацией под ВР-визуализацию.Области применения 3D технологий, используемых мобильными приложениями, разнятся в зависимости от назначения: от развлекательных, игровых до областей инженерии, архитектуры и т.д. Приложение, функционирующее на платформе IOS, позволяет захватывать 3D модели практически любого предмета в режиме реального времени. Так, например, Home Design 3D для Android, позволяет изобразить схему Вашей квартиры/дома/сада в режиме 2D, после чего будет создан реалистичный 3D-эскиз интерьера, включая подробные модели мебели, полового и настенного покрытия и прочих элементов дизайна. Улучшенное 3D восприятие может быть достигнуто с помощью оборудования Виртуальной Реальности (ВР) или современных устройств с 3D-дисплеями. Тем не менее, большинство этих устройств являются дорогостоящими и многие разработчики 3D-приложений, таких как инструменты моделирования и анимации, не выпускают продукцию, необходимую для этих программ.Стереоскопия - способ получения стереоизображении, при котором обеспечивается условие одновременного рассмотрения объекта правым и левым глазом, имитирующие естественное бинокулярное зрение [1]. В свою очередь бинокулярное зрение - способность одновременно четко видеть изображение предмета обоими глазами; другими словами, каждый глаз человека (у животных аналогично) видит стереопару двух изображений, однако благодаря работе нашего зрительного анализатора (коре головного мозга) мы видим единый целостный образ. Различны они потому, что отдельные части видимого объекта расположены на разном удалении от наблюдателя, и при просмотре с разных точек зрения (левый и правый глаз) имеют разное угловое смещение (параллакс).Виртуальная реальность (ВР) - широкий термин, который может быть использован для определения технологий, улучшающих ощущение у пользователя виртуального присутствия или погружения в виртуальную среду. Desktop VR - иногда называют Window on World (WOW) системы. Эти системы поддерживают отслеживание движений головы и, следовательно, улучшают чувство погружения в среду благодаря эффекту параллакса движения. Они используют обычный монитор (очень часто с ЖК-затворными очками для просмотра стереоскопического изображения), но, как правило, не поддерживают сенсорную связь со стороны пользователя; Они позволяют пользователю полностью погрузиться в мир компьютерной реальности, генерируется с помощью Head-mounted display (HMD), иначе говоря шлемов виртуальной реальности, которые поддерживают стереоскопическое представление сцены в соответствии с положением пользователя и его ориентацией в пространстве.Из отчета аналитической компании International Data Corporation (IDC) за ноябрь 2015 года [6] «Обзор и анализ мобильных операционных систем и их позиций на глобальном потребительском рынке» следует, что лидирующие позиции занимают системы Android и IOS. Android («Андроид») - операционная система (ОС) для смартфонов, интернет-планшетов, электронных книг, цифровых проигрывателей, наручных часов, игровых приставок, нетбуков и других устройств. Было предложено осуществить работу данного приложения на устройствах под управлением ОС Android с API 16 (Jelly Bean) или новее.Операционная система Android существует благодаря виртуальной машине Dalvik Virtual Machine (DVM), написанной на языке программирования Java. Существует специальный инструментарий для разработки под систему Android - Software Development Kit (Android SDK), для работы которого необходим комплект разработчика приложений на языке Java - Java Development Kit (JDK) [9]. В 2009 году был опубликован новый инструментарий - пакет Android Native Developers Kit (Android NDK), что дало возможность использования множества оптимизированных алгоритмов, уже реализованных в стандартных библиотеках для языков С/С . Увеличение производительности программы (например, если в приложении имеет место обработка большого количества данных). Для того, чтобы понять, какой инструментарий необходим для будущей разработки и какие языки при этом будут задействованы, рассмотрим две основных функции, которые будет выполнять приложение: захват и визуализация стереоскопического изображения.Для разработки программного обеспечения, что включает в себя не только написание кода, но и сборку, отладку, компилирование, используется комплекс программных средств - интегрированная среда разработки (Integrated development environment, IDE) [13]. При объектно-ориентированном программирование среда может содержать в себе браузер классов, инспектор объектов и диаграмму иерархии классов. Рассмотрим существующие среды, применимые к разработке на платформе Android: 1.5.
План
Оглавление
Введение
1. Обзор и анализ предметной области
1.1 Обзор основных понятий предметной области
1.2 Обзор устройств виртуальной реальности
1.3 Обзор состава и параметров технических средств мобильных устройств
1.4 Обзор применимых языков программирования и обоснование выбора
1.5 Обзор сред разработки и обоснование выбора
1.5.1 Среда разработки Eclipse
1.5.2 Среда разработки Android Studio
1.5.3 Сравнение и выводы
1.6 Обзор существующих аналогов
2. Обзор и анализ существующих методов
2.1 HMD-совместимая сферическая стерео панорама с использованием одной камеры с нормальным объективом
2.1.1 Генерация сферической стерео панорамы с использованием одной камеры
2.1.2 Две степени свободы вращения
2.1.3 Сшивание изображения из фото полос
2.1.4 Результаты применимого метода
2.1.5 Выводы о проанализированном методе
3. Теоретическая часть работы
3.1 Цилиндрические и сферические фото панорамы
3.2 Панорамные перспективы (8 параметров)
3.3 Панорамные перспективы (3 параметра)
3.4 Оценка фокусного расстояния
3.5 Замыкание разрывов в панораме
3.6 Построение карт окружения
4. Практическая часть работы
4.1 Создание сферической панорамы для одной точки зрения