엔터프라이즈급 보안: ISO 27001 및 SOC 2 Type I 규정을 준수합니다.

Link to this sectionCityscapes 데이터셋#

Cityscapes 데이터셋은 50개의 유럽 도시에서 촬영된 도시 거리 장면을 담은 대규모 semantic segmentation 벤치마크로, 19개 클래스에 걸쳐 2,975개의 정밀 주석이 달린 학습 이미지와 500개의 검증 이미지로 구성되어 있습니다. 이 데이터셋은 Ultralytics YOLO 모델을 활용한 자율주행 연구 및 도시 장면 이해 분야에서 가장 널리 사용되는 데이터셋 중 하나입니다.

Link to this section주요 특징#

  • Cityscapes 정밀 주석은 19개 클래스에 걸친 2,975개의 학습 이미지와 500개의 검증 이미지를 포함하며, 아카이브에는 1,525개의 테스트 이미지도 포함되어 있습니다. 그러나 공개된 마스크에는 자아 차량(ego-vehicle)과 이미지 경계만 라벨링되어 있으며 실제 클래스 주석은 제공되지 않으므로, 공식 테스트 세트 점수를 얻으려면 Cityscapes evaluation server에 예측 결과를 제출해야 합니다.
  • 이 데이터셋은 평면, 사람, 차량, 건설, 객체, 자연 및 하늘 범주에 걸친 19개의 평가 클래스를 다룹니다.
  • Cityscapes는 semantic segmentation을 위한 mean Intersection over Union(mIoU)과 같은 표준화된 평가 지표를 제공하여 모델 성능을 효과적으로 비교할 수 있도록 합니다.
  • ~11 GB 분량의 수동 다운로드를 시작하기 전에, 8개의 이미지로 구성된 Cityscapes8 서브셋을 사용하여 학습 파이프라인을 사전에 검증하십시오.

Link to this section데이터셋 구조#

Ultralytics 구성은 데이터 준비 후 다음과 같은 구조를 기대합니다:

cityscapes/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── masks/
    ├── train/
    ├── val/
    └── test/
수동 다운로드 필요

Cityscapes는 자동 아카이브 다운로드를 지원하지 않습니다. Cityscapes website에서 계정을 생성한 후, leftImg8bit_trainvaltest.zipgtFine_trainvaltest.zip 아카이브(총 ~11 GB)를 다운로드하여 cityscapes 데이터셋 루트에 압축을 해제하십시오. Ultralytics는 최초 학습 시 이를 images/masks/ 레이아웃으로 자동으로 재구성합니다.

시맨틱 마스크는 단일 채널 PNG 파일입니다. 원본 Cityscapes 라벨 ID는 label_mapping 섹션을 통해 표준 19개 학습 ID로 매핑되며, 무시되거나 비어 있는 라벨은 255로 매핑되어 학습 및 평가에서 제외됩니다.

참고

공개된 gtFine/test 마스크는 자아 차량과 이미지 경계 영역만 라벨링하며, 다른 모든 클래스는 비어 있습니다. 로컬 평가를 위해서는 val 분할에서 mIoU를 계산하십시오. 공식 테스트 세트 점수를 확인하려면 Cityscapes evaluation server에 예측 결과를 제출해야 합니다.

Link to this section응용 분야#

Cityscapes는 deep learning 모델을 학습하고 평가하는 데 널리 사용되며, 특히 autonomous driving, 첨단 운전자 보조 시스템(ADAS) 및 도시 로봇 공학 분야에서 주로 활용됩니다.

고해상도 이미지와 상세한 주석은 실시간 장면 파싱, 차선 및 장애물 이해, 그리고 복잡한 도시 환경에 대한 정밀한 픽셀 단위 이해가 필요한 모든 작업 연구에 유용합니다. 사전 학습된 YOLO26 시맨틱 세그멘테이션 모델은 Cityscapes 검증 세트에서 최대 83.6 mIoU를 달성합니다. 전체 벤치마크 표는 semantic segmentation models 페이지를 참조하십시오. Cityscapes 주석은 탐색 및 데이터셋 관리를 위해 Ultralytics Platform에서도 제공됩니다.

