Авторы: Майкл Галарник, Нейт Чибик, Омар Махер, Филипп Томас.

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

  • Генерация хороших синтетических данных
  • Обучение с синтетическими данными
  • Обработка пробела в домене

Генерация хороших синтетических данных

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

Визуальные несоответствия

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

Выравнивание этикетки

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

Убедитесь, что ваши синтетические данные сбалансированы

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

Обучение с синтетическими данными

Чтобы максимизировать обучение вашей модели, важно правильно смешивать и сэмплировать ваши реальные и синтетические данные, о чем вы можете узнать ниже.

Как смешивать наборы данных

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

  • Можете ли вы сопоставить метки ваших синтетических и реальных данных?
  • Есть ли у вас больший синтетический набор данных, больший реальный набор данных или они одинакового размера (примерно одного порядка величины)?
  • Нацелен ли синтетический набор данных на исправление производительности в пограничном случае, который отсутствует в вашем существующем обучающем наборе (набор данных редкого случая), или ваша цель — получить всего понемногу (набор данных общего назначения)?

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

Некоторые из других наших выводов включают в себя:

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

Ознакомьтесь с обучением с документацией синтетических данных для получения более конкретных рекомендаций по методам обучения.

Убедитесь, что ваш тестовый набор сбалансирован

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

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

Выборка данных

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

Обработка пробела в домене

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

Перенос домена через многозадачное обучение и геометрические приоры

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

Передача стиля

Захватывающая область исследований сосредоточена на сопоставлении внешнего вида изображений целевого домена. Сюда входят подходы на основе GAN из области исследований Style Transfer, а также подходы, не основанные на моделях, которые сосредоточены на сопоставлении статистики значений цвета. Это включает в себя:

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

Заключение

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

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

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

Первоначально опубликовано на https://paralleldomain.com.