Ultralytics YOLO27:

Dataset Dog-Pose#

Giới thiệu#

Dataset Dog-Pose của Ultralytics là một dataset chất lượng cao và quy mô lớn, được tuyển chọn chuyên biệt cho bài toán ước tính keypoint của chó, cung cấp 6.773 ảnh huấn luyện và 1.703 ảnh validation.



Watch: How to Train an Ultralytics YOLO Model on the Stanford Dog Pose Estimation Dataset | Step-by-Step Tutorial

Mỗi ảnh được gán nhãn bao gồm 24 keypoint, với 3 chiều cho mỗi keypoint (x, y, visibility), khiến đây trở thành một tài nguyên có giá trị cho nghiên cứu và phát triển nâng cao trong lĩnh vực computer vision.

Ultralytics Dog-Pose display image

Đối với một giống cụ thể hoặc hoàn toàn một loài động vật khác, Ultralytics Platform hỗ trợ tải lên, gán nhãn và huấn luyện một model keypoint tùy chỉnh trên dữ liệu của riêng bạn mà không cần quản lý hạ tầng.

Cấu trúc bộ dữ liệu#

  • Tổng số ảnh: 8.476 (6.773 train / 1.703 val) cùng các file nhãn tương ứng ở định dạng YOLO.

  • Keypoint: 24 trên mỗi con chó với các bộ ba (x, y, visibility).

  • Dung lượng tải xuống: ~337 MB.

  • Bố cục:

    datasets/dog-pose/
    ├── images/{train,val}
    └── labels/{train,val}

YAML của bộ dữ liệu#

Một file YAML được sử dụng để xác định cấu hình dataset. File này bao gồm các đường dẫn, thông tin chi tiết về keypoint và các thông tin liên quan khác. Đối với dataset Dog-Pose, file dog-pose.yaml có tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dog-pose.yaml.

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

# Dogs dataset http://vision.stanford.edu/aditya86/ImageNetDogs/ by Stanford
# Documentation: https://docs.ultralytics.com/datasets/pose/dog-pose
# Example usage: yolo train data=dog-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dog-pose ← downloads here (337 MB)

# 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: dog-pose # dataset root dir
train: images/train # train images (relative to 'path') 6773 images
val: images/val # val images (relative to 'path') 1703 images

# Keypoints
kpt_shape: [24, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)

# Classes
names:
  0: dog

# Keypoint names per class
kpt_names:
  0:
    - front_left_paw
    - front_left_knee
    - front_left_elbow
    - rear_left_paw
    - rear_left_knee
    - rear_left_elbow
    - front_right_paw
    - front_right_knee
    - front_right_elbow
    - rear_right_paw
    - rear_right_knee
    - rear_right_elbow
    - tail_start
    - tail_end
    - left_ear_base
    - right_ear_base
    - nose
    - chin
    - left_ear_tip
    - right_ear_tip
    - left_eye
    - right_eye
    - withers
    - throat

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dog-pose.zip

Cách sử dụng#

Để huấn luyện model YOLO26n-pose trên dataset Dog-Pose trong 100 epoch 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 model.

Ví dụ huấn luyện
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="dog-pose.yaml", epochs=100, imgsz=640)

Hình ảnh mẫu và annotation#

Dưới đây là một số ví dụ về ảnh từ dataset Dog-Pose cùng với các annotation tương ứng:

Dog pose estimation dataset mosaic training batch
  • Hình ảnh dạng mosaic: Hình ảnh này minh họa một batch train được tạo từ các hình ảnh dataset dạng mosaic. Mosaicing là một kỹ thuật được sử dụng trong quá trình train, kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng tính đa dạng của đối tượng và cảnh trong mỗi batch train. Đ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à ngữ cảnh khác nhau.

Ví dụ này thể hiện sự đa dạng và phức tạp của các ảnh trong dataset Dog-Pose, cũng như lợi ích của việc sử dụng kỹ thuật ghép mosaic trong quá trình huấn luyện.

