์ฝ์ฝ ํฌ์ฆ ๋ฐ์ดํฐ ์ธํธ
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ํฌ์ฆ ์ถ์ ์์ ์ ์ํด ์ค๊ณ๋ COCO(Common Objects in Context) ๋ฐ์ดํฐ ์ธํธ์ ํน์ ๋ฒ์ ์ ๋๋ค. COCO ํคํฌ์ธํธ 2017 ์ด๋ฏธ์ง์ ๋ ์ด๋ธ์ ํ์ฉํ์ฌ ํฌ์ฆ ์ถ์ ์์ ์ ์ํ YOLO ๊ฐ์ ๋ชจ๋ธ์ ํ๋ จํ ์ ์์ต๋๋ค.
์ฝ์ฝ ํฌ์ฆ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ
๋ชจ๋ธ | ํฌ๊ธฐ (ํฝ์ ) |
mAPpose 50-95 |
mAPpose 50 |
์๋ CPU ONNX (ms) |
์๋ T4TensorRT10 (ms) |
๋งค๊ฐ๋ณ์ (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ยฑ 0.5 | 1.7 ยฑ 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ยฑ 0.6 | 2.6 ยฑ 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ยฑ 0.8 | 4.9 ยฑ 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ยฑ 1.1 | 6.4 ยฑ 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ยฑ 13.9 | 12.1 ยฑ 0.2 | 58.8 | 203.3 |
์ฃผ์ ๊ธฐ๋ฅ
- COCO-Pose๋ ํฌ์ฆ ์ถ์ ์์ ์ ์ํด ํคํฌ์ธํธ๋ก ๋ ์ด๋ธ์ด ์ง์ ๋ 200๋ง ๊ฐ์ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋ COCO ํคํฌ์ธํธ 2017 ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- ์ด ๋ฐ์ดํฐ ์ธํธ๋ ์ธ๋ฌผ์ ๋ํ 17๊ฐ์ ํคํฌ์ธํธ๋ฅผ ์ง์ํ์ฌ ์ธ๋ถ์ ์ธ ํฌ์ฆ ์ถ์ ์ด ์ฉ์ดํฉ๋๋ค.
- COCO์ ๋ง์ฐฌ๊ฐ์ง๋ก ํฌ์ฆ ์ถ์ ์์ ์ ์ํ ๊ฐ์ฒด ํคํฌ์ธํธ ์ ์ฌ์ฑ(OKS)์ ๋น๋กฏํ ํ์คํ๋ ํ๊ฐ ์งํ๋ฅผ ์ ๊ณตํ๋ฏ๋ก ๋ชจ๋ธ ์ฑ๋ฅ์ ๋น๊ตํ๋ ๋ฐ ์ ํฉํฉ๋๋ค.
๋ฐ์ดํฐ ์ธํธ ๊ตฌ์กฐ
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ์ธ ๊ฐ์ ํ์ ์งํฉ์ผ๋ก ๋๋ฉ๋๋ค:
- Train2017: ์ด ํ์ ์งํฉ์๋ COCO ๋ฐ์ดํฐ ์ธํธ์ 118K ์ด๋ฏธ์ง ์ค ์ผ๋ถ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ํฌ์ฆ ์ถ์ ๋ชจ๋ธ ํ์ต์ ์ํด ์ฃผ์์ด ์ถ๊ฐ๋์ด ์์ต๋๋ค.
- Val2017: ์ด ํ์ ์งํฉ์๋ ๋ชจ๋ธ ํ์ต ์ค ์ ํจ์ฑ ๊ฒ์ฌ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- Test2017: ์ด ํ์ ์งํฉ์ ํ์ต๋ ๋ชจ๋ธ์ ํ ์คํธํ๊ณ ๋ฒค์น๋งํนํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ํ์ ์งํฉ์ ๋ํ ์ค์ธก ์๋ฃ ์ฃผ์์ ๊ณต๊ฐ๋์ง ์์ผ๋ฉฐ, ๊ฒฐ๊ณผ๋ ์ฑ๋ฅ ํ๊ฐ๋ฅผ ์ํด COCO ํ๊ฐ ์๋ฒ์ ์ ์ถ๋ฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ํนํ OpenPose์ ๊ฐ์ ํคํฌ์ธํธ ๊ฐ์ง ๋ฐ ํฌ์ฆ ์ถ์ ์์ ์์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํ๋ จํ๊ณ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๋ฐ์ดํฐ ์ธํธ์๋ ์๋ง์ ์ฃผ์์ด ๋ฌ๋ฆฐ ์ด๋ฏธ์ง์ ํ์คํ๋ ํ๊ฐ ๋ฉํธ๋ฆญ์ด ํฌํจ๋์ด ์์ด ํฌ์ฆ ์ถ์ ์ ์ค์ ์ ๋ ์ปดํจํฐ ๋น์ ์ฐ๊ตฌ์์ ์ค๋ฌด์์๊ฒ ํ์์ ์ธ ๋ฆฌ์์ค์ ๋๋ค.
๋ฐ์ดํฐ ์ธํธ YAML
๋ฐ์ดํฐ ์ธํธ ๊ตฌ์ฑ์ ์ ์ํ๋ ๋ฐ๋ YAML(๋ ๋ค๋ฅธ ๋งํฌ์
์ธ์ด) ํ์ผ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ฐ์ดํฐ ์ธํธ์ ๊ฒฝ๋ก, ํด๋์ค ๋ฐ ๊ธฐํ ๊ด๋ จ ์ ๋ณด์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. COCO-Pose ๋ฐ์ดํฐ ์ธํธ์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ ์ธํธ์ coco-pose.yaml
ํ์ผ์ ๋ค์ ์์น์์ ์ ์ง๋ฉ๋๋ค. https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.
ultralytics/cfg/datasets/coco-pose.yaml
# Ultralytics YOLO ๐, AGPL-3.0 license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
# Example usage: yolo train data=coco-pose.yaml
# parent
# โโโ ultralytics
# โโโ datasets
# โโโ coco-pose โ downloads here (20.1 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: ../datasets/coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
# Classes
names:
0: person
# Download script/URL (optional)
download: |
from ultralytics.utils.downloads import download
from pathlib import Path
# Download labels
dir = Path(yaml['path']) # dataset root dir
url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/'
urls = [url + 'coco2017labels-pose.zip'] # labels
download(urls, dir=dir.parent)
# Download data
urls = ['http://images.cocodataset.org/zips/train2017.zip', # 19G, 118k images
'http://images.cocodataset.org/zips/val2017.zip', # 1G, 5k images
'http://images.cocodataset.org/zips/test2017.zip'] # 7G, 41k images (optional)
download(urls, dir=dir / 'images', threads=3)
์ฌ์ฉ๋ฒ
์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ 640์ธ 100๊ฐ์ ์ํฌํฌ์ ๋ํด COCO-Pose ๋ฐ์ดํฐ ์ธํธ์์ YOLO11n ํฌ์ฆ ๋ชจ๋ธ์ ํ๋ จํ๋ ค๋ฉด ๋ค์ ์ฝ๋ ์กฐ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์์ ์ ์ฒด ๋ชฉ๋ก์ ๋ชจ๋ธ ํ๋ จ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด์ฐจ ์์
์ํ ์ด๋ฏธ์ง ๋ฐ ์ฃผ์
COCO-Pose ๋ฐ์ดํฐ ์ธํธ์๋ ํคํฌ์ธํธ๋ก ์ฃผ์์ด ๋ฌ๋ฆฐ ๋ค์ํ ์ด๋ฏธ์ง ์ธํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๋ค์์ ํด๋น ์ฃผ์๊ณผ ํจ๊ป ๋ฐ์ดํฐ ์ธํธ์ ์ด๋ฏธ์ง ๋ช ๊ฐ์ง ์์์ ๋๋ค:
- ๋ชจ์์ดํฌ ์ด๋ฏธ์ง: ์ด ์ด๋ฏธ์ง๋ ๋ชจ์์ดํฌ๋ ๋ฐ์ดํฐ ์ธํธ ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑ๋ ํ๋ จ ๋ฐฐ์น์ ์์์ ๋๋ค. ๋ชจ์์ดํฌ๋ ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ์ด๋ฏธ์ง๋ก ๊ฒฐํฉํ์ฌ ๊ฐ ํ๋ จ ๋ฐฐ์น ๋ด์์ ๋ค์ํ ๊ฐ์ฒด์ ์ฅ๋ฉด์ ๋๋ฆฌ๊ธฐ ์ํด ํ๋ จ ์ค์ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ค์ํ ๊ฐ์ฒด ํฌ๊ธฐ, ์ข ํก๋น ๋ฐ ์ปจํ ์คํธ์ ์ผ๋ฐํํ๋ ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ด ์๋ COCO-Pose ๋ฐ์ดํฐ ์ธํธ์ ํฌํจ๋ ์ด๋ฏธ์ง์ ๋ค์์ฑ๊ณผ ๋ณต์ก์ฑ, ๊ทธ๋ฆฌ๊ณ ํ๋ จ ๊ณผ์ ์์ ๋ชจ์์ดํฌ ์ฌ์ฉ์ ์ด์ ์ ๋ณด์ฌ์ค๋๋ค.
์ธ์ฉ ๋ฐ ๊ฐ์ฌ
์ฐ๊ตฌ ๋๋ ๊ฐ๋ฐ ์์ ์ COCO-Pose ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์ ๋ ผ๋ฌธ์ ์ธ์ฉํด ์ฃผ์ธ์:
@misc{lin2015microsoft,
title={Microsoft COCO: Common Objects in Context},
author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollรกr},
year={2015},
eprint={1405.0312},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
์ปดํจํฐ ๋น์ ์ปค๋ฎค๋ํฐ๋ฅผ ์ํด ์ด ๊ท์คํ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค๊ณ ์ ์ง ๊ด๋ฆฌํด ์ฃผ์ COCO ์ปจ์์์์ ๊ฐ์ฌ์ ๋ง์์ ์ ํฉ๋๋ค. COCO-Pose ๋ฐ์ดํฐ ์ธํธ์ ์ ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ COCO ๋ฐ์ดํฐ ์ธํธ ์น์ฌ์ดํธ๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ๋ฌด์์ด๋ฉฐ, ํฌ์ฆ ์ถ์ ์ Ultralytics YOLO ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์?
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ํฌ์ฆ ์ถ์ ์์ ์ ์ํด ์ค๊ณ๋ COCO(Common Objects in Context) ๋ฐ์ดํฐ ์ธํธ์ ํน์ ๋ฒ์ ์ ๋๋ค. COCO ํคํฌ์ธํธ 2017 ์ด๋ฏธ์ง์ ์ฃผ์์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์ด ์์ธํ ํฌ์ฆ ์ถ์ ์ ์ํด Ultralytics YOLO ๊ฐ์ ๋ชจ๋ธ์ ํ์ตํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ๋ก๋ํ๊ณ YAML ๊ตฌ์ฑ์ผ๋ก ํ๋ จํ์ฌ YOLO11n ํฌ์ฆ ๋ชจ๋ธ์ ํ๋ จํ ์ ์์ต๋๋ค. ํ๋ จ ์์ ๋ ํ๋ จ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
COCO-Pose ๋ฐ์ดํฐ ์ธํธ์์ YOLO11 ๋ชจ๋ธ์ ํ๋ จํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
COCO-Pose ๋ฐ์ดํฐ ์ธํธ์ ๋ํ YOLO11 ๋ชจ๋ธ ํ๋ จ์ Python ๋๋ CLI ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ 640์ธ 100๊ฐ์ ์ํฌํฌ์ ๋ํด YOLO11n ํฌ์ฆ ๋ชจ๋ธ์ ํ๋ จํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:
์ด์ฐจ ์์
๊ต์ก ๊ณผ์ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ต์ก ํ์ด์ง์์ ํ์ธํ์ธ์.
๋ชจ๋ธ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํด COCO-Pose ๋ฐ์ดํฐ ์ธํธ์์ ์ ๊ณตํ๋ ๋ค์ํ ์งํ์๋ ์ด๋ค ๊ฒ์ด ์๋์?
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ์๋ COCO ๋ฐ์ดํฐ ์ธํธ์ ์ ์ฌํ๊ฒ ํฌ์ฆ ์ถ์ ์์ ์ ๋ํ ๋ช ๊ฐ์ง ํ์คํ๋ ํ๊ฐ ์งํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ๋ฉํธ๋ฆญ์๋ ๊ธฐ์ค์ ์ฃผ์์ ๋ํด ์์ธก๋ ํคํฌ์ธํธ์ ์ ํ๋๋ฅผ ํ๊ฐํ๋ ๊ฐ์ฒด ํคํฌ์ธํธ ์ ์ฌ๋(OKS)๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉํธ๋ฆญ์ ํตํด ์๋ก ๋ค๋ฅธ ๋ชจ๋ธ ๊ฐ์ ์ฒ ์ ํ ์ฑ๋ฅ ๋น๊ต๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, YOLO11n-pose, YOLO11s-pose ๋ฑ๊ณผ ๊ฐ์ COCO-Pose ์ฌ์ ํ์ต ๋ชจ๋ธ์๋ mAPpose50-95๋ฐ mAPpose50๊ณผ๊ฐ์ ํน์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ด ๋ฌธ์์ ๋์ด๋์ด ์์ต๋๋ค.
COCO-Pose ๋ฐ์ดํฐ ์ธํธ์ ๋ฐ์ดํฐ ์ธํธ๋ ์ด๋ป๊ฒ ๊ตฌ์กฐํ๋๊ณ ๋ถํ ๋๋์?
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ์ธ ๊ฐ์ ํ์ ์งํฉ์ผ๋ก ๋๋ฉ๋๋ค:
- Train2017: ํฌ์ฆ ์ถ์ ๋ชจ๋ธ ํ์ต์ ์ํด ์ฃผ์์ด ๋ฌ๋ฆฐ 118K COCO ์ด๋ฏธ์ง์ ์ผ๋ถ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- Val2017: ๋ชจ๋ธ ํ์ต ์ค ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํด ์ ํํ ์ด๋ฏธ์ง์ ๋๋ค.
- Test2017: ํ์ต๋ ๋ชจ๋ธ์ ํ ์คํธํ๊ณ ๋ฒค์น๋งํนํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฏธ์ง์ ๋๋ค. ์ด ํ์ ์งํฉ์ ๋ํ ์ค์ธก ๋ฐ์ดํฐ ์ฃผ์์ ๊ณต๊ฐ๋์ง ์์ผ๋ฉฐ, ๊ฒฐ๊ณผ๋ ์ฑ๋ฅ ํ๊ฐ๋ฅผ ์ํด COCO ํ๊ฐ ์๋ฒ์ ์ ์ถ๋ฉ๋๋ค.
์ด๋ฌํ ํ์ ์งํฉ์ ๊ต์ก, ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ํ
์คํธ ๋จ๊ณ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๊ตฌ์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ coco-pose.yaml
ํ์ผ์ GitHub.
์ฝ์ฝํฌ์ฆ ๋ฐ์ดํฐ ์ธํธ์ ์ฃผ์ ํน์ง๊ณผ ํ์ฉ ๋ถ์ผ๋ ๋ฌด์์ธ๊ฐ์?
COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ COCO ํคํฌ์ธํธ 2017 ์ฃผ์์ ํ์ฅํ์ฌ ์ธ๋ฌผ์ ๋ํ 17๊ฐ์ ํคํฌ์ธํธ๋ฅผ ํฌํจํจ์ผ๋ก์จ ์์ธํ ํฌ์ฆ๋ฅผ ์ถ์ ํ ์ ์์ต๋๋ค. ํ์คํ๋ ํ๊ฐ ์งํ(์: OKS)๋ฅผ ํตํด ๋ค์ํ ๋ชจ๋ธ ๊ฐ์ ๋น๊ต๊ฐ ์ฉ์ดํฉ๋๋ค. COCO-Pose ๋ฐ์ดํฐ ์ธํธ๋ ์คํฌ์ธ ๋ถ์, ํฌ์ค์ผ์ด, ์ธ๊ฐ๊ณผ ์ปดํจํฐ์ ์ํธ์์ฉ ๋ฑ ์ธ๋ฌผ์ ์์ธํ ํฌ์ฆ ์ถ์ ์ด ํ์ํ ๋ค์ํ ์์ญ์์ ํ์ฉ๋๊ณ ์์ต๋๋ค. ์ค์ ์ฌ์ฉ ์, ๋ฌธ์์ ์ ๊ณต๋ ๊ฒ๊ณผ ๊ฐ์ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ(์: YOLO11n-pose)์ ํ์ฉํ๋ฉด ํ๋ก์ธ์ค๋ฅผ ํฌ๊ฒ ๊ฐ์ํํ ์ ์์ต๋๋ค(์ฃผ์ ๊ธฐ๋ฅ).
์ฐ๊ตฌ ๋๋ ๊ฐ๋ฐ ์์ ์ COCO-Pose ๋ฐ์ดํฐ์ธํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๋ค์ BibTeX ํญ๋ชฉ์ผ๋ก ๋ ผ๋ฌธ์ ์ธ์ฉํด ์ฃผ์ธ์.