Dataset COCO-Seg#
Dataset COCO-Seg cung cấp mask instance segmentation của COCO (Các đối tượng phổ biến trong ngữ cảnh (COCO)) — 118.287 ảnh huấn luyện và 5.000 ảnh xác thực với mask polygon thuộc 80 danh mục object — theo định dạng nhãn Ultralytics YOLO. Dataset sử dụng ảnh gốc và annotation segmentation nguyên bản của COCO, được chuyển đổi để huấn luyện YOLO, khiến dataset trở thành tài nguyên quan trọng cho các nhà nghiên cứu và developer làm việc với các tác vụ instance segmentation.
Model Pretrained COCO-Seg#
| Model | kích thước (pixel) | mAPbox 50-95(e2e) | mAPmask 50-95(e2e) | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-seg | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.3 |
| YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.5 |
| YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.7 |
| YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 140.1 |
| YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 314.0 |
Tính năng chính#
- COCO-Seg cung cấp mask instance segmentation cho 123.287 ảnh COCO train2017/val2017 được gán nhãn (118.287 ảnh huấn luyện + 5.000 ảnh xác thực), trong tổng số khoảng ~330K ảnh của bản phát hành COCO rộng hơn.
- Dataset bao gồm cùng 80 danh mục object như dataset COCO gốc.
- Annotation cung cấp mask instance segmentation theo định dạng nhãn polygon YOLO.
- COCO-Seg cung cấp các chỉ số mAP và mAR được chuẩn hóa để đánh giá hiệu năng instance segmentation, giúp so sánh hiệu quả hiệu năng của model.
- Kích thước tải xuống: ~20.3 GB khi sử dụng lần đầu (
train2017.zip+val2017.zip+ nhãn). Filetest2017.zipdung lượng 7 GB không được tự động tải xuống, vì các ảnh này không công khai ground truth và chỉ cần thiết cho bài nộp test-dev2017.
Cấu trúc dataset#
Bộ dữ liệu COCO-Seg được chia thành ba tập con:
- Train2017: 118.287 ảnh dùng để huấn luyện các model phân đoạn đối tượng.
- Val2017: 5.000 ảnh dùng để đánh giá trong quá trình phát triển model.
- Test-dev2017: 20.288 trong số 40.670 ảnh test2017, dùng để benchmark. Nhãn ground truth của tập con này không được công khai, vì vậy phải gửi dự đoán đến máy chủ đánh giá COCO để chấm điểm.
Để thử nghiệm với quy mô nhỏ hơn, hãy xem các tập con COCO128-Seg (128 ảnh) và COCO8-Seg (8 ảnh).
Ứng dụng#
COCO-Seg được sử dụng rộng rãi để huấn luyện và đánh giá các model học sâu cho phân đoạn đối tượng, chẳng hạn như các model YOLO. Số lượng ảnh được gán nhãn lớn, sự đa dạng của các danh mục đối tượng và các chỉ số đánh giá được chuẩn hóa khiến bộ dữ liệu này trở thành tài nguyên không thể thiếu đối với các nhà nghiên cứu và chuyên gia thực hành thị giác máy tính. Bạn cũng có thể duyệt và quản lý toàn bộ nhãn COCO-Seg trên Ultralytics Platform.
YAML của dataset#
Tệp YAML được dùng để xác định cấu hình bộ 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 bộ dữ liệu. Với bộ dữ liệu COCO-Seg, tệp coco.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/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.3 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 via https://cocodataset.org/#detection-eval
# 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 (test2017.zip excluded: ground truth is withheld, only used for the eval-server test-dev split)
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
]
download(urls, dir=dir / "images", threads=3)Cách sử dụng#
Để huấn luyện model YOLO26n-seg trên bộ dữ liệu COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện model.
from ultralytics import YOLO
# Tải model
model = YOLO("yolo26n-seg.pt") # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)
# Huấn luyện model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)Hình ảnh mẫu và annotation#
COCO-Seg có cùng các ảnh đa dạng, danh mục đối tượng và cảnh phức tạp như COCO, đồng thời cung cấp mask phân đoạn đối tượng ở định dạng nhãn YOLO. Dưới đây là một số ảnh trong bộ dữ liệu cùng với các mask phân đoạn đối tượng tương ứng:

