データセットの概要

Ultralyticsは、検出、インスタンスセグメンテーション、セマンティックセグメンテーション、姿勢推定、分類、およびマルチオブジェクトトラッキングといったコンピュータビジョンのタスクを容易にするため、さまざまなデータセットをサポートしています。以下は主要なUltralyticsデータセットのリストであり、その後に各コンピュータビジョンのタスクと関連データセットの概要を記載しています。



Watch: Ultralytics Datasets Overview

物体検出

バウンディングボックスによる物体検出は、画像内の各物体の周囲にバウンディングボックスを描画することで、物体を検出および特定するコンピュータビジョン技術です。

  • 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波長を補間して作成された10チャンネルのマルチスペクトル版COCO8で、スペクトル対応モデルの評価に役立ちます。
  • COCO128: COCO trainおよびCOCO valの最初の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: Googleが提供する包括的なデータセットであり、170万枚のトレーニング画像と4万2千枚の検証画像が含まれています。
  • RF100: 7つの画像ドメインにまたがる100のデータセットを備えた多様な物体検出ベンチマークであり、包括的なモデル評価を可能にします。
  • Signature: さまざまな文書の画像に署名のアノテーションが施されたデータセットで、文書検証や不正検出の研究を支援します。
  • SKU-110K: 小売環境における密集した物体検出データセットであり、1万1千枚以上の画像と170万個のバウンディングボックスが含まれています。
  • VisDrone: ドローンで撮影された画像と動画シーケンスからなる、物体検出およびマルチオブジェクトトラッキングデータセットで、1万枚以上の画像が含まれています。
  • VOC: 物体検出およびセグメンテーションのためのPascal Visual Object Classes (VOC) データセットで、20の物体クラスと1万1千枚以上の画像が含まれています。
  • xView: 上空からの画像における物体検出のためのデータセットで、60の物体カテゴリと100万個以上の注釈付き物体が含まれています。

インスタンスセグメンテーション

インスタンスセグメンテーションは、画像内の物体をピクセル単位で識別し特定するコンピュータビジョン技術です。各ピクセルを分類するだけのセマンティックセグメンテーションとは異なり、インスタンスセグメンテーションは、同一クラスの異なるインスタンスを区別します。

  • Carparts-seg: 車両部品を識別するための専用データセットで、設計、製造、研究のニーズに対応しています。物体検出とセグメンテーションの両方のタスクに使用できます。
  • COCO: 20万枚以上のラベル付き画像を持つ、物体検出、セグメンテーション、キャプション作成タスク向けの大規模データセットです。
  • COCO8-seg: インスタンスセグメンテーションタスク向けの小規模データセットで、セグメンテーションアノテーション付きの8枚のCOCO画像が含まれています。
  • COCO128-seg: インスタンスセグメンテーションタスク向けの小規模データセットで、セグメンテーションアノテーション付きの128枚のCOCO画像が含まれています。
  • Crack-seg: 道路や壁の亀裂を検出するために特別に作成されたデータセットで、物体検出とセグメンテーションの両方のタスクに適用可能です。
  • Package-seg: 倉庫や産業環境でのパッケージ識別用に調整されたデータセットで、物体検出およびセグメンテーションの用途に適しています。

セマンティックセグメンテーション

セマンティックセグメンテーションは、画像内のすべてのピクセルにクラスラベルを割り当て、自動運転、シーン解析、土地被覆マッピングなどの用途に向けた高密度なシーンマップを作成します。

  • Cityscapes: 19のトレーニングクラスを持つ、都市の街路シーンのセマンティックセグメンテーションデータセットです。
  • Cityscapes8: セマンティックセグメンテーションパイプラインを迅速に確認するための、8枚からなるCityscapesのコンパクトなサブセットです。
  • ADE20K: 150のセマンティッククラスを持つシーン解析用データセットです。

姿勢推定

姿勢推定は、カメラまたは世界座標系に対する物体の姿勢を決定するために使用される技術です。これには、物体、特に人間や動物のキーポイントや関節を識別する作業が含まれます。

  • COCO: 姿勢推定タスク向けに設計された、人間の姿勢アノテーションを含む大規模データセットです。
  • COCO8-pose: 姿勢推定タスク向けの小規模データセットで、人間の姿勢アノテーション付きの8枚のCOCO画像が含まれています。
  • Dog-pose: 犬に焦点を当てた約6,000枚の画像を含む包括的なデータセットです。犬1匹あたり24個のキーポイントがアノテーションされており、姿勢推定タスクに適しています。
  • Hand-Keypoints: 人間の手に焦点を当てた26,000枚以上の画像を含む簡潔なデータセットで、手1つあたり21個のキーポイントがアノテーションされており、姿勢推定タスク用に設計されています。
  • Tiger-pose: トラに焦点を当てた263枚の画像からなるコンパクトなデータセットで、姿勢推定タスク用にトラ1頭あたり12個のキーポイントがアノテーションされています。

