Ultralytics YOLO27:

Cityscapes8データセット#

はじめに#

UltralyticsのCityscapes8データセットは、Cityscapesデータセットから抽出した8枚(学習用4枚、検証用4枚)で構成される小規模なセマンティックセグメンテーションデータセットです。YOLOセマンティックセグメンテーションモデルと学習パイプラインの迅速なテスト、デバッグ、実験を目的としています。都市シーンのデータを含むため、Cityscapes全体に拡張する前のパイプライン確認に役立ちます。

Cityscapes8は、Cityscapes全体と同じ19の評価クラスと同じlabel_mappingの動作を使用しており、YOLO26のセマンティックセグメンテーションワークフローと完全に互換性があります。

注

Cityscapes8はパイプラインテスト専用であり、ベンチマーク用ではありません。8枚では、有意義なmIoU比較を行うには少なすぎます。代表的な結果を得るには、Cityscapes全体の検証セットを使用してください。

データセットの構成#

Cityscapes8は、testの分割を除き、データセット全体と同じ構成です。

cityscapes8/
├── images/
│   ├── train/  # 4 images
│   └── val/    # 4 images
└── masks/
    ├── train/  # 4 single-channel PNG masks
    └── val/    # 4 single-channel PNG masks

マスクはmasks_dir: masksフィールドを介して画像と対応付けられます。また、label_mappingにより、ソースのCityscapesラベルIDがCityscapes全体のデータセット構成で説明されている連続した19個の学習IDに変換されます。

データセットYAML#

Cityscapes8のデータセット構成は、データセットのパス、クラス名、その他の重要なメタデータを指定するデータセットYAMLファイルで定義されています。Ultralytics GitHubリポジトリで、公式のcityscapes8.yamlファイルを確認できます。YAMLには、小規模なパッケージ済みサブセットのダウンロードURLが含まれています。

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

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

# Dataset root directory
path: cityscapes8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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

# Download URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/cityscapes8.zip

使用方法#

Cityscapes8データセットでYOLO26n-semモデルを画像サイズ1024、100エポックで学習するには、以下の例を使用してください。学習オプションの全一覧については、YOLOの学習ドキュメントをご覧ください。

トレーニング例
from ultralytics import YOLO

# 事前学習済みのYOLO26n-semモデルを読み込む
model = YOLO("yolo26n-sem.pt")

# Cityscapes8でモデルを学習する
results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

Ultralytics Platformを使って、Cityscapes8を管理し、セマンティックセグメンテーションモデルをクラウドで学習することもできます。

引用、ライセンス、謝辞#

Cityscapes8は、独自の非商用ライセンスで公開されている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チームに、心より感謝します。

よくある質問#

  • UltralyticsのCityscapes8データセットは、セマンティックセグメンテーションモデルの迅速なテストとデバッグを目的としています。画像はわずか8枚(学習用4枚、検証用4枚)で、YOLOのセマンティックセグメンテーションパイプラインにおけるマスク読み込み、拡張、検証、エクスポートの各処理を確認してから、Cityscapes全体に拡張するのに最適です。詳細については、Cityscapes8 YAML設定をご覧ください。

  • Cityscapes8は、Cityscapesの学習用2,975枚・検証用500枚の分割から、同じ19クラスとlabel_mappingを使用して8枚(学習用4枚、検証用4枚)を抽出しています。そのため、Cityscapes8で動作するパイプラインは変更せずにデータセット全体で実行できます。data=の参照先をcityscapes8.yamlではなくcityscapes.yamlにするだけです。データセット全体とは異なり、Cityscapes8では手動ダウンロードが不要で、testの分割もありません。

  • PythonまたはCLIを使って、Cityscapes8でYOLO26セマンティックセグメンテーションモデルを学習できます。

    トレーニング例
    from ultralytics import YOLO
    
    # 事前学習済みのYOLO26n-semモデルを読み込む
    model = YOLO("yolo26n-sem.pt")
    
    # Cityscapes8でモデルを学習する
    results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

    その他のトレーニングオプションについては、YOLOトレーニングのドキュメントをご覧ください。

  • いいえ。Cityscapes8は有意義なモデル比較を行うには小さすぎるため、学習および評価パイプラインの確認を目的としています。セマンティックセグメンテーションで代表的なベンチマーク結果が必要な場合は、Cityscapes全体の検証セットを使用してください。

コメント