Bộ dữ liệu COCO128-Seg
Giới thiệu
COCO128-Seg của Ultralytics là một bộ dữ liệu phân đoạn thể hiện (instance segmentation) nhỏ nhưng linh hoạt, bao gồm 128 ảnh đầu tiên của tập huấn luyện COCO 2017. Bộ dữ liệu này lý tưởng để kiểm tra và gỡ lỗi các mô hình phân đoạn, hoặc để thử nghiệm các phương pháp phát hiện mới. Với 128 ảnh, nó đủ nhỏ để dễ quản lý, nhưng cũng đủ đa dạng để kiểm tra các quy trình huấn luyện để tìm lỗi và hoạt động như một bước kiểm tra tính hợp lệ trước khi huấn luyện trên các bộ dữ liệu lớn hơn.
Bộ dữ liệu này được thiết kế để sử dụng với Ultralytics HUB và YOLO11.
YAML bộ dữ liệu
Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và các thông tin liên quan khác của bộ dữ liệu. Đối với bộ dữ liệu COCO128-Seg, coco128-seg.yaml
tệp được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml.
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.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.zip
Cách sử dụng
Để huấn luyện mô hình YOLO11n-seg trên bộ dữ liệu COCO128-Seg trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện mô hình.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-seg.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco128-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco128-seg.yaml model=yolo11n-seg.pt epochs=100 imgsz=640
Ảnh và Chú thích mẫu
Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu COCO128-Seg, cùng với các chú thích tương ứng của chú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 thể hiện sự đa dạng và phức tạp của hình ảnh trong bộ dữ liệu COCO128-Seg và những lợi ích của việc sử dụng kỹ thuật ghép ảnh (mosaicing) trong quá trình huấn luyện.
Trích dẫn và Lời cảm ơ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 ghi nhận công lao của COCO Consortium vì đã tạo và duy trì nguồn tài nguyên giá trị 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 nó, hãy truy cập trang web bộ dữ liệu COCO.
Câu hỏi thường gặp
Bộ dữ liệu COCO128-Seg là gì và nó được sử dụng như thế nào trong Ultralytics YOLO11?
Bộ dữ liệu COCO128-Seg là một bộ dữ liệu phân đoạn thể hiện (instance segmentation) nhỏ gọn của Ultralytics, bao gồm 128 hình ảnh đầu tiên từ tập huấn luyện COCO 2017. Bộ dữ liệu này được thiết kế riêng để kiểm tra và gỡ lỗi các mô hình phân đoạn 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 YOLO11 và HUB của Ultralytics để lặp lại nhanh chóng và kiểm tra lỗi quy trình trước khi mở rộng sang các bộ dữ liệu lớn hơn. Để biết chi tiết sử dụng, hãy tham khảo trang Huấn luyện mô hình.
Làm cách nào để huấn luyện mô hình YOLO11n-seg bằng bộ dữ liệu COCO128-Seg?
Để huấn luyện mô hình YOLO11n-seg trên bộ dữ liệu COCO128-Seg trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các lệnh Python hoặc CLI. Dưới đây là một ví dụ nhanh:
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-seg.pt") # Load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco128-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco128-seg.yaml model=yolo11n-seg.pt epochs=100 imgsz=640
Để có giải thích kỹ lưỡng về các đối số và tùy chọn cấu hình có sẵn, bạn có thể xem tài liệu Huấn luyện.
Tại sao bộ dữ liệu COCO128-Seg lại quan trọng đối với việc phát triển và gỡ lỗi mô hình?
Bộ dữ liệu COCO128-Seg cung cấp sự kết hợp cân bằng giữa khả năng quản lý và tính đa dạng với 128 hình ảnh, khiến nó trở nên hoàn hảo để nhanh chóng kiểm tra và gỡ lỗi các mô hình phân đoạn hoặc thử nghiệm các kỹ thuật phát hiện mới. Kích thước vừa phải của nó cho phép lặp lại quá trình huấn luyện nhanh chóng, đồng thời cung cấp đủ sự đa dạng để xác thực các quy trình huấn luyện trước khi mở rộng sang các bộ dữ liệu lớn hơn. Tìm hiểu thêm về các định dạng bộ dữ liệu được hỗ trợ trong hướng dẫn về bộ dữ liệu phân đoạn Ultralytics.
Tôi có thể tìm thấy tệp cấu hình YAML cho bộ dữ liệu COCO128-Seg ở đâu?
Tệp cấu hình YAML cho bộ dữ liệu COCO128-Seg có sẵn trong kho lưu trữ Ultralytics. Bạn có thể truy cập trực tiếp tệp này tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml. Tệp YAML bao gồm thông tin cần thiết về đường dẫn bộ dữ liệu, các lớp và cài đặt cấu hình cần thiết cho quá trình huấn luyện và xác thực mô hình.
Việc sử dụng kỹ thuật ghép ảnh (mosaicing) trong quá trình huấn luyện với bộ dữ liệu COCO128-Seg mang lại những lợi ích gì?
Sử dụng mosaicing (ghép ảnh) trong quá trình huấn luyện giúp tăng tính đa dạng của các đối tượng và cảnh trong mỗi lô 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, nâng cao khả năng khái quát hóa của mô hình đối với các kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau trong cảnh. Mosaicing (ghép ảnh) có lợi cho việc cải thiện tính mạnh mẽ và độ chính xác của mô hình, đặc biệt khi làm việc với các bộ dữ liệu có kích thước vừa phải như COCO128-Seg. Để xem ví dụ về hình ảnh được ghép, hãy xem phần Hình ảnh và Chú thích Mẫu.