Добро пожаловать в последний выпуск нашей продолжающейся серии блогов, в которой мы освещаем наборы данных из Зоопарка наборов данных FiftyOne! FiftyOne предоставляет зоопарк наборов данных, который содержит коллекцию общих наборов данных, которые вы можете скачать и загрузить в FiftyOne с помощью нескольких простых команд. В этом посте мы исследуем набор данных Cityscapes.
Подождите, что такое FiftyOne?
FiftyOne — это набор инструментов машинного обучения с открытым исходным кодом, который позволяет группам специалистов по обработке и анализу данных повышать производительность своих моделей компьютерного зрения, помогая им выбирать высококачественные наборы данных, оценивать модели, находить ошибки, визуализировать встраивания и быстрее приступать к работе.
Зоопарк наборов данных FiftyOne содержит более 30 наборов данных, причем новые наборы данных постоянно добавляются! Они охватывают различные варианты использования компьютерного зрения, включая:
О наборе данных Cityscapes
Набор данных Cityscapes представляет собой крупномасштабный набор данных, который содержит разнообразный набор стереовидеопоследовательностей, записанных на улицах 50 различных городов, с высококачественными аннотациями на уровне пикселей из 5000 кадров в дополнение к большому набору из 20 000 слабо аннотированных кадров. На момент выпуска он был на порядок больше, чем аналогичные предыдущие попытки.
Его основной вариант использования - оценка производительности алгоритмов зрения для основных задач семантического понимания городской сцены: на уровне пикселей, на уровне экземпляров и паноптической семантической маркировке; поддержка исследований, направленных на использование больших объемов (слабо) аннотированных данных, например. для обучения глубоких нейронных сетей.
Что такое визуальное понимание сцены?
Понимание сцены — это процесс восприятия, анализа и уточнения интерпретации трехмерной динамической сцены, наблюдаемой через сеть датчиков. Обычно это включает в себя сопоставление информации о сигнале, поступающем от датчиков, наблюдающих за сценой, с моделями машинного обучения, которые люди используют для понимания сцены. В результате понимание сцены как добавляет, так и извлекает семантическую информацию из данных датчика, характеризующих сцену. Датчики, обычно участвующие в понимании визуальной сцены, — это камеры. Но у вас также могут быть сценарии, в которых микрофоны, радар или другие датчики собирают дополнительные данные. С точки зрения объектов сцена может содержать множество физических объектов различных типов (например, автомобили и люди), взаимодействующих друг с другом или с окружающей их средой. Сама сцена может длиться всего несколько секунд или длиться несколько дней. Он также может быть ограничен микроскопическим изображением или включать в себя весь городской пейзаж.
Выбор дизайна
Вот обзор вариантов дизайна, которые были сделаны в отношении фокуса набора данных.
Многоугольные аннотации
- Плотная семантическая сегментация
- Сегментация экземпляров для транспортных средств и людей
Сложность
- 30 занятий
- См. «Определения классов» для получения списка всех классов и ознакомьтесь с применяемой политикой маркировки.
Разнообразие
- 50 городов
- Несколько месяцев (весна, лето, осень)
- Дневное время
- Хорошие/средние погодные условия
- Кадры, выбранные вручную
– Большое количество динамических объектов
– Различное расположение сцен
– Меняющийся фон
Объем
- 5 000 аннотированных изображений с мелкими аннотациями (примеры)
- 20 000 аннотированных изображений с грубыми аннотациями (примеры)
Метаданные
- Предшествующие и завершающие видеокадры. Каждое аннотированное изображение представляет собой 20-е изображение из 30-кадрового видеофрагмента (1,8 с).
- Соответствующие правые стереоизображения
- GPS-координаты
- Данные эго-движения из одометрии автомобиля
- Наружная температура от датчика автомобиля
Расширения других исследователей
- Аннотации людей в ограничивающей рамке
- Изображения дополнены туманом и дождем
Набор эталонных тестов и оценочный сервер
- Семантическая маркировка на уровне пикселей
- Семантическая маркировка на уровне экземпляра
- Паноптическая семантическая маркировка
Политика маркировки
Помеченные объекты переднего плана никогда не должны иметь отверстий. Например, если какой-то фон виден «сквозь» какой-либо объект переднего плана, он считается частью переднего плана. Это также относится к областям, которые сильно смешаны с двумя или более классами: они помечены классом переднего плана. Вот некоторые примеры:
- листья деревьев перед домом или небом (все дерево)
- прозрачные автомобильные окна (все машины)
Определения классов
* Доступны аннотации одного экземпляра. Однако, если граница между такими экземплярами не может быть четко видна, вся толпа/группа помечается вместе и аннотируется как группа, например. автомобильная группа.
+ Эта этикетка не включена ни в какую оценку и считается недействительной (или, в случае номерного знака, как автомобиль, установленный на нем).
Краткие сведения о наборе данных
- Исследовательская работа:Набор данных Cityscapes для семантического понимания городской сцены
- Авторы: М. Кордтс, М. Омран, С. Рамос, Т. Рефельд, М. Энцвейлер, Р. Бененсон, У. Франке, С. Рот и Б. Шиле.
- Загрузить набор данных:Зарегистрируйтесь и скачайте
- Лицензия: Бесплатно, но требуется регистрация
- Размер набора данных: 11,8 ГБ.
- Последняя версия: 2016 г.
- Название набора данных FiftyOne:
cityscapes
- Теги:
image
,multilabel
,automotive
,manual
- Поддерживаемые группы:
train
,validation
,test
- Класс набора данных зоопарка:
CityscapesDataset
Шаг 1. Загрузите набор данных
Чтобы загрузить набор данных Cityscape в FiftyOne, вы должны загрузить исходные данные вручную с вашим source_dir
, организованным следующим образом:
Обратите внимание, что gtFine_trainvaltest
, gtCoarse
и gtBbox_cityPersons_trainval
являются необязательными каталогами.
Шаг 2: Установите FiftyOne
Если на вашем ноутбуке еще не установлена программа FiftyOne, это займет всего несколько минут! Например, на macOS:
Узнайте больше о том, как начать работу с FiftyOne в Документах.
Шаг 3: Импорт набора данных
Теперь, когда вы загрузили набор данных и установили FiftyOne, давайте импортируем набор данных в FiftyOne и запустим Приложение FiftyOne. Это займет всего несколько минут и еще несколько строк кода.
import fiftyone as fo import fiftyone.zoo as foz # The path to the source files that you manually downloaded source_dir = "/path/to/dir-with-cityscapes-files" dataset = foz.load_zoo_dataset( "cityscapes", split="validation", source_dir=source_dir, ) session = fo.launch_app(dataset)
Последняя строка фрагмента кода запустит приложение FiftyOne в браузере по умолчанию. Вы должны увидеть следующее начальное представление набора данных cityscapes-validation
в приложении FiftyOne:
Совет. Если вы хотите сохранить набор данных, добавьте в исходную команду загрузки следующее:
dataset.persistent = True
Хорошо, давайте быстро изучим набор данных Cityscape!
Детали образца
Нажмите на любой из примеров, чтобы получить дополнительные сведения, такие как теги, метаданные, метки и примитивы.
Фильтрация по идентификатору
FiftyOne позволяет очень легко фильтровать образцы, чтобы найти те, которые соответствуют вашим конкретным критериям. Например, мы можем фильтровать по определенному id
:
Фильтрация по ярлыку
В этом примере мы фильтруем образцы по метке gt_person
, выбирая только те, у которых есть pedestrian
:
В этом примере мы фильтруем образцы по метке gt_coarse
:
Начните работать с набором данных Cityscapes
Теперь, когда у вас есть общее представление о том, что содержит набор данных, вы можете начать использовать FiftyOne для выполнения различных задач, включая:
Вы также можете начать использовать FiftyOne Brain, который предоставляет мощные методы машинного обучения, которые вы можете применять к своим рабочим процессам, таким как визуализация вложений, поиск сходства, уникальности и ошибок.
Что дальше?
- Если вам нравится то, что вы видите на GitHub, поставьте звезду проекту.
- "Начать!" Мы упростили запуск и запуск за несколько минут.
- Присоединяйтесь к сообществу Slack FiftyOne, мы всегда рады помочь.
Первоначально опубликовано на https://voxel51.com 14 марта 2023 г.