μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

포즈 μΆ”μ • 데이터 μ„ΈνŠΈ κ°œμš”

μ§€μ›λ˜λŠ” 데이터 μ„ΈνŠΈ ν˜•μ‹

Ultralytics YOLO ν˜•μ‹

YOLO 포즈 λͺ¨λΈ ν•™μŠ΅μ— μ‚¬μš©λ˜λŠ” 데이터 μ„ΈνŠΈ λ ˆμ΄λΈ” ν˜•μ‹μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. 이미지당 ν•˜λ‚˜μ˜ ν…μŠ€νŠΈ 파일: 데이터 μ„ΈνŠΈμ˜ 각 μ΄λ―Έμ§€μ—λŠ” 이미지 파일과 이름이 κ°™κ³  ν™•μž₯μžκ°€ ".txt"인 ν•΄λ‹Ή ν…μŠ€νŠΈ 파일이 μžˆμŠ΅λ‹ˆλ‹€.
  2. 객체당 ν•˜λ‚˜μ˜ ν–‰: ν…μŠ€νŠΈ 파일의 각 행은 μ΄λ―Έμ§€μ˜ 객체 μΈμŠ€ν„΄μŠ€ ν•˜λ‚˜μ— ν•΄λ‹Ήν•©λ‹ˆλ‹€.
  3. 행별 객체 정보: 각 ν–‰μ—λŠ” 객체 μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ λ‹€μŒ 정보가 ν¬ν•¨λ©λ‹ˆλ‹€:
    • 객체 클래슀 인덱슀: 객체의 클래슀λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜(예: μ‚¬λžŒμ˜ 경우 0, μžλ™μ°¨μ˜ 경우 1 λ“±)μž…λ‹ˆλ‹€.
    • 객체 쀑심 μ’Œν‘œμž…λ‹ˆλ‹€: 객체 μ€‘μ‹¬μ˜ x 및 y μ’Œν‘œλ‘œ, 0κ³Ό 1 μ‚¬μ΄λ‘œ μ •κ·œν™”λœ μ’Œν‘œμž…λ‹ˆλ‹€.
    • 객체의 λ„ˆλΉ„μ™€ λ†’μ΄μž…λ‹ˆλ‹€: 개체의 λ„ˆλΉ„μ™€ λ†’μ΄λ‘œ, 0κ³Ό 1 μ‚¬μ΄λ‘œ μ •κ·œν™”λœ κ°’μž…λ‹ˆλ‹€.
    • 객체 ν‚€ν¬μΈνŠΈ μ’Œν‘œμž…λ‹ˆλ‹€: 0μ—μ„œ 1 μ‚¬μ΄λ‘œ μ •κ·œν™”λœ 객체의 ν‚€ν¬μΈνŠΈ μ’Œν‘œμž…λ‹ˆλ‹€.

λ‹€μŒμ€ 포즈 μΆ”μ • μž‘μ—…μ„ μœ„ν•œ 라벨 ν˜•μ‹μ˜ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

μ–΄λ‘‘κ²Œ = 2둜 포맷

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

μ–΄λ‘‘κ²Œ = 3으둜 포맷

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

이 ν˜•μ‹μž…λ‹ˆλ‹€, <class-index> λŠ” 객체에 λŒ€ν•œ 클래슀의 μΈλ±μŠ€μž…λ‹ˆλ‹€,<x> <y> <width> <height> 의 μ’Œν‘œμž…λ‹ˆλ‹€. λ°”μš΄λ”© λ°•μŠ€λ° <px1> <py1> <px2> <py2> ... <pxn> <pyn> λŠ” ν‚€ν¬μΈνŠΈμ˜ ν”½μ…€ μ’Œν‘œμž…λ‹ˆλ‹€. μ’Œν‘œλŠ” 곡백으둜 κ΅¬λΆ„λ©λ‹ˆλ‹€.

데이터 μ„ΈνŠΈ YAML ν˜•μ‹

