Ultralytics YOLO27:

DOTA8 数据集#

简介#

Ultralytics DOTA8 是一个小巧而灵活的有向目标检测数据集,由 DOTAv1 划分集中的前 8 张图像组成,其中 4 张用于训练,4 张用于验证。该数据集非常适合测试和调试目标检测模型,也适合尝试新的检测方法。它仅有 8 张图像,易于管理,同时又足够多样,可用于检查训练流水线中的错误,并在训练更大的数据集前进行基本验证。

数据集结构#

  • 图像:8 张航空影像切片(4 张用于 train,4 张用于 val),来源于 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

# 加载模型
model = YOLO("yolo26n-obb.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
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
    
    # 加载模型
    model = YOLO("yolo26n-obb.pt")  # 加载预训练模型(推荐用于训练)
    
    # 训练模型
    results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
  • DOTA 数据集以大规模基准测试集著称,也因其对航空影像目标检测提出的挑战而闻名。DOTA8 子集规模较小且易于管理,非常适合初步测试。你可以通过此 GitHub 链接获取 dota8.yaml 文件,其中包含路径、类别和配置信息。

  • 马赛克增强会在训练过程中将多张图像合并为一张,从而增加每个批次中物体和场景的多样性。这能提升模型对不同物体尺寸、宽高比和场景的泛化能力。你可以通过由 DOTA8 数据集图像组成的马赛克训练批次直观地了解此技术,这有助于稳健地开发模型。访问我们的训练页面,进一步了解马赛克增强和训练技巧。

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

评论