データセットの概要#
Ultralyticsは、検出、instance segmentation、セマンティックセグメンテーション、深度推定、分類、姿勢推定、指向性バウンディングボックス(OBB)などのコンピュータビジョンタスクを容易にするため、様々なデータセットのサポートを提供します。以下に主要なUltralyticsのデータセットのリストを示し、その後に各コンピュータビジョンタスクの概要とそれぞれのデータセットを記載します。Track modeは、トラッカー固有のトレーニングなしで検出、セグメンテーション、姿勢、OBBモデルの上で実行されます。tracking datasetsを参照してください。
Watch: Ultralytics Datasets Overview
Object Detection#
Bounding boxオブジェクト検出は、各オブジェクトの周囲にバウンディングボックスを描画することで、画像内のオブジェクトを検出し、その位置を特定するコンピュータービジョン技術です。
- African-wildlife: バッファロー、ゾウ、サイ、シマウマなど、アフリカの野生動物の画像を含むデータセット。
- Argoverse: 豊富なアノテーションが付いた、都市環境での3Dトラッキングおよびモーション予測データを含むデータセット。
- Brain-tumor: 脳腫瘍の有無、位置、特徴に関する詳細を含むMRIまたはCTスキャン画像を用いた、脳腫瘍検出用のデータセット。
- COCO: Common Objects in Context (COCO) は、80のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、キャプション生成データセットです。
- COCO8: COCOのtrainおよびCOCOのvalから最初の4つの画像を抽出した小規模なサブセットであり、クイックテストに適しています。
- COCO8-Grayscale: RGBをグレースケールに変換して作成されたCOCO8のグレースケール版であり、単チャネルモデルの評価に役立ちます。
- COCO8-Multispectral: RGBの波長を補間して作成されたCOCO8の10チャネルマルチスペクトル版であり、スペクトルを考慮したモデルの評価に役立ちます。
- COCO128: COCO train2017の最初の128枚の画像のより小さなサブセットであり、テストに適しています。
- Construction-PPE: ヘルメット、ベスト、手袋、ブーツ、ゴーグルなどの主要な安全装備が注釈付けされた建設現場の画像データセットであり、不足している装備のラベルも含まれており、コンプライアンスや作業員保護のためのAIモデルの開発をサポートします。
- Global Wheat 2020: Global Wheat Challenge 2020用の小麦の穂の画像を含むデータセット。
- HomeObjects-3K: 12の一般的な家庭用品が登場する、注釈付きの屋内シーンのデータセットであり、スマートホームシステム、ロボット工学、拡張現実におけるコンピュータービジョンモデルの開発とテストに最適です。
- KITTI New: ステレオ、LiDAR、GPS/IMU入力を備えた、多様な道路シーンでの2Dオブジェクト検出に使用される有名な自動運転データセット。
- LVIS: 1203のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、およびキャプション生成データセット。
- Medical-pills: 医薬品の品質管理、仕分け、業界標準への適合確認などのタスクを支援するために設計された、医療用ピルのラベル付き画像を含むデータセット。
- Objects365: 365のオブジェクトカテゴリと60万枚以上のアノテーション付き画像を含む、高品質で大規模なオブジェクト検出用データセット。
- OpenImagesV7: 170万枚のトレーニング画像と4万2千枚の検証画像を含む、Googleによる包括的なデータセット。
- RF100: 包括的なモデル評価のために7つの画像ドメインにわたる100のデータセットを備えた、多様なオブジェクト検出ベンチマーク。
- Signature: アノテーション付き署名が含まれるさまざまな文書の画像を含むデータセットであり、文書検証や不正検出の研究をサポートします。
- SKU-110K: 1万1,000枚以上の画像と170万個のバウンディングボックスを備えた、小売環境での高密度オブジェクト検出を特徴とするデータセット。
- VisDrone: 1万枚以上の画像とビデオシーケンスを含む、ドローン撮影映像からのオブジェクト検出およびマルチオブジェクト追跡データを含むデータセット。
- VOC: 20のオブジェクトクラスと1万1千枚以上の画像を持つ、オブジェクト検出およびセグメンテーション用のPascal Visual Object Classes(VOC)データセット。
- xView: 60のオブジェクトカテゴリと100万を超えるアノテーション付きオブジェクトを持つ、上空からの画像におけるオブジェクト検出用データセット。
Instance Segmentation#
インスタンスセグメンテーションは、画像内のオブジェクトをピクセル単位で識別し、位置を特定するコンピュータービジョン技術です。各ピクセルを分類するだけのセマンティックセグメンテーションとは異なり、instance segmentationは同じクラスの異なるインスタンスを区別します。
- Carparts-seg: 車両部品の識別のために専用に構築されたデータセットであり、設計、製造、研究のニーズに対応します。オブジェクト検出とセグメンテーションの両方のタスクに役立ちます。
- COCO: 20万枚以上のラベル付き画像を使用した、オブジェクト検出、セグメンテーション、キャプション生成タスク用に設計された大規模データセット。
- COCO8-seg: インスタンスセグメンテーションタスク用の小規模なデータセットであり、セグメンテーションのアノテーションが付いた8枚のCOCO画像のサブセットが含まれています。
- COCO128-seg: インスタンスセグメンテーションタスク用の小規模なデータセットであり、セグメンテーションのアノテーションが付いた128枚のCOCO画像のサブセットが含まれています。
- Crack-seg: 道路や壁のひび割れを検出するために特別に作成されたデータセットであり、オブジェクト検出とセグメンテーションの両方のタスクに適用可能です。
- Package-seg: 倉庫や産業環境でのパッケージ識別のために調整されたデータセットであり、オブジェクト検出とセグメンテーションの両方のアプリケーションに適しています。
Semantic Segmentation#
セマンティックセグメンテーションは、画像内のすべてのピクセルにクラスラベルを割り当て、自動運転、シーン解析、土地被覆マッピングなどのアプリケーション向けに高密度なシーンマップを生成します。
- Cityscapes:19のtrainクラスを持つ都市ストリートシーンのセマンティックセグメンテーションデータセット。
- Cityscapes8: セマンティックセグメンテーションのパイプラインを素早く確認するための、コンパクトな8枚の画像のCityscapesサブセット。
- ADE20K:150のセマンティッククラスを持つシーンパースデータセット。
Depth Estimation#
単眼深度推定は、単一のRGB画像からピクセル単位の深度マップをメートル単位で予測し、3Dシーン再構築、ロボットナビゲーション、およびAR/VRアプリケーションをサポートします。
- NYU Depth V2: Microsoft Kinect v1で撮影された標準的な屋内深度ベンチマーク。
- KITTI: Velodyne LiDARの深度データを含む、実世界の屋外自動運転シーン。
- Depth8: パイプラインを素早く確認するための、コンパクトな8枚の画像のSUN RGB-Dサブセット。
Classification#
Image classificationは、視覚的な内容に基づいて画像を1つ以上の事前に定義されたクラスやカテゴリに分類するコンピュータービジョンタスクです。
- Caltech 101: 画像分類タスク用に101のオブジェクトカテゴリの画像を含むデータセット。
- Caltech 256: 256のオブジェクトカテゴリとより難易度の高い画像を備えた、Caltech 101の拡張バージョン。
- CIFAR-10: 10クラスの6万枚の32x32カラー画像のデータセットであり、クラスあたり6,000枚の画像が含まれています。
- CIFAR-100: 100のオブジェクトカテゴリとクラスあたり600枚の画像を備えた、CIFAR-10の拡張バージョン。
- Fashion-MNIST: 画像分類タスク用に、10のファッションカテゴリの7万枚のグレースケール画像で構成されるデータセット。
- ImageNet: 1,400万枚以上の画像と2万のカテゴリを持つ、オブジェクト検出と画像分類のための大規模データセット。
- ImageNet-10: より迅速な実験とテストのために10のカテゴリを持つ、ImageNetの小さなサブセット。
- Imagenette: より迅速なトレーニングとテストのために、簡単に区別できる10のクラスを含むImageNetの小さなサブセット。
- Imagewoof: 画像分類タスクのために、10の犬種カテゴリを含む、ImageNetのより難易度の高いサブセット。
- MNIST: 画像分類タスク用に、手書き数字の7万枚のグレースケール画像を含むデータセット。
- MNIST160: MNISTのトレーニング用およびテスト用の分割データから、各数字(0〜9)の最初の8枚の画像。データセットには合計160枚の画像が含まれています。
Pose Estimation#
姿勢推定は、カメラまたは世界座標系に対するオブジェクトの姿勢を決定するために使用される技術です。これには、オブジェクト(特に人間や動物)上のキーポイントや関節を特定することが含まれます。
- COCO: 姿勢推定タスク用に設計された、人間の姿勢のアノテーションが含まれる大規模データセット。
- COCO8-pose: 姿勢推定タスク用の小規模なデータセットであり、人間の姿勢のアノテーションが付いた8枚のCOCO画像のサブセットが含まれています。
- Dog-pose: 犬に焦点を当てた約8,500枚の画像を備えた包括的なデータセットであり、犬1匹あたり24個のキーポイントがアノテーションされており、姿勢推定タスクに最適化されています。
- Hand-Keypoints: 人間の手に焦点を当てた26,000枚以上の画像を備えた簡潔なデータセットであり、手1つあたり21個のキーポイントがアノテーションされており、姿勢推定タスク用に設計されています。
- Tiger-pose: トラに焦点を当てた263枚の画像で構成されるコンパクトなデータセットであり、姿勢推定タスクのためにトラ1頭あたり12個のキーポイントがアノテーションされています。
向きを持った境界ボックス (OBB)#
指向性バウンディングボックス (OBB) は、航空画像や衛星画像によく適用される、回転したバウンディングボックスを使用して画像内の斜めのオブジェクトを検出するコンピュータビジョン手法です。従来のバウンディングボックスとは異なり、OBBは多様な向きにあるオブジェクトによりよく適合します。
- DOTA-v2: 170万のインスタンスと11,268枚の画像を持つ、一般的なOBB航空写真データセット。
- DOTA8: DOTAv1分割セットの最初の8枚の画像(トレーニング用に4枚、検証用に4枚)の小さなサブセットであり、クイックテストに適しています。
- DOTA128: トレーニングと検証用に128枚の画像を持つDOTAデータセットの128枚の画像のサブセットであり、OBBモデルのテストにおけるサイズと多様性の良好なバランスを提供します。
新しいデータセットの提供#
新しいデータセットの提供には、既存のインフラストラクチャと整合させるためにいくつかのステップが必要です。以下に必要な手順を示します。
Watch: How to Contribute to Ultralytics Datasets
新しいデータセットを提供するための手順#
-
画像の収集: データセットに属する画像を収集します。これらは、公開データベースやご自身のコレクションなど、様々なソースから収集できます。
-
画像のアノテーション: タスクに応じて、これらの画像にバウンディングボックス、セグメント、またはキーポイントのアノテーションを施します。
-
Export Annotations: これらのアノテーションを、UltralyticsがサポートするYOLOの
*.txtファイル形式に変換します。 -
Organize Dataset: データセットを正しいフォルダ構造に配置します。トップレベルのディレクトリとして
images/とlabels/が必要であり、それぞれの内部にtrain/とval/のサブディレクトリが必要です。dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Create a
data.yamlFile: データセットのルートディレクトリに、データセット、クラス、およびその他の必要な情報を記述するdata.yamlファイルを作成します。 -
画像の最適化 (オプション): より効率的な処理のためにデータセットのサイズを縮小したい場合は、以下のコードを使用して画像を最適化できます。これは必須ではありませんが、データセットのサイズを小さくし、ダウンロード速度を上げるために推奨されます。
-
データセットのZIP圧縮: データセットフォルダ全体をZIPファイルに圧縮します。
-
Document and PR: データセットと、それが既存のフレームワークにどのように適合するのかを説明するドキュメントページを作成します。その後、プルリクエスト(PR)を送信します。PRの送信方法の詳細については、Ultralytics Contribution Guidelinesを参照してください。
データセットを最適化してZIP圧縮するサンプルコード#
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)これらのステップに従うことで、Ultralyticsの既存の構造とよく統合される新しいデータセットを提供できます。
よくある質問 (FAQ)#
Ultralyticsは、以下を含むobject detection向けの多種多様なデータセットをサポートしています。
- COCO: 80のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、キャプション生成データセット。
- LVIS: よりきめ細かいオブジェクト検出とセグメンテーションのために設計された、1203のオブジェクトカテゴリを持つ広範なデータセット。
- Argoverse: 豊富なアノテーションが付いた、都市環境での3Dトラッキングおよびモーション予測データを含むデータセット。
- VisDrone: ドローンで撮影された画像からのオブジェクト検出およびマルチオブジェクト追跡データを含むデータセット。
- SKU-110K: 1万1,000枚以上の画像を伴う、小売環境での高密度オブジェクト検出を特徴とします。
これらのデータセットは、さまざまなオブジェクト検出アプリケーション向けの堅牢なUltralytics YOLOモデルのトレーニングを容易にします。
新しいデータセットの提供には、いくつかのステップが含まれます:
- 画像の収集: 公開データベースや個人のコレクションから画像を収集します。
- 画像のアノテーション: タスクに応じて、バウンディングボックス、セグメント、またはキーポイントを適用します。
- Export Annotations: アノテーションをYOLOの
*.txt形式に変換します。 - Organize Dataset:
train/およびval/ディレクトリを持つフォルダ構造を使用し、それぞれにimages/およびlabels/サブディレクトリを含めます。 - Create a
data.yamlFile: データセットの説明、クラス、およびその他の関連情報を含めます。 - 画像の最適化 (オプション): 効率化のためにデータセットのサイズを縮小します。
- データセットのZIP圧縮: データセットをZIPファイルに圧縮します。
- Document and PR: データセットについて説明し、Ultralytics Contribution Guidelinesに従ってプルリクエストを送信します。
包括的なガイドについては、Contribute New Datasetsをご覧ください。
Ultralytics Platformは、以下を含むデータセット管理と分析のための強力な機能を提供します。
- シームレスなデータセット管理: データセットのアップロード、整理、管理を一箇所で行うことができます。
- 即時のトレーニング統合: アップロードしたデータセットを、追加のセットアップなしで直接モデルのトレーニングに使用できます。
- 可視化ツール: データセット内の画像やアノテーションを探索および可視化します。
- データセット分析: データセットの分布や特性に関する洞察を得ることができます。
このプラットフォームは、データセット管理からモデルトレーニングへの移行を合理化し、プロセス全体をより効率的にします。Ultralytics Platform Datasetsについての詳細をご覧ください。
Ultralytics YOLOモデルは、computer visionタスク向けにいくつかの独自の機能を提供します。
- リアルタイム性能: 時間に敏感なアプリケーション向けに、高速な推論およびトレーニング機能を提供します。
- 汎用性: 検出、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、分類、および姿勢推定の各タスクを統一フレームワーク内でサポートします。
- 事前学習済みモデル: 多様なアプリケーションに対応する高性能な事前学習済みモデルにアクセスでき、トレーニング時間を短縮できます。
- 広範なコミュニティサポート: トラブルシューティングや開発に役立つ、活発なコミュニティと包括的なドキュメントが提供されています。
- 簡単な統合: 既存のプロジェクトやワークフローに統合するためのシンプルなAPIを提供します。
YOLOモデルの詳細については、Ultralytics Modelsページをご覧ください。
Ultralyticsツールを使用してデータセットを最適化し、zip圧縮するには、以下のコード例に従ってください。
データセットを最適化してZIP圧縮するfrom pathlib import Path from ultralytics.data.utils import compress_one_image from ultralytics.utils.downloads import zip_directory # Define dataset directory path = Path("path/to/dataset") # Optimize images in dataset (optional) for f in path.rglob("*.jpg"): compress_one_image(f) # Zip dataset into 'path/to/dataset.zip' zip_directory(path)このプロセスは、ストレージの効率化とダウンロード速度の向上を実現するために、データセットのサイズを削減するのに役立ちます。Optimize and Zip a Datasetの方法については、詳細をご覧ください。