Ultralytics ν”„λ ˆμž„μ›Œν¬λŠ” 탐지 λͺ¨λΈ ν•™μŠ΅μ„ μœ„ν•œ 데이터 μ„ΈνŠΈ 및 λͺ¨λΈ ꡬ성을 μ •μ˜ν•˜κΈ° μœ„ν•΄ YAML 파일 ν˜•μ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. λ‹€μŒμ€ 탐지 데이터 μ„ΈνŠΈλ₯Ό μ •μ˜ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” YAML ν˜•μ‹μ˜ μ˜ˆμž…λ‹ˆλ‹€:

# 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 dictionary
names:
    0: person

그리고 train 그리고 val ν•„λ“œλŠ” 각각 νŠΈλ ˆμ΄λ‹ 이미지와 μœ νš¨μ„± 검사 이미지가 ν¬ν•¨λœ λ””λ ‰ν„°λ¦¬μ˜ 경둜λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

names λŠ” 클래슀 μ΄λ¦„μ˜ μ‚¬μ „μž…λ‹ˆλ‹€. μ΄λ¦„μ˜ μˆœμ„œλŠ” YOLO 데이터 μ„ΈνŠΈ 파일의 객체 클래슀 인덱슀 μˆœμ„œμ™€ μΌμΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

(선택 사항) ν¬μΈνŠΈκ°€ λŒ€μΉ­μΈ 경우 μ‚¬λžŒμ΄λ‚˜ μ–Όκ΅΄μ˜ μ™Όμͺ½/였λ₯Έμͺ½κ³Ό 같이 flip_idxκ°€ ν•„μš”ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ–Όκ΅΄ λžœλ“œλ§ˆν¬μ˜ ν‚€ν¬μΈνŠΈκ°€ 5개라고 κ°€μ •ν•©λ‹ˆλ‹€: [μ™Όμͺ½ 눈, 였λ₯Έμͺ½ 눈, μ½”, μ™Όμͺ½ μž…, 였λ₯Έμͺ½ μž…]이고 μ›λž˜ μΈλ±μŠ€κ°€ [0, 1, 2, 3, 4]인 경우 flip_idxλŠ” [1, 0, 2, 4, 3]μž…λ‹ˆλ‹€(이 μ˜ˆμ—μ„œλŠ” 0-1κ³Ό 3-4처럼 쒌우 인덱슀만 λ°”κΎΈκ³  μ½” 같은 λ‹€λ₯Έ μΈλ±μŠ€λŠ” μˆ˜μ •ν•˜μ§€ λ§ˆμ„Έμš”).

μ‚¬μš©λ²•

예

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 pose train data=coco8-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

μ§€μ›λ˜λŠ” 데이터 μ„ΈνŠΈ

이 μ„Ήμ…˜μ—μ„œλŠ” Ultralytics YOLO ν˜•μ‹κ³Ό ν˜Έν™˜λ˜λ©° 포즈 μΆ”μ • λͺ¨λΈ ν›ˆλ ¨μ— μ‚¬μš©ν•  수 μžˆλŠ” 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ κ°„λž΅ν•˜κ²Œ μ„€λͺ…ν•©λ‹ˆλ‹€:

