Pull to refresh
0
НПП ИТЭЛМА
Компоненты для роботизированного транспорта

Синтетические данные: улучшение алгоритмов восприятия и оптимизация поиска границ

Reading time10 min
Views2.4K
Original author: Applied Intuition
image

Для того, чтобы охватить все краевые случаи, встречающиеся в реальном мире, критические системы восприятия нуждаются в огромных массивах данных. Один из распространенных подходов к обучению алгоритмов для беспилотных автомобилей – подбор и разметка данных о реальном вождении. На CVPR 2020 Андрей Карпатый рассказывал, что Tesla тоже использует этот подход – их автомобили адаптируют метки объектов в режиме онлайн. «Вариация и контроль» очень важны, поскольку инженеры постоянно адаптируют онтологию и методику маркировки данных, так как беспилотные автомобили постоянно сталкиваются с новыми сценариями, которые необходимо анализировать.

Впрочем, этот подход, основанный на использовании данных, имеет различные ограничения – они обусловлены масштабируемостью, стоимостью сбора данных и множеством усилией, необходимых для точной маркировки датасетов. В этом тексте команда Applied расскажет о подходе, основанном на синтетических размеченных данных. Этот подход обеспечивает ускорение и экономичность обучения и разработки критических алгоритмов для беспилотного транспорта.

image

Пример синтетических данных для изображений с камер с эталонной разметкой. Оригинальное RGB изображение (вверху слева), 2D-рамки (вверху справа), семантическая разметка (внизу слева) и 3D-рамки (внизу справа).

Современный подход к разметке данных и связанные с ним проблемы


На рисунке 2 представлен типичный подход к созданию размеченных датасетов. Это очень трудоемкий процесс – водители-испытатели управляют транспортными средствами, оснащенными множеством датчиков в ручном или беспилотном режиме. Во время этих поездок специальное ПО, встроенное в автомобиль, записывает сырые данные с датчиков и программные выходные данные с модулей восприятия, управления и планирования. В процессе разработки может возникнуть необходимость создания специальных автомобилей, поскольку в серийных может не хватать точных датчиков, необходимых для сбора данных. После сбора данных возникает сложная задача формирования выборки тех данных, которые будут размечены. Для этого требуется тщательно отбирать конкретные и интересные события, после чего датасеты отправляются компаниям, занимающимся разметкой (желательно минимизировать размеры датасета, чтобы экономить на его разметке). Порой сюда входит и поиск конкретных краевых случаев в логах (вроде летающего по автостраде пакета). Также повторные сбор и маркировка могут потребоваться при обновлении конфигурации какого-либо из датчиков.

image

Рисунок 2: Схема типичного процесса маркировки данных о езде при разработке беспилотных транспортных средств

Несмотря на то, что разметка может быть единственным способом подготовки чистых данных, необходимых для обучения алгоритмов беспилотной езды, основной недостаток этого подхода заключается в объеме инвестиций, необходимых для достаточного масштабирования. Для того, чтобы обнаружить какой-либо краевой случай водителям-испытателям может потребоваться проехать сотни или тысячи километров. У Tesla, например, есть автопарк из более чем миллиона серийных автомобилей, которые собирают огромные массивы данных: знаки остановки на разных языках, различные местоположения, проверка актуальности данных и многое другое – и все это от имени компании. У большинства OEM-производителей нет такого количества автомобилей, которое позволило бы собирать такие наборы данных. Даже если бы огромные массивы данных о езде были доступны, все равно нет гарантии, что эти данные были бы доступны в датасетах. В этом случае, для сбора таких данных необходимо проведение специальных кампаний, что повышает стоимость разработки и увеличивает сроки.

Еще один аспект – доступность и наличие конкретных условий. На момент написания этого текста в США наблюдаются экстремальные погодные условия – небо окрашивается в оранжевый (порой даже красный) цвет (рис. 3). Если в районе с такими условиями нет транспортных средств, то для сбора таких данных потребуются годы – чтобы экстремальные условия повторились. Иначе в наборе данных появятся искажения, связанные с тем, что в нем не представлены образцы таких условий.

image

Рисунок 3: Экстремальные условия трудно предвидеть и зафиксировать в наборах данных для беспилотного транспорта. Источник: CBS News.

