Bỏ để qua phần nội dung

Tổng quan về bộ dữ liệu ước tính Pose

Các định dạng tập dữ liệu được hỗ trợ

Ultralytics YOLO định dạng

Định dạng nhãn tập dữ liệu được sử dụng để đào tạo YOLO Mô hình POSE như sau:

  1. Một tệp văn bản cho mỗi hình ảnh: Mỗi hình ảnh trong tập dữ liệu có một tệp văn bản tương ứng có cùng tên với tệp hình ảnh và phần mở rộng ".txt".
  2. Một hàng trên mỗi đối tượng: Mỗi hàng trong tệp văn bản tương ứng với một đối tượng trong hình ảnh.
  3. Thông tin đối tượng trên mỗi hàng: Mỗi hàng chứa thông tin sau về phiên bản đối tượng:
    • Chỉ mục lớp đối tượng: Một số nguyên đại diện cho lớp của đối tượng (ví dụ: 0 cho người, 1 cho xe hơi, v.v.).
    • Tọa độ tâm đối tượng: Tọa độ x và y của tâm đối tượng, được chuẩn hóa nằm trong khoảng từ 0 đến 1.
    • Chiều rộng và chiều cao của đối tượng: Chiều rộng và chiều cao của đối tượng, được chuẩn hóa nằm trong khoảng từ 0 đến 1.
    • Tọa độ điểm chính đối tượng: Các điểm chính của đối tượng, được chuẩn hóa nằm trong khoảng từ 0 đến 1.

Dưới đây là ví dụ về định dạng nhãn cho tác vụ ước tính tư thế:

Định dạng với Dim = 2

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

Định dạng với Dim = 3

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

Ở định dạng này, <class-index> là chỉ mục của lớp cho đối tượng,<x> <y> <width> <height> là tọa độ của hộp giới hạn, và <px1> <py1> <px2> <py2> ... <pxn> <pyn> là tọa độ điểm ảnh của các điểm chính. Các tọa độ được ngăn cách bởi các khoảng trắng.

Định dạng YAML tập dữ liệu

Các Ultralytics framework sử dụng định dạng tệp YAML để xác định tập dữ liệu và cấu hình mô hình để đào tạo Mô hình phát hiện. Dưới đây là ví dụ về định dạng YAML được sử dụng để xác định tập dữ liệu phát hiện:

# 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

Các trainval Các trường chỉ định đường dẫn đến các thư mục chứa hình ảnh đào tạo và xác thực tương ứng.

names là một từ điển tên lớp. Thứ tự của các tên phải khớp với thứ tự của các chỉ số lớp đối tượng trong YOLO tệp tập dữ liệu.

(Tùy chọn) nếu các điểm đối xứng thì cần flip_idx, như bên trái-phải của người hoặc mặt. Ví dụ: nếu chúng ta giả định năm điểm chính của mốc khuôn mặt: [mắt trái, mắt phải, mũi, miệng trái, miệng phải] và chỉ số ban đầu là [0, 1, 2, 3, 4], thì flip_idx là [1, 0, 2, 4, 3] (chỉ cần trao đổi chỉ số trái-phải, tức là 0-1 và 3-4 và không sửa đổi người khác như mũi trong ví dụ này).

Sử dụng

Ví dụ

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

Bộ dữ liệu được hỗ trợ

Phần này phác thảo các bộ dữ liệu tương thích với Ultralytics YOLO định dạng và có thể được sử dụng cho các mô hình ước tính tư thế đào tạo:

COCO-Pose

  • Mô tả: COCO-Pose là một bộ dữ liệu phát hiện, phân đoạn và ước tính tư thế đối tượng quy mô lớn. Nó là một tập hợp con của bộ dữ liệu COCO phổ biến và tập trung vào ước tính tư thế của con người. COCO-Pose bao gồm nhiều điểm chính cho mỗi trường hợp của con người.
  • Định dạng nhãn: Giống như Ultralytics YOLO định dạng như được mô tả ở trên, với các điểm chính cho tư thế của con người.
  • Số lớp: 1 (Con người).
  • Điểm chính: 17 điểm chính bao gồm mũi, mắt, tai, vai, khuỷu tay, cổ tay, hông, đầu gối và mắt cá chân.
  • Cách sử dụng: Thích hợp để đào tạo các mô hình ước tính tư thế của con người.
  • Hướng dẫn khác: The dataset is rich and multi, chứa hơn 200k hình ảnh được gắn nhãn.
  • Đọc thêm về COCO-Pose

COCO8-Tư thế

  • Sự miêu tả: Ultralytics COCO8-Pose là một bộ dữ liệu phát hiện tư thế nhỏ nhưng linh hoạt bao gồm 8 hình ảnh đầu tiên của bộ COCO train 2017, 4 hình ảnh để đào tạo và 4 hình ảnh để xác nhận.
  • Định dạng nhãn: Giống như Ultralytics YOLO định dạng như được mô tả ở trên, với các điểm chính cho tư thế của con người.
  • Số lớp: 1 (Con người).
  • Điểm chính: 17 điểm chính bao gồm mũi, mắt, tai, vai, khuỷu tay, cổ tay, hông, đầu gối và mắt cá chân.
  • Cách sử dụng: Thích hợp để kiểm tra và gỡ lỗi các mô hình phát hiện đối tượng hoặc để thử nghiệm các phương pháp phát hiện mới.
  • Hướng dẫn khác: COCO8-Pose is ideal for sanity checks and CI checks.
  • Đọc thêm về COCO8-Pose

Tư thế hổ

  • Sự miêu tả: Ultralytics Bộ dữ liệu tư thế động vật này bao gồm 263 hình ảnh có nguồn gốc từ Video YouTube, với 210 hình ảnh được phân bổ để huấn luyện và 53 hình ảnh để xác nhận.
  • Định dạng nhãn: Giống như Ultralytics YOLO định dạng như mô tả ở trên, với 12 điểm chính cho tư thế động vật và không có kích thước nhìn thấy được.
  • Số lớp: 1 (Tiger).
  • Điểm chính: 12 điểm chính.
  • Cách sử dụng: Tuyệt vời cho tư thế động vật hoặc bất kỳ tư thế nào khác không dựa trên con người.
  • Đọc thêm về Tiger-Pose

Thêm tập dữ liệu của riêng bạn

Nếu bạn có tập dữ liệu của riêng mình và muốn sử dụng nó để đào tạo, hãy đặt ra các mô hình ước tính với: Ultralytics YOLO định dạng, đảm bảo rằng nó tuân theo định dạng được chỉ định ở trên trong "Ultralytics YOLO định dạng". Chuyển đổi chú thích của bạn sang định dạng yêu cầu và chỉ định đường dẫn, số lớp và tên lớp trong tệp cấu hình YAML.

Công cụ chuyển đổi

Ultralytics cung cấp một công cụ chuyển đổi thuận tiện để chuyển đổi nhãn từ định dạng tập dữ liệu COCO phổ biến sang YOLO định dạng:

Ví dụ

from ultralytics.data.converter import convert_coco

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

Công cụ chuyển đổi này có thể được sử dụng để chuyển đổi tập dữ liệu COCO hoặc bất kỳ tập dữ liệu nào ở định dạng COCO sang Ultralytics YOLO định dạng. Các use_keypoints Tham số chỉ định có bao gồm các điểm chính (để ước tính tư thế) trong các nhãn được chuyển đổi hay không.



Đã tạo 2023-11-12, Cập nhật 2024-04-18
Tác giả: glenn-jocher (6)

Ý kiến