Meet YOLO26: next-gen vision AI.

Link to this sectionBộ dữ liệu COCO-Pose#

Bộ dữ liệu COCO-Pose là một phiên bản chuyên biệt của bộ dữ liệu COCO (Common Objects in Context), được thiết kế cho các tác vụ ước tính tư thế (pose estimation). Nó tận dụng hình ảnh và nhãn từ COCO Keypoints 2017 để cho phép huấn luyện các model như YOLO cho các tác vụ ước tính tư thế.

Ước tính tư thế COCO với các điểm chính trên cơ thể người

Link to this sectionCác Model đã huấn luyện sẵn COCO-Pose#

Mô hìnhkích thước
(pixel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

Link to this sectionTính năng chính#

  • COCO-Pose được xây dựng dựa trên bộ dữ liệu COCO Keypoints 2017, chứa 200.000 hình ảnh được gán nhãn các điểm chính cho các tác vụ ước tính tư thế.
  • Bộ dữ liệu hỗ trợ 17 điểm chính cho hình dáng con người, tạo điều kiện thuận lợi cho việc ước tính tư thế chi tiết.
  • Giống như COCO, nó cung cấp các chỉ số đánh giá tiêu chuẩn, bao gồm Object Keypoint Similarity (OKS) cho các tác vụ ước tính tư thế, giúp nó phù hợp để so sánh hiệu suất model.

Link to this sectionCấu trúc tập dữ liệu#

Bộ dữ liệu COCO-Pose được chia thành ba tập con:

  1. Train2017: Tập con này chứa 56.599 hình ảnh từ bộ dữ liệu COCO, đã được chú thích để huấn luyện các model ước tính tư thế.
  2. Val2017: Tập con này có 2346 hình ảnh được sử dụng cho mục đích xác thực trong quá trình huấn luyện model.
  3. Test2017: Tập con này bao gồm các hình ảnh được sử dụng để kiểm thử và đánh giá hiệu năng các model đã được huấn luyện. Các chú thích ground truth cho tập con này không được công khai và kết quả được gửi đến COCO evaluation server để đánh giá hiệu năng.

Link to this sectionỨng dụng#

Bộ dữ liệu COCO-Pose được sử dụng đặc biệt để huấn luyện và đánh giá các model deep learning trong các tác vụ phát hiện điểm chính và ước tính tư thế, chẳng hạn như OpenPose. Số lượng lớn hình ảnh được chú thích và các chỉ số đánh giá tiêu chuẩn của bộ dữ liệu làm cho nó trở thành một tài nguyên thiết yếu cho các nhà nghiên cứu và thực hành trong lĩnh vực computer vision tập trung vào ước tính tư thế.

Link to this sectionYAML tập dữ liệu#

Một tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và các thông tin liên quan khác của bộ dữ liệu. Đối với bộ dữ liệu COCO-Pose, tệp coco-pose.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

ultralytics/cfg/datasets/coco-pose.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO 2017 Keypoints dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
# Example usage: yolo train data=coco-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco-pose ← downloads here (20.1 GB)

# 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: coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 56599 images
val: val2017.txt # val images (relative to 'path') 2346 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403

# 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

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

# Download script/URL (optional)
download: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  dir = Path(yaml["path"])  # dataset root dir

  urls = [f"{ASSETS_URL}/coco2017labels-pose.zip"]
  download(urls, dir=dir.parent)
  # Download data
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
      "http://images.cocodataset.org/zips/test2017.zip",  # 7G, 41k images (optional)
  ]
  download(urls, dir=dir / "images", threads=3)

Link to this sectionCách sử dụng#

Để huấn luyện một model YOLO26n-pose trên bộ dữ liệu COCO-Pose trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Huấn luyện của model.

Ví dụ về Training
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)

Link to this sectionHình ảnh mẫu và chú thích#

Bộ dữ liệu COCO-Pose chứa một tập hợp đa dạng các hình ảnh về con người được chú thích với các điểm chính. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:

Batch huấn luyện mosaic bộ dữ liệu ước tính tư thế COCO

  • Hình ảnh Mosaiced: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh từ tập dữ liệu đã được áp dụng kỹ thuật Mosaic. Mosaic là một kỹ thuật được sử dụng trong quá trình huấn luyện nhằm kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng sự đa dạng của các đối tượng và bối cảnh trong mỗi batch huấn luyện. Điều này giúp cải thiện khả năng tổng quát hóa của model đối với các kích thước đối tượng, tỷ lệ khung hình và bối cảnh khác nhau.

Ví dụ này cho thấy sự đa dạng và phức tạp của các hình ảnh trong bộ dữ liệu COCO-Pose và những lợi ích của việc sử dụng kỹ thuật mosaic trong quá trình huấn luyện.

Link to this sectionTrích dẫn và Ghi nhận#

Nếu bạn sử dụng bộ dữ liệu COCO-Pose trong nghiên cứu hoặc công việc phát triển của mình, vui lòng trích dẫn bài báo sau:

