Tổng quan về bộ dữ liệu ước tính tư thế
Đị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 tư thế mô hình 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 cho mỗi đối tượng: Mỗi hàng trong tệp văn bản tương ứng với một trường hợp đối tượng trong hình ảnh.
- Thông tin đối tượng theo từng hàng: Mỗi hàng chứa thông tin sau về phiên bản đối tượng:
- Chỉ số lớp đối tượng: Một số nguyên biểu diễn lớp của đối tượng (ví dụ: 0 cho người, 1 cho ô tô, 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 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 trong khoảng từ 0 đến 1.
- Tọa độ điểm chính của đối tượng: Các điểm chính của đối tượng, được chuẩn hóa trong khoảng từ 0 đến 1.
Sau đây là một ví dụ về định dạng nhãn cho nhiệm vụ ước tính tư thế:
Định dạng với Dim = 2
Đị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ỉ số 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 độ pixel của các điểm chính. Các tọa độ được phân tách bằng dấu cách.
Định dạng YAML của 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. Sau đâ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 tin 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 con người hoặc khuôn mặt. Ví dụ, nếu chúng ta giả sử năm điểm chính của mốc trên 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 đổi chỉ số trái-phải, tức là 0-1 và 3-4, và không sửa đổi các chỉ số khác như mũi trong ví dụ này).
Cách sử dụng
Ví dụ
Bộ dữ liệu được hỗ trợ
Phần này phác thảo các tập dữ liệu tương thích với Ultralytics YOLO định dạng và có thể được sử dụng để đào tạo các mô hình ước tính tư thế:
Tư thế COCO
- 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ư mô tả ở trên, với các điểm chính cho tư thế của con người.
- Số lượng 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ông dụng : Thích hợp để đào tạo mô hình ước tính tư thế con người.
- Ghi chú bổ sung : Bộ dữ liệu phong phú và đa dạng, bao gồm hơn 200 nghìn hình ảnh được gắn nhãn.
- Đọc thêm về COCO-Pose
COCO8-Tư thế
- Mô tả : Ultralytics COCO8-Pose là một tập dữ liệu phát hiện tư thế nhỏ nhưng đa năng 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 thực.
- Định dạng nhãn : Giống như Ultralytics YOLO định dạng như mô tả ở trên, với các điểm chính cho tư thế của con người.
- Số lượng 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 để thử nghiệm 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.
- Ghi chú bổ sung : COCO8-Pose lý tưởng cho việc kiểm tra tính hợp lệ và kiểm tra CI.
- Đọc thêm về COCO8-Pose
Tư thế con hổ
- Mô tả : Ultralytics Bộ dữ liệu tư thế động vật này bao gồm 263 hình ảnh lấy từ Video trên YouTube , trong đó 210 hình ảnh được phân bổ để đào tạo và 53 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, với 12 điểm chính cho tư thế động vật và không có chiều không nhìn thấy được.
- Số lượng lớp : 1 (Hổ).
- Điểm chính : 12 điểm chính.
- Cách sử dụng : Thích hợp cho tư thế động vật hoặc bất kỳ tư thế nào khác không liên quan đế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 riêng của mình và muốn sử dụng nó để đào tạo các mô hình ước tính tư thế 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 phần " Ultralytics YOLO "format". Chuyển đổi chú thích của bạn sang định dạng bắt buộc và chỉ định đường dẫn, số lượng 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. use_keypoints
tham số chỉ định xem có nên bao gồm các điểm chính (để ước tính tư thế) trong các nhãn đã chuyển đổi hay không.
CÂU HỎI THƯỜNG GẶP
Cái gì là Ultralytics YOLO định dạng để ước tính tư thế?
Các Ultralytics YOLO Định dạng cho các tập dữ liệu ước tính tư thế liên quan đến việc gắn nhãn cho 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 thể hiện đối tượng:
- Chỉ số lớp đối tượng
- Tọa độ tâm đối tượng (x và y chuẩn hóa)
- Chiều rộng và chiều cao của đối tượng (đã chuẩn hóa)
- Tọa độ điểm chính của đối tượng (pxn và pyn được 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 định dạng Ultralytics YOLO .
Làm thế nào để tôi 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 thế nào tôi có thể 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 dữ liệu YAML trong tập dữ liệu là gì? Ultralytics YOLO ?
Tập tin YAML của bộ dữ liệu trong Ultralytics YOLO định nghĩa tập dữ liệu và cấu hình mô hình để đào tạo. Nó chỉ định đường dẫn đến hình ảnh đào tạo, xác thực và kiểm tra, hình dạng điểm chính, 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. Sau đây là một ví dụ về định dạng YAML:
Đọc thêm về cách tạo tệp cấu hình YAML ở định dạng YAML của Bộ dữ liệu .
Làm thế nào tôi có thể 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 sang YOLO định dạng, bao gồm thông tin quan trọng:
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 tập 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 .