Безопасность корпоративного уровня: Соответствует ISO 27001 + SOC 2 Type I.

Link to this sectionНабор данных Cityscapes#

Набор данных Cityscapes — это масштабный эталон семантической сегментации городских улиц, снятых в 50 европейских городах. Он содержит 2975 изображений для обучения с детальной разметкой и 500 изображений для валидации по 19 классам. Это один из наиболее широко используемых наборов данных для исследований в области беспилотного вождения и понимания городских сцен с помощью моделей Ultralytics YOLO.

Link to this sectionКлючевые особенности#

  • Точная разметка Cityscapes включает 2975 изображений для обучения и 500 для валидации по 19 классам; архив также содержит 1525 тестовых изображений, но в их выпущенных масках размечены только сам автомобиль (ego-vehicle) и границы изображения — настоящая разметка классов скрыта, и для получения официальных оценок на тестовом наборе требуется отправка предсказаний на сервер оценки Cityscapes.
  • Набор данных охватывает 19 классов для оценки, разделенных на категории: плоские объекты, люди, транспорт, строительство, объекты, природа и небо.
  • Cityscapes предоставляет стандартизированные метрики оценки, такие как среднее пересечение по объединению (mIoU) для семантической сегментации, что позволяет эффективно сравнивать производительность моделей.
  • Перед тем как приступать к загрузке вручную объемом ~11 ГБ, проверь свой конвейер обучения на подмножестве Cityscapes8, состоящем из 8 изображений.

Link to this sectionСтруктура набора данных#

Конфигурация Ultralytics предполагает следующую структуру после подготовки:

cityscapes/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── masks/
    ├── train/
    ├── val/
    └── test/
Требуется ручная загрузка

У Cityscapes нет автоматической загрузки архива. Создай учетную запись на веб-сайте Cityscapes, затем скачай архивы leftImg8bit_trainvaltest.zip и gtFine_trainvaltest.zip (всего ~11 ГБ) и распакуй оба в корневую папку набора данных cityscapes. Ultralytics автоматически переорганизует их в структуру images/ и masks/ при первом запуске обучения.

Семантические маски представляют собой одноканальные PNG-файлы. Исходные идентификаторы меток Cityscapes отображаются в стандартные 19 идентификаторов обучения (train IDs) с помощью раздела label_mapping, а игнорируемые или пустые метки сопоставляются с 255, чтобы они исключались из обучения и оценки.

Примечание

Общедоступные маски gtFine/test содержат разметку только для самого автомобиля и областей границ изображения — все остальные классы являются пустыми (void). Вычисляй mIoU на наборе val для локальной оценки; официальные результаты на тестовом наборе требуют отправки предсказаний на сервер оценки Cityscapes.

Link to this sectionПрименение#

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

Изображения высокого разрешения и детальная разметка делают его ценным для исследований в области анализа сцен в реальном времени, распознавания полос и препятствий, а также для любой задачи, требующей плотного пиксельного понимания сложных городских условий. Предобученные модели семантической сегментации YOLO26 достигают до 83.6 mIoU на наборе валидации Cityscapes — смотри страницу моделей семантической сегментации для получения полной таблицы эталонных тестов. Разметка Cityscapes также доступна на платформе Ultralytics для просмотра и управления набором данных.

Link to this sectionYAML набора данных#

Файл YAML набора данных определяет пути Cityscapes, классы, директорию масок и сопоставление меток. Файл cityscapes.yaml поддерживается по адресу https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/cityscapes.yaml.

ultralytics/cfg/datasets/cityscapes.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Cityscapes semantic segmentation dataset (19 classes)
# Documentation: https://docs.ultralytics.com/datasets/semantic/cityscapes
# Example usage: yolo semantic train data=cityscapes.yaml model=yolo26n-sem.pt
# parent
# ├── ultralytics
# └── datasets
#     └── cityscapes ← downloads here (11 GB)
#         └── images
#         └── masks

# Dataset root directory
path: cityscapes # dataset root dir
train: images/train # train images (relative to 'path') 2975 images
val: images/val # val images (relative to 'path') 500 images
test: images/test # test images (relative to 'path') 1525 images

masks_dir: masks # semantic mask directory

# Cityscapes 19-class labels
names:
  0: road
  1: sidewalk
  2: building
  3: wall
  4: fence
  5: pole
  6: traffic light
  7: traffic sign
  8: vegetation
  9: terrain
  10: sky
  11: person
  12: rider
  13: car
  14: truck
  15: bus
  16: train
  17: motorcycle
  18: bicycle

# Map source label IDs to train IDs; ignore_label is converted to 255.
label_mapping:
  -1: ignore_label
  0: ignore_label
  1: ignore_label
  2: ignore_label
  3: ignore_label
  4: ignore_label
  5: ignore_label
  6: ignore_label
  7: 0
  8: 1
  9: ignore_label
  10: ignore_label
  11: 2
  12: 3
  13: 4
  14: ignore_label
  15: ignore_label
  16: ignore_label
  17: 5
  18: ignore_label
  19: 6
  20: 7
  21: 8
  22: 9
  23: 10
  24: 11
  25: 12
  26: 13
  27: 14
  28: 15
  29: ignore_label
  30: ignore_label
  31: 16
  32: 17
  33: 18

