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:
- 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".
- 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.
- 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ạnvà <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 train
và val
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ụ
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 tập dữ liệu phát hiện đối tượng , phân đoạn và ước tính tư thế quy mô lớn. Đây là một tập hợp con của tập 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
Điểm chính của bàn tay
- Mô tả : Bộ dữ liệu tư thế điểm chính của bàn tay bao gồm gần 26 nghìn hình ảnh, với 18776 hình ảnh được phân bổ cho mục đích đào tạo và 7992 hình ảnh để xác thực.
- Định dạng nhãn : Giống như Ultralytics YOLO định dạng như mô tả ở trên, nhưng có 21 điểm chính cho bàn tay con người và kích thước có thể nhìn thấy.
- Số lớp : 1 (Tay).
- Điểm chính : 21 điểm chính.
- Công dụng : Thích hợp để ước tính tư thế bàn tay con người.
- Đọc thêm về Hand Keypoints
Tư thế chó
- Mô tả : Bộ dữ liệu Dog Pose chứa khoảng 6.000 hình ảnh, cung cấp nguồn tài nguyên đa dạng và phong phú để đào tạo và xác thực các mô hình ước tính tư thế chó.
- Định dạng nhãn : Theo Ultralytics YOLO định dạng, có chú thích cho nhiều điểm chính cụ thể về giải phẫu chó.
- Số lớp : 1 (Chó).
- Điểm chính : Bao gồm 24 điểm chính được thiết kế riêng cho tư thế của chó, chẳng hạn như chân tay, khớp và vị trí đầu.
- Công dụng : Thích hợp để đào tạo mô hình ước tính tư thế của chó trong nhiều tình huống khác nhau, từ nghiên cứu đến ứng dụng thực tế.
- Đọc thêm về Dog-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ụ
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.
FAQ
Cái gì Ultralytics YOLO Định dạng để ước tính tư thế?
Các Ultralytics YOLO Định dạng cho bộ dữ liệu ước tính tư thế liên quan đến việc gắn nhãn mỗi hình ảnh bằng một tệp văn bản tương ứng. Mỗi hàng của tệp văn bản lưu trữ thông tin về một phiên bản đối tượng:
- Chỉ mục lớp đối tượng
- Tọa độ trung tâm đối tượng (chuẩn hóa x và y)
- Chiều rộng và chiều cao đối tượng (chuẩn hóa)
- Tọa độ điểm chính đối tượng (pxn và pyn chuẩn hóa)
Đối với tư thế 2D, các điểm chính bao gồm tọa độ pixel. Đối với 3D, mỗi điểm chính cũng có một cờ hiển thị. Để biết thêm chi tiết, hãy xem Ultralytics YOLO định dạng.
Làm cách nào để sử dụng tập dữ liệu COCO-Pose với Ultralytics YOLO?
Để sử dụng tập dữ liệu COCO-Pose với Ultralytics YOLO :
- Tải xuống tập dữ liệu và chuẩn bị các tệp nhãn của bạn trong YOLO định dạng.
- Tạo tệp cấu hình YAML chỉ định đường dẫn đến hình ảnh đào tạo và xác thực, hình dạng điểm chính và tên lớp.
Sử dụng tệp cấu hình để đào tạo:
from ultralytics import YOLO model = YOLO("yolo11n-pose.pt") # load pretrained model results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
Để biết thêm thông tin, hãy truy cập phần COCO-Pose và đào tạo .
Làm cách nào để thêm tập dữ liệu của riêng tôi để ước tính tư thế trong Ultralytics YOLO?
Để thêm tập dữ liệu của bạn:
- Chuyển đổi chú thích của bạn sang Ultralytics YOLO định dạng.
- Tạo tệp cấu hình YAML chỉ định đường dẫn tập dữ liệu, số lượng lớp và tên lớp.
Sử dụng tệp cấu hình để đào tạo mô hình của bạn:
from ultralytics import YOLO model = YOLO("yolo11n-pose.pt") results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
Để biết các bước đầy đủ, hãy kiểm tra phần Thêm tập dữ liệu của riêng bạn .
Mục đích của tệp YAML tập dữ liệu trong là gì Ultralytics YOLO?
Tập dữ liệu YAML trong Ultralytics YOLO xác định tập dữ liệu và cấu hình mô hình để đào tạo. Nó chỉ định các đường dẫn để đào tạo, xác nhận và kiểm tra hình ảnh, hình dạng keypoint, tên lớp và các tùy chọn cấu hình khác. Định dạng có cấu trúc này giúp hợp lý hóa việc quản lý tập dữ liệu và đào tạo mô hình. Dưới đây là một định dạng YAML ví dụ:
Đọc thêm về cách tạo tệp cấu hình YAML ở định dạng YAML tập dữ liệu.
Làm cách nào để chuyển đổi nhãn tập dữ liệu COCO thành Ultralytics YOLO Định dạng để ước tính tư thế?
Ultralytics cung cấp một công cụ chuyển đổi để chuyển đổi nhãn tập dữ liệu COCO thành YOLO Định dạng, bao gồm thông tin KeyPoint:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)
Công cụ này giúp tích hợp liền mạch các bộ dữ liệu COCO vào YOLO Dự án. Để biết chi tiết, hãy tham khảo phần Công cụ chuyển đổi .