分類

画像分類は、視覚的な内容に基づいて、画像を1つ以上の定義済みクラスやカテゴリに分類するコンピュータビジョンのタスクです。

  • Caltech 101: 画像分類タスク向けに101の物体カテゴリの画像を含むデータセットです。
  • Caltech 256: Caltech 101の拡張版で、256の物体カテゴリと、より難易度の高い画像が含まれています。
  • CIFAR-10: 10クラスに分類された6万枚の32x32カラー画像からなるデータセットで、各クラス6千枚の画像が含まれています。
  • CIFAR-100: CIFAR-10の拡張版で、100の物体カテゴリと、各クラス600枚の画像が含まれています。
  • Fashion-MNIST: 10のファッションカテゴリの7万枚のグレースケール画像からなる、画像分類タスク用データセットです。
  • ImageNet: 1,400万枚以上の画像と2万のカテゴリを持つ、物体検出および画像分類用大規模データセットです。
  • ImageNet-10: より高速な実験やテストのために、10カテゴリに絞ったImageNetの小規模なサブセットです。
  • Imagenette: より高速なトレーニングとテストのために、容易に区別可能な10クラスを含むImageNetの小規模なサブセットです。
  • Imagewoof: 画像分類タスクのために、10の犬種カテゴリを含むImageNetのより難易度の高いサブセットです。
  • MNIST: 手書き数字の7万枚のグレースケール画像からなる、画像分類タスク用データセットです。
  • MNIST160: MNISTデータセットの各カテゴリから最初の8枚ずつを取得したものです。データセットには合計160枚の画像が含まれています。

傾きバウンディングボックス (OBB)

傾きバウンディングボックス (OBB) は、航空写真や衛星写真によく適用される、画像内の傾いた物体を回転させたバウンディングボックスを使用して検出するコンピュータビジョンの手法です。従来のバウンディングボックスとは異なり、OBBはさまざまな方向に配置された物体により適合します。

  • DOTA-v2: 170万個のインスタンスと11,268枚の画像を持つ、一般的なOBB航空写真データセットです。
  • DOTA8: DOTAv1分割セットの最初の8枚(トレーニング用4枚、検証用4枚)からなる小規模なサブセットで、テスト用途に適しています。
  • DOTA128: トレーニングおよび検証用に128枚の画像を含むDOTAデータセットのサブセットで、OBBモデルのテストにおけるサイズと多様性のバランスが良好です。

マルチオブジェクトトラッキング

マルチオブジェクトトラッキングは、動画シーケンス内で複数の物体を時系列に検出および追跡するコンピュータビジョン技術です。このタスクは、フレーム間で物体のIDを一貫して維持することで、物体検出を拡張します。

  • Argoverse: 都市環境での3Dトラッキングおよびモーション予測データを含むデータセットで、マルチオブジェクトトラッキングタスク向けの豊富なアノテーションが施されています。
  • VisDrone: ドローンで撮影された画像と動画シーケンスからなる、物体検出およびマルチオブジェクトトラッキングデータセットで、1万枚以上の画像が含まれています。

新しいデータセットの提供

新しいデータセットの提供には、既存のインフラストラクチャとうまく適合するように、いくつかのステップが必要です。必要な手順を以下に示します。



Watch: How to Contribute to Ultralytics Datasets

新しいデータセットを提供するための手順

  1. 画像の収集: データセットに属する画像を集めます。これらは公開データベースや独自のコレクションなど、さまざまなソースから収集できます。

  2. 画像へのアノテーション: タスクに応じて、これらの画像にバウンディングボックス、セグメント、またはキーポイントのアノテーションを施します。

  3. アノテーションのエクスポート: これらのアノテーションを、UltralyticsがサポートするYOLOの *.txt ファイル形式に変換します。

  4. データセットの整理: データセットを正しいフォルダ構造に配置します。最上位ディレクトリに images/labels/ を作成し、それぞれの内部に train/val/ サブディレクトリを作成する必要があります。

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. data.yaml ファイルの作成: データセットのルートディレクトリに、データセット、クラス、およびその他の必要な情報を記述する data.yaml ファイルを作成します。

  6. 画像の最適化 (オプション): データセットのサイズを縮小して効率的な処理を行いたい場合は、以下のコードを使用して画像を最適化できます。これは必須ではありませんが、データセットのサイズを抑え、ダウンロード速度を上げるために推奨されます。

  7. データセットのZIP圧縮: データセットフォルダ全体をZIPファイルに圧縮します。

  8. ドキュメント作成とPR: データセットの概要と、それが既存のフレームワークにどのように適合するかを記述するドキュメントページを作成します。その後、プルリクエスト (PR) を送信してください。PRの送信方法の詳細については、Ultralytics貢献ガイドラインを参照してください。