μ½”μ½” 포즈

  • μ„€λͺ…: COCO-PoseλŠ” λŒ€κ·œλͺ¨ 물체 감지, μ„ΈλΆ„ν™” 및 포즈 μΆ”μ • 데이터 μ„ΈνŠΈμž…λ‹ˆλ‹€. 널리 μ‚¬μš©λ˜λŠ” COCO 데이터 μ„ΈνŠΈμ˜ ν•˜μœ„ μ§‘ν•©μœΌλ‘œ, μ‚¬λžŒμ˜ 포즈 좔정에 쀑점을 두고 μžˆμŠ΅λ‹ˆλ‹€. COCO-Poseμ—λŠ” 각 μ‚¬λžŒ μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ μ—¬λŸ¬ ν‚€ν¬μΈνŠΈκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • 라벨 ν˜•μ‹: μœ„μ—μ„œ μ„€λͺ…ν•œ Ultralytics YOLO ν˜•μ‹κ³Ό λ™μΌν•˜λ©°, μ‚¬λžŒ ν¬μ¦ˆμ— λŒ€ν•œ ν‚€ν¬μΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 클래슀 수: 1 (인간).
  • ν‚€ν¬μΈνŠΈ: μ½”, 눈, κ·€, μ–΄κΉ¨, νŒ”κΏˆμΉ˜, 손λͺ©, 엉덩이, 무릎, 발λͺ© λ“± 17개의 ν‚€ν¬μΈνŠΈ.
  • μ‚¬μš©λ²•: μ‚¬μš©λ²•: μ‚¬λžŒ μžμ„Έ μΆ”μ • λͺ¨λΈ ν›ˆλ ¨μ— μ ν•©ν•©λ‹ˆλ‹€.
  • μΆ”κ°€ μ°Έκ³  사항: 데이터 μ„ΈνŠΈλŠ” ν’λΆ€ν•˜κ³  λ‹€μ–‘ν•˜λ©°, 라벨이 μ§€μ •λœ 이미지가 200만 개 이상 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • COCO-Pose에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

COCO8-Pose

  • μ„€λͺ…: Ultralytics COCO8-PoseλŠ” μž‘μ§€λ§Œ λ‹€μš©λ„λ‘œ ν™œμš© κ°€λŠ₯ν•œ 포즈 감지 데이터 μ„ΈνŠΈλ‘œ, COCO 트레인 2017 μ„ΈνŠΈμ˜ 첫 8개 이미지 쀑 ν›ˆλ ¨μš© 4κ°œμ™€ κ²€μ¦μš© 4개둜 κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • 라벨 ν˜•μ‹: μœ„μ—μ„œ μ„€λͺ…ν•œ Ultralytics YOLO ν˜•μ‹κ³Ό λ™μΌν•˜λ©°, μ‚¬λžŒ ν¬μ¦ˆμ— λŒ€ν•œ ν‚€ν¬μΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 클래슀 수: 1 (인간).
  • ν‚€ν¬μΈνŠΈ: μ½”, 눈, κ·€, μ–΄κΉ¨, νŒ”κΏˆμΉ˜, 손λͺ©, 엉덩이, 무릎, 발λͺ© λ“± 17개의 ν‚€ν¬μΈνŠΈ.
  • μ‚¬μš©λ²•: μ‚¬μš© 방법: 객체 감지 λͺ¨λΈμ„ ν…ŒμŠ€νŠΈ 및 λ””λ²„κΉ…ν•˜κ±°λ‚˜ μƒˆλ‘œμš΄ 감지 μ ‘κ·Ό 방식을 μ‹€ν—˜ν•˜λŠ” 데 μ ν•©ν•©λ‹ˆλ‹€.
  • μΆ”κ°€ 참고사항: COCO8-PoseλŠ” μ •μ‹  μƒνƒœ 확인 및 CI 확인에 μ΄μƒμ μž…λ‹ˆλ‹€.
  • COCO8-Pose에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

ν˜Έλž‘μ΄ 포즈

  • μ„€λͺ…: Ultralytics 이 동물 포즈 데이터 μ„ΈνŠΈλŠ” YouTube λ™μ˜μƒμ—μ„œ κ°€μ Έμ˜¨ 263개의 μ΄λ―Έμ§€λ‘œ κ΅¬μ„±λ˜μ–΄ 있으며, 210개의 μ΄λ―Έμ§€λŠ” ν•™μŠ΅μš©μœΌλ‘œ, 53개의 μ΄λ―Έμ§€λŠ” κ²€μ¦μš©μœΌλ‘œ ν• λ‹Ήλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • 라벨 ν˜•μ‹: μœ„μ—μ„œ μ„€λͺ…ν•œ Ultralytics YOLO ν˜•μ‹κ³Ό λ™μΌν•˜λ©°, 동물 포즈λ₯Ό μœ„ν•œ 12개의 ν‚€ν¬μΈνŠΈκ°€ 있고 μΉ˜μˆ˜κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • 클래슀 수: 1 (ν˜Έλž‘μ΄).
  • ν‚€ν¬μΈνŠΈ: ν‚€ν¬μΈνŠΈ: 12개.
  • μ‚¬μš©λ²•: μ‚¬μš©λ²•: 동물 ν¬μ¦ˆλ‚˜ μ‚¬λžŒμ΄ μ•„λ‹Œ λ‹€λ₯Έ ν¬μ¦ˆμ— μ ν•©ν•©λ‹ˆλ‹€.
  • ν˜Έλž‘μ΄ ν¬μ¦ˆμ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

