OBB๊ฐ ํฌํจ๋ DOTA ๋ฐ์ดํฐ ์ธํธ
DOTA๋ ํญ๊ณต ์ด๋ฏธ์ง์์ ๋ฌผ์ฒด ํ์ง๋ฅผ ๊ฐ์กฐํ๋ ์ ๋ฌธ ๋ฐ์ดํฐ ์ธํธ์ ๋๋ค. DOTA ๋ฐ์ดํฐ ์ธํธ ์๋ฆฌ์ฆ์์ ์์๋ ์ด ๋ฐ์ดํฐ ์ธํธ๋ OBB(Oriented Bounding Box)๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ํญ๊ณต ์ฅ๋ฉด์ ์บก์ฒํ ์ฃผ์์ด ๋ฌ๋ฆฐ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- 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-v1.0๊ณผ ๋์ผํ ์ด๋ฏธ์ง๋ฅผ ํตํฉํฉ๋๋ค.
- ์์ฃผ ์์ ์ธ์คํด์ค(10ํฝ์ ๋ฏธ๋ง)์๋ ์ฃผ์์ ๋ฌ ์ ์์ต๋๋ค.
- ์ ์นดํ ๊ณ ๋ฆฌ ์ถ๊ฐ: "์ปจํ ์ด๋ ํฌ๋ ์ธ".
- ์ด 403,318๊ฐ์ ์ธ์คํด์ค.
- ํญ๊ณต ์ด๋ฏธ์ง์ ๋ฌผ์ฒด ๊ฐ์ง์ ๊ดํ DOAI ์ฑ๋ฆฐ์ง 2019๋ฅผ ์ํด ์ถ์๋์์ต๋๋ค.
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 YOLO ๐, AGPL-3.0 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/yolov5/releases/download/v1.0/DOTAv1.zip
DOTA ์ด๋ฏธ์ง ๋ถํ
DOTA ๋ฐ์ดํฐ์ ์ ํ์ต์ํค๊ธฐ ์ํด ๊ณ ํด์๋์ ์๋ณธ DOTA ์ด๋ฏธ์ง๋ฅผ 1024x1024 ํด์๋์ ์ด๋ฏธ์ง๋ก ๋ถํ ํ์ฌ ๋ฉํฐ์ค์ผ์ผ ๋ฐฉ์์ผ๋ก ํ์ต์์ผฐ์ต๋๋ค.
์ด๋ฏธ์ง ๋ถํ
from ultralytics.data.split_dota import split_trainval, split_test
# 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 ๋ฐ์ดํฐ ์ธํธ์์ ๋ชจ๋ธ์ ํ๋ จํ๋ ค๋ฉด ๋ค์ ์ฝ๋ ์ค๋ํซ์ ํ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์์ ์ ์ฒด ๋ชฉ๋ก์ ํญ์ ๋ชจ๋ธ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฒฝ๊ณ
DOTAv1 ๋ฐ์ดํฐ ์ธํธ์ ๋ชจ๋ ์ด๋ฏธ์ง์ ๊ด๋ จ ์ฃผ์์ ํ์ ์ ๋ชฉ์ ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ง๋ง ์์ ์ ์ฌ์ฉ์ ๊ธ์ง๋์ด ์์ต๋๋ค. ๋ฐ์ดํฐ ์ธํธ ์ ์์์ ์์ฌ๋ฅผ ์ดํดํ๊ณ ์กด์คํด ์ฃผ์๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
์ด์ฐจ ์์
์ํ ๋ฐ์ดํฐ ๋ฐ ์ฃผ์
๋ฐ์ดํฐ ์งํฉ์ ํ ๋์ ๋ณด๋ฉด ๊ทธ ๊น์ด๋ฅผ ์ ์ ์์ต๋๋ค:
- DOTA ์์: ์ด ์ค๋ ์ท์ ํญ๊ณต ์ฅ๋ฉด์ ๋ณต์ก์ฑ๊ณผ ์ค๋ธ์ ํธ๋ฅผ ์์ฐ์ค๋ฌ์ด ๋ฐฉํฅ์ผ๋ก ์บก์ฒํ๋ ์ค๋ฆฌ์ํฐ๋ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ฃผ์์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
ํ๋ถํ ๋ฐ์ดํฐ ์ธํธ๋ ํญ๊ณต ์ด๋ฏธ์ง์์๋ง ๋ณผ ์ ์๋ ๋ฌผ์ฒด ๊ฐ์ง ๋ฌธ์ ์ ๋ํ ๊ท์คํ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ธ์ฉ ๋ฐ ๊ฐ์ฌ
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 ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ์๊ธฐ ๋ฐ๋๋๋ค.