Trích dẫn
@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}
}

Chúng tôi xin ghi nhận COCO Consortium vì đã tạo ra và duy trì tài nguyên quý giá này cho cộng đồng computer vision. Để biết thêm thông tin về bộ dữ liệu COCO-Pose và những người tạo ra nó, hãy truy cập trang web bộ dữ liệu COCO.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionBộ dữ liệu COCO-Pose là gì và nó được sử dụng như thế nào với Ultralytics YOLO để ước tính tư thế?#

Bộ dữ liệu COCO-Pose là một phiên bản chuyên biệt của bộ dữ liệu COCO (Common Objects in Context) được thiết kế cho các tác vụ ước tính tư thế. Nó được xây dựng dựa trên hình ảnh và chú thích của COCO Keypoints 2017, cho phép huấn luyện các model như Ultralytics YOLO để ước tính tư thế chi tiết. Ví dụ, bạn có thể sử dụng bộ dữ liệu COCO-Pose để huấn luyện một model YOLO26n-pose bằng cách tải model đã huấn luyện trước và huấn luyện nó với cấu hình YAML. Để xem ví dụ về huấn luyện, hãy tham khảo tài liệu Huấn luyện.

Link to this sectionLàm thế nào để tôi có thể huấn luyện một model YOLO26 trên bộ dữ liệu COCO-Pose?#

Việc huấn luyện một model YOLO26 trên bộ dữ liệu COCO-Pose có thể được thực hiện bằng cách sử dụng Python hoặc các lệnh CLI. Ví dụ, để huấn luyện một model YOLO26n-pose trong 100 epochs với kích thước ảnh là 640, bạn có thể làm theo các bước dưới đây:

Ví dụ về Training
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)

Để biết thêm chi tiết về quá trình huấn luyện và các tham số khả dụng, hãy kiểm tra trang huấn luyện.

Link to this sectionCác chỉ số khác nhau được cung cấp bởi bộ dữ liệu COCO-Pose để đánh giá hiệu suất của model là gì?#

Bộ dữ liệu COCO-Pose cung cấp một số chỉ số đánh giá tiêu chuẩn cho các tác vụ ước tính tư thế, tương tự như bộ dữ liệu COCO gốc. Các chỉ số chính bao gồm Object Keypoint Similarity (OKS), giúp đánh giá độ chính xác của các điểm chính được dự đoán so với các chú thích ground truth. Các chỉ số này cho phép so sánh hiệu suất kỹ lưỡng giữa các model khác nhau. Ví dụ, các model được huấn luyện sẵn COCO-Pose như YOLO26n-pose, YOLO26s-pose và các model khác có các chỉ số hiệu suất cụ thể được liệt kê trong tài liệu, như mAPpose50-95 và mAPpose50.

Link to this sectionBộ dữ liệu COCO-Pose được cấu trúc và phân chia như thế nào?#

Bộ dữ liệu COCO-Pose được chia thành ba tập con:

  1. Train2017: Chứa 56.599 hình ảnh COCO, được chú thích để huấn luyện các model ước tính tư thế.
  2. Val2017: 2346 hình ảnh cho mục đích xác thực trong quá trình huấn luyện model.
  3. Test2017: Các hình ảnh được sử dụng để kiểm thử và đánh giá hiệu năng các model đã được huấn luyện. Các chú thích ground truth cho tập con này không được công khai; kết quả được gửi đến COCO evaluation server để đánh giá hiệu năng.

Các tập con này giúp tổ chức các giai đoạn huấn luyện, xác thực và kiểm thử một cách hiệu quả. Để biết chi tiết cấu hình, hãy khám phá tệp coco-pose.yaml có sẵn trên GitHub.

Link to this sectionCác tính năng và ứng dụng chính của bộ dữ liệu COCO-Pose là gì?#

Bộ dữ liệu COCO-Pose mở rộng các chú thích của COCO Keypoints 2017 bao gồm 17 điểm chính cho hình dáng con người, cho phép ước tính tư thế chi tiết. Các chỉ số đánh giá tiêu chuẩn (ví dụ: OKS) tạo điều kiện thuận lợi cho việc so sánh giữa các model khác nhau. Các ứng dụng của bộ dữ liệu COCO-Pose trải rộng trên nhiều lĩnh vực, chẳng hạn như phân tích thể thao, chăm sóc sức khỏe và tương tác giữa người và máy, ở bất kỳ nơi nào cần ước tính tư thế chi tiết của con người. Để sử dụng thực tế, việc tận dụng các model được huấn luyện sẵn như những model được cung cấp trong tài liệu (ví dụ: YOLO26n-pose) có thể hợp lý hóa đáng kể quy trình (Các Tính Năng Chính).

Nếu bạn sử dụng bộ dữ liệu COCO-Pose trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo với mục BibTeX sau.

Bình luận