손 ν‚€ν¬μΈνŠΈ

  • μ„€λͺ…: 손 ν‚€ν¬μΈνŠΈ 포즈 데이터 μ„ΈνŠΈλŠ” μ•½ 26K개의 μ΄λ―Έμ§€λ‘œ κ΅¬μ„±λ˜μ–΄ 있으며, ν•™μŠ΅μš©μœΌλ‘œ 18776개, κ²€μ¦μš©μœΌλ‘œ 7992개의 이미지가 ν• λ‹Ήλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • λ ˆμ΄λΈ” ν˜•μ‹: μœ„μ—μ„œ μ„€λͺ…ν•œ Ultralytics YOLO ν˜•μ‹κ³Ό λ™μΌν•˜μ§€λ§Œ μ‚¬λžŒμ˜ 손과 λˆˆμ— λ³΄μ΄λŠ” 치수λ₯Ό μœ„ν•œ 21개의 ν‚€ν¬μΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • μˆ˜μ—… 수: 1(ν•Έλ“œ).
  • ν‚€ν¬μΈνŠΈ: ν‚€ν¬μΈνŠΈ: 21개.
  • μ‚¬μš©λ²•: μ‚¬λžŒμ˜ 손 포즈λ₯Ό μΆ”μ •ν•˜λŠ” 데 μ ν•©ν•©λ‹ˆλ‹€.
  • ν•Έλ“œ ν‚€ν¬μΈνŠΈμ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

개 포즈

  • μ„€λͺ…: 개 μžμ„Έ 데이터 μ„ΈνŠΈμ—λŠ” μ•½ 6,000개의 이미지가 ν¬ν•¨λ˜μ–΄ 있으며, 개 μžμ„Έ μΆ”μ • λͺ¨λΈμ˜ ν›ˆλ ¨ 및 검증을 μœ„ν•œ λ‹€μ–‘ν•˜κ³  κ΄‘λ²”μœ„ν•œ λ¦¬μ†ŒμŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • 라벨 ν˜•μ‹: Ultralytics YOLO ν˜•μ‹μ„ λ”°λ₯΄λ©°, 개의 해뢀학적 ꡬ쑰와 κ΄€λ ¨λœ μ—¬λŸ¬ ν‚€ν¬μΈνŠΈμ— λŒ€ν•œ 주석이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • μˆ˜μ—… 수: 1(개).
  • ν‚€ν¬μΈνŠΈ: νŒ”λ‹€λ¦¬, κ΄€μ ˆ, 머리 μœ„μΉ˜ λ“± 반렀견의 ν¬μ¦ˆμ— 맞좘 24개의 ν‚€ν¬μΈνŠΈκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • μ‚¬μš©λ²•: μ‚¬μš© 방법: 연ꡬ뢀터 μ‹€μ œ μ μš©κΉŒμ§€ λ‹€μ–‘ν•œ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ 개의 포즈λ₯Ό μΆ”μ •ν•˜κΈ° μœ„ν•œ λͺ¨λΈ ν›ˆλ ¨μ— μ΄μƒμ μž…λ‹ˆλ‹€.
  • 도그 ν¬μ¦ˆμ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

