Платформа реалистичной визуализации для гарнитур смешанной реальности
Руководитель от Университета ИТМО: Быковский Сергей Вячеславович,
Университет ИТМО
Набор в этот проект закончен.
Аннотация
Проект посвящен разработке программно-аппаратной платформы для гарнитур смешанной реальности. Такие гарнитуры — это очки или специализированные шлемы, предоставляющие возможность интеграции виртуальных объектов в реальное окружение. Они могут быть как видеопрозрачными, когда человек видит не реальный мир, а он воссоздается совместно с виртуальными объектами непосредственно на сетчатке его глаза, так и оптикопрозрачными, когда человек смотрит на мир, на который проецируются виртуальные объекты. Разрабатываемая платформа состоит из устройств для сбора и анализа данных об окружающем пространстве, специализированных встроенных процессоров для расчета реального освещения виртуальных объектов, а также набора библиотек и среды разработки. Все это можно использовать, как конструктор для гарнитур смешанной реальности.
Технология смешанной реальности только начинает набирать популярность во многих прикладных областях таких, например, как культура и историческая реконструкция, медицина, образование и многие другие. В области культуры становится возможным создание виртуальных музеев, исторических памятников и зданий, а также воссоздание разрушенных памятников и сооружений на их исторических местах, в области медицины - создание анатомических театров и виртуальных ассистентов на операциях, в области образования - создание виртуальных лабораторий и тренажёров, с помощью которых можно проводить эксперименты, неотличимые от реальных.
В рамках проекта вы сможете развиваться, например, в роли разработчика специализированных процессоров и спроектируете собственный процессор на системном уровне, а также создадите реальный прототип с использованием языков описания аппаратуры Verilog HDL/VHDL и выполните его тестирование на микросхемах программируемой логики (ПЛИС, FPGA). Либо вы научитесь составлять обобщенные представления архитектур и разрабатывать системы синтеза специализированных процессоров, например, для моделирования нейронных сетей. Третье направление посвящено подготовке профессионалов в проектировании подсистемы интеллектуального сбора данных с разнородных датчиков, в рамках которого вы приобретете конструкторские навыки, так как придется продумывать вопросы размещения камер и дальномеров в компактных гарнитурах смешанной реальности, а также научитесь разрабатывать драйвера устройств. В рамках четвертого направления готовятся специалисты по организации взаимодействия параллельных процессов в мобильной роботизированной системе, вы научитесь методам организации распределенных и параллельных вычислений, методам балансировки нагрузки между вычислительными узлами, а также мониторингу и анализу их работы.
План действий
В рамках проекта возможны как минимум четыре разных направления.
Направление 1
Разработка специализированных процессоров для ускорения алгоритмов, используемых в системах смешанной реальности: трассировка лучей, моделирование нейронных сетей, оценка оптических параметров объектов сцены, построение карты глубины.
Примеры решаемых задач:
- провести сравнительный анализ методов, алгоритмов и структур данных трассировки лучей
- исследовать существующие архитектуры ускорителей алгоритмов трассировки лучей
- выделить недостатки существующих решений и предложить пути их решения
- спроектировать архитектуру аппаратного ускорителя с использованием языка моделирования SysML, а также имитационную модель с использованием библиотеки SystemC
- реализовать прототип ускорителя на ПЛИС (FPGA) с использованием языка описания аппаратуры Verilog HDL, провести профилирование прототипа и анализ его эффективности
Направление 2
Разработка системы синтеза специализированных процессоров для систем смешанной реальности.
Примеры решаемых задач:
- выполнить обзор средств синтеза LeFlow, HLS4ML, AccDNN, Caffeine и их аналоги для нейросетевых процессоров
- исследовать способы параметризации архитектур нейросетевых процессоров
- разработать средство высокоуровневого синтеза нейросетевых процессоров для моделирования сверточных нейронных сетей в реальном времени
Направление 3
Разработка интеллектуальных устройств сбора мультисенсорных данных таких, как сканирующие устройства на базе лазера и MEMS-зеркал, RGBD-камеры (камеры глубины), устройства трекинга передвижения на базе акселерометров, гироскопов и магнитометров, а также разработка методов и алгоритмов обработки мультисенсорных данных
Примеры решаемых задач:
- разработать алгоритм сбора данных с лазерного дальномера и визуализации плотного облака точек в реальном времени
- исследовать способы фильтрации и регистрации плотных облаков точек, снятых с разных позиций
- разработать метод совмещения данных с камер и лазерного дальномера для увеличения точности построения карты глубины
- спроектировать архитектуры 3D-сканера на базе лазера и MEMS-зеркала
- спроектировать архитектуры 3D-сканера на базе лидара и камеры
- собрать устройство 3D-сканера и его тестирование на реальных сценах
Направление 4
Фреймворк для систем смешанной реальности на базе микросервисной архитектуры.
Примеры решаемых задач:
- провести сравнительный анализ методов организации взаимодействия параллельных процессов в роботизированных устройствах, таких как ROS, Gobot и их аналогов.
- исследовать возможности микросервисного подхода для организации взаимодействия процессов в мобильных роботизированных устройствах
- спрофилировать брокеры сообщений Nats, RabbitMQ, Apache Kafka в задачах передачи разного типа трафика (сообщения, файлы, потоковый звук и видео) с использованием ресурсов встроенных систем
- разработать микросервисный фреймворк с возможностью миграции процессов в облако для вычислительной подсистемы гарнитур смешанной реальности
Решаемые технические проблемы
- Выполнение вычислений в реальном времени для снижения дискомфорта восприятия объектов виртуального мира в составе реальной сцены
- Создание систем автоматизированного проектирования (САПР) компонентов гарнитур смешанной реальности с целью их ускоренной разработки, устранения ошибок, связанных с человеческим фактором, повышения качества продукта.
- Создание интеллектуальных датчиков для сбора данные о состоянии реальной сцены в реальном времени и “бесшовной” интеграции в неё виртуальных объектов.
- Разработка удобного фреймворка для оркестрации параллельных процессов сбора и обработки данных в гарнитрурах смешанной реальности
Стек технологий
Набор изучаемых технологии в соответствии с областями знаний в соответствии с CC2020.
- User and Organizations
- Инструменты гибкой разработки Agile, Scrum, Kanban
- Тайм-менеджмент и планирование временем
- System Modeling
- Системное моделирование с использованием языков UML/SysML
- Анализ требований
- System Architecture and Infrastructure
- Методы проектирования встроенных и кибер-физических систем
- Методы проектирования интернета вещей
- Организация параллельных и распределенных вычислений
- Платформо-ориентировання разработка
- Аспектное проектирование
- Software Development
- Программирование на языках C/C++, C#, python
- Использование библиотек Node.js, Three.js, SystemC, OpenGL, OpenCV, PCL, pytorch, TensorFlow
- Системное программирование под Linux, FreeRTOS, RTEMS
- Web-разработка с использованием HTML, CSS, Java Script, WebGL.
- Software Fundamentals
- Алгоритмы и структуры данных
- Операционные системы раельного времени
- Компьютерная графика
- Hardware
- Высокоуровневый синтез с языков С/С++ аппаратных ускорителей
- Использование HCL языков таких, как Chisel и его аналогов
- Языки описания аппаратуры Verilog HDL, VHDL
- Разработка системных моделей процессоров, моделей на уровне транзакций (TLM) и на уровне регистровых передач (RTL)
- Знание современной электронной компонентной базы
- Разработка печатных плат и систем на модуле
Предварительный перечень курсов
- Проектирование встроенных и киберфизических систем
- Системная и программная инженерия
- Организация вычислительного процесса
- Процессоры и функциональные ускорители
- Программное обеспечение встроенных систем
- Верификация и тестирование встроенных систем
- Мобильные системы компьютерного зрения
- Теоретические основы компьютерной графики и вычислительной оптики
Кем станет студент по завершению магистратуры
В зависимости от выполняемых задач внутри проекта выпускник может стать:
- системным архитектором
- ведущим инженером-проектировщиком системного программного обеспечения
- ведущим инженером-проектировщиком встроенных систем
- ведущим инженером-проектировщиком систем на ПЛИС/FPGA
Пререквизиты (входные требования)
Для участия в проекте необходимы базовые знания по следующим направлениям:
- Цифровая схемотехника
- Программирование на языках C/C++, python
- Компьютерные сети
- Компьютерная графика
- Архитектура компьютера
- Встроенные системы