Bộ dữ liệu COCO8-Seg
Giới thiệu
Ultralytics COCO8-Seg là một bộ dữ liệu phân đoạn thể hiện nhỏ nhưng linh hoạt, bao gồm 8 hình ảnh đầu tiên của bộ COCO train 2017, 4 cho huấn luyện và 4 cho xác thực. 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 8 hình ảnh, nó đủ nhỏ để dễ quản lý, như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 kiểm tra tỉnh táo trước khi huấn luyệ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. Trong trường hợp bộ dữ liệu COCO8-Seg, coco8-seg.yaml
tệp được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml.
ultralytics/cfg/datasets/coco8-seg.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8-seg dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco8-seg/
# Example usage: yolo train data=coco8-seg.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8-seg ← downloads here (1 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: coco8-seg # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/coco8-seg.zip
Cách sử dụng
Để huấn luyện mô hình YOLO11n-seg trên tập dữ liệu COCO8-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 Training (Huấn luyện) của 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="coco8-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco8-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 COCO8-Seg, cùng với các annotation (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 COCO8-Seg và những lợi ích của việc sử dụng 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 COCO8-Seg là gì và nó được sử dụng như thế nào trong Ultralytics YOLO11?
Bộ dữ liệu COCO8-Seg là một bộ dữ liệu phân đoạn instance nhỏ gọn của Ultralytics, bao gồm 8 hình ảnh đầu tiên từ bộ COCO train 2017—4 hình ảnh để huấn luyện và 4 hình ảnh để xác thực. 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 Ultralytics YOLO11 và HUB để lặp lại nhanh chóng và kiểm tra lỗi pipeline trước khi mở rộng quy mô 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 thế nào để huấn luyện một mô hình YOLO11n-seg bằng bộ dữ liệu COCO8-Seg?
Để huấn luyện mô hình YOLO11n-seg trên bộ dữ liệu COCO8-Seg trong 100 epochs với kích thước ảnh 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="coco8-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco8-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 COCO8-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 COCO8-Seg cung cấp một tập hợp nhỏ gọn nhưng đa dạng gồm 8 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 nhỏ của nó cho phép kiểm tra nhanh tính hợp lệ và xác thực đường ống sớm, giúp xác định các vấ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 COCO8-Seg ở đâu?
Tệp cấu hình YAML cho bộ dữ liệu COCO8-Seg có sẵn trong kho lưu trữ Ultralytics. Bạn có thể truy cập trực tiếp tệp tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml. Tệp YAML bao gồm thông tin thiết yếu 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.
Những lợi ích khi sử dụng kỹ thuật mosaicing trong quá trình huấn luyện với bộ dữ liệu COCO8-Seg là gì?
Việc sử dụng mosaicing 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 tổng 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 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 tập dữ liệu nhỏ như COCO8-Seg. Để xem ví dụ về hình ảnh mosaiced, hãy xem phần Hình ảnh và Chú thích Mẫu.