Meet YOLO26: next-gen vision AI.

Link to this sectionTập dữ liệu COCO128#

Link to this sectionGiới thiệu#

Ultralytics COCO128 là một tập dữ liệu object detection nhỏ gọn nhưng linh hoạt, bao gồm 128 hình ảnh đầu tiên từ tập train COCO 2017. Tập dữ liệu này lý tưởng cho việc kiểm thử và gỡ lỗi các model object detection, hoặc thử nghiệm các phương pháp phát hiện mới. Với 128 hình ảnh, nó đủ nhỏ để dễ dàng quản lý, nhưng cũng đủ đa dạng để kiểm tra các đường ống huấn luyện (training pipeline) nhằm phát hiện lỗi và đóng vai trò như một bước kiểm tra sơ bộ trước khi huấn luyện trên các tập dữ liệu lớn hơn.



Watch: Ultralytics COCO Dataset Overview

Tập dữ liệu này được thiết kế để sử dụng với Ultralytics PlatformYOLO26.

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 tập dữ liệu. Nó chứa thông tin về đường dẫn, các class và các thông tin liên quan khác của tập dữ liệu. Đối với tập dữ liệu COCO128, tệp coco128.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml.

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

# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco128
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128 ← downloads here (7 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: coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

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

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

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

Ví dụ về Training
from ultralytics import YOLO

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

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

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

Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu COCO128, cùng với các chú thích tương ứng:

COCO128 object detection dataset mosaic training batch
  • 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 thể hiện sự đa dạng và độ phức tạp của các hình ảnh trong tập dữ liệu COCO128 cũng như 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 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 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ì nguồn tài nguyên quý giá này cho cộng đồng computer vision. Để biết thêm thông tin về tập dữ liệu COCO và những người tạo ra nó, hãy truy cập trang web tập dữ liệu COCO.

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

Link to this sectionTập dữ liệu Ultralytics COCO128 được sử dụng để làm gì?#

Tập dữ liệu Ultralytics COCO128 là một tập con nhỏ gọn chứa 128 hình ảnh đầu tiên từ tập dữ liệu COCO train 2017. Nó chủ yếu được sử dụng để kiểm thử và gỡ lỗi các model object detection, thử nghiệm các phương pháp phát hiện mới và xác thực các đường ống huấn luyện trước khi mở rộng quy mô sang các tập dữ liệu lớn hơn. Kích thước dễ quản lý khiến nó trở nên hoàn hảo cho các vòng lặp nhanh trong khi vẫn cung cấp đủ sự đa dạng để trở thành một trường hợp kiểm thử có ý nghĩa.

Link to this sectionLàm thế nào để tôi huấn luyện model YOLO26 bằng cách sử dụng tập dữ liệu COCO128?#

Để huấn luyện model YOLO26 trên tập dữ liệu COCO128, bạn có thể sử dụng Python hoặc các lệnh CLI. Đây là cách thực hiện:

Ví dụ về Training
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

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

Để biết thêm các tùy chọn và tham số huấn luyện, hãy tham khảo tài liệu Training.

Link to this sectionNhững lợi ích của việc sử dụng mosaic augmentation với COCO128 là gì?#

Mosaic augmentation, như được hiển thị trong các hình ảnh mẫu, kết hợp nhiều hình ảnh huấn luyện thành một hình ảnh tổng hợp duy nhất. Kỹ thuật này mang lại một số lợi ích khi huấn luyện với COCO128:

  • 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
  • Cải thiện khả năng tổng quát hóa của model trên các kích thước và tỷ lệ khung hình đối tượng khác nhau
  • Nâng cao hiệu suất phát hiện cho các đối tượng ở nhiều quy mô khác nhau
  • Tối đa hóa tiện ích của một tập dữ liệu nhỏ bằng cách tạo ra các mẫu huấn luyện đa dạng hơn

Kỹ thuật này đặc biệt có giá trị đối với các tập dữ liệu nhỏ hơn như COCO128, giúp các model học được các đặc trưng mạnh mẽ hơn từ dữ liệu hạn chế.

Link to this sectionCOCO128 so sánh như thế nào với các biến thể tập dữ liệu COCO khác?#

COCO128 (128 hình ảnh) nằm giữa COCO8 (8 hình ảnh) và tập dữ liệu COCO đầy đủ (hơn 118.000 hình ảnh) về mặt kích thước:

  • COCO8: Chỉ chứa 8 hình ảnh (4 train, 4 val) - lý tưởng cho các kiểm thử nhanh và gỡ lỗi
  • COCO128: Chứa 128 hình ảnh - cân bằng giữa kích thước và sự đa dạng
  • Full COCO: Chứa hơn 118.000 hình ảnh huấn luyện - toàn diện nhưng tốn nhiều tài nguyên

COCO128 cung cấp một sự trung hòa tốt, mang lại sự đa dạng hơn COCO8 trong khi vẫn dễ quản lý hơn nhiều so với tập dữ liệu COCO đầy đủ cho việc thử nghiệm và phát triển model ban đầu.

Link to this sectionTôi có thể sử dụng COCO128 cho các tác vụ khác ngoài object detection không?#

Mặc dù COCO128 chủ yếu được thiết kế cho object detection, các chú thích của tập dữ liệu có thể được điều chỉnh cho các tác vụ computer vision khác:

  • Instance segmentation: Sử dụng các mặt nạ phân đoạn (segmentation mask) được cung cấp trong các chú thích
  • Keypoint detection: Đối với các hình ảnh chứa người có các chú thích keypoint
  • Transfer learning: Như một điểm khởi đầu để tinh chỉnh (fine-tune) các model cho các tác vụ tùy chỉnh

Đối với các tác vụ chuyên biệt như segmentation, hãy cân nhắc sử dụng các biến thể được xây dựng chuyên dụng như COCO8-seg, những biến thể bao gồm các chú thích phù hợp.

Những người đóng góp

Bình luận