์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

COCO8-ํฌ์ฆˆ ๋ฐ์ดํ„ฐ ์„ธํŠธ

์†Œ๊ฐœ

Ultralytics COCO8-Pose๋Š” ์ž‘์ง€๋งŒ ๋‹ค์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ์ฆˆ ๊ฐ์ง€ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ, COCO train 2017 ์„ธํŠธ์˜ ์ฒซ 8๊ฐœ ์ด๋ฏธ์ง€ ์ค‘ ํ›ˆ๋ จ์šฉ 4๊ฐœ์™€ ๊ฒ€์ฆ์šฉ 4๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ฐ์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‹คํ—˜ํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. 8๊ฐœ ์ด๋ฏธ์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉด์„œ๋„ ํ›ˆ๋ จ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์˜ค๋ฅ˜๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋” ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ํ›ˆ๋ จํ•˜๊ธฐ ์ „์— ๊ฑด์ „์„ฑ ๊ฒ€์‚ฌ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” Ultralytics HUB ๋ฐ YOLOv8.

๋ฐ์ดํ„ฐ ์„ธํŠธ YAML

๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ตฌ์„ฑ์„ ์ •์˜ํ•˜๋Š” ๋ฐ๋Š” YAML(๋˜ ๋‹ค๋ฅธ ๋งˆํฌ์—… ์–ธ์–ด) ํŒŒ์ผ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฒฝ๋กœ, ํด๋ž˜์Šค ๋ฐ ๊ธฐํƒ€ ๊ด€๋ จ ์ •๋ณด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฒฝ์šฐ, ์ด ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ coco8-pose.yaml ํŒŒ์ผ์€ ๋‹ค์Œ ์œ„์น˜์—์„œ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml.

ultralytics/cfg/datasets/coco8-pose.yaml

# Ultralytics YOLO ๐Ÿš€, AGPL-3.0 license
# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose/
# Example usage: yolo train data=coco8-pose.yaml
# parent
# โ”œโ”€โ”€ ultralytics
# โ””โ”€โ”€ datasets
#     โ””โ”€โ”€ coco8-pose  โ† 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: ../datasets/coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# 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: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip

์‚ฌ์šฉ๋ฒ•

์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ 640์ธ 100๊ฐœ์˜ ์—ํฌํฌ์— ๋Œ€ํ•ด COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ YOLOv8n-pose ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธ์ˆ˜์˜ ์ „์ฒด ๋ชฉ๋ก์€ ๋ชจ๋ธ ํ•™์Šต ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ด์ฐจ ์˜ˆ์‹œ

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640

์ƒ˜ํ”Œ ์ด๋ฏธ์ง€ ๋ฐ ์ฃผ์„

๋‹ค์Œ์€ COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฏธ์ง€์™€ ํ•ด๋‹น ์ฃผ์„์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

๋ฐ์ดํ„ฐ ์„ธํŠธ ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€

  • ๋ชจ์ž์ดํฌ ์ด๋ฏธ์ง€: ์ด ์ด๋ฏธ์ง€๋Š” ๋ชจ์ž์ดํฌ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ด๋ฏธ์ง€๋กœ ๊ตฌ์„ฑ๋œ ํ›ˆ๋ จ ๋ฐฐ์น˜์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ๋ชจ์ž์ดํฌ๋Š” ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฐ ํ›ˆ๋ จ ๋ฐฐ์น˜ ๋‚ด์—์„œ ๋‹ค์–‘ํ•œ ๊ฐœ์ฒด์™€ ์žฅ๋ฉด์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ํ›ˆ๋ จ ์ค‘์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ฐ์ฒด ํฌ๊ธฐ, ์ข…ํšก๋น„ ๋ฐ ์ปจํ…์ŠคํŠธ์— ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ๋Š” COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ํฌํ•จ๋œ ์ด๋ฏธ์ง€์˜ ๋‹ค์–‘์„ฑ๊ณผ ๋ณต์žก์„ฑ, ๊ทธ๋ฆฌ๊ณ  ํ›ˆ๋ จ ๊ณผ์ •์—์„œ ๋ชจ์ž์ดํฌ ์‚ฌ์šฉ์˜ ์ด์ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ธ์šฉ ๋ฐ ๊ฐ์‚ฌ

์—ฐ๊ตฌ ๋˜๋Š” ๊ฐœ๋ฐœ ์ž‘์—…์— COCO ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋…ผ๋ฌธ์„ ์ธ์šฉํ•ด ์ฃผ์„ธ์š”:

