Tập dữ liệu COCO128-Seg
Giới thiệu
Ultralytics COCO128-Seg là một tập dữ liệu instance segmentation nhỏ nhưng linh hoạt, bao gồm 128 hình ảnh đầu tiên của tập COCO train 2017. Tập dữ liệu này lý tưởng để kiểm thử và gỡ lỗi các model segmentation, hoặc thử nghiệm với các phương pháp phát hiện mới. Với 128 hình ảnh, nó đủ nhỏ để dễ dàng quản lý, nhưng vẫn đủ đa dạng để kiểm tra các pipeline huấn luyện tìm lỗi và đóng vai trò như một bước kiểm tra sơ bộ trước khi huấn luyện trên các tập dữ liệu lớn hơn.
Cấu trúc tập dữ liệu
- Hình ảnh: Tổng cộng 128 ảnh. Tệp YAML mặc định sử dụng lại cùng một thư mục cho train và val để bạn có thể lặp lại nhanh chóng, nhưng bạn có thể sao chép hoặc tùy chỉnh phân tách dữ liệu nếu muốn.
- Classes: Tương tự 80 danh mục đối tượng như COCO.
- Labels: Đa giác theo định dạng YOLO được lưu bên cạnh mỗi hình ảnh trong thư mục
labels/{train,val}.
Tập dữ liệu này được thiết kế để sử dụng với Ultralytics Platform và YOLO26.
Dataset YAML
Một 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, các classes 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 COCO128-Seg, tệp coco128-seg.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO128-seg dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco/
# Example usage: yolo train data=coco128-seg.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco128-seg ← 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-seg # 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-seg.zipCách sử dụng
Để huấn luyện model YOLO26n-seg trên tập dữ liệu COCO128-Seg trong 100 epochs với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có 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="coco128-seg.yaml", epochs=100, imgsz=640)Hình ả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-Seg, cùng với các chú thích (annotations) 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ập dữ liệu được ghép lại (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 các vật thể và cảnh quan trong mỗi batch 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à bối cảnh vật thể khác nhau.
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-Seg và lợi ích của việc sử dụng mosaicing trong quá trình huấn luyện.
Trích dẫn và Ghi nhậ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 gửi lời cảm ơn đến COCO Consortium vì đã tạo và duy trì nguồn tài nguyên quý giá này cho cộng đồng thị giác máy tính (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 trang web của tập dữ liệu COCO.
Câu hỏi thường gặp (FAQ)
Tập dữ liệu COCO128-Seg là gì và nó được sử dụng như thế nào trong Ultralytics YOLO26?
Tập dữ liệu COCO128-Seg là một tập dữ liệu instance segmentation nhỏ gọn do Ultralytics cung cấp, bao gồm 128 hình ảnh đầu tiên từ tập COCO train 2017. Tập dữ liệu này được thiết kế riêng để kiểm thử và gỡ lỗi các model segmentation hoặc thử nghiệm các phương pháp phát hiện mới. Nó đặc biệt hữu ích với Ultralytics YOLO26 và Platform để lặp lại nhanh và kiểm tra lỗi pipeline trước khi mở rộng quy mô sang các tập dữ liệu lớn hơn. Để biết cách sử dụng chi tiết, hãy tham khảo trang Training của model.
Làm thế nào để tôi có thể huấn luyện một model YOLO26n-seg sử dụng tập dữ liệu COCO128-Seg?
Để huấn luyện một model YOLO26n-seg trên tập dữ liệu COCO128-Seg trong 100 epochs với kích thước hình ảnh là 640, bạn có thể sử dụng Python hoặc các lệnh CLI. Dưới đây là một ví dụ nhanh:
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="coco128-seg.yaml", epochs=100, imgsz=640)Để có lời giải thích thấu đáo về các đối số và tùy chọn cấu hình khả dụng, bạn có thể xem tài liệu Training.
Tại sao tập dữ liệu COCO128-Seg lại quan trọng đối với việc phát triển và gỡ lỗi model?
Tập dữ liệu COCO128-Seg mang lại sự kết hợp cân bằng giữa khả năng quản lý và sự đa dạng với 128 hình ảnh, giúp nó trở nên hoàn hảo để kiểm thử và gỡ lỗi nhanh các model segmentation hoặc thử nghiệm các kỹ thuật phát hiện mới. Kích thước vừa phải cho phép lặp lại huấn luyện nhanh chóng trong khi vẫn cung cấp đủ sự đa dạng để xác thực các pipeline huấn luyện trước khi mở rộng quy mô sang các tập dữ liệu lớn hơn. Tìm hiểu thêm về các định dạng tập dữ liệu được hỗ trợ trong hướng dẫn về tập dữ liệu segmentation của Ultralytics.
Tôi có thể tìm tệp cấu hình YAML cho tập dữ liệu COCO128-Seg ở đâu?
Tệp cấu hình YAML cho tập dữ liệu COCO128-Seg có sẵn trong kho lưu trữ của Ultralytics. Bạn có thể truy cập tệp trực tiếp tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml. Tệp YAML bao gồm các thông tin thiết yếu về đường dẫn tập dữ liệu, các classes và các cài đặt cấu hình cần thiết để huấn luyện và kiểm thử (validation) model.
Những lợi ích của việc sử dụng mosaicing trong quá trình huấn luyện với tập dữ liệu COCO128-Seg là gì?
Việc sử dụng mosaicing trong khi huấn luyện giúp tăng tính đa dạng và phong phú của các đối tượng và bối cảnh trong mỗi batch huấn luyện. Kỹ thuật này kết hợp nhiều hình ảnh thành một hình ảnh tổng hợp duy nhất, tăng cường khả năng của model trong việc khái quát hóa đối với các kích thước đối tượng, tỷ lệ khung hình và bối cảnh khác nhau trong cảnh. Mosaicing có lợi cho việc cải thiện độ bền bỉ và độ chính xác của model, đặc biệt là khi làm việc với các tập dữ liệu có quy mô vừa phải như COCO128-Seg. Để xem ví dụ về các hình ảnh đã được áp dụng mosaicing, hãy xem phần Sample Images and Annotations.