Link to this sectionTập dữ liệu COCO-Seg#
Tập dữ liệu COCO-Seg, một phiên bản mở rộng của tập dữ liệu COCO (Common Objects in Context), được thiết kế đặc biệt để hỗ trợ nghiên cứu về instance segmentation (phân đoạn thực thể). Tập dữ liệu này sử dụng các hình ảnh giống như COCO nhưng bổ sung thêm các chú thích phân đoạn chi tiết hơn. Đây là nguồn tài nguyên quan trọng cho các nhà nghiên cứu và lập trình viên đang làm việc với các tác vụ instance segmentation, đặc biệt là để huấn luyện các model Ultralytics YOLO.
Link to this sectionCác Pretrained Model cho COCO-Seg#
| Mô hình | 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.1 |
| YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
| YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
| YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
| YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |
Link to this sectionTính năng chính#
- COCO-Seg giữ lại 330K hình ảnh gốc từ COCO.
- Tập dữ liệu bao gồm 80 danh mục đối tượng tương tự như trong tập dữ liệu COCO gốc.
- Các chú thích hiện đã bao gồm các mask instance segmentation chi tiết hơn cho từng đối tượng trong ảnh.
- COCO-Seg cung cấp các chỉ số đánh giá chuẩn hóa như mean Average Precision (mAP) cho tác vụ object detection, và mean Average Recall (mAR) cho tác vụ instance segmentation, cho phép so sánh hiệu quả hiệu suất của các model.
Link to this sectionCấu trúc tập dữ liệu#
Tập dữ liệu COCO-Seg được chia thành ba tập con:
- Train2017: 118K hình ảnh dùng để huấn luyện các model instance segmentation.
- Val2017: 5K hình ảnh dùng để kiểm định trong quá trình phát triển model.
- Test2017: 20K hình ảnh được sử dụng để đánh giá hiệu năng (benchmarking). Các chú thích ground-truth cho tập con này không được công khai, vì vậy các dự đoán phải được gửi đến COCO evaluation server để chấm điểm.
Link to this sectionỨng dụng#
COCO-Seg được sử dụng rộng rãi để huấn luyện và đánh giá các model deep learning về instance segmentation, ví dụ như các model YOLO. Số lượng lớn hình ảnh có chú thích, sự đa dạng của các danh mục đối tượng và các chỉ số đánh giá chuẩn hóa đã biến tập dữ liệu này thành một nguồn tài nguyên không thể thiếu cho các nhà nghiên cứu và thực hành trong lĩnh vực computer vision.
Link to this sectionYAML tập dữ liệu#
Một file 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, 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 COCO-Seg, file 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.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 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
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)Link to this sectionCách sử dụng#
Để huấn luyện một model YOLO26n-seg trên tập dữ liệu COCO-Seg trong 100 epochs với kích thước ảnh 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Training của model.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-seg.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)Link to this sectionHình ảnh mẫu và chú thích#
COCO-Seg, giống như phiên bản tiền nhiệm COCO, chứa một tập hợp đa dạng các hình ảnh với nhiều danh mục đối tượng và bối cảnh phức tạp. Tuy nhiên, COCO-Seg bổ sung các mask instance segmentation chi tiết hơn cho từng đối tượng trong ảnh. Dưới đây là một số ví dụ về các hình ảnh từ tập dữ liệu, cùng với các mask instance segmentation tương ứng của chúng:

- Mosaiced Image: 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. Mosaicing 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 đố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 của model trong việc tổng quát hóa 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 cho thấy sự đa dạng và phức tạp của các hình ảnh trong tập dữ liệu COCO-Seg cũng như những lợi ích của việc sử dụng kỹ thuật mosaicing 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 tập dữ liệu COCO-Seg 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 gốc về COCO 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 gửi lời cảm ơn đến COCO Consortium vì đã tạo ra và duy trì nguồn tài nguyên vô 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 website 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 COCO-Seg là gì và nó khác biệt thế nào so với tập dữ liệu COCO gốc?#
Tập dữ liệu COCO-Seg là một phiên bản mở rộng của tập dữ liệu COCO (Common Objects in Context) gốc, được thiết kế đặc biệt cho các tác vụ instance segmentation. Mặc dù sử dụng các hình ảnh tương tự như tập dữ liệu COCO, COCO-Seg bao gồm các chú thích phân đoạn chi tiết hơn, khiến nó trở thành một nguồn tài nguyên mạnh mẽ cho các nhà nghiên cứu và lập trình viên tập trung vào object instance segmentation.
Link to this sectionLàm thế nào để tôi có thể huấn luyện một model YOLO26 sử dụng tập dữ liệu COCO-Seg?#
Để huấn luyện một model YOLO26n-seg trên tập dữ liệu COCO-Seg trong 100 epochs với kích thước ảnh 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách chi tiết các đối số khả dụng, hãy tham khảo trang Training của model.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-seg.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)Link to this sectionCác tính năng chính của tập dữ liệu COCO-Seg là gì?#
Tập dữ liệu COCO-Seg bao gồm một số tính năng chính:
- Giữ lại 330K hình ảnh gốc từ tập dữ liệu COCO.
- Ghi chú thích cho cùng 80 danh mục đối tượng được tìm thấy trong COCO gốc.
- Cung cấp các mask instance segmentation chi tiết hơn cho từng đối tượng.
- Sử dụng các chỉ số đánh giá chuẩn hóa như mean Average Precision (mAP) cho object detection và mean Average Recall (mAR) cho các tác vụ instance segmentation.
Link to this sectionNhững pretrained model nào hiện có sẵn cho COCO-Seg và các chỉ số hiệu suất của chúng là gì?#
Tập dữ liệu COCO-Seg hỗ trợ nhiều pretrained YOLO26 segmentation model với các chỉ số hiệu suất khác nhau. Dưới đây là tóm tắt các model khả dụng và các chỉ số chính của chúng:
| Mô hình | 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.1 |
| YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
| YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
| YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
| YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |
Các model này trải dài từ YOLO26n-seg gọn nhẹ đến YOLO26x-seg mạnh mẽ hơn, mang lại các sự đánh đổi khác nhau giữa tốc độ và độ chính xác để phù hợp với nhiều yêu cầu ứng dụng khác nhau. Để biết thêm thông tin về cách chọn model, hãy truy cập trang model của Ultralytics.
Link to this sectionTập dữ liệu COCO-Seg được cấu trúc như thế nào và nó bao gồm những tập con nào?#
Tập dữ liệu COCO-Seg được chia thành ba tập con cho các nhu cầu huấn luyện và đánh giá cụ thể:
- Train2017: Chứa 118K hình ảnh được sử dụng chủ yếu để huấn luyện các model instance segmentation.
- Val2017: Bao gồm 5K hình ảnh được sử dụng để kiểm định trong quá trình huấn luyện.
- Test2017: Bao gồm 20K hình ảnh dành riêng cho việc kiểm thử và đánh giá hiệu năng các model đã được huấn luyện. Lưu ý rằng các chú thích ground truth cho tập con này không được công khai và kết quả hiệu năng được gửi đến COCO evaluation server để đánh giá.
Đối với các nhu cầu thử nghiệm nhỏ hơn, bạn cũng có thể cân nhắc sử dụng tập dữ liệu COCO8-seg, đây là một phiên bản rút gọn chỉ chứa 8 hình ảnh từ tập COCO train 2017.