データセットの概要#
Ultralyticsは、物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、分類、姿勢推定、回転バウンディングボックス(OBB)などのコンピュータービジョンタスクを支援するため、さまざまなデータセットに対応しています。以下に、主要なUltralyticsデータセットと、各コンピュータービジョンタスクおよび対応するデータセットの概要を示します。トラックモードは、トラッカー固有のトレーニングを行わずに、検出、セグメンテーション、姿勢、OBBモデル上で動作します。トラッキング用データセットをご覧ください。
視聴: Ultralytics データセットの概要
物体検出#
バウンディングボックス物体検出は、画像内の各物体をバウンディングボックスで囲み、物体を検出して位置を特定するコンピュータービジョン技術です。
- African-wildlife:バッファロー、ゾウ、サイ、シマウマなど、アフリカの野生動物の画像を収録したデータセットです。
- Argoverse:詳細なアノテーションが付与された、都市環境の3Dトラッキングおよび動作予測データを含むデータセットです。
- Brain-tumor:脳腫瘍の有無、位置、特徴に関する情報を含むMRIまたはCTスキャン画像を収録した、脳腫瘍検出用のデータセットです。
- COCO:Common Objects in Context (COCO)は、80の物体カテゴリを含む大規模な物体検出、セグメンテーション、キャプション生成用データセットです。
- COCO8:COCO train2017の先頭8枚(トレーニング用4枚、検証用4枚)からなる小規模なサブセットで、迅速なテストに適しています。
- COCO8-Grayscale:RGBをグレースケールに変換して作成したCOCO8のグレースケール版で、シングルチャネルモデルの評価に役立ちます。
- COCO8-Multispectral:RGBの波長を補間して作成した、10チャネルのCOCO8マルチスペクトル版で、スペクトルを考慮したモデル評価に役立ちます。
- COCO12-Formats:サポート対象の12種類の画像形式(AVIF、BMP、DNG、HEIC、JP2、JPEG、JPG、MPO、PNG、TIF、TIFF、WebP)を網羅した12枚のテスト用データセットで、画像読み込みパイプラインの検証に使用します。
- COCO128:COCO train2017の先頭128枚からなる小規模なサブセットで、テストに適しています。
- Construction-PPE:ヘルメット、ベスト、手袋、ブーツ、ゴーグルなどの主要な安全装備と、装備の不足を示すラベルが付与された建設現場の画像データセットです。コンプライアンスや作業員の保護を目的としたAIモデルの開発を支援します。
- Global Wheat 2020:Global Wheat Challenge 2020向けの小麦穂の画像を含むデータセットです。
- HomeObjects-3K:一般的な家庭用品12種類を含む、アノテーション付きの屋内シーンデータセットです。スマートホームシステム、ロボティクス、拡張現実向けのコンピュータービジョンモデルの開発とテストに最適です。
- KITTI:ステレオ、LiDAR、GPS/IMU入力を含む、よく知られた自動運転用データセットです。さまざまな道路シーンにおける2D物体検出に使用されます。
- LVIS:1,203種類の物体カテゴリを含む、大規模な物体検出およびインスタンスセグメンテーション用データセットです。
- Medical-pills:医薬品の品質管理、仕分け、業界標準への準拠確認などのタスクを支援するために設計された、ラベル付きの医薬品錠剤画像データセットです。
- Objects365:365種類の物体カテゴリと170万枚を超えるアノテーション付き画像を含む、高品質かつ大規模な物体検出用データセットです。
- OpenImagesV7:Googleが提供する包括的なデータセットで、トレーニング画像170万枚、検証画像4万2,000枚を収録しています。
- RF100:7つの画像ドメインにまたがる100種類のデータセットを含む、多様な物体検出ベンチマークです。包括的なモデル評価に使用できます。
- Signature:署名にアノテーションが付与されたさまざまな文書の画像を含むデータセットで、文書の検証や不正検出の研究を支援します。
- SKU-110K:小売環境における密集物体検出用データセットで、1万1,000枚を超える画像と170万個のバウンディングボックスを含みます。
- TT100K:清華大学とTencentによる10万件の交通標識データセットで、221種類の標識カテゴリにわたるストリートビュー画像16,817枚を収録しています。
- VisDrone:ドローンで撮影された画像を基にした物体検出およびマルチオブジェクトトラッキングデータセットで、1万枚を超える画像と動画シーケンスを含みます。
- VOC:Pascal Visual Object Classes (VOC)は、20種類の物体クラスと2万1,000枚を超える画像を含む、物体検出およびセグメンテーション用データセットです。
- xView:60種類の物体カテゴリと100万個を超えるアノテーション付き物体を含む、上空から撮影した画像向けの物体検出データセットです。
インスタンスセグメンテーション#
インスタンスセグメンテーションは、画像内の物体をピクセル単位で識別し、位置を特定するコンピュータービジョン技術です。各ピクセルを分類するだけのセマンティックセグメンテーションとは異なり、インスタンスセグメンテーションでは同じクラスに属する個々の物体を区別します。
- Carparts-seg:設計、製造、研究のニーズに応えるため、車両部品の識別に特化して構築されたデータセットです。物体検出とセグメンテーションの両方のタスクに使用できます。
- COCO:物体検出、セグメンテーション、キャプション生成タスク向けに設計された大規模なデータセットで、20万枚を超えるラベル付き画像を含みます。
- COCO8-seg:セグメンテーションアノテーション付きのCOCO画像8枚のサブセットを含む、インスタンスセグメンテーション用の小規模なデータセットです。
- COCO128-seg:セグメンテーションアノテーション付きのCOCO画像128枚のサブセットを含む、インスタンスセグメンテーション用の小規模なデータセットです。
- Crack-seg:道路や壁のひび割れ検出に特化して作成されたデータセットで、物体検出とセグメンテーションの両方のタスクに適用できます。
- Package-seg:倉庫や産業環境で荷物を識別するために調整されたデータセットで、物体検出とセグメンテーションの両方に適しています。
セマンティックセグメンテーション#
セマンティックセグメンテーションは、画像内のすべてのピクセルにクラスラベルを割り当て、詳細なシーンマップを生成します。自動運転、シーン解析、土地被覆マッピングなどの用途に利用されます。
- Cityscapes:トレーニング用クラスを19種類含む、都市の道路シーン向けセマンティックセグメンテーションデータセットです。
- Cityscapes8:セマンティックセグメンテーションパイプラインをすばやく確認するための、Cityscapesのコンパクトな8枚サブセットです。
- ADE20K:150種類のセマンティッククラスを含む、シーン解析用データセットです。
深度推定#
単眼深度推定は、単一のRGB画像から各ピクセルの深度マップをメートル単位で予測し、3Dシーン再構築、ロボットナビゲーション、AR/VRアプリケーションを支援します。
- Depth8:パイプラインをすばやく確認するための、SUN RGB-Dのコンパクトな8枚サブセットです。
- ARKitScenes:Apple ARKit LiDARで撮影された実際の屋内RGB-Dデータで、実データのトレーニングソースとして最大規模です。
- SUN RGB-D:4種類の異なるRGB-Dセンサーで撮影された実際の屋内シーンです。
- DIODE:測量用レーザースキャナーで取得された、屋内外の高密度な深度データです。
- Hypersim:ピクセル単位で正確な深度情報を備えた、フォトリアリスティックな合成屋内シーンです。
- TartanAir:約80 mまでの高密度な深度情報を備えた、合成AirSim環境です。
- Virtual KITTI 2:高密度な深度情報を備えた、KITTIの運転シーンの合成再現データセットです。
- KITTI:Velodyne LiDARの深度情報を含む実環境の屋外自動運転シーンで、KITTI Eigenベンチマークでもあります。
- ImageNet(疑似ラベル付き):蒸留用のDepth Anything 3疑似ラベルを付与したImageNet-1K画像です。
- NYU Depth V2:Microsoft Kinect v1で撮影された、標準的な屋内深度ベンチマークです。
- ETH3D:高精度な屋内外レーザースキャナーベンチマークです。
- Make3D:分布外の屋外キャンパスベンチマークです。
- iBims-1:深度エッジと平面に関する高品質な屋内ベンチマークです。
分類#
画像分類は、画像の視覚的な内容に基づいて、画像を1つ以上の事前定義済みクラスまたはカテゴリに分類するコンピュータービジョンタスクです。
- Caltech 101:画像分類タスク向けに、101種類の物体カテゴリの画像を含むデータセットです。
- Caltech 256:Caltech 101を拡張したもので、256種類の物体カテゴリと、より難易度の高い画像を含みます。
- CIFAR-10:10クラスの32x32カラー画像6万枚を含むデータセットで、各クラスに6,000枚の画像があります。
- CIFAR-100:CIFAR-10を拡張したもので、100種類の物体カテゴリがあり、各クラスに600枚の画像を含みます。
- Fashion-MNIST:画像分類タスク向けに、10種類のファッションカテゴリのグレースケール画像70,000枚を含むデータセットです。
- ImageNet:物体検出と画像分類向けの大規模データセットで、1,400万枚を超える画像と20,000種類のカテゴリを含みます。
- ImageNet-10:実験やテストを高速化するための、10カテゴリからなるImageNetの小規模なサブセットです。
- Imagenette:トレーニングとテストを迅速に行えるよう、容易に見分けられる10クラスを含むImageNetの小規模なサブセットです。
- Imagewoof:画像分類タスク向けに、10種類の犬種カテゴリを含む、より難易度の高いImageNetサブセットです。
- MNIST:画像分類タスク向けに、手書き数字のグレースケール画像70,000枚を含むデータセットです。
- MNIST160:MNISTのトレーニング用とテスト用の各スプリットから、数字(0~9)ごとに先頭8枚を抽出したデータセットです。合計160枚の画像を含みます。
姿勢推定#
姿勢推定は、カメラまたはワールド座標系に対する物体の姿勢を特定するための技術です。特に人や動物などの物体について、キーポイントや関節を識別します。
- COCO:姿勢推定タスク向けに設計された、人間の姿勢アノテーション付き大規模データセットです。
- COCO8-pose:人間の姿勢アノテーション付きCOCO画像8枚のサブセットを含む、姿勢推定タスク向けの小規模なデータセットです。
- Dog-pose:犬に焦点を当てた約8,500枚の画像を収録した包括的なデータセットで、各犬に24個のキーポイントがアノテーションされています。姿勢推定タスク向けに調整されています。
- Hand-Keypoints:人間の手を中心とする26,000枚を超える画像を収録したコンパクトなデータセットで、各手に21個のキーポイントがアノテーションされています。姿勢推定タスク向けに設計されています。
- Tiger-pose:トラに焦点を当てた263枚の画像からなるコンパクトなデータセットで、姿勢推定タスク向けに各トラに12個のキーポイントがアノテーションされています。
方向付きバウンディングボックス(OBB)#
回転バウンディングボックス(OBB)は、回転したバウンディングボックスを使って画像内の角度のある物体を検出するコンピュータービジョン手法で、航空画像や衛星画像によく利用されます。従来のバウンディングボックスと比べて、さまざまな向きの物体により適切にフィットします。
- DOTA-v2:170万個のインスタンスと11,268枚の画像を含む、広く利用されている航空画像向けOBBデータセットです。
- DOTA8:DOTAv1の分割セットの先頭8枚(トレーニング用4枚、検証用4枚)からなる小規模なサブセットで、迅速なテストに適しています。
- DOTA128:トレーニングと検証用に128枚の画像を含むDOTAデータセットのサブセットです。サイズと多様性のバランスに優れ、OBBモデルのテストに適しています。
新しいデータセットの提供#
新しいデータセットを提供するには、既存のインフラストラクチャとの適合性を確保するため、いくつかの手順が必要です。以下に必要な手順を示します。
視聴: Ultralytics データセットへの貢献方法
新しいデータセットを提供する手順#
-
画像を収集する:データセットに含める画像を収集します。公開データベースや独自のコレクションなど、さまざまなソースから収集できます。
-
画像にアノテーションを付ける:タスクに応じて、これらの画像にバウンディングボックス、セグメント、またはキーポイントのアノテーションを付けます。
-
アノテーションをエクスポートする:これらのアノテーションを、UltralyticsがサポートするYOLO
*.txtファイル形式に変換します。 -
データセットを整理する:データセットを適切なフォルダー構造に整理します。最上位ディレクトリとして
images/とlabels/を用意し、それぞれの中にtrain/とval/のサブディレクトリを作成します。dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
data.yamlファイルを作成する:データセットのルートディレクトリに、データセット、クラス、その他の必要な情報を記述するdata.yamlファイルを作成します。 -
画像を最適化する(任意):より効率的に処理できるようデータセットのサイズを縮小する場合は、以下のコードを使用して画像を最適化できます。必須ではありませんが、データセットのサイズを小さくし、ダウンロード速度を上げるために推奨されます。
-
データセットをZIP圧縮: データセットフォルダー全体をZIPファイルに圧縮します。
-
ドキュメントとPR: データセットの説明と、既存のフレームワークにどのように適合するかを記載したドキュメントページを作成します。その後、Pull Request(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
# データセットディレクトリを定義
path = Path("path/to/dataset")
# データセット内の画像を最適化(任意)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# データセットを「path/to/dataset.zip」にZIP圧縮
zip_directory(path)これらの手順に従うことで、Ultralyticsの既存の構成に適切に統合される新しいデータセットを提供できます。
よくある質問#
Ultralyticsは、物体検出向けに幅広いデータセットをサポートしています。以下に例を示します。
- COCO: 80の物体カテゴリを含む、大規模な物体検出、セグメンテーション、キャプション生成用のデータセットです。
- LVIS: 1,203の物体カテゴリを含み、より詳細な物体検出とセグメンテーションを目的とした大規模なデータセットです。
- Argoverse:詳細なアノテーションが付与された、都市環境の3Dトラッキングおよび動作予測データを含むデータセットです。
- VisDrone: ドローンで撮影された画像からなる、物体検出とマルチオブジェクトトラッキングのデータセットです。
- SKU-110K: 11,000枚を超える画像を含み、小売環境の高密度な物体検出に対応するデータセットです。
これらのデータセットを活用すると、さまざまな物体検出アプリケーション向けに堅牢なUltralytics YOLOモデルをトレーニングできます。
新しいデータセットを提供するには、いくつかの手順があります。
- 画像を収集: 公開データベースや個人のコレクションから画像を集めます。
- 画像にアノテーションを付与: タスクに応じて、バウンディングボックス、セグメント、キーポイントを付与します。
- アノテーションをエクスポート: アノテーションをYOLOの
*.txt形式に変換します。 - データセットを整理:
images/ディレクトリとlabels/ディレクトリを使用したフォルダー構成にし、それぞれにtrain/とval/のサブディレクトリを配置します。 data.yamlファイルを作成: データセットの説明、クラス、その他の関連情報を記載します。- 画像を最適化(任意): 効率化のため、データセットのサイズを縮小します。
- データセットをZIP圧縮: データセットをZIPファイルに圧縮します。
- ドキュメントとPR: データセットを説明し、Ultralytics Contribution Guidelinesに従ってPull Requestを送信します。
詳しいガイドについては、新しいデータセットの提供をご覧ください。
Ultralytics Platformは、データセットの管理と分析に役立つ強力な機能を備えています。以下に例を示します。
- シームレスなデータセット管理: データセットを1か所にアップロードして整理・管理できます。
- すぐにトレーニングに利用可能: 追加のセットアップなしで、アップロードしたデータセットをモデルのトレーニングに直接使用できます。
- 可視化ツール: データセットの画像やアノテーションを確認し、可視化できます。
- データセット分析: データセットの分布や特性に関する分析結果を取得できます。
このプラットフォームにより、データセット管理からモデルのトレーニングまでを効率化できます。詳細はUltralytics Platformのデータセットをご覧ください。
Ultralytics YOLOモデルは、コンピュータービジョンのタスク向けに、次のような独自機能を提供します。
- リアルタイム性能: 時間的制約のあるアプリケーションに対応する、高速な推論およびトレーニング機能を備えています。
- 多用途性: 検出、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、分類、姿勢推定、回転バウンディングボックス(OBB)の各タスクを、統一されたフレームワークでサポートします。
- 事前トレーニング済みモデル: さまざまな用途に向けた高性能な事前トレーニング済みモデルを利用でき、トレーニング時間を短縮できます。
- 充実したコミュニティサポート: トラブルシューティングや開発に役立つ、活発なコミュニティと包括的なドキュメントを利用できます。
- 簡単な統合: 既存のプロジェクトやワークフローに統合するためのシンプルなAPIを提供します。
Ultralytics ModelsページでYOLOモデルの詳細をご覧ください。
Ultralyticsのツールを使用してデータセットを最適化し、ZIP圧縮するには、次のサンプルコードに従ってください。
データセットの最適化とZIP圧縮from pathlib import Path from ultralytics.data.utils import compress_one_image from ultralytics.utils.downloads import zip_directory # データセットディレクトリを定義 path = Path("path/to/dataset") # データセット内の画像を最適化(任意) for f in path.rglob("*.jpg"): compress_one_image(f) # データセットを「path/to/dataset.zip」にZIP圧縮 zip_directory(path)この処理により、データセットのサイズを縮小し、ストレージ効率を高め、ダウンロードを高速化できます。データセットの最適化とZIP圧縮の詳細をご覧ください。