@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 ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ฐ ์ œ์ž‘์ž์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ COCO ๋ฐ์ดํ„ฐ ์„ธํŠธ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๋ฌด์—‡์ด๋ฉฐ, Ultralytics YOLOv8 ๊ณผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋‚˜์š”?

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ์ž‘๊ณ  ๋‹ค์žฌ๋‹ค๋Šฅํ•œ ํฌ์ฆˆ ๊ฐ์ง€ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ, ํ›ˆ๋ จ์šฉ ์ด๋ฏธ์ง€ 4๊ฐœ์™€ ๊ฒ€์ฆ์šฉ ์ด๋ฏธ์ง€ 4๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ COCO train 2017 ์„ธํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์ด๋ฏธ์ง€ 8๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊น…ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‹คํ—˜ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋น ๋ฅธ ์‹คํ—˜์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. Ultralytics YOLOv8. ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ๋ฐ์ดํ„ฐ ์„ธํŠธ YAML ํŒŒ์ผ์„ ํ™•์ธํ•˜์„ธ์š”.

Ultralytics ์—์„œ COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLOv8 ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?

์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ 640์ธ 100๊ฐœ์˜ ์—ํฌํฌ์— ๋Œ€ํ•œ COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ YOLOv8n-pose ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๋ ค๋ฉด ๋‹ค์Œ ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ฅด์„ธ์š”:

์—ด์ฐจ ์˜ˆ์‹œ

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-pose.pt")

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8-pose.yaml model=yolov8n.pt epochs=100 imgsz=640

ํ›ˆ๋ จ ์ธ์ˆ˜์˜ ์ „์ฒด ๋ชฉ๋ก์€ ๋ชจ๋ธ ํ›ˆ๋ จ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ์ปดํŒฉํŠธํ•œ ์‚ฌ์ด์ฆˆ: 8๊ฐœ์˜ ์ด๋ฏธ์ง€๋งŒ ์žˆ์–ด ๊ด€๋ฆฌ๊ฐ€ ๊ฐ„ํŽธํ•˜๊ณ  ๋น ๋ฅธ ์‹คํ—˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ: ์ž‘์€ ํฌ๊ธฐ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์žฅ๋ฉด์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด ์ฒ ์ €ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ํ…Œ์ŠคํŠธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋ฅ˜ ๋””๋ฒ„๊น…: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ํ™•์žฅํ•˜๊ธฐ ์ „์— ํ›ˆ๋ จ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ •์ƒ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๋ฐ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์†Œ๊ฐœ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ชจ์ž์ดํฌ๋Š” COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” YOLOv8 ํŠธ๋ ˆ์ด๋‹ ํ”„๋กœ์„ธ์Šค์— ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ชจ์ž์ด์‹ฑ์€ ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฐ ํ›ˆ๋ จ ๋ฐฐ์น˜ ๋‚ด์—์„œ ๊ฐœ์ฒด์™€ ์žฅ๋ฉด์˜ ๋‹ค์–‘์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด ํฌ๊ธฐ, ์ข…ํšก๋น„ ๋ฐ ์ปจํ…์ŠคํŠธ์— ๊ฑธ์ณ ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œ์ผœ ๊ถ๊ทน์ ์œผ๋กœ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ ์ด๋ฏธ์ง€๋Š” ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€ ๋ฐ ์ฃผ์„ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

COCO8-Pose ๋ฐ์ดํ„ฐ ์„ธํŠธ YAML ํŒŒ์ผ์€ ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

COCO8-Pose ๋ฐ์ดํ„ฐ์„ธํŠธ YAML ํŒŒ์ผ์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ๊ฒฝ๋กœ, ํด๋ž˜์Šค ๋ฐ ๊ธฐํƒ€ ๊ด€๋ จ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ตฌ์„ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ํ›ˆ๋ จ ์˜ˆ์ œ ์„น์…˜์— ์–ธ๊ธ‰๋œ YOLOv8 ํ›ˆ๋ จ ์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋” ๋งŽ์€ FAQ์™€ ์ž์„ธํ•œ ์„ค๋ช…์„œ๋ฅผ ๋ณด๋ ค๋ฉด Ultralytics ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.



Created 2023-11-12, Updated 2024-07-17
Authors: hnliu_2@stu.xidian.edu.cn (1), glenn-jocher (7), Laughing-q (1)

๋Œ“๊ธ€