Технологии дополненной реальности (AR)
- информатика
- математика
Дополненная реальность (augmented reality, AR) — это технология, позволяющая совмещать виртуальный, моделируемый при помощи компьютера, и реальный, окружающий нас, мир.
Из-за связи профиля с разработкой оригинальных визуальных решений, обладающих вау-фактором, появилось мнение, что в данном профиле принимают участие самые модные школьники. Наверное, это так, если «модный» читать как творческий, креативный, способный к постоянной активации незнакомого, неизвестного, несуществующего, обладающий квалификацией, достаточной для того, чтобы генерировать технические решения, обгоняющие время. Поиску именно такого решения и будет посвящен финал профиля «Технологии дополненной реальности» в 2020 году.
В качестве объекта исследований выступит AR-стенд — это конструктор для создания сцен, где физический и цифровой объекты существуют и взаимодействуют в реальном времени. Элементами управляющего интерфейса стенда являются кубики, комбинация и изменение расположения которых на стенде сопровождается звуковым или визуальными эффектами. Такое сочетание возможностей позволяет использовать AR-Stand для создания инновационных продуктов в области образования, науки, в сфере медиа и развлечений.
Участникам предстоит разработать для AR-стенда игровое приложение, то есть построить систему распознавания позиции объектов на стенде, создать 3D-модели и обеспечить их экспозицию на поверхность стенда, определить (запрограммировать) правила поведения цифровых сущностей на поверхности стенда в зависимости от изменения положения реальных объектов на нём.
Профиль рекомендован для включения в перечень Российского совета олимпиад школьников и может приносить бонусы при поступлении в вузы (какие конкретно — зависит от правил приёма вуза).
Состав команды — 5 человек:
- AR-разработчик — занимается проектированием и разработкой AR-приложения.
- Специалист по компьютерному зрению — разрабатывает систему распознавания маркеров.
- Дизайнер — осуществляет конструирование 3D-моделей и обеспечивает их проецирование на объёмные объекты в реальном мире (видеомэппинг).
- Программист-игропрактик — разрабатывает алгоритмы реализации отдельных фрагментов с игровой механики для задачи финала.
Разработчики
Лаборатория робототехники и программирования Иркутского государственного университета
Ключевой партнёр профиля — IT ШКОЛА SAMSUNG
Основные партнёры
D-Link (ООО «Д-Линк Трейд»), Сеть федеральных технопарков «Квантроиум», ИСЗФ СО РАН, Департамент образования города Иркутска
Отборочные этапы
На первом этапе участникам предстоит решать задачи по математике и информатике.
На втором этапе участникам будут предложены задачи в рамках следующих пяти модулей, соответствующих их ролям в команде:
- Компьютерное зрение: алгоритмы и инструменты распознавания изображений.
- 3D-конструирование: технологии 3D-моделирования и анимации.
- 3D-маппинг: технологии создания 3D-проекций на физические объекты окружающей среды с учётом их геометрии и местоположения в пространстве.
- Основы разработки мобильных AR-приложений: SDK Unity, фреймворки ARCore, Vuforia и др.
- Алгоритмы для компьютерных логических игр.
Заключительный этап
Основной задачей финала является разработка игрового приложения для AR-стенда — тактильной мультимедийной матрицы, которая выполняет распознавание размещения и перемещения объектов на ней, а также динамически проецирует реакцию системы (в виде изменения поведения виртуальных объектов на поверхности стенда) в соответствии с определёнными в ней законами.
Участникам финала предстоит:
- разработать собственную систему распознавания маркеров на стенде;
- сконструировать 3D-модели игровых персонажей;
- создать систему проецирования 3D-моделей на объёмные тактильные элементы стенда (3D-мэппинг);
- разработать и запрограммировать отдельные элементы игровой механики — правила отклика системы на размещение и перемещение объектов на ней;
- разработать мобильное AR-приложение с информационными обучающими панелями — организация подсказок при наведении мобильного устройства на тактильные элементы стенда;
- адаптировать разработанное программное обеспечение для игры нескольких противников с использованием двух удалённых друг от друга стендов дополненной реальности;
- в командах попарно сыграть на AR-стендах с использованием разработанного командой программного обеспечения.
Материалы для участников
Что нужно знать
- Алгоритмы и инструменты распознавания изображений.
- Технологии 3D-моделирования и анимации.
- Технологии создания 3D-проекций на физические объекты окружающей среды с учетом их геометрии и местоположения в пространстве.
- Основы разработки мобильных AR-приложений.
- Алгоритмы для компьютерных логических игр.
- Владение знаниями в рамках школьной программы: геометрия (стереометрия), черчение (создание проекций объектов), алгебра логики; теория вероятностей и комбинаторика; графы.
Hard skills
- Умение программировать (желательно Python, но может быть использован любой другой язык).
- 3D-конструирование с использованием любой программы для создания 3D-моделей.
- 3D-маппинг: Processing/vvvv.
- SDK Unity и фреймворки для создания мобильных AR-приложений (Vuforia, ARCore и т.п.).
- Знание любой библиотеки, позволяющей реализовывать алгоритмы компьютерного зрения (open cv, skimage, tenserflow, keras).
- KNN, CNN, Random Forest — алгоритмы, которые можно использовать для распознавания образов при решении задачи построения системы распознавания маркеров на AR-стенде.
Soft skills
- Коммуникационные навыки: связанная конструктивная речь, четкое изложение мыслей, активное слушание, презентация. Одним из наиболее востребованных навыков общения является способность объяснять узкие технические характеристики партнерам, клиентам и сотрудникам, которые не обладают технологическими знаниями.
- Компьютерная и техническая грамотность. Все рабочие места участников профиля требуют продвинутых компетенций в компьютерном аппаратном и программном обеспечении общего назначения.
- Межличностные навыки. Способность работать в команде, общаться с людьми и разрешать конфликты.
- Адаптивность. Способность адаптироваться к изменениям и управлять несколькими задачами. В современной технологической и быстро развивающейся деловой среде важна способность подбирать новые технологии и приспосабливаться к изменяющимся условиям.
- Навыки исследования. С помощью Google или Яндекса можно легко найти ответы на общие вопросы, но для Олимпиады КД НТИ этого недостаточно. Участники должны уметь оценивать и анализировать ситуации, искать множество перспектив и собирать более уникальную информацию.
- Навыки управления проектами. Организация, планирование и эффективное выполнение проектов и задач — это очень эффективный навык.
- Креативность. Способность использовать креативность, анализ ситуации, перспективное видение исходов, прошлый опыт, информацию и доступные ресурсы для решения задач профиля и общих проблем.
- Сильная трудовая этика. Мы ждём на профиле участников, которые способны выполнять работу профессионально, ответственны, надёжны и понимают, что от них требуется, с первого раза. Эксперты и менторы профиля не имеют ни времени, ни полномочий для обучения или исправления ошибок в работе команды при решении задачи финала, поэтому это умение ожидается от всех участников.
- Эмоциональный интеллект — это очень популярный навык, который относится к социальным навыкам, социальной осведомленности и способностям самоуправления. Эмоциональный интеллект обычно проявляется в реальных взаимодействиях с другими участниками, экспертами, организаторами, чувством такта и своевременности реакции. Главное здесь то, что вы управляете эмоциями, а не они вами.
Общие материалы для подготовки:
- Основы машинного обучения
- Основы языка Python
- Теория Вероятноcтей
- Сборник хакатонов Олимпиады НТИ — 2018
- Практикумы 2019
- Практикумы 2020
- Теория вероятностей для решения олимпиадных задач
- Программирование на языке С++ для решения олимпиадных задач
- Программирование на Python для решения олимпиадных задач
- Теория графов 1.0: все, что нужно для решения олимпиадных задач
- Программирование на Python: «На старт, внимание, Code!»
- Развитие математического мышления для будущих инженеров и исследователей
Профильные материалы для подготовки
- Дополненная реальность (введение)
- Алгоритмизация. Программирование. Python 3 для школьников
- Математика для олимпиад по программированию
- Нейронные сети и компьютерное зрение
- База по алгоритмам распознавания образов
- Уроки по OpenCV
- Уроки по skimage
- Трёхмерное моделирование
- SDK Unity
- Дополненная реальность ARCore
- Дополненная реальность Vuforia
- Уроки vvvv
- Задачник 2017/18
- Задачник 2018/19