Кроме того, разработчики беспилотного транспорта всегда ищут новые образцы, и для эффективной обработки данных потребуется значительная инфраструктура. Многие запросы к этим данным подразумевают, что у данных уже есть теги или разметка. Проблема в том, что если этот метод ранее не использовался, то их может и не быть. Наконец, стоимость разметки данных достаточно высока, и зачастую данные размечаются вручную. Существует большая вероятность появления ошибок и неточностей (например, когда один автомобиль перекрывает на изображении другой).

Использование синтетических данных и их преимущества


Синтетические данные дают возможность применить альтернативный подход – более масштабируемый и точный. Несмотря на то, что синтетические данные создаются на основе моделирования, достоверная информация (семантические метки транспортных средств или текст на дорожных знаках) предоставляется точно. Моделирование также может предоставлять точные данные об альбедо, глубине, обратном отражении и неровностях каждого из объектов в сцене (рисунок 4). Кроме того, у объектов есть пиксельные маски и семантические метки. Все это позволяет создавать аннотации автоматически, без необходимости вручную размечать данные с датчиков. Несмотря на то, что для создания отдельных аннотаций может потребоваться специальное ПО для извлечения данных о реальном мире, это будет единоразовое вложение, которое позволит создавать и использовать новые классы меток.

image

Рисунок 4: примеры различных отображений эталонных сцен в симуляторе. Сверху вниз и слева направо: итоговая сцена, базовые цвета, нормали поверхностей, карты металличности, карты шероховатости поверхностей и карта глубин.

Еще одно заметное преимущество разметки синтетических данных заключается в том, что они позволяют создавать множество вариаций одной и той же сцены без необходимости путешествовать по всему миру и полагаться на удачу. Синтетические данные также позволяют сосредоточиться на конкретных объектах, интересующих разработчиков. Если правильно настроить алгоритмы, можно смоделировать миллионы вариантов дорожных знаков за несколько часов. К этим вариантам могут относиться разные условия освещения, размещение объектов, различные преграды и повреждения (ржавчина, масляные разводы, граффити). Таким образом, синтетические данные могут дополнять данные, взятые из реального мира. Сложносоставные события реального мира могут быть использованы в качестве отправной точки, на основе которой будут созданы тысячи вариаций исходной сцены.

Разнообразие важно и с географической точки зрения. Для того, чтобы встретить иностранные дорожные знаки со специфическими модификациями, используемыми в отдельных странах, тестовым автомобилям потребуется отправляться в эти страны. Также тестовый автомобиль может проехать сотни километров, чтобы найти какой-то специфический дорожный знак, а в итоге окажется, что он был наполовину перекрыт школьным автобусом. Все эти трудности можно обойти, мгновенно создавая необходимые сцены с помощью наборов синтетических данных (рис. 5). Благодаря тому, что на основе синтетических данных можно создавать широкий спектр сценариев, можно тестировать алгоритмы на множестве краевых случаев (рис. 6). В этом посте описывается как компания Kodiak Robotics (которая занимается беспилотными грузовиками) использует синтетические симуляции для обучения алгоритмов и тестов – они проверяют, что их система Kodiak Driver адекватно обрабатывает различные краевые тестовые случаи.

image

image

Рисунок 5: примеры различных дорожных знаков в Европе и США

image

Рисунок 6: модификация дорожных условий и разметки в синтетических данных

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

Требования к синтетическим данным


Данные с датчиков

Для того, чтобы разметка синтетических данных приносила пользу с точки зрения тестирования и обучения алгоритмов для беспилотного транспорта, данные с моделируемых датчиков и аннотации должны соответствовать определенным критериям. Как мы писали ранее в посте о моделировании датчиков, большие массивы данных с искусственных датчиков, используемых для разработки беспилотного транспорта, должны генерироваться дешево и быстро (за несколько дней). Также искусственные датчики должны моделироваться с учетом базовых физических принципов, присущих конкретным типам датчиков. Важнейшим фактором считается уровень точности создаваемых моделей. Существует компромисс между разрывом в правдоподобности (насколько по-разному алгоритмы воспринимают реальные и синтетические данные) и скоростью сбора данных. Этот разрыв может варьироваться в зависимости от типа моделируемого датчика, окружающих объектов и условий среды. Также очень важна возможность количественно оценить этот разрыв и использовать полученную оценку для формирования стратегии использования синтетических данных. В качестве примера можно взглянуть на рисунок 7, на котором показано как модель лидара реагирует на мокрую дорогу. На картинке можно увидеть, как лидар реагирует на обратные сигналы на уровне земли и брызги от транспортных средств вокруг.