λ‚˜λ§Œμ˜ 데이터 집합 μΆ”κ°€ν•˜κΈ°

자체 데이터 μ„ΈνŠΈκ°€ 있고 이λ₯Ό Ultralytics YOLO ν˜•μ‹μœΌλ‘œ 포즈 μΆ”μ • λͺ¨λΈ ν•™μŠ΅μ— μ‚¬μš©ν•˜λ €λ©΄ μœ„μ˜ "Ultralytics YOLO ν˜•μ‹"에 μ§€μ •λœ ν˜•μ‹μ„ λ”°λ₯΄λŠ”지 ν™•μΈν•˜μ„Έμš”. μ–΄λ…Έν…Œμ΄μ…˜μ„ ν•„μš”ν•œ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜κ³  YAML ꡬ성 νŒŒμΌμ— 경둜, 클래슀 수, 클래슀 이름을 μ§€μ •ν•©λ‹ˆλ‹€.

μ „ν™˜ 도ꡬ

Ultralytics λŠ” 널리 μ‚¬μš©λ˜λŠ” COCO λ°μ΄ν„°μ„ΈνŠΈ ν˜•μ‹μ—μ„œ YOLO ν˜•μ‹μœΌλ‘œ 라벨을 λ³€ν™˜ν•˜λŠ” νŽΈλ¦¬ν•œ λ³€ν™˜ 도ꡬλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€:

예

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

이 λ³€ν™˜ λ„κ΅¬λŠ” COCO 데이터 μ„ΈνŠΈ λ˜λŠ” COCO ν˜•μ‹μ˜ 데이터 μ„ΈνŠΈλ₯Ό Ultralytics YOLO ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 use_keypoints λ§€κ°œλ³€μˆ˜λŠ” λ³€ν™˜λœ λ ˆμ΄λΈ”μ— ν‚€ν¬μΈνŠΈ(포즈 μΆ”μ •μš©)λ₯Ό 포함할지 μ—¬λΆ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

포즈 좔정을 μœ„ν•œ Ultralytics YOLO ν˜•μ‹μ΄λž€ λ¬΄μ—‡μΈκ°€μš”?

포즈 μΆ”μ • 데이터 μ„ΈνŠΈμ˜ Ultralytics YOLO ν˜•μ‹μ€ 각 이미지에 ν•΄λ‹Ή ν…μŠ€νŠΈ 파일둜 λ ˆμ΄λΈ”μ„ μ§€μ •ν•˜λŠ” 것을 ν¬ν•¨ν•©λ‹ˆλ‹€. ν…μŠ€νŠΈ 파일의 각 ν–‰μ—λŠ” 객체 μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ 정보가 μ €μž₯λ©λ‹ˆλ‹€:

  • 객체 클래슀 색인
  • 객체 쀑심 μ’Œν‘œ(μ •κ·œν™”λœ x 및 y)
  • 개체 λ„ˆλΉ„ 및 높이(μ •κ·œν™”)
  • 객체 ν‚€ν¬μΈνŠΈ μ’Œν‘œ(μ •κ·œν™”λœ pxn 및 pyn)

2D 포즈의 경우 ν‚€ν¬μΈνŠΈμ—λŠ” ν”½μ…€ μ’Œν‘œκ°€ ν¬ν•¨λ©λ‹ˆλ‹€. 3D의 경우 각 ν‚€ν¬μΈνŠΈμ—λŠ” κ°€μ‹œμ„± ν”Œλž˜κ·Έλ„ μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ Ultralytics YOLO ν˜•μ‹μ„ μ°Έμ‘°ν•˜μ„Έμš”.

COCO-Pose 데이터 μ„ΈνŠΈλŠ” Ultralytics YOLO μ—μ„œ μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λ‚˜μš”?

