콘텐츠로 건너뛰기

OBB가 포함된 DOTA 데이터 세트

DOTA는 항공 이미지에서 물체 탐지를 강조하는 전문 데이터 세트입니다. DOTA 데이터 세트 시리즈에서 시작된 이 데이터 세트는 OBB(Oriented Bounding Box)를 사용하여 다양한 항공 장면을 캡처한 주석이 달린 이미지를 제공합니다.

DOTA 클래스 비주얼

주요 기능

  • 800 × 800에서 20,000 × 20,000 픽셀에 이르는 다양한 센서와 플랫폼에서 수집한 이미지 크기입니다.
  • 18개 카테고리에 걸쳐 170만 개 이상의 오리엔티드 바운딩 박스를 제공합니다.
  • 멀티스케일 오브젝트 감지 기능을 포함합니다.
  • 인스턴스는 전문가가 임의의 사변형(8디옵션)을 사용하여 다양한 축척, 방향 및 모양의 객체를 캡처하여 주석을 달았습니다.

데이터 집합 버전

DOTA-v1.0

  • 15개의 공통 카테고리가 포함되어 있습니다.
  • 2,806개의 이미지와 188,282개의 인스턴스로 구성되어 있습니다.
  • 분할 비율: 교육용 1/2, 검증용 1/6, 테스트용 1/3.

DOTA-v1.5

DOTA-v2.0

  • Google 지구, GF-2 위성 및 기타 항공 이미지에서 수집한 자료입니다.
  • 18개의 공통 카테고리가 포함되어 있습니다.
  • 11,268개의 이미지와 무려 1,793,658개의 인스턴스로 구성되어 있습니다.
  • 새로운 카테고리가 도입되었습니다: "공항" 및 "헬기장".
  • 이미지 분할:
    • 교육: 1,830개 이미지, 268,627개 인스턴스.
    • 유효성 검사: 593개 이미지, 81,048개 인스턴스.
    • 테스트 개발: 2,792개 이미지, 353,346개 인스턴스.
    • 테스트 챌린지: 6,053개 이미지, 1,090,637개 인스턴스.

데이터 세트 구조

DOTA는 OBB 객체 감지 과제에 맞게 구조화된 레이아웃을 보여줍니다:

  • 이미지: 다양한 지형과 구조물을 촬영한 방대한 고해상도 항공 이미지 모음입니다.
  • 오리엔티드 바운딩 박스: 방향에 관계없이 개체를 둘러싸는 회전된 직사각형 형태의 주석으로 비행기, 선박, 건물과 같은 개체를 캡처하는 데 이상적입니다.

애플리케이션

DOTA는 항공 이미지 분석을 위해 특별히 맞춤화된 모델을 훈련하고 평가하는 벤치마크 역할을 합니다. OBB 주석이 포함되어 있어 항공 이미지의 뉘앙스에 맞는 특수한 물체 감지 모델을 개발할 수 있는 독특한 과제를 제공합니다. 이 데이터 세트는 원격 감지, 감시 및 환경 모니터링 분야의 애플리케이션에 특히 유용합니다.

데이터 세트 YAML

일반적으로 데이터 세트에는 데이터 세트의 구성을 자세히 설명하는 YAML(또 다른 마크업 언어) 파일이 통합되어 있습니다. DOTA v1 및 DOTA v1.5의 경우 Ultralytics 에서 다음을 제공합니다. DOTAv1.yaml 그리고 DOTAv1.5.yaml 파일을 다운로드하세요. 이러한 파일과 DOTA v2에 대한 자세한 내용은 DOTA의 공식 저장소 및 문서를 참조하세요.

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
#     └── dota1  ← downloads here (2GB)

# 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: ../datasets/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

DOTA 이미지 분할

DOTA 데이터세트를 학습시키기 위해 고해상도의 원본 DOTA 이미지를 1024x1024 해상도의 이미지로 멀티스케일 방식으로 분할합니다. 원본 이미지가 매우 클 수 있기 때문에 이 전처리 단계는 효율적인 학습을 위해 매우 중요합니다.

이미지 분할

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 v1 데이터 세트에서 모델을 훈련하려면 다음 코드 스니펫을 활용할 수 있습니다. 사용 가능한 인수의 전체 목록은 항상 모델 설명서를 참조하세요. 더 작은 하위 집합으로 먼저 실험해보고 싶다면 빠른 테스트를 위해 8개의 이미지만 포함된 DOTA8 데이터 세트를 사용하는 것이 좋습니다.