データセットを最適化および圧縮するサンプルコード

データセットの最適化と圧縮
   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は物体検出のためにどのようなデータセットをサポートしていますか?

Ultralyticsは、物体検出向けに以下を含む非常に多様なデータセットをサポートしています:

  • COCO: 80の物体カテゴリを持つ、大規模な物体検出、セグメンテーション、キャプション作成用データセットです。
  • LVIS: より詳細な物体検出とセグメンテーションのために設計された、1203の物体カテゴリを持つ広範なデータセットです。
  • Argoverse: 都市環境での3Dトラッキングおよびモーション予測データを含む、詳細なアノテーションが施されたデータセットです。
  • VisDrone: ドローンで撮影された画像からなる、物体検出およびマルチオブジェクトトラッキングデータセットです。
  • SKU-110K: 1万1千枚以上の画像を備えた、小売環境における密集した物体検出データセットです。

これらのデータセットは、さまざまな物体検出アプリケーション向けの堅牢な Ultralytics YOLO モデルのトレーニングを促進します。

新しいデータセットをUltralyticsに提供するにはどうすればよいですか?

新しいデータセットの提供には、いくつかのステップが必要です:

  1. 画像の収集: 公開データベースまたは個人のコレクションから画像を集めます。
  2. 画像へのアノテーション: タスクに応じて、バウンディングボックス、セグメント、またはキーポイントを適用します。
  3. アノテーションのエクスポート: アノテーションをYOLOの *.txt 形式に変換します。
  4. Organize Dataset: Use the folder structure with train/ and val/ directories, each containing images/ and labels/ subdirectories.
  5. data.yaml ファイルの作成: データセットの説明、クラス、およびその他の関連情報を含めます。
  6. 画像の最適化 (オプション): 効率化のためにデータセットのサイズを縮小します。
  7. データセットのZIP圧縮: データセットをZIPファイルに圧縮します。
  8. ドキュメント作成とPR: データセットを説明し、Ultralytics貢献ガイドラインに従ってプルリクエストを送信します。

包括的なガイドについては、新しいデータセットの提供を参照してください。

なぜ自分のデータセットにUltralyticsプラットフォームを使用すべきなのですか?

Ultralytics Platform は、データセットの管理と分析のための強力な機能を提供しており、以下のようなものが含まれます。

  • シームレスなデータセット管理: データセットのアップロード、整理、管理を一箇所で行えます。
  • 即時のトレーニング統合: アップロードされたデータセットを、追加の設定なしで直接モデルトレーニングに使用できます。
  • 可視化ツール: データセットの画像やアノテーションを探索・可視化します。
  • データセット分析: データセットの分布や特性に関する洞察を得られます。

このプラットフォームは、データセット管理からモデルトレーニングへの移行を効率化し、プロセス全体をより効率的にします。Ultralytics Platform Datasets についてさらに詳しく学ぶ。

コンピュータビジョンにおける Ultralytics YOLO モデルのユニークな特徴は何ですか?

Ultralytics YOLO モデルは、コンピュータビジョン タスク向けにいくつかのユニークな機能を提供します。

  • リアルタイム性能: 時間に制約のあるアプリケーションのための、高速な推論およびトレーニング機能。
  • 汎用性: 検出、インスタンスセグメンテーション、セマンティックセグメンテーション、分類、および姿勢推定タスクを単一のフレームワークでサポートします。
  • 事前学習済みモデル: さまざまなアプリケーション向けの高精度な事前学習済みモデルにアクセスでき、トレーニング時間を短縮できます。
  • 広範なコミュニティサポート: トラブルシューティングや開発のためのアクティブなコミュニティと包括的なドキュメント。
  • 容易な統合: 既存のプロジェクトやワークフローに統合するためのシンプルな API。

YOLO モデルの詳細については、Ultralytics Models ページをご覧ください。

Ultralytics ツールを使用してデータセットを最適化および zip 圧縮するにはどうすればよいですか?

Ultralytics ツールを使用してデータセットを最適化および 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)

このプロセスは、データセットのサイズを削減し、ストレージ効率の向上とダウンロード速度の高速化に役立ちます。データセットの最適化と zip 圧縮 の方法について詳しく学びます。

コメント