Платформа реалистичной визуализации для гарнитур смешанной реальности


Руководитель от Университета ИТМО: Быковский Сергей Вячеславович, Университет ИТМО

Набор в этот проект закончен.

Аннотация

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

Технология смешанной реальности только начинает набирать популярность во многих прикладных областях таких, например, как культура и историческая реконструкция, медицина, образование и многие другие. В области культуры становится возможным создание виртуальных музеев, исторических памятников и зданий, а также воссоздание разрушенных памятников и сооружений на их исторических местах, в области медицины - создание анатомических театров и виртуальных ассистентов на операциях, в области образования - создание виртуальных лабораторий и тренажёров, с помощью которых можно проводить эксперименты, неотличимые от реальных.

В рамках проекта вы сможете развиваться, например, в роли разработчика специализированных процессоров и спроектируете собственный процессор на системном уровне, а также создадите реальный прототип с использованием языков описания аппаратуры 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 в задачах передачи разного типа трафика (сообщения, файлы, потоковый звук и видео) с использованием ресурсов встроенных систем
  • разработать микросервисный фреймворк с возможностью миграции процессов в облако для вычислительной подсистемы гарнитур смешанной реальности

Решаемые технические проблемы

  1. Выполнение вычислений в реальном времени для снижения дискомфорта восприятия объектов виртуального мира в составе реальной сцены
  2. Создание систем автоматизированного проектирования (САПР) компонентов гарнитур смешанной реальности с целью их ускоренной разработки, устранения ошибок, связанных с человеческим фактором, повышения качества продукта.
  3. Создание интеллектуальных датчиков для сбора данные о состоянии реальной сцены в реальном времени и “бесшовной” интеграции в неё виртуальных объектов.
  4. Разработка удобного фреймворка для оркестрации параллельных процессов сбора и обработки данных в гарнитрурах смешанной реальности

Стек технологий

Набор изучаемых технологии в соответствии с областями знаний в соответствии с CC2020.

  1. User and Organizations
    • Инструменты гибкой разработки Agile, Scrum, Kanban
    • Тайм-менеджмент и планирование временем
  2. System Modeling
    • Системное моделирование с использованием языков UML/SysML
    • Анализ требований
  3. System Architecture and Infrastructure
    • Методы проектирования встроенных и кибер-физических систем
    • Методы проектирования интернета вещей
    • Организация параллельных и распределенных вычислений
    • Платформо-ориентировання разработка
    • Аспектное проектирование
  4. 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.
  5. Software Fundamentals
    • Алгоритмы и структуры данных
    • Операционные системы раельного времени
    • Компьютерная графика
  6. Hardware
    • Высокоуровневый синтез с языков С/С++ аппаратных ускорителей
    • Использование HCL языков таких, как Chisel и его аналогов
    • Языки описания аппаратуры Verilog HDL, VHDL
    • Разработка системных моделей процессоров, моделей на уровне транзакций (TLM) и на уровне регистровых передач (RTL)
    • Знание современной электронной компонентной базы
    • Разработка печатных плат и систем на модуле

Предварительный перечень курсов

  • Проектирование встроенных и киберфизических систем
  • Системная и программная инженерия
  • Организация вычислительного процесса
  • Процессоры и функциональные ускорители
  • Программное обеспечение встроенных систем
  • Верификация и тестирование встроенных систем
  • Мобильные системы компьютерного зрения
  • Теоретические основы компьютерной графики и вычислительной оптики

Кем станет студент по завершению магистратуры

В зависимости от выполняемых задач внутри проекта выпускник может стать:

  • системным архитектором
  • ведущим инженером-проектировщиком системного программного обеспечения
  • ведущим инженером-проектировщиком встроенных систем
  • ведущим инженером-проектировщиком систем на ПЛИС/FPGA

Пререквизиты (входные требования)

Для участия в проекте необходимы базовые знания по следующим направлениям:

  • Цифровая схемотехника
  • Программирование на языках C/C++, python
  • Компьютерные сети
  • Компьютерная графика
  • Архитектура компьютера
  • Встроенные системы