Tập dữ liệu COCO128
Giới thiệu
Ultralytics COCO128 là một dataset object detection nhỏ nhưng linh hoạt, bao gồm 128 hình ảnh đầu tiên của tập COCO train 2017. Dataset này lý tưởng để kiểm tra và gỡ lỗi các mô hình object detection hoặc để thử nghiệm các phương pháp detection mới. Với 128 hình ảnh, nó đủ nhỏ để dễ quản lý, nhưng đủ đa dạng để kiểm tra các pipeline huấn luyện để tìm lỗi và hoạt động như một bước kiểm tra tính hợp lệ trước khi huấn luyện các dataset lớn hơn.
Xem: Tổng quan về Tập dữ liệu Ultralytics COCO
Bộ dữ liệu này được thiết kế để sử dụng với Nền tảng Ultralytics và YOLO26.
YAML bộ dữ liệu
Một tệp YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình tập 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 tập dữ liệu. Trong trường hợp tập dữ liệu COCO128, tệp coco128.yaml tệp đượ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/coco/
# 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
Cách sử dụng
Để huấn luyện một mô hình YOLO26n trên tập dữ liệu COCO128 trong 100 epochs với kích thước ảnh 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện mô hình.
Ví dụ huấn luyện
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)
# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolo26n.pt epochs=100 imgsz=640
Ảnh và Chú thích mẫu
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 của chúng:

- Hình ảnh Mosaiced: Hình ảnh này minh họa một lô huấn luyện bao gồm các hình ảnh bộ dữ liệu được mosaiced. Mosaicing là một kỹ thuật được sử dụng trong quá trình huấn luyện, 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à cảnh trong mỗi lô 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 mô hình đối với các kích thước, tỷ lệ khung hình và ngữ cảnh khác nhau của đối tượng.
Ví dụ này minh họa sự đa dạng và phức tạp của các hình ảnh trong tập dữ liệu COCO128 và lợi ích của việc sử dụng kỹ thuật ghép ảnh (mosaicing) trong quá trình huấn luyện.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng tập 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:
@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 Liên minh COCO vì đã tạo và duy trì tài nguyên quý giá này cho cộng đồng thị giác máy tính. Để 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.
Câu hỏi thường gặp
Tậ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 huấn luyện COCO 2017. Nó chủ yếu được sử dụng để kiểm tra và gỡ lỗi các mô hình object detection, thử nghiệm các phương pháp detect mới và xác thực các quy trình huấn luyện trước khi mở rộng sang các tập dữ liệu lớn hơn. Kích thước dễ quản lý của nó làm cho nó hoàn hảo cho các lần lặp nhanh đồng thời vẫn cung cấp đủ sự đa dạng để trở thành một trường hợp thử nghiệm có ý nghĩa.
Làm cách nào để huấn luyện một mô hình YOLO26 bằng tập dữ liệu COCO128?
Để huấn luyện một mô hình YOLO26 trên tập dữ liệu COCO128, bạn có thể sử dụng các lệnh Python hoặc CLI. Cách thực hiện như sau:
Ví dụ huấn luyện
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)
yolo detect train data=coco128.yaml model=yolo26n.pt 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 Huấn luyện.
Lợi ích của việc sử dụng tăng cường mosaic với COCO128 là gì?
Tăng cường Mosaic, như được thể hiện trong các sample_images, 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 mô hình 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 kích cỡ khác nhau
- Tối đa hóa tiện ích của một bộ dữ liệu nhỏ bằng cách tạo ra nhiều 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 mô hình học được các đặc trưng mạnh mẽ hơn từ dữ liệu hạn chế.
COCO128 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 118K hình ảnh) về mặt kích thước:
- COCO8: Chứa chỉ 8 hình ảnh (4 huấn luyện, 4 xác thực) - lý tưởng cho các thử nghiệm 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 118K 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ự cân bằng tốt, mang lại sự đa dạng hơn COCO8 đồng thời 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 mô hình ban đầu.
Tôi có thể sử dụng COCO128 cho các tác vụ nào 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ụ thị giác máy tính khác:
- Phân đoạn thể hiện: Sử dụng mặt nạ phân đoạn được cung cấp trong chú thích
- Phát hiện điểmKeypoint: Dành cho hình ảnh có người với chú thích điểm Keypoint
- Học tăng cường: Là điểm khởi đầu để tinh chỉnh các mô hình 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 biệt như COCO8-seg bao gồm các chú thích phù hợp.