COCO Bộ dữ liệu
Bộ dữ liệu COCO (Đối tượng Chung trong Bối cảnh) là một bộ dữ liệu phát hiện, phân đoạn và chú thích đối tượng quy mô lớn. Bộ dữ liệu này được thiết kế để khuyến khích nghiên cứu về nhiều loại đối tượng khác nhau và thường được sử dụng để đánh giá chuẩn các mô hình thị giác máy tính . Đây là một bộ dữ liệu thiết yếu cho các nhà nghiên cứu và nhà phát triển làm việc trên các tác vụ phát hiện, phân đoạn và ước tính tư thế đối tượng.
Xem: Ultralytics COCO Tổng quan về tập dữ liệu
COCO Mô hình được đào tạo trước
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
Các tính năng chính
- COCO chứa 330K hình ảnh, trong đó có 200K hình ảnh có chú thích để phát hiện đối tượng, phân đoạn và ghi chú thích.
- Bộ dữ liệu bao gồm 80 loại đối tượng, bao gồm các đối tượng phổ biến như ô tô, xe đạp và động vật, cũng như các danh mục cụ thể hơn như ô, túi xách và thiết bị thể thao.
- Các chú thích bao gồm hộp giới hạn đối tượng, mặt nạ phân đoạn và chú thích cho mỗi hình ảnh.
- COCO cung cấp các số liệu đánh giá chuẩn hóa như Độ chính xác trung bình ( mAP ) để phát hiện đối tượng và Thu hồi trung bình (mAR) cho các tác vụ phân đoạn, giúp so sánh hiệu suất của mô hình.
Cấu trúc bộ dữ liệu
Các COCO tập dữ liệu được chia thành ba tập con:
- Train2017: Tập hợp con này chứa 118 nghìn hình ảnh để huấn luyện các mô hình phát hiện đối tượng, phân đoạn và chú thích.
- Val2017: Tập hợp con này có 5 nghìn hình ảnh được sử dụng cho mục đích xác thực trong quá trình huấn luyện mô hình.
- Test2017 : Tập con này bao gồm 20.000 hình ảnh được sử dụng để kiểm tra và đánh giá chuẩn các mô hình đã được huấn luyện. Chú thích thực tế cho tập con này không được công khai và kết quả được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.
Các ứng dụng
Các COCO Bộ dữ liệu được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong phát hiện đối tượng (như Ultralytics YOLO , Faster R-CNN và SSD ), phân đoạn thực thể (như Mask R-CNN ) và phát hiện điểm chính (như OpenPose ). Bộ dữ liệu có nhiều danh mục đối tượng đa dạng, số lượng lớn hình ảnh có chú thích và các số liệu đánh giá chuẩn hóa khiến nó trở thành một nguồn tài nguyên thiết yếu cho các nhà nghiên cứu và chuyên gia về thị giác máy tính.
YAML bộ dữ liệu
Tệp YAML (Yet Another Markup Language - Ngôn ngữ Đánh dấu Khác) được sử dụng để định nghĩa cấu hình tập dữ liệu. Tệp này chứa thông tin về đường dẫn, 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 COCO tập dữ liệu, các coco.yaml tệp được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml.
ultralytics /cfg/datasets/coco. yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco ← 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 # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# 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: |
from pathlib import Path
from ultralytics.utils import ASSETS_URL
from ultralytics.utils.downloads import download
# Download labels
segments = True # segment or box labels
dir = Path(yaml["path"]) # dataset root dir
urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")] # labels
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)
Cách sử dụng
Để đào tạo một mô hình YOLO11n trên COCO Đối với tập dữ liệu 100 kỷ nguyên với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Đào tạo mô hình.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640
Ảnh và Chú thích mẫu
Các COCO Bộ dữ liệu chứa một tập hợp hình ảnh đa dạng với nhiều danh mục đối tượng và bối cảnh phức tạp. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với chú thích tương ứ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 cho thấy sự đa dạng và phức tạp của hình ảnh trong COCO tập dữ liệu và lợi ích của việc sử dụng khảm trong quá trình đào tạo.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng COCO tập dữ liệu trong công trình nghiên cứu hoặc phát triển của bạn, 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 muốn ghi nhận COCO Liên minh tạo ra và duy trì nguồn tài nguyên có giá trị này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về COCO bộ dữ liệu và những người tạo ra nó, hãy truy cập trang web bộ dữ liệu COCO .
Câu hỏi thường gặp
Cái gì là COCO tập dữ liệu và tại sao nó lại quan trọng đối với thị giác máy tính?
Bộ dữ liệu COCO (Đối tượng Chung trong Bối cảnh) là một bộ dữ liệu quy mô lớn được sử dụng để phát hiện, phân đoạn và chú thích đối tượng . Bộ dữ liệu này chứa 330.000 hình ảnh với chú thích chi tiết cho 80 danh mục đối tượng, rất cần thiết cho việc đánh giá chuẩn và đào tạo các mô hình thị giác máy tính. Các nhà nghiên cứu sử dụng COCO do các danh mục đa dạng và các số liệu đánh giá chuẩn hóa như Độ chính xác trung bình ( mAP ).
Làm thế nào tôi có thể đào tạo một YOLO mô hình sử dụng COCO tập dữ liệu?
Để đào tạo một YOLO11 mô hình sử dụng COCO tập dữ liệu, bạn có thể sử dụng đoạn mã sau:
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640
Tham khảo trang Đào tạo để biết thêm chi tiết về các đối số có sẵn.
Các tính năng chính của là gì? COCO tập dữ liệu?
Các COCO tập dữ liệu bao gồm:
- 330 nghìn hình ảnh, với 200 nghìn hình ảnh được chú thích để phát hiện đối tượng, phân đoạn và tạo chú thích.
- 80 loại đối tượng, từ các vật phẩm thông thường như ô tô và động vật đến các vật phẩm cụ thể như túi xách và dụng cụ thể thao.
- Các số liệu đánh giá chuẩn hóa để phát hiện đối tượng ( mAP ) và phân đoạn (trung bình thu hồi trung bình, mAR).
- Kỹ thuật Mosaicing trong các lô huấn luyện để tăng cường khả năng khái quát hóa mô hình trên các kích thước và ngữ cảnh đối tượng khác nhau.
Tôi có thể tìm thấy pretrained ở đâu? YOLO11 các mô hình được đào tạo trên COCO tập dữ liệu?
Đã được đào tạo trước YOLO11 các mô hình trên COCO Bạn có thể tải xuống tập dữ liệu từ các liên kết được cung cấp trong tài liệu. Ví dụ bao gồm:
Các mô hình này có kích thước khác nhau, mAP và tốc độ suy luận, cung cấp các tùy chọn cho các yêu cầu về hiệu suất và tài nguyên khác nhau.
Thế nào là COCO tập dữ liệu có cấu trúc và tôi sử dụng nó như thế nào?
Các COCO tập dữ liệu được chia thành ba tập con:
- Train2017: 118 nghìn ảnh để huấn luyện.
- Val2017: 5 nghìn ảnh để xác thực trong quá trình huấn luyện.
- Test2017 : 20.000 hình ảnh để đánh giá chuẩn các mô hình đã được huấn luyện. Kết quả cần được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.
Tệp cấu hình YAML của tập dữ liệu có sẵn tại yaml , tệp này định nghĩa đường dẫn, lớp và chi tiết tập dữ liệu.