Trích dẫn và ghi nhận đóng góp#

Nếu bạn sử dụng dataset Dog-Pose trong công việc nghiên cứu hoặc phát triển, vui lòng trích dẫn bài báo sau:

Trích dẫn
@inproceedings{khosla2011fgvc,
  title={Novel dataset for Fine-Grained Image Categorization},
  author={Aditya Khosla and Nityananda Jayadevaprakash and Bangpeng Yao and Li Fei-Fei},
  booktitle={First Workshop on Fine-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2011}
}
@inproceedings{deng2009imagenet,
  title={ImageNet: A Large-Scale Hierarchical Image Database},
  author={Jia Deng and Wei Dong and Richard Socher and Li-Jia Li and Kai Li and Li Fei-Fei},
  booktitle={IEEE Computer Vision and Pattern Recognition (CVPR)},
  year={2009}
}

Chúng tôi xin ghi nhận đóng góp của nhóm Stanford trong việc tạo và duy trì tài nguyên có giá trị này cho cộng đồng computer vision. Để biết thêm thông tin về dataset Dog-Pose và những người tạo ra dataset, hãy truy cập website Stanford Dogs Dataset.

FAQ#

  • Dataset Dog-Pose bao gồm 6.773 ảnh huấn luyện và 1.703 ảnh validation được gán nhãn với 24 keypoint để ước tính tư thế chó. Dataset này được thiết kế để huấn luyện và validation các model với Ultralytics YOLO26, hỗ trợ các ứng dụng như phân tích hành vi động vật, theo dõi thú cưng và nghiên cứu thú y. Các annotation toàn diện của dataset khiến nó trở nên lý tưởng để phát triển các model ước tính tư thế chính xác cho chó.

  • Nạp yolo26n-pose.pt và gọi model.train(data="dog-pose.yaml", epochs=100, imgsz=640) — xem Ví dụ huấn luyện ở trên để biết đầy đủ các đoạn code Python và CLI, cũng như trang Huấn luyện model để xem danh sách đầy đủ các tham số.

  • Với tổng số 8.476 ảnh (6.773 train / 1.703 val) bao phủ nhiều giống chó và tư thế khác nhau, cùng 24 keypoint với 3 chiều (x, y, visibility) trên mỗi annotation, dataset Dog-Pose cung cấp cho model phạm vi tình huống thực tế cần thiết cho các ứng dụng như theo dõi thú cưng và phân tích hành vi. Để biết thêm về các tính năng và cách sử dụng, hãy xem phần Giới thiệu về Dataset.

  • Kỹ thuật ghép mosaic kết hợp nhiều ảnh Dog-Pose thành một ảnh huấn luyện duy nhất, làm tăng sự đa dạng về tư thế, kích thước và bối cảnh của chó mà model quan sát được trong mỗi bước, từ đó cải thiện khả năng tổng quát hóa sang các ngữ cảnh và quy mô mới, đồng thời giảm overfitting. Để xem các ảnh ví dụ, hãy tham khảo phần Ảnh mẫu và Annotation.

  • File YAML của dataset Dog-Pose có tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dog-pose.yaml. File này xác định cấu hình dataset, bao gồm các đường dẫn, class, thông tin chi tiết về keypoint và các thông tin liên quan khác. YAML chỉ định 24 keypoint với 3 chiều cho mỗi keypoint, phù hợp cho các tác vụ ước tính tư thế chi tiết.

    Để sử dụng file này với các script huấn luyện YOLO26, chỉ cần tham chiếu đến file trong lệnh huấn luyện như minh họa trong phần Cách sử dụng. Dataset sẽ tự động được tải xuống trong lần đầu sử dụng, giúp quá trình thiết lập trở nên đơn giản.

    Để tìm hiểu thêm về các model keypoint, hãy xem tài liệu về tác vụ Ước tính tư thế.

Bình luận