COCO-Pose 데이터셋을 μ‚¬μš©ν•˜λ €λ©΄ Ultralytics YOLO :

  1. 데이터 μ„ΈνŠΈλ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  YOLO ν˜•μ‹μœΌλ‘œ 라벨 νŒŒμΌμ„ μ€€λΉ„ν•©λ‹ˆλ‹€.
  2. νŠΈλ ˆμ΄λ‹ 및 μœ νš¨μ„± 검사 μ΄λ―Έμ§€μ˜ 경둜, ν‚€ν¬μΈνŠΈ λͺ¨μ–‘, 클래슀 이름을 μ§€μ •ν•˜λŠ” YAML ꡬ성 νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.
  3. κ΅μœ‘μ— ꡬ성 νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")  # load pretrained model
    results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
    

    μžμ„Έν•œ λ‚΄μš©μ€ μ½”μ½” 포즈 및 κΈ°μ°¨ μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ„Έμš”.

Ultralytics YOLO μ—μ„œ 포즈 좔정을 μœ„ν•œ λ‚˜λ§Œμ˜ 데이터 μ„ΈνŠΈλ₯Ό μΆ”κ°€ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜μš”?

데이터 집합을 μΆ”κ°€ν•˜λ €λ©΄:

  1. 주석을 Ultralytics YOLO ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
  2. 데이터 μ„ΈνŠΈ 경둜, 클래슀 수, 클래슀 이름을 μ§€μ •ν•˜λŠ” YAML ꡬ성 νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.
  3. ꡬ성 νŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ ν•™μŠ΅μ‹œν‚΅λ‹ˆλ‹€:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")
    results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
    

    전체 λ‹¨κ³„λŠ” λ‚˜λ§Œμ˜ 데이터 μ„ΈνŠΈ μΆ”κ°€ν•˜κΈ° μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ„Έμš”.

Ultralytics YOLO 에 μžˆλŠ” 데이터 μ„ΈνŠΈ YAML 파일의 λͺ©μ μ€ λ¬΄μ—‡μΈκ°€μš”?

Ultralytics YOLO 의 데이터 μ„ΈνŠΈ YAML νŒŒμΌμ€ ν•™μŠ΅μ„ μœ„ν•œ 데이터 μ„ΈνŠΈ 및 λͺ¨λΈ ꡬ성을 μ •μ˜ν•©λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” ν•™μŠ΅, μœ νš¨μ„± 검사 및 ν…ŒμŠ€νŠΈ μ΄λ―Έμ§€μ˜ 경둜, ν‚€ν¬μΈνŠΈ λͺ¨μ–‘, 클래슀 이름 및 기타 ꡬ성 μ˜΅μ…˜μ΄ μ§€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 이 κ΅¬μ‘°ν™”λœ ν˜•μ‹μ€ 데이터 μ„ΈνŠΈ 관리와 λͺ¨λΈ ν•™μŠ΅μ„ κ°„μ†Œν™”ν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€. λ‹€μŒμ€ YAML ν˜•μ‹μ˜ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

path: ../datasets/coco8-pose
train: images/train
val: images/val
names:
    0: person

데이터 집합 YAML ν˜•μ‹μ˜ YAML ꡬ성 파일 생성에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄μ„Έμš”.

포즈 좔정을 μœ„ν•΄ COCO 데이터 μ„ΈνŠΈ λ ˆμ΄λΈ”μ„ Ultralytics YOLO ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜μš”?

Ultralytics λŠ” ν‚€ν¬μΈνŠΈ 정보λ₯Ό ν¬ν•¨ν•˜μ—¬ COCO 데이터 μ„ΈνŠΈ 라벨을 YOLO ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” λ³€ν™˜ 도ꡬλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

이 λ„κ΅¬λŠ” COCO 데이터셋을 YOLO ν”„λ‘œμ νŠΈμ— μ›ν™œν•˜κ²Œ ν†΅ν•©ν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ λ³€ν™˜ 도ꡬ μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ„Έμš”.

πŸ“…1 λ…„ μ „ 생성됨 ✏️ μ—…λ°μ΄νŠΈλ¨ 5 일 μ „

λŒ“κΈ€