# Preparation script (requires manual Cityscapes download)
download: |
  from pathlib import Path
  from shutil import copy2

  cityscapes_dir = Path(yaml["path"])  # dataset root dir
  # Download and extract the official Cityscapes leftImg8bit and gtFine archives into cityscapes_dir first.
  leftimg8bit_dir = cityscapes_dir / "leftImg8bit"
  gtfine_dir = cityscapes_dir / "gtFine"

  for split in ("train", "val", "test"):
      print(f"Processing {split} set")
      src_image_dir = leftimg8bit_dir / split
      dst_image_dir = cityscapes_dir / "images" / split
      dst_mask_dir = cityscapes_dir / "masks" / split
      dst_image_dir.mkdir(parents=True, exist_ok=True)
      dst_mask_dir.mkdir(parents=True, exist_ok=True)

      image_paths = sorted(src_image_dir.rglob("*_leftImg8bit.png"))
      for image_path in image_paths:
          relative_path = image_path.relative_to(src_image_dir)
          mask_path = gtfine_dir / split / relative_path.parent / image_path.name.replace(
              "_leftImg8bit.png", "_gtFine_labelIds.png"
          )
          if not mask_path.exists():
              raise FileNotFoundError(f"Mask not found for {image_path}: {mask_path}")

          image_name = image_path.name.replace("_leftImg8bit", "")
          mask_name = mask_path.name.replace("_gtFine_labelIds", "")
          copy2(image_path, dst_image_dir / image_name)
          copy2(mask_path, dst_mask_dir / mask_name)

Link to this sectionИспользование#

Чтобы обучить модель YOLO26n-sem на наборе данных Cityscapes в течение 100 эпох с размером изображения 1024, ты можешь использовать следующие фрагменты кода. Полный список доступных аргументов смотри на странице Обучение модели.

Пример обучения
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionЦитирование, лицензия и благодарности#

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

Если ты используешь набор данных Cityscapes в своих исследованиях или разработках, пожалуйста, сошлися на следующую статью:

Цитата
@inproceedings{Cordts2016Cityscapes,
  title={The Cityscapes Dataset for Semantic Urban Scene Understanding},
  author={Cordts, Marius and Omran, Mohamed and Ramos, Sebastian and Rehfeld, Timo and Enzweiler, Markus and Benenson, Rodrigo and Franke, Uwe and Roth, Stefan and Schiele, Bernt},
  booktitle={Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2016}
}

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

Link to this sectionFAQ#

Link to this sectionЧто такое набор данных Cityscapes и почему он важен для компьютерного зрения?#

Набор данных Cityscapes — это масштабный эталон семантической сегментации городских сцен в 50 европейских городах, широко используемый в качестве стандартного ориентира для исследований в области беспилотного вождения и ADAS. Его 19 детально размеченных классов, изображения высокого разрешения и стандартизированная метрика среднего пересечения по объединению (mIoU) делают его одним из самых цитируемых эталонов для моделей плотного понимания сцен.

Link to this sectionКак я могу обучить модель YOLO, используя набор данных Cityscapes?#

Чтобы обучить модель YOLO26n-sem на наборе данных Cityscapes в течение 100 эпох с размером изображения 1024, ты можешь использовать следующие фрагменты кода. Подробный список доступных аргументов смотри на странице Обучение модели.

Пример обучения
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionКак структурирован набор данных Cityscapes?#

После подготовки набор данных организуется в каталоги images/{train,val,test}/ и masks/{train,val,test}/, где каждое изображение сопоставлено с одноканальной маской PNG. YAML-файл Ultralytics связывает каждое изображение с его маской через поле masks_dir: masks и использует label_mapping для преобразования исходных идентификаторов меток Cityscapes в стандартные 19 последовательных идентификаторов обучения, сопоставляя игнорируемые и пустые метки с 255. Маски в разделении test размечают только сам автомобиль и границы областей, поэтому для локальных проверок mIoU используй val.

Link to this sectionНужно ли мне скачивать Cityscapes вручную?#

Да. Создай учетную запись на веб-сайте Cityscapes и скачай архивы leftImg8bit_trainvaltest.zip и gtFine_trainvaltest.zip (всего ~11 ГБ). Распакуй их в корневую папку набора данных cityscapes — Ultralytics автоматически переорганизует их в ожидаемую структуру images/ и masks/ при первом запуске обучения.

Link to this sectionПочему Cityscapes использует label_mapping?#

Исходные маски Cityscapes содержат оригинальные идентификаторы меток, которые отличаются от 19 идентификаторов обучения, используемых для оценки. Секция label_mapping преобразует действительные метки в последовательные идентификаторы классов от 0 до 18 и присваивает 255 игнорируемым и пустым меткам, чтобы они исключались из функции потерь и метрик во время обучения и валидации.

Link to this sectionБесплатен ли набор данных Cityscapes для коммерческого использования?#

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

Комментарии