Платформа для генерации синтетических данных

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

Команда QuData создала платформу для генерации синтетических данных на базе Unreal Engine, JSBSim и AirSim, которая позволяет создавать разнообразные реалистичные датасеты с автоматической разметкой данных. Это решение позволяет обучать и проверять модели восприятия в редких, опасных и экстремальных условиях, которые сложно или невозможно безопасно воспроизвести в реальном мире.

Задача

Современные системы компьютерного зрения зависят от больших и разнообразных наборов данных. Команды, создающие автономных роботов-курьеров, беспилотные автомобили, складские роботизированные платформы и системы мониторинга умных городов, сталкиваются с двумя постоянными препятствиями.

Первое – это разнообразие условий эксплуатации. Модель восприятия, обученная на изображениях освещенных улиц и чистых тротуаров, может работать нестабильно во время дождя или снегопада, в сумерках или при интенсивном пешеходном движении. Для реального применения системы должны быть устойчивыми не только в привычных ситуациях, но и в сложных или нестандартных сценариях.

Еще одной серьезной проблемой является аннотация данных. Ручная разметка изображений из больших наборов данных требует значительных затрат времени и ресурсов и часто сопровождается ошибками или неточностями. Люди, выполняющие аннотацию, могут ошибаться, особенно на кадрах с плохой видимостью, с перегруженной средой или с частичным перекрытием объектов. Для систем, где безопасность имеет критическое значение, такие ошибки могут напрямую влиять на поведение моделей.

Поэтому целью было не просто создать еще один симулятор. Задача заключалась в разработке производственной среды генерации синтетических данных, способной:

  • создавать виртуальные сцены для роботов и автономных агентов;
  • моделировать погодные условия, освещение и другие внешние факторы;
  • эмулировать работу различных датчиков, а не только RGB-камер;
  • автоматически создавать метки “ground-truth”;
  • тестировать алгоритмы управления роботами перед их запуском в полевых условиях;
  • сократить затраты и риски, связанные со сбором уникальных реальных сценариев.

Обзор решения

Для решения этих задач был создан пайплайн цифрового двойника, который объединяет визуальный реализм с физической достоверностью моделирования.

Используя Unreal Engine для высококачественного рендеринга, AirSim для моделирования транспортных средств и датчиков, а также JSBSim для физического моделирования полета дронов и других летательных аппаратов, команда создала масштабируемую виртуальную среду, в которой можно управлять практически любыми параметрами. Инженеры могут за считанные секунды менять время суток, от летнего полудня до зимних сумерек, вызывать дождь или туман, изменять коэффициент сцепления дорожного покрытия, перемещать препятствия, регулировать плотность пешеходного потока или моделировать аварийные ситуации, не дожидаясь их возникновения в реальности. Unreal Engine используется в качестве платформы для создания 3D-графики в реальном времени, тогда как AirSim и JSBSim обеспечивают уровень симуляции автономных транспортных средств, дронов, автомобилей и программных рабочих процессов управления.

Центральным компонентом такого решения стала платформа виртуальной среды от QuData (QuVE) – система построения сцен и оркестрации сценариев. Она отвечает за формирование виртуальных миров из модульных объектов и заданных правил поведения. Вместо того, чтобы вручную проектировать каждый кадр, команда определяет классы среды: улицы, дворы, склады, логистические центры, пешеходные переходы, зоны погрузки и внутренние коридоры.

Сгенерированные синтетические наборы данных могут использоваться для обучения моделей компьютерного зрения, в частности детекции и сегментации типа YOLO, после чего модели дополнительно дообучаются на небольшом количестве реальных данных для повышения качества работы в реальных условиях.

Технические детали

Платформа QuVE объединяет несколько компонентов, отвечающих за генерацию сред, симуляцию, оркестрацию сценариев и создание данных.

Движок среды. Unreal Engine служит основой для создания фотореалистичных цифровых сред. Он обеспечивает высококачественный рендеринг, поддержку реалистичных материалов и гибкие системы освещения, что позволяет моделировать городские, промышленные и внутренние пространства. Уровень визуальной детализации такого окружения достаточен для разработки и тестирования алгоритмов компьютерного зрения в условиях, максимально приближенных к реальному миру.

Физика и симуляция движения транспортных средств. AirSim и JSBSim добавляют уровень моделирования для автономных платформ, работающих в этих виртуальных средах. Это позволяет программно управлять смоделированными транспортными средствами, такими как дроны и наземные роботы, одновременно генерируя виртуальные потоки данных датчиков, которые воспроизводят поведение реальных систем восприятия. Благодаря этому инженеры могут напрямую подключать симуляционную среду к алгоритмам робототехники, обучающим пайплайнам и тестовым сценариям.

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

Конвейер сбора данных. При каждом запуске симуляции платформа записывает синхронизированные потоки данных с датчиков вместе с подробными метаданными о состоянии среды. Каждый сгенерированный кадр содержит информацию о временных метках, параметрах камер, идентификаторах объектов и конфигурации сцены. Это поддерживает как контролируемое обучение, так и отладку робототехники.

Автоматизированная аннотация. Автоматическая система разметки данных устраняет необходимость в медленной и подверженной ошибкам ручной маркировке. Поскольку каждый объект в цифровой среде генерируется процедурно, а его точные координаты известны, система может одновременно с рендерингом каждого кадра создавать идеально точные “ground-truth” аннотации. Это включает широкий спектр метаданных, таких как 2D и 3D ограничительные рамки, маски семантической сегментации на уровне пикселей, идентификаторы объектов и точные значения глубины. Даже в сложных сценариях платформа поддерживает абсолютную геометрическую точность, недостижимую для специалиста по разметке. Полученные наборы данных автоматически формируются в форматах, готовых к немедленному использованию для обучения современных моделей, таких как YOLO и др.

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

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

Unreal Engine

Unreal Engine

JSBSim

JSBSim

Llama 2

AirSim

Python

Python

C++

C++

YOLO v8

YOLO v8