Meet YOLO26: next-gen vision AI.

Link to this sectionOBB を含む DOTA データセット#

DOTA は、航空画像における物体検出に重点を置いた専門的なデータセットです。DOTA シリーズのデータセットを起源とし、Oriented Bounding Boxes (OBB) を使用して、多様な航空シーンを捉えたアノテーション済み画像を提供します。

航空検出用 DOTA データセットのオブジェクトクラス

Link to this section主な特徴#



Watch: How to Train Ultralytics YOLO26 on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
  • さまざまなセンサーやプラットフォームから収集されており、画像サイズは 800 × 800 から 20,000 × 20,000 ピクセルに及びます。
  • 18 のカテゴリにわたる 170 万件以上の oriented bounding boxes を特徴としています。
  • 画像ごとのオブジェクトサイズの範囲が広いため、マルチスケールの物体検出に対応しています。
  • インスタンスは専門家によって、任意の (8 d.o.f.) 四角形でアノテーションされており、さまざまなスケール、向き、形状のオブジェクトを捉えています。

Link to this sectionデータセットのバージョン#

Link to this sectionDOTA-v1.0#

  • 15 の一般的なカテゴリが含まれています。
  • 2,806 枚の画像と 188,282 件のインスタンスで構成されています。
  • 分割比率は、学習用が 1/2、検証用が 1/6、テスト用が 1/3 です。

Link to this sectionDOTA-v1.5#

  • DOTA-v1.0 と同じ画像が含まれています。
  • 非常に小さなインスタンス (10 ピクセル未満) もアノテーションされています。
  • 新しいカテゴリ「container crane」が追加されました。
  • 合計 403,318 件のインスタンスがあります。
  • DOAI Challenge 2019 on Object Detection in Aerial Images 向けにリリースされました。

Link to this sectionDOTA-v2.0#

  • Google Earth、GF-2 衛星、およびその他の航空画像から収集されたコレクションです。
  • 18 の一般的なカテゴリが含まれています。
  • 11,268 枚の画像と 1,793,658 件もの膨大なインスタンスで構成されています。
  • 新しいカテゴリとして「airport」と「helipad」が導入されました。
  • 画像の分割:
    • 学習用: 1,830 枚の画像、268,627 件のインスタンス
    • 検証用: 593 枚の画像、81,048 件のインスタンス
    • Test-dev: 2,792 枚の画像、353,346 件のインスタンス
    • Test-challenge: 6,053 枚の画像、1,090,637 件のインスタンス

Link to this sectionデータセットの構造#

DOTA は、OBB 物体検出の課題向けに調整された構造化レイアウトを提示します:

  • 画像: さまざまな地形や建造物を捉えた、高解像度航空画像の膨大なコレクション。
  • Oriented Bounding Boxes: 飛行機、船、建物などのオブジェクトを捉えるのに理想的な、オブジェクトの向きに関係なくそれらを包囲する回転長方形の形式のアノテーション。

Link to this sectionアプリケーション#

DOTA は、航空画像分析用に特別に調整されたモデルの学習および評価のベンチマークとして機能します。OBB アノテーションを含むことで独自の課題を提供し、航空画像のニュアンスに対応する専門的な物体検出モデルの開発を可能にします。このデータセットは、リモートセンシング、監視、環境モニタリングのアプリケーションにおいて特に価値があります。

Link to this sectionデータセット YAML#

データセット YAML (Yet Another Markup Language) ファイルは、画像/ラベルのルート、クラス名、およびその他の重要なメタデータを指定します。Ultralytics は、最も一般的に使用される 2 つのリリース向けに公式 YAML ファイルを維持しています:

ダウンロードしたリリースに一致する YAML を使用するか、DOTA-v2 やその他の派生データセットで作業する場合はカスタム YAML を作成してください。

