Bộ dữ liệu COCO
Bộ dữ liệu COCO (Common Objects in Context) là 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à 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 về các nhiệm vụ phát hiện, phân đoạn và ước tính tư thế đối tượng.
Xem: Ultralytics Tổng quan về tập dữ liệu COCO
Mô hình đào tạo sẵn COCO
Mẫu | kích thước (điểm ảnh) | bản đồVal 50-95 | Tốc độ CPU ONNX (Cô) | Tốc độ T4 TensorRT10 (bệnh đa xơ cứng) | Params (M) | Thất bại (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, với 200K hình ảnh có chú thích cho các tác vụ phát hiện, phân đoạn và chú thích đối tượng.
- Bộ dữ liệu bao gồm 80 danh mục đố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à dụng cụ thể thao.
- 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 phù hợp để so sánh hiệu suất của mô hình.
Cấu trúc tập dữ liệu
Tập dữ liệu COCO được chia thành ba tập hợp con:
- Train2017: Tập hợp con này chứa 118K hình ảnh để đào tạo các mô hình phát hiện, phân đoạn và tạo phụ đề.
- Val2017: Tập hợp con này có hình ảnh 5K được sử dụng cho mục đích xác thực trong quá trình đào tạo mô hình.
- Test2017: Tập hợp con này bao gồm 20K hình ảnh được sử dụng để kiểm tra và đo điểm chuẩn cho các mô hình được đào tạo. Chú thích sự thật cơ bản cho tập hợp con này không có sẵn công khai và kết quả được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.
Ứng dụng
Bộ dữ liệu COCO đượ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 (chẳng hạn như YOLO , Faster R-CNN và SSD), phân đoạn thể hiện (như Mask R-CNN) và phát hiện điểm chính (như OpenPose). Bộ dữ liệu đa dạng về danh mục đối tượng, số lượng lớn hình ảnh có chú thích và số liệu đánh giá chuẩn hóa khiến nó trở thành nguồn tài nguyên thiết yếu cho các nhà nghiên cứu và học viên về thị giác máy tính.
Tập dữ liệu YAML
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, lớp và 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 COCO, 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 YOLO 🚀, AGPL-3.0 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: ../datasets/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 ultralytics.utils.downloads import download
from pathlib import Path
# Download labels
segments = True # segment or box labels
dir = Path(yaml['path']) # dataset root dir
url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/'
urls = [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)
Sử dụng
Để đào tạo mô hình YOLO11n trên tập dữ liệu COCO trong 100 kỷ nguyên với kích thước hình ả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ụ về tàu hỏa
Hình ảnh mẫu và chú thích
Bộ dữ liệu COCO chứa một bộ hình ảnh đa dạng với nhiều loại đối tượng khác nhau và các cảnh phức tạp. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu, cùng với các chú thích tương ứng của chúng:
- Hình ảnh khảm: Hình ảnh này thể hiện một lô đào tạo bao gồm các hình ảnh tập dữ liệu được khảm. Khảm là một kỹ thuật được sử dụng trong quá trình đào tạo 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 đợt đào tạo. Điều này giúp cải thiện khả năng khái quát hóa mô hình cho 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 cho thấy sự đa dạng và phức tạp của hình ảnh trong tập dữ liệu COCO 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à xác 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:
@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 đã tạo ra và duy trì nguồn 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ề bộ dữ liệu COCO và người tạo ra nó, hãy truy cập trang web tập dữ liệu COCO.
FAQ
Bộ dữ liệu COCO là gì 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 (Common Objects in Context) là một bộ dữ liệu quy mô lớn được sử dụng để phát hiện đối tượng , phân đoạn và chú thích. Nó chứa 330K hình ảnh với chú thích chi tiết cho 80 danh mục đối tượng, khiến nó trở nên thiết yếu để đá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 tập dữ liệu COCO?
Để đào tạo mô hình YOLO11 bằng tập dữ liệu COCO, bạn có thể sử dụng đoạn mã sau:
Ví dụ về tàu hỏa
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 bộ dữ liệu COCO là gì?
Bộ dữ liệu COCO bao gồm:
- 330K hình ảnh, với 200K được chú thích để phát hiện, phân đoạn và chú thích đối tượng.
- 80 danh mục đối tượng khác nhau, từ các mặt hàng phổ biến như ô tô và động vật đến những mặt hàng cụ thể như túi xách và dụng cụ thể thao.
- Các chỉ số đánh giá chuẩn hóa để phát hiện đối tượng (mAP) và phân đoạn (Nhớ lại trung bình, mAR).
- Kỹ thuật khảm trong các lô đào tạo để tăng cường khái quát hóa mô hình trên các kích thước và bối cảnh đối tượng khác nhau.
Tôi có thể tìm thấy các mô hình YOLO11 được đào tạo trước trên tập dữ liệu COCO ở đâu?
Các mô hình YOLO11 được đào tạo trước trên tập dữ liệu COCO có thể được tải xuống 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 khác nhau về kích thước, mAP và tốc độ suy luận, cung cấp các tùy chọn cho các yêu cầu tài nguyên và hiệu suất khác nhau.
Tập dữ liệu COCO được cấu trúc như thế nào và sử dụng nó như thế nào?
Tập dữ liệu COCO được chia thành ba tập hợp con:
- Train2017: 118K hình ảnh để đào tạo.
- Val2017: Hình ảnh 5K để xác nhận trong quá trình đào tạo.
- Test2017: 20K hình ảnh để đo điểm chuẩn cho các mô hình được đào tạo. 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 coco.yaml, xác định đường dẫn, lớp và chi tiết tập dữ liệu.