Link to this section데이터셋 YAML#

데이터셋 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사용법#

Cityscapes 데이터셋에서 YOLO26n-sem 모델을 100 epochs 동안 이미지 크기 1024로 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 Training 페이지를 참조하십시오.

훈련 예제
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는 custom non-commercial license에 따라 배포됩니다. 학술 연구 및 평가에는 무료로 사용할 수 있으나, 상업적 이용, 라이선스 제공 또는 데이터 재배포를 위해서는 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 sectionCityscapes 데이터셋이란 무엇이며 컴퓨터 비전에서 왜 중요한가요?#

Cityscapes 데이터셋은 50개의 유럽 도시의 도시 거리 장면을 다루는 대규모 semantic segmentation 벤치마크로, 자율주행 및 ADAS 연구의 표준 참조 자료로 널리 사용됩니다. 19개의 정밀 주석 평가 클래스, 고해상도 이미지, 표준화된 mIoU(mean Intersection over Union) 지표를 통해 정밀 장면 이해 모델을 위한 가장 많이 인용되는 벤치마크 중 하나로 자리 잡고 있습니다.

Link to this sectionCityscapes 데이터셋을 사용하여 어떻게 YOLO 모델을 학습할 수 있나요?#

Cityscapes 데이터셋에서 YOLO26n-sem 모델을 100 epochs 동안 이미지 크기 1024로 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 상세 목록은 모델 Training 페이지를 참조하십시오.

훈련 예제
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 sectionCityscapes 데이터셋은 어떻게 구성되어 있나요?#

준비가 완료되면 데이터셋은 images/{train,val,test}/masks/{train,val,test}/ 디렉토리로 구성되며, 각 이미지는 단일 채널 PNG 마스크와 쌍을 이룹니다. Ultralytics YAML 파일은 masks_dir: masks 필드를 통해 각 이미지와 마스크를 연결하며, label_mapping을 사용하여 원본 Cityscapes 라벨 ID를 표준 19개의 연속적인 학습 ID로 변환하고 무시되는 라벨을 255로 매핑합니다. test 분할의 마스크는 자아 차량과 경계 영역만 라벨링되어 있으므로, 로컬 mIoU 확인에는 val을 사용하십시오.

Link to this sectionCityscapes를 수동으로 다운로드해야 하나요?#

네, 가능합니다. Cityscapes website에서 계정을 생성한 후 leftImg8bit_trainvaltest.zipgtFine_trainvaltest.zip 아카이브(총 ~11 GB)를 다운로드하십시오. 두 파일의 압축을 cityscapes 데이터셋 루트에 풀면, Ultralytics가 최초 학습 시 이를 예상되는 images/masks/ 레이아웃으로 자동으로 재구성합니다.

Link to this sectionCityscapes는 왜 label_mapping을 사용하나요?#

Cityscapes 원본 마스크는 평가에 사용되는 19개의 train ID와 다른 원본 레이블 ID를 저장합니다. label_mapping 섹션은 유효한 레이블을 연속적인 클래스 ID 0~18로 변환하고, 무시되거나 void 레이블은 255로 할당하여 학습 및 검증 중 손실(loss)과 지표에서 제외되도록 합니다.

Link to this sectionCityscapes 데이터셋은 상업적 용도로 무료인가요?#

아니요. Cityscapes는 학술 연구, 교육 및 평가를 허용하지만 상업적 이용, 라이선스 제공 또는 데이터셋이나 파생 저작물의 판매를 금지하는 non-commercial license 하에 배포됩니다. 상업적 라이선스 옵션에 대해서는 Cityscapes 팀에 직접 문의하십시오.

댓글