DOTAv1.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── DOTAv1 ← downloads here (2 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

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

Link to this sectionDOTA 画像の分割#

生の画像は通常 10,000 ピクセルを超える辺を含むため、データを YOLO に供給する前にタイリングが必要です。以下のヘルパーを使用して、ソース画像を重ね合わせのある 1024 × 1024 のクロップに複数のスケールで分割し、アノテーションを同期させてください。

画像を分割する
from ultralytics.data.split_dota import split_test, split_trainval

# Split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# Split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
ヒント

出力ディレクトリを標準の YOLO レイアウト (images/train, labels/train など) に整理しておくことで、データセット YAML から直接参照できるようになります。

Link to this section使用方法#

DOTA v1 データセットでモデルを学習するには、以下のコードスニペットを利用できます。利用可能な引数の詳細なリストについては、常にモデルのドキュメントを参照してください。最初に小さなサブセットで実験したい場合は、テスト用に 8 枚の画像のみを含む DOTA8 データセットの使用を検討してください。

警告

DOTAv1 データセット内のすべての画像および関連するアノテーションは学術目的で使用できますが、商用利用は禁止されていますのでご注意ください。データセット作成者の意向をご理解いただき、尊重いただけますと幸いです。

学習例
from ultralytics import YOLO

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

Link to this sectionサンプルデータとアノテーション#

データセットを一見するだけで、その奥深さがわかります:

Oriented Bounding Box アノテーション付きの DOTA データセット

  • DOTA の例: このスナップショットは、航空シーンの複雑さと、オブジェクトを自然な向きで捉える Oriented Bounding Box アノテーションの重要性を強調しています。

データセットの豊かさは、航空画像に特有の物体検出の課題に対する貴重な洞察を提供します。DOTA-v2.0 データセットは、その包括的なアノテーションと多様なオブジェクトカテゴリにより、リモートセンシングや航空監視プロジェクトで特に人気が高まっています。

Link to this section引用と謝辞#

業務で DOTA を使用する場合は、関連する研究論文を引用してください:

引用
@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

このデータセットをキュレーションするという称賛に値する努力をしてくれた DOTA データセットの背後にいるチームに心から感謝いたします。データセットとそのニュアンスの詳細については、DOTA 公式ウェブサイトをご覧ください。

Link to this sectionよくある質問(FAQ)#

Link to this sectionDOTA データセットとは何ですか、またなぜ航空画像の物体検出において重要なのでしょうか?#

DOTA データセットは、航空画像における物体検出に重点を置いた専門的なデータセットです。Oriented Bounding Boxes (OBB) を採用しており、多様な航空シーンのアノテーション済み画像を提供します。170 万のアノテーションと 18 のカテゴリにわたるオブジェクトの向き、スケール、形状の多様性により、監視、環境モニタリング、災害管理などで使用される、航空画像分析用に調整されたモデルの開発や評価に最適です。

Link to this sectionDOTA データセットはどのように画像の異なるスケールや向きを処理しますか?#

DOTA はアノテーションに Oriented Bounding Boxes (OBB) を利用しており、これは向きに関係なくオブジェクトを包囲する回転長方形で表現されます。この手法により、小さくても角度が異なっていても、オブジェクトを正確に捉えることができます。800 × 800 から 20,000 × 20,000 ピクセルまでのマルチスケール画像により、小さなオブジェクトと大きなオブジェクトの両方を効果的に検出できます。このアプローチは、オブジェクトがさまざまな角度やスケールで現れる航空画像において特に価値があります。

Link to this sectionDOTA データセットを使用してモデルを学習するにはどうすればよいですか?#

DOTA データセットでモデルを学習するには、Ultralytics YOLO を使用した以下の例を参照してください:

学習例
from ultralytics import YOLO

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

DOTA 画像の分割と前処理方法の詳細については、DOTA 画像の分割セクションを参照してください。

Link to this sectionDOTA-v1.0、DOTA-v1.5、DOTA-v2.0 の違いは何ですか?#

  • DOTA-v1.0: 2,806 枚の画像と 188,282 件のインスタンスにわたる 15 の一般的なカテゴリが含まれます。データセットは学習、検証、テストセットに分割されています。
  • DOTA-v1.5: DOTA-v1.0 を基盤とし、非常に小さなインスタンス (10 ピクセル未満) をアノテーションし、新しいカテゴリ「container crane」を追加して、合計 403,318 件のインスタンスになっています。
  • DOTA-v2.0: Google Earth と GF-2 衛星からのアノテーションでさらに拡張され、11,268 枚の画像と 1,793,658 件のインスタンスを特徴としています。「airport」や「helipad」などの新しいカテゴリが含まれます。

詳細な比較および追加の仕様については、データセットのバージョンセクションを確認してください。

Link to this section学習用に高解像度の DOTA 画像を準備するにはどうすればよいですか?#

非常に大きな DOTA 画像は、学習のために管理しやすい解像度に分割されます。画像分割用の Python スニペットを次に示します:

from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

このプロセスは、学習効率とモデル性能を向上させます。詳細な手順については、DOTA 画像の分割セクションをご覧ください。

コメント