Даты II этапа по некоторым профилям могут отличаться. С точными сроками проведения этапа можно ознакомиться в Личном кабинете участника на платформе «Талант».
Разработайте нейросети и алгоритмы компьютерного зрения — заставьте автономный транспорт работать без ошибок!
Профиль посвящён применению искусственного интеллекта и компьютерного зрения в задачах беспилотного транспорта. Автономные транспортные системы — автомобили, роверы, квадрокоптеры, антропоморфные роботы — ориентируются в пространстве с помощью камер и алгоритмов анализа изображений, определяют объекты, дистанцию, их траектории и скорость, а затем строят маршрут.
Участники профиля обучают нейросети и создают алгоритмы компьютерного зрения для распознавания объектов, построения маршрутов и координации взаимодействия устройств. Они разрабатывают решения, позволяющие объединять беспилотники в единую транспортную систему: планировать задания, реагировать на аварии, пробки, дорожные работы, неисправные светофоры и другие сбои инфраструктуры. Чем совершеннее транспортная система, тем сильнее она включена в информационную инфраструктуру города.
Беспилотники собирают также полезные для города данные. Например, информацию о состоянии дорожного покрытия, обрыве линий электропередач, пожарах.
«Мне очень понравилось участвовать в профиле "Автономные транспортные системы". В нем сочетаются сложные задачи и увлекательные технологии.
Организаторы здорово поддерживали — если что-то не получалось, всегда могли объяснить или подсказать направление для решения. Отдельное спасибо "Академии высоких технологий" за курсы по нейросетям и компьютерному зрению — они реально помогли в работе над задачами.
И самое главное: благодаря тому, что я стала призёром, я смогла поступить в университет без вступительных испытаний и не переживать за баллы ЕГЭ.
Очень рекомендую этот профиль всем, кто хочет работать с крутыми технологиями, найти друзей-единомышленников, узнать много нового и получить незабываемый опыт!»
Ольга Демидович. 2023-24. Призёр
Участникам предстоит решать два тура: инженерный и предметный.
Инженерный тур — знакомит с тематикой профиля и образовательной программой. Здесь важно понимание принципов работы с изображением, умение детектировать и распознавать объекты без использования методов машинного обучения. Количество попыток сдачи решений не ограничено.
Предметный тур — проверяет уровень школьной подготовки:
Во время I этапа участники получат основополагающие знания и умения, а также подготовятся к решению задач следующего этапа.
Для решения задач II этапа необходимо собрать команду.
II этап посвящен отработке навыков программирования, созданию и обучению нейросетей, работе с алгоритмами компьютерного зрения для детектирования, отслеживания и распознавания объектов.
Участники познакомятся с отдельными элементами комплексной задачи финала и приобретут умения, необходимые для ее решения.
Этот этап поможет участникам лучше понять сильные стороны каждого члена команды, а также научиться эффективно распределять обязанности и зоны ответственности на финале.
Финалистам предстоит разработать и полностью отладить автономную мультимодальную транспортную систему. Затем участники внедрят её в интеллектуальную городскую инфраструктуру, которая будет представлена специальным полигоном с моделью города.
Команды запрограммируют три взаимодействующие друг с другом устройства:
Система должна перевозить грузы, собирать данные о ситуации в городе, инспектировать инфраструктуру, самостоятельно строить маршруты и реагировать на происшествия.
Для получения максимального балла команды должны оценить собственные силы, найти баланс между решением подзадач и отладкой всей транспортной системы.
Начиная со II этапа участникам необходимо объединиться в команды. Тем, у кого команды нет, организаторы профиля помогут её найти (подробнее о командообразовании и том, как искать команду).
Знания
Законы постоянного электрического тока. Важно понимать, как связаны электрический ток, сопротивление и напряжение. Это необходимо, чтобы при отладке программы находить ошибки не только в коде, но и в подключении датчиков или обеспечении электропитания.
Физические, математические, идеальные модели и их соответствие реальности. Обычно при запуске одной и той же программы два раза, предполагается что ее результат будет одинаковый. Если запускать робота с одной и той же программой, то каждый запуск будет отличаться от предыдущего: робот будет двигаться по-разному. Чтобы создавать стабильно работающие программы для беспилотников, необходимо понимать, какие условия запуска можно контролировать, а какие — нет.
Оптика, формирование изображения в камере. Камера — основной сенсор беспилотников. Некоторые алгоритмы компьютерного зрения требуют понимания, какие искажения вызывает объектив камеры и как трехмерное пространство проецируется на плоское изображение.
Декартова система координат. Уравнения прямой и окружности на плоскости. Уравнение прямой в трехмерном пространстве. Координаты нужны для описания положения беспилотников в пространстве и для работы с изображениями, пиксели — это точки на плоскости.
Математическая логика. Логические выражения, условные операторы, циклы с условиями — обязательные знания для программиста.
Комбинаторика. Нужна для понимания алгоритмов компьютерного зрения и их отладки.
Протоколы передачи данных. Модули устройств общаются друг с другом, используя различные протоколы передачи данных. Полезно знать, чем один протокол отличается от другого и какие ограничения имеет.
Типы данных, структуры и базовые алгоритмы. Представление одних и тех же данных в памяти компьютера отличается для разных языков программирования. Без понимания того, что «лежит в переменной», тяжело писать и отлаживать программы. Скорость работы кода зависит от типа данных и от алгоритмов для их обработки. Быстродействие программ особенно важно для автономных беспилотных устройств.
Программирование на Python.
Чтение документации.
Обучение по видеороликам.
Работа с OpenCV, TensorFlow, PyTorch Keras, Pandas.
Обучение и запуск нейросетевых детекторов.
Преобразование моделей машинного обучения из одного формата в другой.
Для участия во втором и заключительном этапах понадобится команда из 3–4 человек.
Роль 1. Программист беспилотного автомобиля – работа с компьютерным зрением и нейронными сетями в задачах беспилотных автомобилей. В финале предстоит работать с моделью учебного беспилотного автомобиля АЙКАР.
Роль 2. Программист квадрокоптера – работа с компьютерным зрением и нейронными сетями в задачах квадрокоптера. В финале предстоит работать с квадрокоптером Пионер Макс.
Роль 3. Программист манипуляторов и конвейеров – работа с компьютерным зрением и нейронными сетями в задачах сервисной и складской робототехники. В финале предстоит работать с промышленным манипулятором.
Роль 4. Программист и капитан команды – необходимо владеть общим инструментарием компьютерного зрения и применения нейронных сетей, чтобы грамотно распределять задачи между участниками команды и усиливать наиболее уязвимые позиции.
На I отборочном этапе будут полезны следующие шаги образовательной программы:
Шаг 1 — программирование на Python.
Шаг 2 — Урок НТО «Введение в компьютерное зрение».
Шаг 3 — Видеокурс по компьютерному зрению безмашинного обучения.
На II отборочном этапе поможет:
Шаг 4 — Видеокурс по нейронным сетям в компьютерном зрении.
Перед финалом стоит познакомиться с:
Шаг 5 — Сборники заданий предыдущих лет.