Ultralytics YOLO27:

DOTA8 数据集#

简介#

Ultralytics DOTA8 是一个小型但用途广泛的定向目标检测数据集,由 DOTAv1 划分集中的前 8 张图像组成,其中 4 张用于训练,4 张用于验证。该数据集非常适合测试和调试目标检测模型,或尝试新的检测方法。它仅包含 8 张图像,易于管理,同时又具有足够的多样性,可用于检查训练流水线中的错误,并在训练更大型数据集之前进行健全性检查。

数据集结构#

  • 图像:8 个航空影像切片(4 个训练集,4 个验证集),来源于 DOTAv1。

  • 类别:继承 DOTAv1 的 15 个类别,例如飞机、船舶和大型车辆。

  • 标签:YOLO 格式的定向边界框,保存为每张图像旁边的 .txt 文件。

  • 下载:1 MB,首次训练时会自动从 Ultralytics GitHub 资源中获取。

  • 推荐布局

    datasets/dota8/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/

探索 Ultralytics Platform 上的 DOTA8,浏览带有定向边界框叠加层的航空影像切片,在 Charts 选项卡中查看类别分布和标注热图,并将其克隆到云端以训练你自己的模型。

数据集 YAML#

使用 YAML 文件定义数据集配置。该文件包含数据集路径、类别和其他相关信息。对于 DOTA8 数据集,dota8.yaml 文件位于 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota8.yaml

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

# DOTA8 dataset (8 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota8 ← downloads here (1 MB)

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

使用方法#

要在 DOTA8 数据集上训练 YOLO26n-obb 模型 100 个周期,并将图像大小设为 640,你可以使用以下代码片段。如需查看可用参数的完整列表,请参阅模型的训练页面。

训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)

示例图像和标注#

以下是 DOTA8 数据集中的一些图像示例及其对应的标注:

DOTA8 oriented bounding box dataset training mosaic
  • 马赛克图像:此图像展示了由马赛克拼接数据集图像组成的训练批次。马赛克拼接是训练期间使用的一种技术,它将多张图像合并为一张图像,以增加每个训练批次中物体和场景的多样性。这有助于提升模型对不同物体大小、宽高比和上下文的泛化能力。

该示例展示了 DOTA8 数据集中图像的多样性和复杂性,以及在训练过程中使用马赛克增强的优势。

引用和致谢#

如果你在研究或开发工作中使用 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={2022},
  volume={44},
  number={11},
  pages={7778-7796},
  doi={10.1109/TPAMI.2021.3117983}
}

特别感谢 DOTA 数据集背后的团队为整理该数据集所付出的卓越努力。如需全面了解该数据集及其细节,请访问 DOTA 官方网站

常见问题#

  • DOTA8 数据集是一个小型且用途广泛的定向目标检测数据集,由 DOTAv1 划分集中的前 8 张图像组成,其中 4 张用于训练,4 张用于验证。它非常适合测试和调试 Ultralytics YOLO26 等目标检测模型。由于规模易于管理且具有多样性,它有助于在部署更大型数据集之前发现流水线错误并执行健全性检查。通过 Ultralytics YOLO26 进一步了解目标检测。

  • 要在 DOTA8 数据集上训练 YOLO26n-obb 模型 100 个周期,并将图像大小设为 640,你可以使用以下代码片段。如需查看完整的参数选项,请参阅模型的训练页面。

    训练示例
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
  • DOTA 数据集以其大规模基准以及对航空影像目标检测提出的挑战而闻名。DOTA8 子集规模更小、易于管理,非常适合初步测试。你可以通过此 GitHub 链接访问 dota8.yaml 文件,其中包含路径、类别和配置详细信息。

  • 马赛克增强会在训练过程中将多张图像合并为一张,从而增加每个批次中目标和上下文的多样性。这可以提升模型对不同目标大小、宽高比和场景的泛化能力。通过由 DOTA8 数据集马赛克增强图像组成的训练批次,可以直观展示这项技术,从而帮助实现更稳健的模型开发。在我们的训练页面上进一步了解马赛克增强和训练技术。

  • Ultralytics YOLO26 提供先进的实时目标检测能力,包括定向边界框 (OBB)、实例分割和高度灵活的训练流水线等功能。它适用于各种应用,并提供预训练模型以便高效微调。在 Ultralytics YOLO26 文档中进一步了解其优势和用法。

评论