image

Рисунок 7: визуализация модели лидара при вождении во время дождя

Окружения

Еще один важный аспект, возникающий при работе с синтетическими данными – разнообразие сред и материалов, встречающихся в этих средах. Среды должны быстро генерироваться на основе реальных карт и данных – как показано на рисунке 8. Способность быстро создавать такие среды зависит от методов процедурной генерации. Возможность моделировать любые географические регионы со всего света – еще одно невероятное преимущество синтетических данных над реальными. Впрочем, хоть различные места создаются и легко, если методы настроены неправильно, то области и данные могут повторяться. В настоящее время очень важным аспектом в этой области становится поиск зависимости между повторением данных и отражением разнообразия реального мира. Разнообразие необходимо учитывать как на макроуровне (насколько может меняться дорожное покрытие на километровом отрезке пути), так и на микроуровне (например, чем могут отличаться различные материалы окружающей среды).

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

image

Рисунок 8: высококачественная городская среда, сгенерированная процедурно.

Аннотации

Требования к аннотациям к данных зависят как от сценариев использования, так и от алгоритмов. Разновидности аннотаций данных, взятых из реального мира представлены в таблице 1.

Тип Подробности
Семантические Семантическая сегментация (по пикселям или точкам)
Кубоид Для изображений, точек с лидаров или отражений с радаров
Рамка Пиксельные аннотации для двумерных разметкой


Таблица 1: типы аннотаций для данных из реального мира

В случае с синтетическими данными, для создания аналогичных аннотаций имеется намного больше достоверной информации, которая может быть отражена в собранных данных. Базовые данные также воспроизводятся с точностью до точки/пикселя. Наконец, как данные с датчиков, так и аннотации могут обрабатываться в любой системе отсчета (мир, сама система, отдельный датчик и т.д.).

В таблице 2 представлены стандартные типы аннотаций для данных, созданных в результате моделирования. Кроме того, многие форматы и типы данных могут быть дополнительно настроены.

Тип Подробности
Семантические Семантическая сегментация (по пикселям или точкам)
Кубоид Для изображений, точек с лидаров или отражений с радаров в пространстве сцены (или по пикселям)
Рамка Точные двумерные рамки с отметкой класса объекта
Аннотации пространства Полигоны в пространстве мира или пиксельное пространство, отражающее свободное пространство дороги или проезжей части
Информация о дороге и полосах Ширина дороги, ширина полосы, границы полосы, расстояние от середины полосы, информация о пересечении полосы и информация о типе разметки
Части автомобилей и световые сигналы Семантическая информация о поломках транспортных средств по их частям, сигналы поворотников и габаритных огней
Отсечение объектов Определение видимой части объектов, попавших в поле зрения датчика
Перекрытие Маска перекрытия (пиксели или BBox – ограничивающий параллелепипед)
Маски объектов Классы объектов или их экземпляры
Буферы рендеринга Альбедо, нормали поверхностей, глубина, шероховатость поверхностей, отражения, металличность, отражающие поверхности, оптические свойства


Таблица 2: типы аннотаций для синтетических данных

Использование всех этих дополнительных типов эталонных данных значительно ускоряет разработку алгоритмов. Масштабы имеющихся данных, их качество и объемы позволяют инженерам быстрее принимать различные решения.

image

Рисунок 9: Аннотированные синтетические данные, показывающие идеальные по пикселям 2D-боксы





image

Вакансии
НПП ИТЭЛМА всегда рада молодым специалистам, выпускникам автомобильных, технических вузов, а также физико-математических факультетов любых других высших учебных заведений.

У вас будет возможность разрабатывать софт разного уровня, тестировать, запускать в производство и видеть в действии готовые автомобильные изделия, к созданию которых вы приложили руку.

В компании организован специальный испытательный центр, дающий возможность проводить исследования в области управления ДВС, в том числе и в составе автомобиля. Испытательная лаборатория включает моторные боксы, барабанные стенды, температурную и климатическую установки, вибрационный стенд, камеру соляного тумана, рентгеновскую установку и другое специализированное оборудование.

Если вам интересно попробовать свои силы в решении тех задач, которые у нас есть, пишите в личку.



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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

Tags:
Hubs:
Total votes 6: ↑6 and ↓0+6
Comments0

Articles

Information

Website
www.itelma.ru
Registered
Founded
1994
Employees
1,001–5,000 employees
Location
Россия