경고

DOTAv1 데이터 세트의 모든 이미지와 관련 주석은 학술적 목적으로는 사용할 수 있지만 상업적 사용은 금지되어 있습니다. 데이터 세트 제작자의 의사를 이해하고 존중해 주시면 대단히 감사하겠습니다!

열차 예시

from ultralytics import YOLO

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

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

샘플 데이터 및 주석

데이터 집합을 한 눈에 보면 그 깊이를 알 수 있습니다:

데이터 세트 샘플 이미지

  • DOTA 예시: 이 스냅샷은 항공 장면의 복잡성과 오브젝트를 자연스러운 방향으로 캡처하는 오리엔티드 바운딩 박스 주석의 중요성을 강조합니다.

이 데이터 세트의 풍부한 데이터는 항공 이미지에서만 볼 수 있는 물체 감지 문제에 대한 귀중한 인사이트를 제공합니다. DOTA-v2.0 데이터 세트는 포괄적인 주석과 다양한 물체 카테고리로 인해 원격 감지 및 항공 감시 프로젝트에서 특히 인기를 얻고 있습니다.

인용 및 감사

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 웹사이트를 방문하시기 바랍니다.

자주 묻는 질문

DOTA 데이터 세트란 무엇이며 항공 이미지에서 물체 감지에 중요한 이유는 무엇인가요?

DOTA 데이터 세트 는 항공 이미지에서 물체 탐지에 초점을 맞춘 전문 데이터 세트입니다. 다양한 항공 장면의 주석이 달린 이미지를 제공하는 OBB(Oriented Bounding Box)가 특징입니다. 170만 개의 주석과 18개의 카테고리에 걸쳐 물체의 방향, 크기, 모양이 다양하기 때문에 감시, 환경 모니터링, 재난 관리 등에 사용되는 항공 이미지 분석에 적합한 모델을 개발하고 평가하는 데 이상적입니다.

DOTA 데이터 세트는 이미지의 다양한 배율과 방향을 어떻게 처리하나요?

DOTA는 방향에 관계없이 객체를 캡슐화하는 회전된 직사각형으로 표시되는 OBB(Oriented Bounding Box)를 주석에 활용합니다. 이 방법을 사용하면 크기가 작거나 다른 각도에 있는 객체를 정확하게 캡처할 수 있습니다. 800×800에서 20,000×20,000픽셀에 이르는 데이터 세트의 멀티스케일 이미지를 통해 작은 물체와 큰 물체를 모두 효과적으로 감지할 수 있습니다. 이 접근 방식은 물체가 다양한 각도와 축척으로 나타나는 항공 이미지에 특히 유용합니다.

DOTA 데이터 세트를 사용하여 모델을 훈련하려면 어떻게 해야 하나요?

DOTA 데이터 세트에서 모델을 학습하려면 다음 예제를 사용할 수 있습니다. Ultralytics YOLO:

열차 예시

from ultralytics import YOLO

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

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

DOTA 이미지를 분할하고 사전 처리하는 방법에 대한 자세한 내용은 DOTA 이미지 분할하기 섹션을 참조하세요.

DOTA-v1.0, DOTA-v1.5, DOTA-v2.0의 차이점은 무엇인가요?

  • DOTA-v1.0: 2,806개의 이미지에 걸쳐 15개의 공통 카테고리와 188,282개의 인스턴스를 포함합니다. 데이터 세트는 학습, 검증, 테스트 세트로 나뉩니다.
  • DOTA-v1.5: 매우 작은 인스턴스(10픽셀 미만)에 주석을 달고 새로운 카테고리인 '컨테이너 크레인'을 추가하여 총 403,318개의 인스턴스를 추가하는 등 DOTA-v1.0을 기반으로 구축되었습니다.
  • DOTA-v2.0: 11,268개의 이미지와 1,793,658개의 인스턴스가 포함된 Google 지구 및 GF-2 위성의 주석으로 더욱 확장되었습니다. 여기에는 "공항" 및 "헬기장"과 같은 새로운 카테고리가 포함됩니다.

자세한 비교 및 추가 세부 사항은 데이터 세트 버전 섹션에서 확인하세요.

교육용 고해상도 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 이미지 분할 섹션을 참조하세요.

📅1 년 전 생성됨 ✏️ 업데이트됨 8 일 전

댓글