- Ảnh ghép mosaic: Ảnh này minh họa một batch huấn luyện gồm các ảnh trong bộ dữ liệu được ghép mosaic. Ghép mosaic là kỹ thuật được sử dụng trong quá trình huấn luyện, kết hợp nhiều ảnh thành một ảnh duy nhất để tăng độ đa dạng của đối tượng và cảnh trong mỗi batch huấn luyện. Kỹ thuật này giúp model khái quát hóa tốt hơn với các kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau.
Trích dẫn và lời cảm ơn#
Nếu sử dụng bộ dữ liệu COCO-Seg trong nghiên cứu hoặc công việc phát triển, vui lòng trích dẫn bài báo COCO gốc và ghi nhận phần mở rộng COCO-Seg:
@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 cảm ơn COCO Consortium đã tạo và duy trì tài nguyên vô 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à những người tạo ra bộ dữ liệu, hãy truy cập trang web bộ dữ liệu COCO.
Câu hỏi thường gặp#
COCO-Seg là gói dữ liệu mask phân đoạn đối tượng gốc của COCO (Các đối tượng phổ biến trong ngữ cảnh (COCO)) ở định dạng Ultralytics YOLO, dành cho cùng 118.287 ảnh train2017 và 5.000 ảnh val2017. Nhãn COCO gốc đã bao gồm các mask đa giác này cho cả 80 danh mục đối tượng; COCO-Seg chuyển đổi chúng sang định dạng nhãn YOLO dùng để huấn luyện phân đoạn đối tượng.
Để huấn luyện model YOLO26n-seg trên bộ dữ liệu COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách chi tiết các tham số huấn luyện hiện có, hãy tham khảo trang Huấn luyện model.
Ví dụ huấn luyệnfrom ultralytics import YOLO # Tải model model = YOLO("yolo26n-seg.pt") # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện) # Huấn luyện model results = model.train(data="coco.yaml", epochs=100, imgsz=640)Bộ dữ liệu COCO-Seg có một số tính năng chính:
- Cung cấp mask phân đoạn đối tượng cho 123.287 ảnh COCO train2017/val2017 được gán nhãn (118.287 train + 5.000 val).
- Gán nhãn cho cùng 80 danh mục đối tượng có trong COCO gốc.
- Cung cấp mask phân đoạn đối tượng ở định dạng nhãn đa giác YOLO.
- Sử dụng các chỉ số đánh giá được chuẩn hóa như Độ chính xác trung bình (mAP) và Độ thu hồi trung bình (mAR) cho các tác vụ phân đoạn đối tượng.
Bộ dữ liệu COCO-Seg hỗ trợ nhiều model phân đoạn YOLO26 pretrained với các chỉ số hiệu năng khác nhau. Dưới đây là tóm tắt các model hiện có và những chỉ số chính:
Model kích thước
(pixel)mAPbox
50-95(e2e)mAPmask
50-95(e2e)Tốc độ
CPU ONNX
(ms)Tốc độ
T4 TensorRT10
(ms)params
(M)FLOPs
(B)YOLO26n-seg 640 39.6 33.9 53.3 ± 0.5 2.1 ± 0.0 2.7 9.3 YOLO26s-seg 640 47.3 40.0 118.4 ± 0.9 3.3 ± 0.0 10.4 34.5 YOLO26m-seg 640 52.5 44.1 328.2 ± 2.4 6.7 ± 0.1 23.6 121.7 YOLO26l-seg 640 54.4 45.5 387.0 ± 3.7 8.0 ± 0.1 28.0 140.1 YOLO26x-seg 640 56.5 47.0 787.0 ± 6.8 16.4 ± 0.1 62.8 314.0 Các model này trải dài từ YOLO26n-seg gọn nhẹ đến YOLO26x-seg mạnh mẽ hơn, với các lựa chọn cân bằng tốc độ và độ chính xác khác nhau để phù hợp với nhiều yêu cầu ứng dụng. Để biết thêm thông tin về việc chọn model, hãy truy cập trang model Ultralytics.
Bộ dữ liệu COCO-Seg được chia thành ba tập con để đáp ứng các nhu cầu huấn luyện và đánh giá cụ thể:
- Train2017: Gồm 118.287 ảnh, chủ yếu dùng để huấn luyện các model phân đoạn đối tượng.
- Val2017: Gồm 5.000 ảnh dùng để đánh giá trong quá trình huấn luyện.
- Test-dev2017: Gồm 20.288 trong số 40.670 ảnh test2017, dành cho việc kiểm thử và benchmark các model đã huấn luyện. Lưu ý rằng nhãn ground truth của tập con này không được công khai và kết quả hiệu năng được gửi đến máy chủ đánh giá COCO để đánh giá.
Để thử nghiệm với quy mô nhỏ hơn, bạn cũng có thể cân nhắc bộ dữ liệu COCO128-Seg (128 ảnh) hoặc bộ dữ liệu COCO8-Seg, phiên bản nhỏ gọn chỉ gồm 8 ảnh từ tập COCO train 2017.



